Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-6 commit in: /
Date: Tue, 03 Mar 2015 06:18:50
Message-Id: 1424333849.c951cac4e7b045f04c75070e147ac713f5e95885.ulm@gentoo
1 commit: c951cac4e7b045f04c75070e147ac713f5e95885
2 Author: Michael Palimaka <kensington <AT> gentoo <DOT> org>
3 AuthorDate: Sun May 11 19:15:06 2014 +0000
4 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
5 CommitDate: Thu Feb 19 08:17:29 2015 +0000
6 URL: http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c951cac4
7
8 EAPI 6 supports package.* and use.* directories.
9
10 See bug 282296.
11
12 ---
13 eapi-differences.tex | 5 ++++-
14 profiles.tex | 32 ++++++++++++++++++++++++++------
15 2 files changed, 30 insertions(+), 7 deletions(-)
16
17 diff --git a/eapi-differences.tex b/eapi-differences.tex
18 index 6a7aa00..b3a757a 100644
19 --- a/eapi-differences.tex
20 +++ b/eapi-differences.tex
21 @@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
22 \bottomrule
23 \endlastfoot
24
25 +\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
26 + No & No & No & No & Yes \\
27 +
28 Stable use masking/forcing & \compactfeatureref{stablemask} &
29 No & No & No & Yes & Yes \\
30
31 @@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
32 EAPI 6 is EAPI 5 with the following changes:
33
34 \begin{compactitem}
35 -\item None
36 +\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
37 \end{compactitem}
38
39 \ChangeWhenAddingAnEAPI{6}
40
41 diff --git a/profiles.tex b/profiles.tex
42 index f71b537..55c7acf 100644
43 --- a/profiles.tex
44 +++ b/profiles.tex
45 @@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
46 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
47 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
48
49 -\subsection{packages}
50 +\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
51 +simple line-based files described in the following sections may optionally be directories containing
52 +files of the named type.
53 +
54 +\ChangeWhenAddingAnEAPI{6}
55 +\begin{centertable}{Profile support for directories of simple line-based files}
56 + \label{tab:profile-file-dirs}
57 + \begin{tabular}{ l l l }
58 + \toprule
59 + \multicolumn{1}{c}{\textbf{EAPI}} &
60 + \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
61 + \midrule
62 + 0, 1, 2, 3, 4, 5 & No \\
63 + 6 & Yes \\
64 + \bottomrule
65 + \end{tabular}
66 +\end{centertable}
67 +
68 +\subsubsection{packages}
69 The \t{packages} file is used to define the `system set' for this profile.
70 After the above rules for inheritance and comments are applied, its lines must take one of two
71 forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
72 system set. A package dependency specification on its own may also appear for legacy reasons, but
73 should be ignored when calculating the system set.
74
75 -\subsection{packages.build}
76 +\subsubsection{packages.build}
77 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
78 no relevance to the operation of a package manager. It is thus outside the scope of this document,
79 but is mentioned here for completeness.
80
81 -\subsection{package.mask}
82 +\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
83 +
84 +\subsubsection{package.mask}
85 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
86 contains one package dependency specification; anything matching this specification will not be
87 installed unless unmasked by the user's configuration.
88 @@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
89 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
90 inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
91
92 -\subsection{package.provided}
93 +\subsubsection{package.provided}
94 \t{package.provided} is used to tell the package manager that a certain package version should be
95 considered to be provided by the system regardless of whether it is actually installed. Because it
96 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
97 and package manager support must be regarded as purely optional.
98
99 -\subsection{package.use}
100 +\subsubsection{package.use}
101 The \t{package.use} file may be used by the package manager to override the default USE flags specified
102 by \t{make.defaults} on a per package basis. The format is to have a package dependency specification,
103 and then a space delimited list of USE flags to enable. A USE flag in the form of \t{-flag} indicates
104 that the package should have the USE flag disabled. The package dependency specification is limited to
105 the forms defined by the directory's EAPI.
106
107 -\subsection{USE masking and forcing}
108 +\subsubsection{USE masking and forcing}
109 \label{sec:use-masking}
110 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
111 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},