diff options
author | Michał Górny <mgorny@gentoo.org> | 2020-01-08 10:59:07 +0100 |
---|---|---|
committer | Michał Górny <mgorny@gentoo.org> | 2020-01-08 10:59:07 +0100 |
commit | 1ec0e73a5495bd1c8ca53eeb4d1718fd82797ba3 (patch) | |
tree | e72739177270da678bcd0bdbc997fe8a239ac5ba | |
parent | USE=multislot policy (diff) | |
download | policy-guide-1ec0e73a5495bd1c8ca53eeb4d1718fd82797ba3.tar.gz policy-guide-1ec0e73a5495bd1c8ca53eeb4d1718fd82797ba3.tar.bz2 policy-guide-1ec0e73a5495bd1c8ca53eeb4d1718fd82797ba3.zip |
Slot and subslot deps
Signed-off-by: Michał Górny <mgorny@gentoo.org>
-rw-r--r-- | dependencies.rst | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/dependencies.rst b/dependencies.rst index 2b63f7f..5334eee 100644 --- a/dependencies.rst +++ b/dependencies.rst @@ -30,4 +30,39 @@ This is especially important for packages that take long time to build. by the Council but no reference implementation has been written. +.. index:: RDEPEND; slot and subslot deps +.. index:: Slot; dependencies +.. index:: Subslot; dependencies + +Slot and subslot dependencies +----------------------------- +:Source: QA +:Reference: https://archives.gentoo.org/gentoo-portage-dev/message/9cae3a92412a007febe7ac0612d50f5f +:Reported: by repoman and pkgcheck + +Whenever a package dependency specification matches a range of versions +that span different slots or subslots, the package must explicitly +include slot specification. If the ``:=`` operator is not applicable +and any slot is acceptable, explicit ``:*`` operator must be used. +If the ``:<slot>=`` operator is not applicable and only a specific slot +can be used, ``:<slot>`` value must be explicitly specified. + +Package dependency specification without explicit slot specifier can +be used on packages that are not slotted nor subslotted at the moment. + +*Rationale*: this policy aims to help detecting missing slot operators +when dependencies start using slots or subslots. It uses the fact that +the explicit ``:*`` operator is equivalent to no slot specification, +and therefore can be used interchangeably. In this case, we assume +that the latter means 'dependency not verified yet', while the former +means 'verified that any slot is acceptable'. + +.. Note:: + + The Paludis_ package manager applies different logic when no slot + is specified on the dependency. It pulls in the slot corresponding + to the newest package version available. + + .. _GLEP 62: https://www.gentoo.org/glep/glep-0062.html +.. _Paludis: https://paludis.exherbo.org/ |