summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichał Górny <mgorny@gentoo.org>2020-01-08 10:59:07 +0100
committerMichał Górny <mgorny@gentoo.org>2020-01-08 10:59:07 +0100
commit1ec0e73a5495bd1c8ca53eeb4d1718fd82797ba3 (patch)
treee72739177270da678bcd0bdbc997fe8a239ac5ba
parentUSE=multislot policy (diff)
downloadpolicy-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.rst35
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/