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