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