Slot operator dependencies are back in EAPI 5
authorCiaran McCreesh <ciaran.mccreesh@googlemail.com>
Sun, 6 May 2012 16:42:41 +0000 (17:42 +0100)
committerUlrich Müller <ulm@gentoo.org>
Thu, 17 May 2012 10:31:29 +0000 (12:31 +0200)
This reverts commit 409fccc10861c361f37a959195d7581a5c376dd9.

dependencies.tex
eapi-differences.tex

index 4b4300c..8f78f3d 100644 (file)
@@ -157,11 +157,11 @@ manager must warn or error if this feature is used with an EAPI not supporting u
             \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\
             \midrule
     \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
+    \t{1} & Named only \\
+    \t{2} & Named only \\
+    \t{3} & Named only \\
+    \t{4} & Named only \\
+    \t{5} & Named and operator \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -244,6 +244,23 @@ specification with a named slot dependency matches only if the slot of the match
 to the slot specified. If the slot of the package to match cannot be determined (e.\,g.\ because it
 is not a supported \t{EAPI}), the match is treated as unsuccessful.
 
+\featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of
+the following operators:
+
+\begin{description}
+\item[*] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
+indicates that the package will not break if the matched package is uninstalled and replaced by
+a different matching package in a different slot.
+\item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
+indicates that the package will break unless a matching package with slot equal to the slot of
+the best installed version at the time the package was installed is available.
+\end{description}
+
+To implement the equals slot operator, the package manager will need to store the slot of the
+best installed version of the matching package. The package manager may do this by appending
+the appropriate slot after the equals sign when saving the package's dependencies. This syntax
+is only for package manager use and must not be used by ebuilds.
+
 \subsubsection{2-Style and 4-Style Use Dependencies}
 \label{sec:use-dep}
 
index 4578b73..edf70d0 100644 (file)
@@ -59,7 +59,7 @@
     No & No & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Named & Named & Named & Named & Named and Operator \\
 
 Use dependencies & \compactfeatureref{use-deps} &
     No & No & 2-style & 2-style & 4-style & 4-style \\
@@ -246,6 +246,7 @@ EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
+\item Slot operator dependencies, \featureref{slot-operator-deps}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{5}