commit:     8edaad71a9a4d4f5338615d0c5b93054917fa775
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8edaad71

EAPI 6 supports package.* and use.* directories.

Bug: 282296

 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c1f9631..d4bac27 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, 
\featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index 11e7780..a0e3c57 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's 
list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the 
remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# 
are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in 
table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be 
directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based 
files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must 
take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that it 
forms part of the
 system set. A package dependency specification on its own may also appear for 
legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate 
stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the 
scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as 
a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given 
profile. Each line
 contains one package dependency specification; anything matching this 
specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, 
section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the 
leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied 
upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain 
package version should be
 considered to be provided by the system regardless of whether it is actually 
installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use 
is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the 
default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package 
dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the 
form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency 
specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, 
\t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, 
\t{package.use.stable.mask},

Reply via email to