Lines 70-75
parent profile's list is taken, and the current profile's list appended. If any
Link Here
|
70 |
hyphen, then any lines previous to it whose contents are equal to the remainder of that line are |
70 |
hyphen, then any lines previous to it whose contents are equal to the remainder of that line are |
71 |
removed from the list. Once again, blank lines and those beginning with a \# are discarded. |
71 |
removed from the list. Once again, blank lines and those beginning with a \# are discarded. |
72 |
|
72 |
|
|
|
73 |
\featurelabel{profile-file-dirs} In EAPIs listed in table~\ref{tab:profile-file-dirs} as supporting |
74 |
directories for profile files, any of the files \t{package.mask}, \t{package.use}, \t{use.*} and |
75 |
\t{package.use.*} mentioned below can be a directory instead of a regular file. Files contained |
76 |
in that directory, unless their name begins with a dot, will be concatenated in order of their |
77 |
filename in the POSIX locale and the result will be processed as if it were a single file. |
78 |
Any subdirectories will be ignored. |
79 |
|
80 |
\ChangeWhenAddingAnEAPI{7} |
81 |
\begin{centertable}{EAPIs supporting directories for profile files} |
82 |
\label{tab:profile-file-dirs} |
83 |
\begin{tabular}{ll} |
84 |
\toprule |
85 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
86 |
\multicolumn{1}{c}{\textbf{Supports directories for profile files?}} \\ |
87 |
\midrule |
88 |
0, 1, 2, 3, 4, 5, 6 & No \\ |
89 |
7 & Yes \\ |
90 |
\bottomrule |
91 |
\end{tabular} |
92 |
\end{centertable} |
93 |
|
73 |
\subsection{packages} |
94 |
\subsection{packages} |
74 |
The \t{packages} file is used to define the `system set' for this profile. |
95 |
The \t{packages} file is used to define the `system set' for this profile. |
75 |
After the above rules for inheritance and comments are applied, its lines must take one of two |
96 |
After the above rules for inheritance and comments are applied, its lines must take one of two |
Lines 85-91
but is mentioned here for completeness.
Link Here
|
85 |
\subsection{package.mask} |
106 |
\subsection{package.mask} |
86 |
\t{package.mask} is used to prevent packages from being installed on a given profile. Each line |
107 |
\t{package.mask} is used to prevent packages from being installed on a given profile. Each line |
87 |
contains one package dependency specification; anything matching this specification will not be |
108 |
contains one package dependency specification; anything matching this specification will not be |
88 |
installed unless unmasked by the user's configuration. |
109 |
installed unless unmasked by the user's configuration. In some EAPIs, \t{package.mask} can be a |
|
|
110 |
directory instead of a regular file as per section~\ref{sec:line-stacking}. |
89 |
|
111 |
|
90 |
Note that the \t{-spec} syntax can be used to remove a mask in a parent profile, but not |
112 |
Note that the \t{-spec} syntax can be used to remove a mask in a parent profile, but not |
91 |
necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles-package.mask}). |
113 |
necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles-package.mask}). |
Lines 100-117
has severe adverse effects on USE-based and slot-based dependencies, its use is
Link Here
|
100 |
and package manager support must be regarded as purely optional. |
122 |
and package manager support must be regarded as purely optional. |
101 |
|
123 |
|
102 |
\subsection{package.use} |
124 |
\subsection{package.use} |
103 |
The \t{package.use} file may be used by the package manager to override the default USE flags specified |
125 |
The \t{package.use} file may be used by the package manager to override the default USE flags |
104 |
by \t{make.defaults} on a per package basis. The format is to have a package dependency specification, |
126 |
specified by \t{make.defaults} on a per package basis. The format is to have a package dependency |
105 |
and then a space delimited list of USE flags to enable. A USE flag in the form of \t{-flag} indicates |
127 |
specification, and then a space delimited list of USE flags to enable. A USE flag in the form of |
106 |
that the package should have the USE flag disabled. The package dependency specification is limited to |
128 |
\t{-flag} indicates that the package should have the USE flag disabled. The package dependency |
107 |
the forms defined by the directory's EAPI. |
129 |
specification is limited to the forms defined by the directory's EAPI. In some EAPIs, |
|
|
130 |
\t{package.use} can be a directory instead of a regular file as per section~\ref{sec:line-stacking}. |
108 |
|
131 |
|
109 |
\subsection{USE masking and forcing} |
132 |
\subsection{USE masking and forcing} |
110 |
\label{sec:use-masking} |
133 |
\label{sec:use-masking} |
111 |
This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask}, |
134 |
This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask}, |
112 |
\t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask}, |
135 |
\t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask}, |
113 |
and \t{package.use.\allowbreak stable.force}. They are described together because they interact in |
136 |
and \t{package.use.\allowbreak stable.force}. They are described together because they interact in |
114 |
a non-trivial manner. |
137 |
a non-trivial manner. In some EAPIs, these files can be directories instead of regular files as per |
|
|
138 |
section~\ref{sec:line-stacking}. |
115 |
|
139 |
|
116 |
Simply speaking, \t{use.mask} and \t{use.force} are used to say that a given USE flag must never or |
140 |
Simply speaking, \t{use.mask} and \t{use.force} are used to say that a given USE flag must never or |
117 |
always, respectively, be enabled when using this profile. \t{package.use.mask} and |
141 |
always, respectively, be enabled when using this profile. \t{package.use.mask} and |
118 |
- |
|
|