From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) by finch.gentoo.org (Postfix) with ESMTP id EB0C7138010 for ; Fri, 14 Sep 2012 06:17:20 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id 539D221C026; Fri, 14 Sep 2012 06:14:53 +0000 (UTC) Received: from smtp.gentoo.org (smtp.gentoo.org [140.211.166.183]) by pigeon.gentoo.org (Postfix) with ESMTP id 132BD21C024 for ; Fri, 14 Sep 2012 06:14:52 +0000 (UTC) Received: from hornbill.gentoo.org (hornbill.gentoo.org [94.100.119.163]) (using TLSv1 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id 87D9F33D73F for ; Fri, 14 Sep 2012 06:14:52 +0000 (UTC) Received: from localhost.localdomain (localhost [127.0.0.1]) by hornbill.gentoo.org (Postfix) with ESMTP id BDE13E5459 for ; Fri, 14 Sep 2012 06:14:49 +0000 (UTC) From: "Ulrich Mueller" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Ulrich Mueller" Message-ID: <1347517696.d4b2fa245918e4704e6cf660575cf2f45c922805.ulm@gentoo> Subject: [gentoo-commits] proj/pms:master commit in: / X-VCS-Repository: proj/pms X-VCS-Files: dependencies.tex eapi-differences.tex ebuild-vars.tex X-VCS-Directories: / X-VCS-Committer: ulm X-VCS-Committer-Name: Ulrich Mueller X-VCS-Revision: d4b2fa245918e4704e6cf660575cf2f45c922805 X-VCS-Branch: master Date: Fri, 14 Sep 2012 06:14:49 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Archives-Salt: b8e46057-6031-4988-b320-447f063b907e X-Archives-Hash: a0bf63dc518e768e8360799492d1d8c9 commit: d4b2fa245918e4704e6cf660575cf2f45c922805 Author: Zac Medico gentoo org> AuthorDate: Thu Aug 16 05:15:05 2012 +0000 Commit: Ulrich Mueller gentoo org> CommitDate: Thu Sep 13 06:28:16 2012 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d4b2fa24 EAPI 5: Extend slot-operator-deps with sub-slot support See bug 424429. --- dependencies.tex | 40 +++++++++++++++++++++++++--------------- eapi-differences.tex | 4 ++++ ebuild-vars.tex | 8 ++++++++ 3 files changed, 37 insertions(+), 15 deletions(-) diff --git a/dependencies.tex b/dependencies.tex index ff12299..b82f699 100644 --- a/dependencies.tex +++ b/dependencies.tex @@ -183,18 +183,20 @@ manager must warn or error if this feature is used with an EAPI not supporting u \note Order is important. The slot restriction must come before use dependencies. \ChangeWhenAddingAnEAPI{5} -\begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table} - \begin{tabular}{ l l } +\begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs} + \label{tab:slot-deps-table} + \begin{tabular}{ l l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\ + \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} & + \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\ \midrule - \t{0} & No \\ - \t{1} & Named only \\ - \t{2} & Named only \\ - \t{3} & Named only \\ - \t{4} & Named only \\ - \t{5} & Named and operator \\ + \t{0} & No & No \\ + \t{1} & Named only & No \\ + \t{2} & Named only & No \\ + \t{3} & Named only & No \\ + \t{4} & Named only & No \\ + \t{5} & Named and operator & Yes \\ \bottomrule \end{tabular} \end{centertable} @@ -277,6 +279,10 @@ 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{sub-slot} In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting sub-slots, +a slot dependency may contain an optional sub-slot part that follows the regular slot and is +delimited by a \t{/} character. + \featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of the following operators: @@ -285,14 +291,18 @@ the following operators: 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. +indicates that the package will break unless a matching package with slot and sub-slot equal to the +slot and sub-slot of the best installed version at the time the package was installed is available. +\item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves +identically to the plain equals slot operator. \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. +To implement the equals slot operator, the package manager will need to store the slot/sub-slot +pair of the best installed version of the matching package. This syntax is only for package manager +use and must not be used by ebuilds. The package manager may do this by inserting the appropriate +slot/sub-slot pair between the colon and equals sign when saving the package's dependencies. The +sub-slot part must not be omitted here (when the SLOT variable omits the sub-slot part, the package +is considered to have an implicit sub-slot which is equal to the regular slot). \subsubsection{2-Style and 4-Style Use Dependencies} \label{sec:use-dep} diff --git a/eapi-differences.tex b/eapi-differences.tex index a06a359..876eec0 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -67,6 +67,9 @@ Stable use masking/forcing & \compactfeatureref{stablemask} & Slot dependencies & \compactfeatureref{slot-deps} & No & Named & Named & Named & Named & Named and Operator \\ +Sub-slots & \compactfeatureref{sub-slot} & + No & No & No & No & No & Yes \\ + Use dependencies & \compactfeatureref{use-deps} & No & No & 2-style & 2-style & 4-style & 4-style \\ @@ -270,6 +273,7 @@ EAPI 5 is EAPI 4 with the following changes: use flag combinations, \featureref{stablemask} \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}. \item Slot operator dependencies, \featureref{slot-operator-deps}. +\item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}. \item \t{src\_test} supports parallel tests, \featureref{parallel-tests}. \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}. \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}. diff --git a/ebuild-vars.tex b/ebuild-vars.tex index 01d2393..53de53d 100644 --- a/ebuild-vars.tex +++ b/ebuild-vars.tex @@ -29,6 +29,14 @@ All ebuilds must define at least the following variables: eclass. Must not be empty. \item[SLOT] The package's slot. Must be a valid slot name, as per section~\ref{sec:slot-names}. May be defined by an eclass. Must not be empty. + + In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting sub-slots, the \t{SLOT} variable + may contain an optional sub-slot part that follows the regular slot and is delimited by a \t{/} + character. The sub-slot must be a valid slot name, as per section~\ref{sec:slot-names}. + The sub-slot is used to represent cases in which an upgrade to a new version of a package with + a different sub-slot may require dependent packages to be rebuilt. When the sub-slot part is + omitted from the \t{SLOT} definition, the package is considered to have an implicit sub-slot + which is equal to the regular slot. \end{description} \section{Optional Ebuild-defined Variables}