1 |
Replacement was done using "sed -i 's/\\_/_/g' *.tex". |
2 |
This does not change the resulting PDF and HTML output. |
3 |
--- |
4 |
appendices.tex | 6 +- |
5 |
dependencies.tex | 68 ++++++------- |
6 |
eapi-cheatsheet.tex | 78 +++++++-------- |
7 |
eapi-differences.tex | 104 ++++++++++---------- |
8 |
ebuild-env-commands.tex | 2 +- |
9 |
ebuild-env-invariancy.tex | 10 +- |
10 |
ebuild-env-state.tex | 2 +- |
11 |
ebuild-env-vars.tex | 138 +++++++++++++------------- |
12 |
ebuild-format.tex | 2 +- |
13 |
ebuild-functions.tex | 242 +++++++++++++++++++++++----------------------- |
14 |
ebuild-vars.tex | 16 +-- |
15 |
eclasses.tex | 20 ++-- |
16 |
merge.tex | 16 +-- |
17 |
metadata-cache.tex | 6 +- |
18 |
names.tex | 30 +++--- |
19 |
pkg-mgr-commands.tex | 92 +++++++++--------- |
20 |
profile-variables.tex | 30 +++--- |
21 |
profiles.tex | 4 +- |
22 |
tree-layout.tex | 12 +-- |
23 |
19 files changed, 439 insertions(+), 439 deletions(-) |
24 |
|
25 |
diff --git a/appendices.tex b/appendices.tex |
26 |
index 1b70568..8c97734 100644 |
27 |
--- a/appendices.tex |
28 |
+++ b/appendices.tex |
29 |
@@ -13,15 +13,15 @@ been abused in the past. |
30 |
|
31 |
\begin{compactitem} |
32 |
\item The \t{FEATURES} variable. This is Portage specific. |
33 |
-\item Similarly, any \t{EMERGE\_} variable and any \t{PORTAGE\_} variable not explicitly listed. |
34 |
+\item Similarly, any \t{EMERGE_} variable and any \t{PORTAGE_} variable not explicitly listed. |
35 |
\item Any Portage configuration file. |
36 |
\item The VDB (\t{/var/db/pkg}). Ebuilds must not access this or rely upon it existing or being |
37 |
in any particular format. |
38 |
-\item The \t{portageq} command. The \t{has\_version} and \t{best\_version} commands are |
39 |
+\item The \t{portageq} command. The \t{has_version} and \t{best_version} commands are |
40 |
available as functions. |
41 |
\item The \t{emerge} command. |
42 |
\item Binary packages. |
43 |
-\item The \t{PORTDIR\_OVERLAY} variable, and overlay behaviour in general. |
44 |
+\item The \t{PORTDIR_OVERLAY} variable, and overlay behaviour in general. |
45 |
\end{compactitem} |
46 |
|
47 |
\chapter{Historical Curiosities} |
48 |
diff --git a/dependencies.tex b/dependencies.tex |
49 |
index ee4339b..d9a6f1a 100644 |
50 |
--- a/dependencies.tex |
51 |
+++ b/dependencies.tex |
52 |
@@ -11,14 +11,14 @@ |
53 |
\multicolumn{1}{c}{\textbf{Phase function}} & |
54 |
\multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\ |
55 |
\midrule |
56 |
- \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & |
57 |
+ \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} & |
58 |
None (ebuilds can rely only on the packages in the system set) \\ |
59 |
- \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, |
60 |
- \t{src\_install} & \t{DEPEND} \\ |
61 |
- \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & |
62 |
+ \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test}, |
63 |
+ \t{src_install} & \t{DEPEND} \\ |
64 |
+ \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} & |
65 |
\t{RDEPEND} (unless the particular dependency results in a circular dependency, in which |
66 |
case it may be installed later) \\ |
67 |
- \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\ |
68 |
+ \t{pkg_config} & \t{RDEPEND}, \t{PDEPEND} \\ |
69 |
\bottomrule |
70 |
\end{tabular} |
71 |
\end{centertable} |
72 |
@@ -27,7 +27,7 @@ There are three classes of dependencies supported by ebuilds: |
73 |
|
74 |
\begin{compactitem} |
75 |
\item Build dependencies (\t{DEPEND}). These must be installed and usable before any of |
76 |
- the ebuild \t{src\_*} phase functions is executed. These may not be installed at all |
77 |
+ the ebuild \t{src_*} phase functions is executed. These may not be installed at all |
78 |
if a binary package is being merged. |
79 |
\item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before |
80 |
the results of an ebuild merging are treated as usable. |
81 |
@@ -38,8 +38,8 @@ There are three classes of dependencies supported by ebuilds: |
82 |
Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before |
83 |
a particular phase function is executed. |
84 |
|
85 |
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and |
86 |
-\t{REQUIRED\_USE} use dependency-style specifications to specify their values. |
87 |
+In addition, \t{SRC_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and |
88 |
+\t{REQUIRED_USE} use dependency-style specifications to specify their values. |
89 |
|
90 |
\section{Dependency Specification Format} |
91 |
|
92 |
@@ -48,13 +48,13 @@ be surrounded on both sides by whitespace, except at the start and end of the st |
93 |
|
94 |
\begin{compactitem} |
95 |
\item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}. |
96 |
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}\@. |
97 |
- In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may |
98 |
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI} and \t{HOMEPAGE}\@. |
99 |
+ In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC_URI} arrows, may |
100 |
optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when |
101 |
- in \t{SRC\_URI}\@. For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}. |
102 |
-\item A flat filename. Permitted in \t{SRC\_URI}. |
103 |
+ in \t{SRC_URI}\@. For \t{SRC_URI} behaviour, see section~\ref{sec:src-uri-behaviour}. |
104 |
+\item A flat filename. Permitted in \t{SRC_URI}. |
105 |
\item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}. |
106 |
-\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED\_USE}. |
107 |
+\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}. |
108 |
\item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}. |
109 |
\item An all-of group, which consists of an open parenthesis, followed by whitespace, |
110 |
followed by zero or more of (a dependency item of any kind followed by whitespace), followed |
111 |
@@ -65,19 +65,19 @@ be surrounded on both sides by whitespace, except at the start and end of the st |
112 |
followed by an open parenthesis, followed by whitespace, followed by zero or more |
113 |
of (a dependency item of any kind followed by whitespace), followed by a close parenthesis. |
114 |
More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)* ')'}. |
115 |
- Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED\_USE}. |
116 |
+ Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}. |
117 |
\item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum}, |
118 |
followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by |
119 |
zero or more of (a dependency item of any kind followed by whitespace), followed by a close |
120 |
parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum' |
121 |
whitespace '(' whitespace (item whitespace)* ')'}. |
122 |
- Permitted in \t{REQUIRED\_USE}. |
123 |
+ Permitted in \t{REQUIRED_USE}. |
124 |
\item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??}, |
125 |
followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by |
126 |
zero or more of (a dependency item of any kind followed by whitespace), followed by a close |
127 |
parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace |
128 |
- (item whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in |
129 |
- table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups. |
130 |
+ (item whitespace)* ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in |
131 |
+ table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups. |
132 |
\item A use-conditional group, which consists of an optional exclamation mark, followed by |
133 |
a use flag name, followed by a question mark, followed by whitespace, followed by |
134 |
an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item |
135 |
@@ -90,12 +90,12 @@ be surrounded on both sides by whitespace, except at the start and end of the st |
136 |
In particular, note that whitespace is not optional. |
137 |
|
138 |
\ChangeWhenAddingAnEAPI{6} |
139 |
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} |
140 |
+\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows} |
141 |
\label{tab:uri-arrows-table} |
142 |
\begin{tabular}{ll} |
143 |
\toprule |
144 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
145 |
- \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\ |
146 |
+ \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\ |
147 |
\midrule |
148 |
0, 1 & No \\ |
149 |
2, 3, 4, 5, 6 & Yes \\ |
150 |
@@ -104,12 +104,12 @@ In particular, note that whitespace is not optional. |
151 |
\end{centertable} |
152 |
|
153 |
\ChangeWhenAddingAnEAPI{6} |
154 |
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} |
155 |
+\begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups} |
156 |
\label{tab:at-most-one-of-table} |
157 |
\begin{tabular}{ll} |
158 |
\toprule |
159 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
160 |
- \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\ |
161 |
+ \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE ??}\ groups?}} \\ |
162 |
\midrule |
163 |
0, 1, 2, 3, 4 & No \\ |
164 |
5, 6 & Yes \\ |
165 |
@@ -126,7 +126,7 @@ In an all-of group, all of the child elements must be matched. |
166 |
In a use-conditional group, if the associated use flag is enabled (or disabled if it has an |
167 |
exclamation mark prefix), all of the child elements must be matched. |
168 |
|
169 |
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE} as described in |
170 |
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE} as described in |
171 |
section~\ref{sec:use-iuse-handling}. |
172 |
|
173 |
\subsection{Any-of dependency specifications} |
174 |
@@ -325,29 +325,29 @@ When multiple requirements are specified, all must match for a successful match. |
175 |
\featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be |
176 |
followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when |
177 |
applying the use dependency to a package that does not have the flag in question in |
178 |
-\t{IUSE\_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled; |
179 |
+\t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled; |
180 |
the latter, present and disabled. |
181 |
|
182 |
Unless a 4-style default is specified, it is an error for a use dependency to be applied to an |
183 |
-ebuild which does not have the flag in question in \t{IUSE\_REFERENCEABLE}. |
184 |
+ebuild which does not have the flag in question in \t{IUSE_REFERENCEABLE}. |
185 |
|
186 |
\note By extension of the above, a default that could reference an ebuild using an EAPI not |
187 |
supporting profile \t{IUSE} injections cannot rely upon any particular behaviour for flags that |
188 |
would not have to be part of \t{IUSE}. |
189 |
|
190 |
It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the |
191 |
-flag in \t{IUSE\_EFFECTIVE}. |
192 |
+flag in \t{IUSE_EFFECTIVE}. |
193 |
|
194 |
\subsection{USE state constraints} |
195 |
\label{sec:required-use} |
196 |
-\t{REQUIRED\_USE} contains a list of assertions that must be met by the configuration of \t{USE} |
197 |
+\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE} |
198 |
flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element |
199 |
must be enabled (or disabled if it has an exclamation mark prefix). |
200 |
|
201 |
-If the package manager encounters a package version where \t{REQUIRED\_USE} assertions are not met, |
202 |
+If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met, |
203 |
it must treat this package version as if it was masked. No phase functions must be called. |
204 |
|
205 |
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE}. |
206 |
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}. |
207 |
|
208 |
\subsection{Restrict} |
209 |
\label{sec:restrict} |
210 |
@@ -355,13 +355,13 @@ It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE |
211 |
The following tokens are permitted inside \t{RESTRICT}: |
212 |
|
213 |
\begin{description} |
214 |
-\item[mirror] The package's \t{SRC\_URI} entries may not be mirrored, and mirrors should not |
215 |
+\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not |
216 |
be checked when fetching. |
217 |
-\item[fetch] The package's \t{SRC\_URI} entries may not be downloaded automatically. If |
218 |
- entries are not available, \t{pkg\_nofetch} is called. Implies \t{mirror}. |
219 |
+\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If |
220 |
+ entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}. |
221 |
\item[strip] No stripping of debug symbols from files to be installed may be performed. |
222 |
\item[userpriv] The package manager may not drop root privileges when building the package. |
223 |
-\item[test] The \t{src\_test} phase must not be run. |
224 |
+\item[test] The \t{src_test} phase must not be run. |
225 |
\end{description} |
226 |
|
227 |
Package managers may recognise other tokens, but ebuilds may not rely upon them being supported. |
228 |
@@ -377,11 +377,11 @@ The following tokens are permitted inside \t{PROPERTIES}: |
229 |
|
230 |
Ebuilds may not rely upon any token being supported. |
231 |
|
232 |
-\subsection{SRC\_URI} |
233 |
+\subsection{SRC_URI} |
234 |
\label{sec:src-uri-behaviour} |
235 |
|
236 |
All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not |
237 |
-matched) in \t{SRC\_URI} must be available in the \t{DISTDIR} directory. In addition, these |
238 |
+matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these |
239 |
components are used to make the \t{A} and \t{AA} variables. |
240 |
|
241 |
If a component contains a full URI with protocol, that download location must be used. Package |
242 |
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex |
243 |
index 6ac72b9..c14701f 100644 |
244 |
--- a/eapi-cheatsheet.tex |
245 |
+++ b/eapi-cheatsheet.tex |
246 |
@@ -94,7 +94,7 @@ differences between these previous EAPIs. |
247 |
% sign in front. See \featureref{iuse-defaults}. |
248 |
% \item[Named slot dependencies] Dependencies can explicitly request |
249 |
% a specific slot by using the |
250 |
-% \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax. |
251 |
+% \code{dev-libs/foo:}\allowbreak\emph{SLOT_name} syntax. |
252 |
% See \featureref{slot-deps}. |
253 |
% \end{description} |
254 |
|
255 |
@@ -103,14 +103,14 @@ differences between these previous EAPIs. |
256 |
% \subsection{Additions/Changes} |
257 |
% \label{sec:cs:eapi2-additions} |
258 |
% \begin{description} |
259 |
-% \item[\code{SRC\_URI} arrows] Allows redirection of upstream file |
260 |
+% \item[\code{SRC_URI} arrows] Allows redirection of upstream file |
261 |
% naming scheme. By using |
262 |
-% \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is |
263 |
+% \code{SRC_URI="http:/\slash some\slash url -> foo"} the file is |
264 |
% saved as \code{foo} in DISTDIR\@. |
265 |
% See \featureref{src-uri-arrows}. |
266 |
% \item[USE dependencies] Dependencies can specify USE flag |
267 |
% requirements on their target, removing the need for |
268 |
-% \code{built\_with\_use} checks. |
269 |
+% \code{built_with_use} checks. |
270 |
% \begin{description} |
271 |
% \item[{[opt]}] The flag must be enabled. |
272 |
% \item[{[opt=]}] The flag must be enabled if it is |
273 |
@@ -130,20 +130,20 @@ differences between these previous EAPIs. |
274 |
% be ignored by the package manager as long as the stated package is |
275 |
% uninstalled later on. Two exclamation marks are a strong blocker |
276 |
% and will always be respected. See \featureref{bang-strength}. |
277 |
-% \item[\code{src\_configure, src\_prepare}] Both new phases provide |
278 |
+% \item[\code{src_configure, src_prepare}] Both new phases provide |
279 |
% finer granularity in the ebuild's structure. Configure calls |
280 |
-% should be moved from \code{src\_compile} to \code{src\_configure}. |
281 |
+% should be moved from \code{src_compile} to \code{src_configure}. |
282 |
% Patching and similar preparation must now be done in |
283 |
-% \code{src\_prepare}, not \code{src\_unpack}. See |
284 |
+% \code{src_prepare}, not \code{src_unpack}. See |
285 |
% \featureref{src-prepare} and \featureref{src-configure}. |
286 |
% \item[Default phase functions] The default functions for |
287 |
-% phases \code{pkg\_nofetch}, \code{src\_unpack}, |
288 |
-% \code{src\_prepare}, \code{src\_configure}, \code{src\_compile} |
289 |
-% and \code{src\_test} can be called via |
290 |
-% \code{default\_}\emph{phasename}, so duplicating the standard |
291 |
+% phases \code{pkg_nofetch}, \code{src_unpack}, |
292 |
+% \code{src_prepare}, \code{src_configure}, \code{src_compile} |
293 |
+% and \code{src_test} can be called via |
294 |
+% \code{default_}\emph{phasename}, so duplicating the standard |
295 |
% implementation is no longer necessary for small additions. The |
296 |
% short-hand \code{default} function calls the current phase's |
297 |
-% \code{default\_} function automatically, so any small additions |
298 |
+% \code{default_} function automatically, so any small additions |
299 |
% you need will not be accompanied by a complete reimplementation of |
300 |
% the phase. See \featureref{default-phase-funcs} and |
301 |
% \featureref{default-func}. |
302 |
@@ -160,7 +160,7 @@ differences between these previous EAPIs. |
303 |
\begin{description} |
304 |
\item[Support for \code{.xz}] Unpack of \code{.xz} and |
305 |
\code{.tar.xz} files is possible without any custom |
306 |
- \code{src\_unpack} functions. See \featureref{unpack-extensions}. |
307 |
+ \code{src_unpack} functions. See \featureref{unpack-extensions}. |
308 |
\item[Offset prefix] Supporting installation on Prefix-enabled |
309 |
systems will be easier with this EAPI. |
310 |
\end{description} |
311 |
@@ -170,17 +170,17 @@ differences between these previous EAPIs. |
312 |
\subsection{Additions/Changes} |
313 |
\label{sec:cs:eapi4-additions} |
314 |
\begin{description} |
315 |
- \item[\code{pkg\_pretend}] Some useful checks (kernel options for |
316 |
+ \item[\code{pkg_pretend}] Some useful checks (kernel options for |
317 |
example) can be placed in this new phase to inform the user early |
318 |
(when just pretending to emerge the package). Most checks should |
319 |
- usually be repeated in \code{pkg\_setup}. |
320 |
+ usually be repeated in \code{pkg_setup}. |
321 |
See \featureref{pkg-pretend}. |
322 |
- \item[\code{src\_install}] The \code{src\_install} phase is no |
323 |
+ \item[\code{src_install}] The \code{src_install} phase is no |
324 |
longer empty but has a default now. This comes along with an |
325 |
accompanying \code{default} function. |
326 |
See \featureref{src-install-4}. |
327 |
- \item[\code{pkg\_info} on non-installed packages] The |
328 |
- \code{pkg\_info} phase can be called even for non-installed |
329 |
+ \item[\code{pkg_info} on non-installed packages] The |
330 |
+ \code{pkg_info} phase can be called even for non-installed |
331 |
packages. Be warned that dependencies might not have been |
332 |
installed at execution time. See \featureref{pkg-info}. |
333 |
\item[\code{econf} changes] The helper function now always |
334 |
@@ -190,12 +190,12 @@ differences between these previous EAPIs. |
335 |
in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be |
336 |
added after a USE flag (mind the parentheses). The former |
337 |
specifies that flags not in IUSE should be treated as enabled; the |
338 |
- latter, disabled. Cannot be used with USE\_EXPAND flags. This |
339 |
+ latter, disabled. Cannot be used with USE_EXPAND flags. This |
340 |
mimics parts of the behaviour of \code{-{}-missing} in |
341 |
- \code{built\_with\_use}. See \featureref{use-dep-defaults}. |
342 |
+ \code{built_with_use}. See \featureref{use-dep-defaults}. |
343 |
\item[Controllable compression] All items in the \code{doc}, |
344 |
\code{info}, \code{man} subdirectories of \code{/usr/share/} may |
345 |
- be compressed on-disk after \code{src\_install}, except for |
346 |
+ be compressed on-disk after \code{src_install}, except for |
347 |
\code{/usr/share/doc/\$\{PF\}/html}. \code{docompress path \dots} |
348 |
adds paths to the inclusion list for compression. |
349 |
\code{docompress -x path \dots} adds paths to the exclusion list. |
350 |
@@ -213,7 +213,7 @@ differences between these previous EAPIs. |
351 |
See \featureref{doins}. |
352 |
\item[\code{PROPERTIES}] Is mandatory for all package managers now |
353 |
to support interactive installs. |
354 |
- \item[\code{REQUIRED\_USE}] This variable can be used similar to |
355 |
+ \item[\code{REQUIRED_USE}] This variable can be used similar to |
356 |
the \code{(R|P)DEPEND} variables and define sets of USE flag |
357 |
combinations that are not allowed. All elements can be further |
358 |
nested to achieve more functionality. |
359 |
@@ -228,13 +228,13 @@ differences between these previous EAPIs. |
360 |
"\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots\ )}". |
361 |
\end{description} |
362 |
See \featureref{required-use}. |
363 |
- \item[\code{MERGE\_TYPE}] This variable contains one of three |
364 |
+ \item[\code{MERGE_TYPE}] This variable contains one of three |
365 |
possible values to allow checks if it is normal merge with |
366 |
compilation and installation (\code{source}), installation of a |
367 |
binary package (\code{binary}), or a compilation without |
368 |
installation (\code{buildonly}). See \featureref{merge-type}. |
369 |
- \item[\code{REPLACING\_VERSIONS}, \code{REPLACED\_BY\_VERSION}] |
370 |
- These variables, valid in \code{pkg\_*}, contain a list of all |
371 |
+ \item[\code{REPLACING_VERSIONS}, \code{REPLACED_BY_VERSION}] |
372 |
+ These variables, valid in \code{pkg_*}, contain a list of all |
373 |
versions (\code{PVR}) of this package that we are replacing, and |
374 |
the version that is replacing the current one, respectively. |
375 |
See \featureref{replace-version-vars}. |
376 |
@@ -283,17 +283,17 @@ differences between these previous EAPIs. |
377 |
explicitly listed in \code{IUSE}, additional flags can be |
378 |
implicitly provided by profiles. |
379 |
See \featureref{profile-iuse-inject}. |
380 |
- \item[At-most-one-of groups] In \code{REQUIRED\_USE} you can use |
381 |
+ \item[At-most-one-of groups] In \code{REQUIRED_USE} you can use |
382 |
"\code{??\ ( flag1 flag2 \dots\ )}" to allow zero or one USE flag |
383 |
out of many. |
384 |
See \featureref{at-most-one-of}. |
385 |
- \item[Parallel tests] The default for \code{src\_test} runs |
386 |
+ \item[Parallel tests] The default for \code{src_test} runs |
387 |
\code{emake} without \code{-j1} now. |
388 |
See \featureref{parallel-tests}. |
389 |
\item[\code{econf} changes] The \code{econf} function now always |
390 |
passes \code{-{}-disable-silent-rules} to \code{configure}. |
391 |
See \featureref{econf-options}. |
392 |
- \item[\code{has\_version} and \code{best\_version} changes] |
393 |
+ \item[\code{has_version} and \code{best_version} changes] |
394 |
The two helpers support a \code{-{}-host-root} option that causes |
395 |
the query to apply to the host root instead of \code{ROOT}. |
396 |
See~\featureref{host-root-option}. |
397 |
@@ -312,8 +312,8 @@ differences between these previous EAPIs. |
398 |
read from standard input if the first argument is \code{-} |
399 |
(a hyphen). |
400 |
See \featureref{newfoo-stdin}. |
401 |
- \item[\code{EBUILD\_PHASE\_FUNC}] This variable is very similar to |
402 |
- \code{EBUILD\_PHASE}, but contains the name of the current ebuild |
403 |
+ \item[\code{EBUILD_PHASE_FUNC}] This variable is very similar to |
404 |
+ \code{EBUILD_PHASE}, but contains the name of the current ebuild |
405 |
function. |
406 |
See \featureref{ebuild-phase-func}. |
407 |
\item[Stable use masking/forcing] New files |
408 |
@@ -339,15 +339,15 @@ differences between these previous EAPIs. |
409 |
See \featureref{failglob}. |
410 |
\item[Locale settings] It is ensured that the behaviour of case |
411 |
modification and collation order for ASCII characters |
412 |
- (\code{LC\_CTYPE} and \code{LC\_COLLATE}) are the same as in the |
413 |
+ (\code{LC_CTYPE} and \code{LC_COLLATE}) are the same as in the |
414 |
POSIX locale. |
415 |
See \featureref{locale-settings}. |
416 |
- \item[\code{src\_prepare}] This phase function has a default now, |
417 |
+ \item[\code{src_prepare}] This phase function has a default now, |
418 |
which applies patches from the \code{PATCHES} variable with the |
419 |
new \code{eapply} command, and user-provided patches with |
420 |
- \code{eapply\_user}. |
421 |
+ \code{eapply_user}. |
422 |
See \featureref{src-prepare-6}. |
423 |
- \item[\code{src\_install}] The default implementation uses the new |
424 |
+ \item[\code{src_install}] The default implementation uses the new |
425 |
\code{einstalldocs} function for installing documentation. |
426 |
See \featureref{src-install-6}. |
427 |
\item[\code{nonfatal die}] When \code{die} or \code{assert} are |
428 |
@@ -376,20 +376,20 @@ differences between these previous EAPIs. |
429 |
The patches from its file or directory arguments are applied using |
430 |
\code{patch -p1}. |
431 |
See \featureref{eapply}. |
432 |
- \item[\code{eapply\_user}] The \code{eapply\_user} command permits |
433 |
+ \item[\code{eapply_user}] The \code{eapply_user} command permits |
434 |
the package manager to apply user-provided patches. It must be |
435 |
- called from every \code{src\_prepare} function. |
436 |
+ called from every \code{src_prepare} function. |
437 |
See \featureref{eapply-user}. |
438 |
\item[\code{einstalldocs}] The \code{einstalldocs} function will |
439 |
install the files specified by the \code{DOCS} variable (or a |
440 |
default set of files if \code{DOCS} is unset) and by the |
441 |
- \code{HTML\_DOCS} variable. |
442 |
+ \code{HTML_DOCS} variable. |
443 |
See \featureref{einstalldocs}. |
444 |
- \item[\code{in\_iuse}] The \code{in\_iuse} function returns |
445 |
+ \item[\code{in_iuse}] The \code{in_iuse} function returns |
446 |
true if the USE flag given as its argument is available in the |
447 |
ebuild for USE queries. |
448 |
See \featureref{in-iuse}. |
449 |
- \item[\code{get\_libdir}] The \code{get\_libdir} command outputs |
450 |
+ \item[\code{get_libdir}] The \code{get_libdir} command outputs |
451 |
the \code{lib*} directory basename suitable for the current ABI. |
452 |
See \featureref{get-libdir}. |
453 |
\end{description} |
454 |
diff --git a/eapi-differences.tex b/eapi-differences.tex |
455 |
index c552497..8f8bf72 100644 |
456 |
--- a/eapi-differences.tex |
457 |
+++ b/eapi-differences.tex |
458 |
@@ -49,7 +49,7 @@ Bash version & \compactfeatureref{bash-version} & |
459 |
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} & |
460 |
* & Yes & Yes & Yes & Yes \\ |
461 |
|
462 |
-\t{REQUIRED\_USE} & \compactfeatureref{required-use} & |
463 |
+\t{REQUIRED_USE} & \compactfeatureref{required-use} & |
464 |
No & No & Yes & Yes & Yes \\ |
465 |
|
466 |
\t{PROPERTIES} & \compactfeatureref{properties} & |
467 |
@@ -58,13 +58,13 @@ Bash version & \compactfeatureref{bash-version} & |
468 |
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} & |
469 |
Yes & Yes & No & No & No \\ |
470 |
|
471 |
-\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} & |
472 |
+\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} & |
473 |
Optionally & Optionally & Yes & Yes & Yes \\ |
474 |
|
475 |
\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} & |
476 |
No & No & No & Yes & Yes \\ |
477 |
|
478 |
-\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} & |
479 |
+\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} & |
480 |
* & Yes & Yes & Yes & Yes \\ |
481 |
|
482 |
Slot dependencies & \compactfeatureref{slot-deps} & |
483 |
@@ -85,40 +85,40 @@ Use dependencies & \compactfeatureref{use-deps} & |
484 |
\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} & |
485 |
Always & Always & Conditional & Conditional & Conditional \\ |
486 |
|
487 |
-\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} & |
488 |
+\t{pkg_pretend} & \compactfeatureref{pkg-pretend} & |
489 |
No & No & Yes & Yes & Yes \\ |
490 |
|
491 |
-\t{src\_prepare} & \compactfeatureref{src-prepare} & |
492 |
+\t{src_prepare} & \compactfeatureref{src-prepare} & |
493 |
* & Yes & Yes & Yes & Yes \\ |
494 |
|
495 |
-\t{src\_prepare} style & \compactfeatureref{src-prepare} & |
496 |
+\t{src_prepare} style & \compactfeatureref{src-prepare} & |
497 |
* & no-op & no-op & no-op & 6 \\ |
498 |
|
499 |
-\t{src\_configure} & \compactfeatureref{src-configure} & |
500 |
+\t{src_configure} & \compactfeatureref{src-configure} & |
501 |
* & Yes & Yes & Yes & Yes \\ |
502 |
|
503 |
-\t{src\_compile} style & \compactfeatureref{src-compile} & |
504 |
+\t{src_compile} style & \compactfeatureref{src-compile} & |
505 |
* & 2 & 2 & 2 & 2 \\ |
506 |
|
507 |
Parallel tests & \compactfeatureref{parallel-tests} & |
508 |
No & No & No & Yes & Yes \\ |
509 |
|
510 |
-\t{src\_install} style & \compactfeatureref{src-install} & |
511 |
+\t{src_install} style & \compactfeatureref{src-install} & |
512 |
no-op & no-op & 4 & 4 & 6 \\ |
513 |
|
514 |
-\t{pkg\_info} & \compactfeatureref{pkg-info} & |
515 |
+\t{pkg_info} & \compactfeatureref{pkg-info} & |
516 |
Installed & Installed & Both & Both & Both \\ |
517 |
|
518 |
-\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} & |
519 |
+\t{default_} phase functions & \compactfeatureref{default-phase-funcs} & |
520 |
* & |
521 |
- \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
522 |
- \t{src\_compile}, \t{src\_test} & |
523 |
- \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
524 |
- \t{src\_compile}, \t{src\_install}, \t{src\_test} & |
525 |
- \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
526 |
- \t{src\_compile}, \t{src\_install}, \t{src\_test} & |
527 |
- \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
528 |
- \t{src\_compile}, \t{src\_install}, \t{src\_test} \\ |
529 |
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
530 |
+ \t{src_compile}, \t{src_test} & |
531 |
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
532 |
+ \t{src_compile}, \t{src_install}, \t{src_test} & |
533 |
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
534 |
+ \t{src_compile}, \t{src_install}, \t{src_test} & |
535 |
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
536 |
+ \t{src_compile}, \t{src_install}, \t{src_test} \\ |
537 |
|
538 |
\t{AA} & \compactfeatureref{aa} & |
539 |
Yes & Yes & No & No & No \\ |
540 |
@@ -126,10 +126,10 @@ Parallel tests & \compactfeatureref{parallel-tests} & |
541 |
\t{KV} & \compactfeatureref{kv} & |
542 |
Yes & Yes & No & No & No \\ |
543 |
|
544 |
-\t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} & |
545 |
+\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} & |
546 |
No & No & No & Yes & Yes \\ |
547 |
|
548 |
-\t{MERGE\_TYPE} & \compactfeatureref{merge-type} & |
549 |
+\t{MERGE_TYPE} & \compactfeatureref{merge-type} & |
550 |
No & No & Yes & Yes & Yes \\ |
551 |
|
552 |
Sane locale settings & \compactfeatureref{locale-settings} & |
553 |
@@ -138,10 +138,10 @@ Sane locale settings & \compactfeatureref{locale-settings} & |
554 |
Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} & |
555 |
No & No & No & Yes & Yes \\ |
556 |
|
557 |
-\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} & |
558 |
+\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} & |
559 |
No & No & Yes & Yes & Yes \\ |
560 |
|
561 |
-\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} & |
562 |
+\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} & |
563 |
No & No & Yes & Yes & Yes \\ |
564 |
|
565 |
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} & |
566 |
@@ -177,7 +177,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} & |
567 |
\t{eapply} & \compactfeatureref{eapply} & |
568 |
No & No & No & No & Yes \\ |
569 |
|
570 |
-\t{eapply\_user} & \compactfeatureref{eapply-user} & |
571 |
+\t{eapply_user} & \compactfeatureref{eapply-user} & |
572 |
No & No & No & No & Yes \\ |
573 |
|
574 |
\t{econf} arguments & \compactfeatureref{econf-options} & |
575 |
@@ -209,13 +209,13 @@ Controllable compression & \compactfeatureref{docompress} & |
576 |
\t{docompress} & \compactfeatureref{docompress} & |
577 |
No & No & Yes & Yes & Yes \\ |
578 |
|
579 |
-\t{use\_with} empty third arg & \compactfeatureref{use-with} & |
580 |
+\t{use_with} empty third arg & \compactfeatureref{use-with} & |
581 |
No & No & Yes & Yes & Yes \\ |
582 |
|
583 |
\t{usex} & \compactfeatureref{usex} & |
584 |
No & No & No & Yes & Yes \\ |
585 |
|
586 |
-\t{in\_iuse} & \compactfeatureref{in-iuse} & |
587 |
+\t{in_iuse} & \compactfeatureref{in-iuse} & |
588 |
No & No & No & No & Yes \\ |
589 |
|
590 |
\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} & |
591 |
@@ -236,7 +236,7 @@ Controllable compression & \compactfeatureref{docompress} & |
592 |
\t{einstalldocs} & \compactfeatureref{einstalldocs} & |
593 |
No & No & No & No & Yes \\ |
594 |
|
595 |
-\t{get\_libdir} & \compactfeatureref{get-libdir} & |
596 |
+\t{get_libdir} & \compactfeatureref{get-libdir} & |
597 |
No & No & No & No & Yes \\ |
598 |
|
599 |
File mtimes preserved & \compactfeatureref{mtime-preserve} & |
600 |
@@ -260,7 +260,7 @@ EAPI 1 is EAPI 0 with the following changes: |
601 |
\begin{compactitem} |
602 |
\item \t{IUSE} defaults, \featureref{iuse-defaults}. |
603 |
\item Slot dependencies, \featureref{slot-deps}. |
604 |
-\item Different \t{src\_compile} implementation, \featureref{src-compile-1}. |
605 |
+\item Different \t{src_compile} implementation, \featureref{src-compile-1}. |
606 |
\end{compactitem} |
607 |
|
608 |
\section{EAPI 2} |
609 |
@@ -270,12 +270,12 @@ EAPI 2 is EAPI 1 with the following changes: |
610 |
\begin{compactitem} |
611 |
\item Use dependencies, \featureref{use-deps}. |
612 |
\item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}. |
613 |
-\item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}. |
614 |
-\item \t{src\_prepare}, \featureref{src-prepare}. |
615 |
-\item \t{src\_configure}, \featureref{src-configure}. |
616 |
-\item Different \t{src\_compile} implementation, \featureref{src-compile-2}. |
617 |
-\item \t{default\_} phase functions for phases \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, |
618 |
- \t{src\_configure}, \t{src\_compile} and \t{src\_test}; \featureref{default-phase-funcs}. |
619 |
+\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}. |
620 |
+\item \t{src_prepare}, \featureref{src-prepare}. |
621 |
+\item \t{src_configure}, \featureref{src-configure}. |
622 |
+\item Different \t{src_compile} implementation, \featureref{src-compile-2}. |
623 |
+\item \t{default_} phase functions for phases \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, |
624 |
+ \t{src_configure}, \t{src_compile} and \t{src_test}; \featureref{default-phase-funcs}. |
625 |
\item \t{doman} language detection by filename, \featureref{doman-langs}. |
626 |
\item \t{default} function, \featureref{default-func}. |
627 |
\end{compactitem} |
628 |
@@ -296,18 +296,18 @@ EAPI 4 is EAPI 3 with the following changes: |
629 |
|
630 |
\begin{compactitem} |
631 |
\item \t{PROPERTIES} support is mandatory, \featureref{properties}. |
632 |
-\item \t{REQUIRED\_USE}, \featureref{required-use}. |
633 |
+\item \t{REQUIRED_USE}, \featureref{required-use}. |
634 |
\item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}. |
635 |
-\item \t{DEFINED\_PHASES} support is mandatory, \featureref{defined-phases}. |
636 |
+\item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}. |
637 |
\item Use dependency defaults, \featureref{use-dep-defaults}. |
638 |
\item \t{S} to \t{WORKDIR} fallback restricted, \featureref{s-workdir-fallback}. |
639 |
-\item \t{pkg\_pretend}, \featureref{pkg-pretend}. |
640 |
-\item Default \t{src\_install} no longer a no-op, \featureref{src-install-4}. |
641 |
-\item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}. |
642 |
+\item \t{pkg_pretend}, \featureref{pkg-pretend}. |
643 |
+\item Default \t{src_install} no longer a no-op, \featureref{src-install-4}. |
644 |
+\item \t{pkg_info} can run on non-installed packages, \featureref{pkg-info}. |
645 |
\item \t{AA} is gone, \featureref{aa}. |
646 |
\item \t{KV} is gone, \featureref{kv}. |
647 |
-\item \t{MERGE\_TYPE}, \featureref{merge-type}. |
648 |
-\item \t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}, \featureref{replace-version-vars}. |
649 |
+\item \t{MERGE_TYPE}, \featureref{merge-type}. |
650 |
+\item \t{REPLACING_VERSIONS} and \t{REPLACED_BY_VERSION}, \featureref{replace-version-vars}. |
651 |
\item Utilities now die on failure, \featureref{die-on-failure}, unless called under \t{nonfatal}, |
652 |
\featureref{nonfatal} |
653 |
\item \t{dohard}, \t{dosed} banned, \featureref{banned-commands}. |
654 |
@@ -316,7 +316,7 @@ EAPI 4 is EAPI 3 with the following changes: |
655 |
\item \t{doins} supports symlinks, \featureref{doins}. |
656 |
\item \t{doman -i18n} option takes precedence, \featureref{doman-langs}. |
657 |
\item Controllable compression and \t{docompress}, \featureref{docompress}. |
658 |
-\item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}. |
659 |
+\item \t{use_with} and \t{use_enable} support empty third argument, \featureref{use-with}. |
660 |
\end{compactitem} |
661 |
|
662 |
\section{EAPI 5} |
663 |
@@ -325,14 +325,14 @@ EAPI 5 is EAPI 4 with the following changes: |
664 |
|
665 |
\begin{compactitem} |
666 |
\item Stable use masking and forcing, \featureref{stablemask}. |
667 |
-\item \t{REQUIRED\_USE} now supports \t{??}\ groups, \featureref{at-most-one-of}. |
668 |
+\item \t{REQUIRED_USE} now supports \t{??}\ groups, \featureref{at-most-one-of}. |
669 |
\item Slot operator dependencies, \featureref{slot-operator-deps}. |
670 |
\item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}. |
671 |
-\item \t{src\_test} supports parallel tests, \featureref{parallel-tests}. |
672 |
-\item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}. |
673 |
+\item \t{src_test} supports parallel tests, \featureref{parallel-tests}. |
674 |
+\item \t{EBUILD_PHASE_FUNC}, \featureref{ebuild-phase-func}. |
675 |
\item \t{USE} is calculated differently, \featureref{profile-iuse-inject}. |
676 |
\item \t{find} is guaranteed to be GNU, \featureref{gnu-find}. |
677 |
-\item \t{best\_version} and \t{has\_version} support the \t{-{}-host-root} option, |
678 |
+\item \t{best_version} and \t{has_version} support the \t{-{}-host-root} option, |
679 |
\featureref{host-root-option}. |
680 |
\item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}. |
681 |
\item \t{doheader} and \t{newheader} support, \featureref{doheader}. |
682 |
@@ -346,21 +346,21 @@ EAPI 6 is EAPI 5 with the following changes: |
683 |
|
684 |
\begin{compactitem} |
685 |
\item Bash version is 4.2, \featureref{bash-version}. |
686 |
-\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}. |
687 |
-\item Different \t{src\_install} implementation, \featureref{src-install-6}. |
688 |
-\item \t{LC\_CTYPE} and \t{LC\_COLLATE} compatible with POSIX locale, \featureref{locale-settings}. |
689 |
+\item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}. |
690 |
+\item Different \t{src_install} implementation, \featureref{src-install-6}. |
691 |
+\item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}. |
692 |
\item \t{failglob} is enabled in global scope, \featureref{failglob}. |
693 |
\item \t{einstall} banned, \featureref{banned-commands}. |
694 |
\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}. |
695 |
\item \t{eapply} support, \featureref{eapply}. |
696 |
-\item \t{eapply\_user} support, \featureref{eapply-user}. |
697 |
+\item \t{eapply_user} support, \featureref{eapply-user}. |
698 |
\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}. |
699 |
-\item \t{in\_iuse} support, \featureref{in-iuse}. |
700 |
+\item \t{in_iuse} support, \featureref{in-iuse}. |
701 |
\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}. |
702 |
\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}. |
703 |
\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}. |
704 |
\item \t{einstalldocs} support, \featureref{einstalldocs}. |
705 |
-\item \t{get\_libdir} support, \featureref{get-libdir}. |
706 |
+\item \t{get_libdir} support, \featureref{get-libdir}. |
707 |
\end{compactitem} |
708 |
|
709 |
\ChangeWhenAddingAnEAPI{6} |
710 |
diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex |
711 |
index 30c297c..0ca5829 100644 |
712 |
--- a/ebuild-env-commands.tex |
713 |
+++ b/ebuild-env-commands.tex |
714 |
@@ -4,7 +4,7 @@ This section documents the commands available to an ebuild. Unless otherwise spe |
715 |
aliases, shell functions, or executables in the ebuild's \t{PATH}. |
716 |
|
717 |
When an ebuild is being sourced for metadata querying rather than for a build (that is to say, |
718 |
-when none of the \t{src\_} or \t{pkg\_} functions are to be called), no external command may |
719 |
+when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may |
720 |
be executed. The package manager may take steps to enforce this. |
721 |
|
722 |
\subsection{System commands} |
723 |
diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex |
724 |
index 861e6b9..cc95a2b 100644 |
725 |
--- a/ebuild-env-invariancy.tex |
726 |
+++ b/ebuild-env-invariancy.tex |
727 |
@@ -6,10 +6,10 @@ For the sake of this section: |
728 |
\item Variancy is any package manager action that modifies either |
729 |
\t{ROOT} or \t{/} in any way that isn't merely a simple addition of |
730 |
something that doesn't alter other packages. This includes any |
731 |
- non-default call to any \t{pkg} phase function except \t{pkg\_setup}, |
732 |
+ non-default call to any \t{pkg} phase function except \t{pkg_setup}, |
733 |
a merge of any package or an unmerge of any package. |
734 |
\item As an exception, changes to \t{DISTDIR} do not count as variancy. |
735 |
-\item The \t{pkg\_setup} function may be assumed not to introduce variancy. |
736 |
+\item The \t{pkg_setup} function may be assumed not to introduce variancy. |
737 |
Thus, ebuilds must not perform variant actions in this phase. |
738 |
\end{compactitem} |
739 |
|
740 |
@@ -17,10 +17,10 @@ The following exclusivity and invariancy requirements are mandated: |
741 |
|
742 |
\begin{compactitem} |
743 |
\item No variancy shall be introduced at any point between a package's |
744 |
- \t{pkg\_setup} being started up to the point that that package is |
745 |
+ \t{pkg_setup} being started up to the point that that package is |
746 |
merged, except for any variancy introduced by that package. |
747 |
-\item There must be no variancy between a package's \t{pkg\_setup} and |
748 |
- a package's \t{pkg\_postinst}, except for any variancy introduced |
749 |
+\item There must be no variancy between a package's \t{pkg_setup} and |
750 |
+ a package's \t{pkg_postinst}, except for any variancy introduced |
751 |
by that package. |
752 |
\item Any non-default \t{pkg} phase function must be run exclusively. |
753 |
\item Each phase function must be called at most once during the build |
754 |
diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex |
755 |
index d2cf7b4..2333b01 100644 |
756 |
--- a/ebuild-env-state.tex |
757 |
+++ b/ebuild-env-state.tex |
758 |
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va |
759 |
function earlier in the call sequence must have its value preserved for later functions, including |
760 |
functions executed as part of a later uninstall. |
761 |
|
762 |
-\note \t{pkg\_pretend} is \e{not} part of the normal call sequence, and does not take part in |
763 |
+\note \t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in |
764 |
environment saving. |
765 |
|
766 |
Variables that were exported must remain exported in later functions; variables with default |
767 |
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex |
768 |
index 82ab4cf..8b43b09 100644 |
769 |
--- a/ebuild-env-vars.tex |
770 |
+++ b/ebuild-env-vars.tex |
771 |
@@ -7,8 +7,8 @@ any value. Ebuilds must not attempt to modify any of these variables, unless oth |
772 |
|
773 |
Because of their special meanings, these variables may not be preserved consistently across all |
774 |
phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}). For example, |
775 |
-\t{EBUILD\_PHASE} is different for every phase, and \t{ROOT} may have changed between the various |
776 |
-different \t{pkg\_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent |
777 |
+\t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between the various |
778 |
+different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent |
779 |
variable. |
780 |
|
781 |
\begin{landscape} |
782 |
@@ -67,12 +67,12 @@ variable. |
783 |
Yes & |
784 |
Package version and revision (if any), for example \t{7.0.174} or \t{7.0.174-r1}. \\ |
785 |
\t{A} & |
786 |
- \t{src\_*}, \t{pkg\_nofetch} & |
787 |
+ \t{src_*}, \t{pkg_nofetch} & |
788 |
Yes & |
789 |
All source files available for the package, whitespace separated with no leading or trailing |
790 |
whitespace, and in the order in which the item first appears in a matched component of |
791 |
- \t{SRC\_URI}\@. Does not include any that are disabled because of USE conditionals. The value is |
792 |
- calculated from the base names of each element of the \t{SRC\_URI} ebuild metadata variable. \\ |
793 |
+ \t{SRC_URI}\@. Does not include any that are disabled because of USE conditionals. The value is |
794 |
+ calculated from the base names of each element of the \t{SRC_URI} ebuild metadata variable. \\ |
795 |
\t{AA}\footnote{This variable is generally considered deprecated. However, ebuilds must still |
796 |
assume that the package manager sets it in the EAPIs supporting it. For example, a few |
797 |
configure scripts use this variable to find the \t{aalib} package; ebuilds calling such |
798 |
@@ -81,10 +81,10 @@ variable. |
799 |
Yes & |
800 |
\featurelabel{aa} All source files that could be available for the package, including any that |
801 |
are disabled in \t{A} because of USE conditionals. The value is calculated from the base names |
802 |
- of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in |
803 |
+ of each element of the \t{SRC_URI} ebuild metadata variable. Only for EAPIs listed in |
804 |
table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\ |
805 |
\t{FILESDIR} & |
806 |
- \t{src\_*}, global~scope\footnote{Not necessarily present when installing from a binary package. |
807 |
+ \t{src_*}, global~scope\footnote{Not necessarily present when installing from a binary package. |
808 |
Ebuilds must not access the directory in global scope.} & |
809 |
Yes & |
810 |
The full path to a directory where the files from the package's files directory (used for |
811 |
@@ -101,22 +101,22 @@ variable. |
812 |
The full path to the ebuild's working directory, where all build data should be contained.% |
813 |
\label{env-var-WORKDIR} \\ |
814 |
\t{S} & |
815 |
- \t{src\_*} & |
816 |
+ \t{src_*} & |
817 |
Yes & |
818 |
- The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc. |
819 |
+ The full path to the temporary build directory, used by \t{src_compile}, \t{src_install} etc. |
820 |
Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the |
821 |
global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for |
822 |
global variables apply. \\ |
823 |
\t{PORTDIR} & |
824 |
- \t{src\_*} & |
825 |
+ \t{src_*} & |
826 |
No & |
827 |
The full path to the master repository's base directory. \\ |
828 |
\t{ECLASSDIR} & |
829 |
- \t{src\_*} & |
830 |
+ \t{src_*} & |
831 |
No & |
832 |
The full path to the master repository's eclass directory. \\ |
833 |
\t{ROOT} & |
834 |
- \t{pkg\_*} & |
835 |
+ \t{pkg_*} & |
836 |
No & |
837 |
The absolute path to the root directory into which the package is to be merged. Phases which run |
838 |
with full filesystem access must not touch any files outside of the directory given in |
839 |
@@ -124,7 +124,7 @@ variable. |
840 |
will not be executable on the build machine, so ebuilds must not call them. \t{ROOT} must be |
841 |
non-empty and end in a trailing slash. \\ |
842 |
\t{EROOT} & |
843 |
- \t{pkg\_*} & |
844 |
+ \t{pkg_*} & |
845 |
No & |
846 |
Contains the path \t{\$\{ROOT\%/\}\$\{EPREFIX\}/} for convenience. See also the |
847 |
\t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as |
848 |
@@ -156,27 +156,27 @@ variable. |
849 |
See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} |
850 |
as supporting \t{EPREFIX}. \\ |
851 |
\t{D} & |
852 |
- \t{src\_install} & |
853 |
+ \t{src_install} & |
854 |
No & |
855 |
Contains the full path to the image directory into which the package should be installed. |
856 |
Must be non-empty and end in a trailing slash. \\ |
857 |
\t{D} (continued) & |
858 |
- \t{pkg\_preinst}, \t{pkg\_postinst} & |
859 |
+ \t{pkg_preinst}, \t{pkg_postinst} & |
860 |
Yes & |
861 |
Contains the full path to the image that is about to be or has just been merged. Must be |
862 |
non-empty and end in a trailing slash. \\ |
863 |
\t{ED} & |
864 |
- \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst} & |
865 |
+ \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst} & |
866 |
See \t{D} & |
867 |
Contains the path \t{\$\{D\%/\}\$\{EPREFIX\}/} for convenience. See also the |
868 |
\t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as |
869 |
supporting \t{ED}. \\ |
870 |
\t{DESTTREE} & |
871 |
- \t{src\_install} & |
872 |
+ \t{src_install} & |
873 |
No & |
874 |
Controls the location where \t{dobin}, \t{dolib}, \t{domo}, and \t{dosbin} install things. \\ |
875 |
\t{INSDESTTREE} & |
876 |
- \t{src\_install} & |
877 |
+ \t{src_install} & |
878 |
No & |
879 |
Controls the location where \t{doins} installs things. \\ |
880 |
\t{USE} & |
881 |
@@ -184,7 +184,7 @@ variable. |
882 |
Yes & |
883 |
A whitespace-delimited list of all active USE flags for this ebuild. See |
884 |
section~\ref{sec:use-iuse-handling} for details. \\ |
885 |
-\t{EBUILD\_PHASE} & |
886 |
+\t{EBUILD_PHASE} & |
887 |
All & |
888 |
No & |
889 |
Takes one of the values \t{config}, \t{setup}, \t{nofetch}, \t{unpack}, \t{prepare}, |
890 |
@@ -192,43 +192,43 @@ variable. |
891 |
\t{postrm}, \t{info}, \t{pretend} according to the top level ebuild function that was executed |
892 |
by the package manager. May be unset or any single word that is not any of the above when the |
893 |
ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\ |
894 |
-\t{EBUILD\_PHASE\_FUNC} & |
895 |
+\t{EBUILD_PHASE_FUNC} & |
896 |
All & |
897 |
No & |
898 |
- \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg\_config}, \t{pkg\_setup}, |
899 |
- \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, |
900 |
- \t{src\_test}, \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, |
901 |
- \t{pkg\_postrm}, \t{pkg\_info}, \t{pkg\_pretend} according to the top level ebuild function that |
902 |
+ \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg_config}, \t{pkg_setup}, |
903 |
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, |
904 |
+ \t{src_test}, \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, |
905 |
+ \t{pkg_postrm}, \t{pkg_info}, \t{pkg_pretend} according to the top level ebuild function that |
906 |
was executed by the package manager. May be unset or any single word that is not any of the |
907 |
above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for |
908 |
- EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\ |
909 |
+ EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD_PHASE_FUNC}. \\ |
910 |
\t{KV} & |
911 |
All & |
912 |
Yes & |
913 |
\featurelabel{kv} The version of the running kernel at the time the ebuild was first executed, |
914 |
as returned by the \t{uname~-r} command or equivalent. May be modified by ebuilds. Only for |
915 |
EAPIs listed in table~\ref{tab:removed-env-vars-table} as supporting \t{KV}. \\ |
916 |
-\t{MERGE\_TYPE} & |
917 |
- \t{pkg\_*} & |
918 |
+\t{MERGE_TYPE} & |
919 |
+ \t{pkg_*} & |
920 |
No & |
921 |
\featurelabel{merge-type} The type of package that is being merged. Possible values are: |
922 |
\t{source} if building and installing a package from source, \t{binary} if installing a binary |
923 |
package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs |
924 |
- listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE\_TYPE}. \\ |
925 |
-\t{REPLACING\_VERSIONS} & |
926 |
- \t{pkg\_*} (see text) & |
927 |
+ listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE_TYPE}. \\ |
928 |
+\t{REPLACING_VERSIONS} & |
929 |
+ \t{pkg_*} (see text) & |
930 |
Yes & |
931 |
A list of all versions of this package (including revision, if specified), whitespace separated |
932 |
with no leading or trailing whitespace, that are being replaced (uninstalled or overwritten) |
933 |
as a result of this install. See section~\ref{sec:replacing-versions}. Only for EAPIs listed |
934 |
- in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING\_VERSIONS}. \\ |
935 |
-\t{REPLACED\_BY\_VERSION} & |
936 |
- \t{pkg\_prerm}, \t{pkg\_postrm} & |
937 |
+ in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING_VERSIONS}. \\ |
938 |
+\t{REPLACED_BY_VERSION} & |
939 |
+ \t{pkg_prerm}, \t{pkg_postrm} & |
940 |
Yes & |
941 |
The single version of this package (including revision, if specified) that is replacing us, if |
942 |
we are being uninstalled as part of an install, or an empty string otherwise. See |
943 |
section~\ref{sec:replacing-versions}. Only for EAPIs listed in table~\ref{tab:added-env-vars-table} |
944 |
- as supporting \t{REPLACED\_BY\_VERSION}. |
945 |
+ as supporting \t{REPLACED_BY_VERSION}. |
946 |
\end{longtable} |
947 |
\end{landscape} |
948 |
|
949 |
@@ -238,10 +238,10 @@ variable. |
950 |
\begin{tabular}{lllll} |
951 |
\toprule |
952 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
953 |
- \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} & |
954 |
- \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} & |
955 |
- \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} & |
956 |
- \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\ |
957 |
+ \multicolumn{1}{c}{\textbf{\t{MERGE_TYPE}?}} & |
958 |
+ \multicolumn{1}{c}{\textbf{\t{REPLACING_VERSIONS}?}} & |
959 |
+ \multicolumn{1}{c}{\textbf{\t{REPLACED_BY_VERSION}?}} & |
960 |
+ \multicolumn{1}{c}{\textbf{\t{EBUILD_PHASE_FUNC}?}} \\ |
961 |
\midrule |
962 |
0, 1, 2, 3 & No & No & No & No \\ |
963 |
4 & Yes & Yes & Yes & No \\ |
964 |
@@ -290,11 +290,11 @@ the scope of this specification) or be unset. |
965 |
is left up to interpretation, but it should include the equivalent ``sbin'' and ``bin'' and any |
966 |
package manager specific directories. |
967 |
|
968 |
-\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP\_OPTIONS}, \t{GREP\_COLOR} and \t{GLOBIGNORE} |
969 |
+\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP_OPTIONS}, \t{GREP_COLOR} and \t{GLOBIGNORE} |
970 |
must not be set. |
971 |
|
972 |
-\featurelabel{locale-settings} The package manager must ensure that the \t{LC\_CTYPE} and |
973 |
-\t{LC\_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the |
974 |
+\featurelabel{locale-settings} The package manager must ensure that the \t{LC_CTYPE} and |
975 |
+\t{LC_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the |
976 |
ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in |
977 |
table~\ref{tab:locale-settings}. |
978 |
|
979 |
@@ -304,7 +304,7 @@ table~\ref{tab:locale-settings}. |
980 |
\begin{tabular}{ll} |
981 |
\toprule |
982 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
983 |
- \multicolumn{1}{c}{\textbf{Sane \t{LC\_CTYPE} and \t{LC\_COLLATE}?}} \\ |
984 |
+ \multicolumn{1}{c}{\textbf{Sane \t{LC_CTYPE} and \t{LC_COLLATE}?}} \\ |
985 |
\midrule |
986 |
0, 1, 2, 3, 4, 5 & Undefined \\ |
987 |
6 & Yes \\ |
988 |
@@ -319,78 +319,78 @@ This section discusses the handling of four variables: |
989 |
|
990 |
\begin{description} |
991 |
\item[IUSE] is the variable calculated from the \t{IUSE} values defined in ebuilds and eclasses. |
992 |
-\item[IUSE\_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources |
993 |
+\item[IUSE_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources |
994 |
described below. It is purely a conceptual variable; it is not exported to the ebuild |
995 |
- environment. Values in \t{IUSE\_REFERENCEABLE} may legally be used in queries from other |
996 |
+ environment. Values in \t{IUSE_REFERENCEABLE} may legally be used in queries from other |
997 |
packages about an ebuild's state (for example, for use dependencies). |
998 |
-\item[IUSE\_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE\_EFFECTIVE} are |
999 |
+\item[IUSE_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE_EFFECTIVE} are |
1000 |
those which an ebuild may legally use in queries about itself (for example, for the \t{use} |
1001 |
function, and for use in dependency specification conditional blocks). |
1002 |
\item[USE] is a variable calculated by the package manager and exported to the ebuild environment. |
1003 |
\end{description} |
1004 |
|
1005 |
-In all cases, the values of \t{IUSE\_REFERENCEABLE} and \t{IUSE\_EFFECTIVE} are undefined during |
1006 |
+In all cases, the values of \t{IUSE_REFERENCEABLE} and \t{IUSE_EFFECTIVE} are undefined during |
1007 |
metadata generation. |
1008 |
|
1009 |
For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined |
1010 |
-\t{IUSE} injection, \t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs |
1011 |
-where profile defined \t{IUSE} injection is supported, \t{IUSE\_REFERENCEABLE} is equal to |
1012 |
-\t{IUSE\_EFFECTIVE}. |
1013 |
+\t{IUSE} injection, \t{IUSE_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs |
1014 |
+where profile defined \t{IUSE} injection is supported, \t{IUSE_REFERENCEABLE} is equal to |
1015 |
+\t{IUSE_EFFECTIVE}. |
1016 |
|
1017 |
For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined |
1018 |
-\t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values: |
1019 |
+\t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values: |
1020 |
|
1021 |
\begin{compactitem} |
1022 |
\item All values in the calculated \t{IUSE} value. |
1023 |
\item All possible values for the \t{ARCH} variable. |
1024 |
\item All legal use flag names whose name starts with the lowercase equivalent of any value in |
1025 |
- the profile \t{USE\_EXPAND} variable followed by an underscore. |
1026 |
+ the profile \t{USE_EXPAND} variable followed by an underscore. |
1027 |
\end{compactitem} |
1028 |
|
1029 |
\featurelabel{profile-iuse-inject} For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} |
1030 |
-as supporting profile defined \t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values: |
1031 |
+as supporting profile defined \t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values: |
1032 |
|
1033 |
\begin{compactitem} |
1034 |
\item All values in the calculated \t{IUSE} value. |
1035 |
-\item All values in the profile \t{IUSE\_IMPLICIT} variable. |
1036 |
-\item All values in the profile variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}} |
1037 |
- is any value in the intersection of the profile \t{USE\_EXPAND\_UNPREFIXED} and |
1038 |
- \t{USE\_EXPAND\_IMPLICIT} variables. |
1039 |
-\item All values for \t{\$\{lower\_v\}\_\$\{x\}}, where \t{\$\{x\}} is all values in the profile |
1040 |
- variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}} is any value in the |
1041 |
- intersection of the profile \t{USE\_EXPAND} and \t{USE\_EXPAND\_IMPLICIT} variables and |
1042 |
- \t{\$\{lower\_v\}} is the lowercase equivalent of \t{\$\{v\}}. |
1043 |
+\item All values in the profile \t{IUSE_IMPLICIT} variable. |
1044 |
+\item All values in the profile variable named \t{USE_EXPAND_VALUES_\$\{v\}}, where \t{\$\{v\}} |
1045 |
+ is any value in the intersection of the profile \t{USE_EXPAND_UNPREFIXED} and |
1046 |
+ \t{USE_EXPAND_IMPLICIT} variables. |
1047 |
+\item All values for \t{\$\{lower_v\}_\$\{x\}}, where \t{\$\{x\}} is all values in the profile |
1048 |
+ variable named \t{USE_EXPAND_VALUES_\$\{v\}}, where \t{\$\{v\}} is any value in the |
1049 |
+ intersection of the profile \t{USE_EXPAND} and \t{USE_EXPAND_IMPLICIT} variables and |
1050 |
+ \t{\$\{lower_v\}} is the lowercase equivalent of \t{\$\{v\}}. |
1051 |
\end{compactitem} |
1052 |
|
1053 |
-The \t{USE} variable is set by the package manager. For each value in \t{IUSE\_EFFECTIVE}, \t{USE} |
1054 |
+The \t{USE} variable is set by the package manager. For each value in \t{IUSE_EFFECTIVE}, \t{USE} |
1055 |
shall contain that value if the flag is to be enabled for the ebuild in question, and shall not |
1056 |
contain that value if it is to be disabled. In EAPIs listed in |
1057 |
table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined \t{IUSE} injection, |
1058 |
\t{USE} may contain other flag names that are not relevant for the ebuild. |
1059 |
|
1060 |
For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined |
1061 |
-\t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED} shall |
1062 |
+\t{IUSE} injection, the variables named in \t{USE_EXPAND} and \t{USE_EXPAND_UNPREFIXED} shall |
1063 |
have their profile-provided values reduced to contain only those values that are present in |
1064 |
-\t{IUSE\_EFFECTIVE}. |
1065 |
+\t{IUSE_EFFECTIVE}. |
1066 |
|
1067 |
For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined |
1068 |
-\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE\_EFFECTIVE} when |
1069 |
+\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE_EFFECTIVE} when |
1070 |
installing a package. Details are beyond the scope of this specification. |
1071 |
|
1072 |
-\subsection{REPLACING\_VERSIONS and REPLACED\_BY\_VERSION} |
1073 |
+\subsection{REPLACING_VERSIONS and REPLACED_BY_VERSION} |
1074 |
\label{sec:replacing-versions} |
1075 |
|
1076 |
\featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as |
1077 |
-supporting it, the \t{REPLACING\_VERSIONS} variable shall be defined in \t{pkg\_preinst} and |
1078 |
-\t{pkg\_postinst}. In addition, it \e{may} be defined in \t{pkg\_pretend} and \t{pkg\_setup}, |
1079 |
+supporting it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and |
1080 |
+\t{pkg_postinst}. In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup}, |
1081 |
although ebuild authors should take care to handle binary package creation and installation |
1082 |
correctly when using it in these phases. |
1083 |
|
1084 |
-\t{REPLACING\_VERSIONS} is a list, not a single optional value, to handle pathological cases such as |
1085 |
+\t{REPLACING_VERSIONS} is a list, not a single optional value, to handle pathological cases such as |
1086 |
installing \t{foo-2:2} to replace \t{foo-2:1} and \t{foo-3:2}. |
1087 |
|
1088 |
In EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting it, the |
1089 |
-\t{REPLACED\_BY\_VERSION} variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall |
1090 |
+\t{REPLACED_BY_VERSION} variable shall be defined in \t{pkg_prerm} and \t{pkg_postrm}. It shall |
1091 |
contain at most one value. |
1092 |
|
1093 |
\subsection{Offset-prefix variables} |
1094 |
diff --git a/ebuild-format.tex b/ebuild-format.tex |
1095 |
index db6d7a1..fa49e8f 100644 |
1096 |
--- a/ebuild-format.tex |
1097 |
+++ b/ebuild-format.tex |
1098 |
@@ -5,7 +5,7 @@ |
1099 |
a bash script. The interpreter is assumed to be GNU bash, version as listed in |
1100 |
table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set |
1101 |
the shell's compatibility level to the exact version specified. It must ensure that any such |
1102 |
-compatibility settings (e.g. the \t{BASH\_COMPAT} variable) are not exported to external programs. |
1103 |
+compatibility settings (e.g. the \t{BASH_COMPAT} variable) are not exported to external programs. |
1104 |
|
1105 |
The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define |
1106 |
certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} |
1107 |
diff --git a/ebuild-functions.tex b/ebuild-functions.tex |
1108 |
index 045b207..e90c050 100644 |
1109 |
--- a/ebuild-functions.tex |
1110 |
+++ b/ebuild-functions.tex |
1111 |
@@ -12,8 +12,8 @@ temporary directory \t{T}; exceptions are noted below. All functions may assume |
1112 |
access to all system libraries, binaries and configuration files that are accessible to normal |
1113 |
users. |
1114 |
|
1115 |
-The environment for functions run outside of the build sequence (that is, \t{pkg\_config}, |
1116 |
-\t{pkg\_info}, \t{pkg\_prerm} and \t{pkg\_postrm}) must be the environment used for the build of the |
1117 |
+The environment for functions run outside of the build sequence (that is, \t{pkg_config}, |
1118 |
+\t{pkg_info}, \t{pkg_prerm} and \t{pkg_postrm}) must be the environment used for the build of the |
1119 |
package, not the current configuration. |
1120 |
|
1121 |
Ebuilds must not call nor assume the existence of any phase functions. |
1122 |
@@ -37,10 +37,10 @@ fallback to \t{WORKDIR} is used: |
1123 |
|
1124 |
\begin{compactitem} |
1125 |
\item The \t{A} variable contains no items. |
1126 |
-\item The phase function in question is not in \t{DEFINED\_PHASES}. |
1127 |
+\item The phase function in question is not in \t{DEFINED_PHASES}. |
1128 |
\item None of the phase functions \t{unpack}, \t{prepare}, \t{configure}, \t{compile} or \t{install}, |
1129 |
if supported by the EAPI in question and occurring prior to the phase about to be executed, are |
1130 |
- in \t{DEFINED\_PHASES}. |
1131 |
+ in \t{DEFINED_PHASES}. |
1132 |
\end{compactitem} |
1133 |
|
1134 |
\ChangeWhenAddingAnEAPI{6} |
1135 |
@@ -57,30 +57,30 @@ fallback to \t{WORKDIR} is used: |
1136 |
\end{tabular} |
1137 |
\end{centertable} |
1138 |
|
1139 |
-\subsection{pkg\_pretend} |
1140 |
+\subsection{pkg_pretend} |
1141 |
|
1142 |
-\featurelabel{pkg-pretend} The \t{pkg\_pretend} function is only called for EAPIs listed in |
1143 |
+\featurelabel{pkg-pretend} The \t{pkg_pretend} function is only called for EAPIs listed in |
1144 |
table~\ref{tab:pkg-pretend-table} as supporting it. |
1145 |
|
1146 |
-The \t{pkg\_pretend} function may be used to carry out sanity checks early on in the install |
1147 |
+The \t{pkg_pretend} function may be used to carry out sanity checks early on in the install |
1148 |
process. For example, if an ebuild requires a particular kernel configuration, it may perform that |
1149 |
-check in \t{pkg\_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the |
1150 |
+check in \t{pkg_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the |
1151 |
requirement is not met. |
1152 |
|
1153 |
-\t{pkg\_pretend} is run separately from the main phase function sequence, and does not participate |
1154 |
+\t{pkg_pretend} is run separately from the main phase function sequence, and does not participate |
1155 |
in any kind of environment saving. There is no guarantee that any of an ebuild's dependencies will |
1156 |
be met at this stage, and no guarantee that the system state will not have changed substantially |
1157 |
before the next phase is executed. |
1158 |
|
1159 |
-\t{pkg\_pretend} must not write to the filesystem. |
1160 |
+\t{pkg_pretend} must not write to the filesystem. |
1161 |
|
1162 |
\ChangeWhenAddingAnEAPI{6} |
1163 |
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} |
1164 |
+\begin{centertable}{EAPIs supporting \t{pkg_pretend}} |
1165 |
\label{tab:pkg-pretend-table} |
1166 |
\begin{tabular}{ll} |
1167 |
\toprule |
1168 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1169 |
- \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\ |
1170 |
+ \multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\ |
1171 |
\midrule |
1172 |
0, 1, 2, 3 & No \\ |
1173 |
4, 5, 6 & Yes \\ |
1174 |
@@ -88,25 +88,25 @@ before the next phase is executed. |
1175 |
\end{tabular} |
1176 |
\end{centertable} |
1177 |
|
1178 |
-\subsection{pkg\_setup} |
1179 |
+\subsection{pkg_setup} |
1180 |
|
1181 |
-The \t{pkg\_setup} function sets up the ebuild's environment for all following functions, before |
1182 |
+The \t{pkg_setup} function sets up the ebuild's environment for all following functions, before |
1183 |
the build process starts. Further, it checks whether any necessary prerequisites not covered |
1184 |
by the package manager, e.\,g.\ that certain kernel configuration options are fulfilled. |
1185 |
|
1186 |
-\t{pkg\_setup} must be run with full filesystem permissions, including the ability to add new users |
1187 |
+\t{pkg_setup} must be run with full filesystem permissions, including the ability to add new users |
1188 |
and/or groups to the system. |
1189 |
|
1190 |
-\subsection{src\_unpack} |
1191 |
+\subsection{src_unpack} |
1192 |
|
1193 |
-The \t{src\_unpack} function extracts all of the package's sources. In EAPIs lacking |
1194 |
-\t{src\_prepare}, it may also apply patches and set up the package's build system for further use. |
1195 |
+The \t{src_unpack} function extracts all of the package's sources. In EAPIs lacking |
1196 |
+\t{src_prepare}, it may also apply patches and set up the package's build system for further use. |
1197 |
|
1198 |
The initial working directory must be \t{WORKDIR}, and the default implementation used when |
1199 |
-the ebuild lacks the \t{src\_unpack} function shall behave as: |
1200 |
+the ebuild lacks the \t{src_unpack} function shall behave as: |
1201 |
|
1202 |
\begin{listing}[H] |
1203 |
-\caption{\t{src\_unpack}} |
1204 |
+\caption{\t{src_unpack}} |
1205 |
\begin{verbatim} |
1206 |
src_unpack() { |
1207 |
if [[ -n ${A} ]]; then |
1208 |
@@ -116,21 +116,21 @@ src_unpack() { |
1209 |
\end{verbatim} |
1210 |
\end{listing} |
1211 |
|
1212 |
-\subsection{src\_prepare} |
1213 |
+\subsection{src_prepare} |
1214 |
|
1215 |
-\featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in |
1216 |
-table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for |
1217 |
+\featurelabel{src-prepare} The \t{src_prepare} function is only called for EAPIs listed in |
1218 |
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src_prepare} function can be used for |
1219 |
post-unpack source preparation. |
1220 |
|
1221 |
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in |
1222 |
section~\ref{sec:s-to-workdir-fallback}. |
1223 |
|
1224 |
\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format |
1225 |
-6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave |
1226 |
+6, the default implementation used when the ebuild lacks the \t{src_prepare} function shall behave |
1227 |
as: |
1228 |
|
1229 |
\begin{listing}[H] |
1230 |
-\caption{\t{src\_prepare}, format~6} |
1231 |
+\caption{\t{src_prepare}, format~6} |
1232 |
\begin{verbatim} |
1233 |
src_prepare() { |
1234 |
if declare -p PATCHES | grep -q "^declare -a "; then |
1235 |
@@ -143,16 +143,16 @@ src_prepare() { |
1236 |
\end{verbatim} |
1237 |
\end{listing} |
1238 |
|
1239 |
-For other EAPIs supporting \t{src\_prepare}, the default implementation used when the ebuild lacks |
1240 |
-the \t{src\_prepare} function is a no-op. |
1241 |
+For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks |
1242 |
+the \t{src_prepare} function is a no-op. |
1243 |
|
1244 |
\ChangeWhenAddingAnEAPI{6} |
1245 |
-\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs} |
1246 |
+\begin{centertable}{\t{src_prepare} support and behaviour for EAPIs} |
1247 |
\label{tab:src-prepare-table} |
1248 |
\begin{tabular}{lll} |
1249 |
\toprule |
1250 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1251 |
- \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} & |
1252 |
+ \multicolumn{1}{c}{\textbf{Supports \t{src_prepare}?}} & |
1253 |
\multicolumn{1}{c}{\textbf{Format}} \\ |
1254 |
\midrule |
1255 |
0, 1 & No & Not applicable \\ |
1256 |
@@ -162,19 +162,19 @@ the \t{src\_prepare} function is a no-op. |
1257 |
\end{tabular} |
1258 |
\end{centertable} |
1259 |
|
1260 |
-\subsection{src\_configure} |
1261 |
+\subsection{src_configure} |
1262 |
|
1263 |
-\featurelabel{src-configure} The \t{src\_configure} function is only called for EAPIs listed in |
1264 |
+\featurelabel{src-configure} The \t{src_configure} function is only called for EAPIs listed in |
1265 |
table~\ref{tab:src-configure-table} as supporting it. |
1266 |
|
1267 |
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in |
1268 |
section~\ref{sec:s-to-workdir-fallback}. |
1269 |
|
1270 |
-The \t{src\_configure} function configures the package's build environment. The default |
1271 |
-implementation used when the ebuild lacks the \t{src\_configure} function shall behave as: |
1272 |
+The \t{src_configure} function configures the package's build environment. The default |
1273 |
+implementation used when the ebuild lacks the \t{src_configure} function shall behave as: |
1274 |
|
1275 |
\begin{listing}[H] |
1276 |
-\caption{\t{src\_configure}} |
1277 |
+\caption{\t{src_configure}} |
1278 |
\begin{verbatim} |
1279 |
src_configure() { |
1280 |
if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then |
1281 |
@@ -185,12 +185,12 @@ src_configure() { |
1282 |
\end{listing} |
1283 |
|
1284 |
\ChangeWhenAddingAnEAPI{6} |
1285 |
-\begin{centertable}{EAPIs supporting \t{src\_configure}} |
1286 |
+\begin{centertable}{EAPIs supporting \t{src_configure}} |
1287 |
\label{tab:src-configure-table} |
1288 |
\begin{tabular}{ll} |
1289 |
\toprule |
1290 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1291 |
- \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\ |
1292 |
+ \multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\ |
1293 |
\midrule |
1294 |
0, 1 & No \\ |
1295 |
2, 3, 4, 5, 6 & Yes \\ |
1296 |
@@ -198,20 +198,20 @@ src_configure() { |
1297 |
\end{tabular} |
1298 |
\end{centertable} |
1299 |
|
1300 |
-\subsection{src\_compile} |
1301 |
+\subsection{src_compile} |
1302 |
|
1303 |
-\featurelabel{src-compile} The \t{src\_compile} function configures the package's build environment |
1304 |
-in EAPIs lacking \t{src\_configure}, and builds the package in all EAPIs. |
1305 |
+\featurelabel{src-compile} The \t{src_compile} function configures the package's build environment |
1306 |
+in EAPIs lacking \t{src_configure}, and builds the package in all EAPIs. |
1307 |
|
1308 |
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in |
1309 |
section~\ref{sec:s-to-workdir-fallback}. |
1310 |
|
1311 |
\featurelabel{src-compile-0} For EAPIs listed in table~\ref{tab:src-compile-table} as using format |
1312 |
-0, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave |
1313 |
+0, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave |
1314 |
as: |
1315 |
|
1316 |
\begin{listing}[H] |
1317 |
-\caption{\t{src\_compile}, format~0} |
1318 |
+\caption{\t{src_compile}, format~0} |
1319 |
\begin{verbatim} |
1320 |
src_compile() { |
1321 |
if [[ -x ./configure ]]; then |
1322 |
@@ -225,11 +225,11 @@ src_compile() { |
1323 |
\end{listing} |
1324 |
|
1325 |
\featurelabel{src-compile-1} For EAPIs listed in table~\ref{tab:src-compile-table} as using format |
1326 |
-1, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave |
1327 |
+1, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave |
1328 |
as: |
1329 |
|
1330 |
\begin{listing}[H] |
1331 |
-\caption{\t{src\_compile}, format~1} |
1332 |
+\caption{\t{src_compile}, format~1} |
1333 |
\begin{verbatim} |
1334 |
src_compile() { |
1335 |
if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then |
1336 |
@@ -243,11 +243,11 @@ src_compile() { |
1337 |
\end{listing} |
1338 |
|
1339 |
\featurelabel{src-compile-2} For EAPIs listed in table~\ref{tab:src-compile-table} as using format |
1340 |
-2, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave |
1341 |
+2, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave |
1342 |
as: |
1343 |
|
1344 |
\begin{listing}[H] |
1345 |
-\caption{\t{src\_compile}, format~2} |
1346 |
+\caption{\t{src_compile}, format~2} |
1347 |
\begin{verbatim} |
1348 |
src_compile() { |
1349 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then |
1350 |
@@ -258,7 +258,7 @@ src_compile() { |
1351 |
\end{listing} |
1352 |
|
1353 |
\ChangeWhenAddingAnEAPI{6} |
1354 |
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} |
1355 |
+\begin{centertable}{\t{src_compile} behaviour for EAPIs} |
1356 |
\label{tab:src-compile-table} |
1357 |
\begin{tabular}{ll} |
1358 |
\toprule |
1359 |
@@ -272,13 +272,13 @@ src_compile() { |
1360 |
\end{tabular} |
1361 |
\end{centertable} |
1362 |
|
1363 |
-\subsection{src\_test} |
1364 |
+\subsection{src_test} |
1365 |
|
1366 |
-The \t{src\_test} function runs unit tests for the newly built but not yet installed package as |
1367 |
+The \t{src_test} function runs unit tests for the newly built but not yet installed package as |
1368 |
provided. |
1369 |
|
1370 |
The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise. |
1371 |
-The default implementation used when the ebuild lacks the \t{src\_test} function must, if tests are |
1372 |
+The default implementation used when the ebuild lacks the \t{src_test} function must, if tests are |
1373 |
enabled, run \t{emake check} if and only if such a target is available, or if not run |
1374 |
\t{emake test} if and only if such a target is available. In both cases, if \t{emake} returns |
1375 |
non-zero the build must be aborted. |
1376 |
@@ -286,11 +286,11 @@ non-zero the build must be aborted. |
1377 |
\featurelabel{parallel-tests} For EAPIs listed in table~\ref{tab:src-test-table} as not supporting |
1378 |
parallel tests, the \t{emake} command must be called with option \t{-j1}. |
1379 |
|
1380 |
-The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may |
1381 |
+The \t{src_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may |
1382 |
be disabled by user too, using a PM-specific mechanism. |
1383 |
|
1384 |
\ChangeWhenAddingAnEAPI{6} |
1385 |
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} |
1386 |
+\begin{centertable}{\t{src_test} behaviour for EAPIs} |
1387 |
\label{tab:src-test-table} |
1388 |
\begin{tabular}{ll} |
1389 |
\toprule |
1390 |
@@ -303,20 +303,20 @@ be disabled by user too, using a PM-specific mechanism. |
1391 |
\end{tabular} |
1392 |
\end{centertable} |
1393 |
|
1394 |
-\subsection{src\_install} |
1395 |
+\subsection{src_install} |
1396 |
|
1397 |
-\featurelabel{src-install} The \t{src\_install} function installs the package's content to a |
1398 |
+\featurelabel{src-install} The \t{src_install} function installs the package's content to a |
1399 |
directory specified in \t{D}. |
1400 |
|
1401 |
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in |
1402 |
section~\ref{sec:s-to-workdir-fallback}. |
1403 |
|
1404 |
\featurelabel{src-install-4} For EAPIs listed in table~\ref{tab:src-install-table} as using format |
1405 |
-4, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave |
1406 |
+4, the default implementation used when the ebuild lacks the \t{src_install} function shall behave |
1407 |
as: |
1408 |
|
1409 |
\begin{listing}[H] |
1410 |
-\caption{\t{src\_install}, format~4} |
1411 |
+\caption{\t{src_install}, format~4} |
1412 |
\begin{verbatim} |
1413 |
src_install() { |
1414 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then |
1415 |
@@ -339,11 +339,11 @@ src_install() { |
1416 |
\end{listing} |
1417 |
|
1418 |
\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format |
1419 |
-6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave |
1420 |
+6, the default implementation used when the ebuild lacks the \t{src_install} function shall behave |
1421 |
as: |
1422 |
|
1423 |
\begin{listing}[H] |
1424 |
-\caption{\t{src\_install}, format~6} |
1425 |
+\caption{\t{src_install}, format~6} |
1426 |
\begin{verbatim} |
1427 |
src_install() { |
1428 |
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then |
1429 |
@@ -354,11 +354,11 @@ src_install() { |
1430 |
\end{verbatim} |
1431 |
\end{listing} |
1432 |
|
1433 |
-For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function |
1434 |
+For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function |
1435 |
is a no-op. |
1436 |
|
1437 |
\ChangeWhenAddingAnEAPI{6} |
1438 |
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} |
1439 |
+\begin{centertable}{\t{src_install} behaviour for EAPIs} |
1440 |
\label{tab:src-install-table} |
1441 |
\begin{tabular}{ll} |
1442 |
\toprule |
1443 |
@@ -372,66 +372,66 @@ is a no-op. |
1444 |
\end{tabular} |
1445 |
\end{centertable} |
1446 |
|
1447 |
-\subsection{pkg\_preinst} |
1448 |
+\subsection{pkg_preinst} |
1449 |
|
1450 |
-The \t{pkg\_preinst} function performs any special tasks that are required immediately before |
1451 |
+The \t{pkg_preinst} function performs any special tasks that are required immediately before |
1452 |
merging the package to the live filesystem. It must not write outside of the directories specified |
1453 |
by the \t{ROOT} and \t{D} environment variables. |
1454 |
|
1455 |
-\t{pkg\_preinst} must be run with full access to all files and directories below that specified by |
1456 |
+\t{pkg_preinst} must be run with full access to all files and directories below that specified by |
1457 |
the \t{ROOT} and \t{D} environment variables. |
1458 |
|
1459 |
-\subsection{pkg\_postinst} |
1460 |
+\subsection{pkg_postinst} |
1461 |
|
1462 |
-The \t{pkg\_postinst} function performs any special tasks that are required immediately after |
1463 |
+The \t{pkg_postinst} function performs any special tasks that are required immediately after |
1464 |
merging the package to the live filesystem. It must not write outside of the directory specified |
1465 |
in the \t{ROOT} environment variable. |
1466 |
|
1467 |
-\t{pkg\_postinst}, like, \t{pkg\_preinst}, must be run with full access to all files and directories |
1468 |
+\t{pkg_postinst}, like, \t{pkg_preinst}, must be run with full access to all files and directories |
1469 |
below that specified by the \t{ROOT} environment variable. |
1470 |
|
1471 |
-\subsection{pkg\_prerm} |
1472 |
+\subsection{pkg_prerm} |
1473 |
|
1474 |
-The \t{pkg\_prerm} function performs any special tasks that are required immediately before |
1475 |
+The \t{pkg_prerm} function performs any special tasks that are required immediately before |
1476 |
unmerging the package from the live filesystem. It must not write outside of the directory specified |
1477 |
by the \t{ROOT} environment variable. |
1478 |
|
1479 |
-\t{pkg\_prerm} must be run with full access to all files and directories below that specified by |
1480 |
+\t{pkg_prerm} must be run with full access to all files and directories below that specified by |
1481 |
the \t{ROOT} environment variable. |
1482 |
|
1483 |
-\subsection{pkg\_postrm} |
1484 |
+\subsection{pkg_postrm} |
1485 |
|
1486 |
-The \t{pkg\_postrm} function performs any special tasks that are required immediately after |
1487 |
+The \t{pkg_postrm} function performs any special tasks that are required immediately after |
1488 |
unmerging the package from the live filesystem. It must not write outside of the directory specified |
1489 |
by the \t{ROOT} environment variable. |
1490 |
|
1491 |
-\t{pkg\_postrm} must be run with full access to all files and directories below that specified by |
1492 |
+\t{pkg_postrm} must be run with full access to all files and directories below that specified by |
1493 |
the \t{ROOT} environment variable. |
1494 |
|
1495 |
-\subsection{pkg\_config} |
1496 |
+\subsection{pkg_config} |
1497 |
|
1498 |
-The \t{pkg\_config} function performs any custom steps required to configure a package after it has been |
1499 |
+The \t{pkg_config} function performs any custom steps required to configure a package after it has been |
1500 |
fully installed. It is the only ebuild function which may be interactive and prompt for user input. |
1501 |
|
1502 |
-\t{pkg\_config} must be run with full access to all files and directories inside of \t{ROOT}. |
1503 |
+\t{pkg_config} must be run with full access to all files and directories inside of \t{ROOT}. |
1504 |
|
1505 |
-\subsection{pkg\_info} |
1506 |
+\subsection{pkg_info} |
1507 |
|
1508 |
-\featurelabel{pkg-info} The \t{pkg\_info} function may be called by the package manager when |
1509 |
+\featurelabel{pkg-info} The \t{pkg_info} function may be called by the package manager when |
1510 |
displaying information about an installed package. In EAPIs listed in table~\ref{tab:pkg-info-table} |
1511 |
-as supporting \t{pkg\_info} on non-installed packages, it may also be called by the package manager |
1512 |
+as supporting \t{pkg_info} on non-installed packages, it may also be called by the package manager |
1513 |
when displaying information about a non-installed package. In this case, ebuild authors should note |
1514 |
that dependencies may not be installed. |
1515 |
|
1516 |
-\t{pkg\_info} must not write to the filesystem. |
1517 |
+\t{pkg_info} must not write to the filesystem. |
1518 |
|
1519 |
\ChangeWhenAddingAnEAPI{6} |
1520 |
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} |
1521 |
+\begin{centertable}{EAPIs supporting \t{pkg_info} on non-installed packages} |
1522 |
\label{tab:pkg-info-table} |
1523 |
\begin{tabular}{ll} |
1524 |
\toprule |
1525 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1526 |
- \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\ |
1527 |
+ \multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed packages?}} \\ |
1528 |
\midrule |
1529 |
0, 1, 2, 3 & No \\ |
1530 |
4, 5, 6 & Yes \\ |
1531 |
@@ -439,36 +439,36 @@ that dependencies may not be installed. |
1532 |
\end{tabular} |
1533 |
\end{centertable} |
1534 |
|
1535 |
-\subsection{pkg\_nofetch} |
1536 |
+\subsection{pkg_nofetch} |
1537 |
|
1538 |
-The \t{pkg\_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and |
1539 |
+The \t{pkg_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and |
1540 |
the relevant source files are not available. It should direct the user to download all relevant |
1541 |
source files from their respective locations, with notes concerning licensing if applicable. |
1542 |
|
1543 |
-\t{pkg\_nofetch} must require no write access to any part of the filesystem. |
1544 |
+\t{pkg_nofetch} must require no write access to any part of the filesystem. |
1545 |
|
1546 |
\subsection{Default phase functions} |
1547 |
\label{sec:default-phase-funcs} |
1548 |
|
1549 |
\featurelabel{default-phase-funcs} In EAPIs listed in |
1550 |
-table~\ref{tab:default-phase-function-table} as supporting \t{default\_} phase functions, a function |
1551 |
-named \t{default\_}(phase) that behaves as the default implementation for that EAPI shall be defined |
1552 |
+table~\ref{tab:default-phase-function-table} as supporting \t{default_} phase functions, a function |
1553 |
+named \t{default_}(phase) that behaves as the default implementation for that EAPI shall be defined |
1554 |
when executing any ebuild phase listed in the table. Ebuilds must not call these functions except |
1555 |
when in the phase in question. |
1556 |
|
1557 |
\ChangeWhenAddingAnEAPI{6} |
1558 |
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} |
1559 |
+\begin{centertable}{EAPIs supporting \t{default_} phase functions} |
1560 |
\label{tab:default-phase-function-table} |
1561 |
\begin{tabular}{l P{26em}} |
1562 |
\toprule |
1563 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1564 |
- \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\ |
1565 |
+ \multicolumn{1}{c}{\textbf{Supports \t{default_} functions in phases}} \\ |
1566 |
\midrule |
1567 |
0, 1 & None \\ |
1568 |
- 2, 3 & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
1569 |
- \t{src\_compile}, \t{src\_test} \\ |
1570 |
- 4, 5, 6 & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, |
1571 |
- \t{src\_compile}, \t{src\_install}, \t{src\_test} \\ |
1572 |
+ 2, 3 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
1573 |
+ \t{src_compile}, \t{src_test} \\ |
1574 |
+ 4, 5, 6 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, |
1575 |
+ \t{src_compile}, \t{src_install}, \t{src_test} \\ |
1576 |
\bottomrule |
1577 |
\end{tabular} |
1578 |
\end{centertable} |
1579 |
@@ -478,56 +478,56 @@ when in the phase in question. |
1580 |
The call order for installing a package is: |
1581 |
|
1582 |
\begin{compactitem} |
1583 |
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called |
1584 |
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called |
1585 |
outside of the normal call order process. |
1586 |
-\item \t{pkg\_setup} |
1587 |
-\item \t{src\_unpack} |
1588 |
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table}) |
1589 |
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table}) |
1590 |
-\item \t{src\_compile} |
1591 |
-\item \t{src\_test} (except if \t{RESTRICT=test} or disabled by user) |
1592 |
-\item \t{src\_install} |
1593 |
-\item \t{pkg\_preinst} |
1594 |
-\item \t{pkg\_postinst} |
1595 |
+\item \t{pkg_setup} |
1596 |
+\item \t{src_unpack} |
1597 |
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table}) |
1598 |
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table}) |
1599 |
+\item \t{src_compile} |
1600 |
+\item \t{src_test} (except if \t{RESTRICT=test} or disabled by user) |
1601 |
+\item \t{src_install} |
1602 |
+\item \t{pkg_preinst} |
1603 |
+\item \t{pkg_postinst} |
1604 |
\end{compactitem} |
1605 |
|
1606 |
The call order for uninstalling a package is: |
1607 |
|
1608 |
\begin{compactitem} |
1609 |
-\item \t{pkg\_prerm} |
1610 |
-\item \t{pkg\_postrm} |
1611 |
+\item \t{pkg_prerm} |
1612 |
+\item \t{pkg_postrm} |
1613 |
\end{compactitem} |
1614 |
|
1615 |
The call order for upgrading, downgrading or reinstalling a package is: |
1616 |
|
1617 |
\begin{compactitem} |
1618 |
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called |
1619 |
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called |
1620 |
outside of the normal call order process. |
1621 |
-\item \t{pkg\_setup} |
1622 |
-\item \t{src\_unpack} |
1623 |
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table}) |
1624 |
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table}) |
1625 |
-\item \t{src\_compile} |
1626 |
-\item \t{src\_test} (except if \t{RESTRICT=test}) |
1627 |
-\item \t{src\_install} |
1628 |
-\item \t{pkg\_preinst} |
1629 |
-\item \t{pkg\_prerm} for the package being replaced |
1630 |
-\item \t{pkg\_postrm} for the package being replaced |
1631 |
-\item \t{pkg\_postinst} |
1632 |
+\item \t{pkg_setup} |
1633 |
+\item \t{src_unpack} |
1634 |
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table}) |
1635 |
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table}) |
1636 |
+\item \t{src_compile} |
1637 |
+\item \t{src_test} (except if \t{RESTRICT=test}) |
1638 |
+\item \t{src_install} |
1639 |
+\item \t{pkg_preinst} |
1640 |
+\item \t{pkg_prerm} for the package being replaced |
1641 |
+\item \t{pkg_postrm} for the package being replaced |
1642 |
+\item \t{pkg_postinst} |
1643 |
\end{compactitem} |
1644 |
|
1645 |
Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can |
1646 |
-alternatively be called in the order \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, |
1647 |
-\t{pkg\_postrm}. This behaviour is deprecated. |
1648 |
+alternatively be called in the order \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, |
1649 |
+\t{pkg_postrm}. This behaviour is deprecated. |
1650 |
|
1651 |
-The \t{pkg\_config}, \t{pkg\_info} and \t{pkg\_nofetch} functions are not called in a normal |
1652 |
-sequence. The \t{pkg\_pretend} function is called some unspecified time before a (possibly |
1653 |
+The \t{pkg_config}, \t{pkg_info} and \t{pkg_nofetch} functions are not called in a normal |
1654 |
+sequence. The \t{pkg_pretend} function is called some unspecified time before a (possibly |
1655 |
hypothetical) normal sequence. |
1656 |
|
1657 |
For installing binary packages, the \t{src} phases are not called. |
1658 |
|
1659 |
-When building binary packages that are not to be installed locally, the \t{pkg\_preinst} |
1660 |
-and \t{pkg\_postinst} functions are not called. |
1661 |
+When building binary packages that are not to be installed locally, the \t{pkg_preinst} |
1662 |
+and \t{pkg_postinst} functions are not called. |
1663 |
|
1664 |
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : |
1665 |
|
1666 |
diff --git a/ebuild-vars.tex b/ebuild-vars.tex |
1667 |
index 9a9502e..b910f25 100644 |
1668 |
--- a/ebuild-vars.tex |
1669 |
+++ b/ebuild-vars.tex |
1670 |
@@ -47,7 +47,7 @@ Ebuilds may define any of the following variables: |
1671 |
\item[EAPI] The EAPI\@. See below. |
1672 |
\item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols. |
1673 |
See section~\ref{sec:dependencies} for full syntax. |
1674 |
-\item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://}, |
1675 |
+\item[SRC_URI] A list of source URIs for the package. Valid protocols are \t{http://}, |
1676 |
\t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror |
1677 |
behaviour). Fetch restricted packages may include URL parts consisting of just a filename. |
1678 |
See section~\ref{sec:dependencies} for full syntax. |
1679 |
@@ -67,10 +67,10 @@ Ebuilds may define any of the following variables: |
1680 |
\t{IUSE} defaults, any use flag name in \t{IUSE} may be prefixed by at most one of a plus or a |
1681 |
minus sign. If such a prefix is present, the package manager may use it as a suggestion as to |
1682 |
the default value of the use flag if no other configuration overrides it. |
1683 |
-\item[REQUIRED\_USE] \featurelabel{required-use} Zero or more assertions that must be met by the |
1684 |
+\item[REQUIRED_USE] \featurelabel{required-use} Zero or more assertions that must be met by the |
1685 |
configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use} |
1686 |
for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in |
1687 |
- table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED\_USE}. |
1688 |
+ table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED_USE}. |
1689 |
\item[PROPERTIES] \featurelabel{properties} Zero or more properties for this package. |
1690 |
See section~\ref{sec:properties} for value meanings and section~\ref{sec:dependencies} for full |
1691 |
syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support, |
1692 |
@@ -106,7 +106,7 @@ Ebuilds may define any of the following variables: |
1693 |
\toprule |
1694 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1695 |
\multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} & |
1696 |
- \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\ |
1697 |
+ \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\ |
1698 |
\midrule |
1699 |
0, 1, 2, 3 & Optionally & No \\ |
1700 |
4, 5, 6 & Yes & Yes \\ |
1701 |
@@ -208,11 +208,11 @@ The following are special variables defined by the package manager for internal |
1702 |
not be exported to the ebuild environment: |
1703 |
|
1704 |
\begin{description} |
1705 |
-\item[DEFINED\_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list of |
1706 |
+\item[DEFINED_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list of |
1707 |
phase names (e.\,g.\ \t{configure setup unpack}) whose phase functions are defined by the ebuild or |
1708 |
an eclass inherited by the ebuild. If no phase functions are defined, a single hyphen is used |
1709 |
instead of an empty string. For EAPIs listed in table~\ref{tab:defined-phases-table} as having |
1710 |
-optional \t{DEFINED\_PHASES} support, package managers may not rely upon the metadata cache having |
1711 |
+optional \t{DEFINED_PHASES} support, package managers may not rely upon the metadata cache having |
1712 |
this variable defined, and must treat an empty string as ``this information is not available''. |
1713 |
\end{description} |
1714 |
|
1715 |
@@ -220,12 +220,12 @@ this variable defined, and must treat an empty string as ``this information is n |
1716 |
based upon any variant condition. |
1717 |
|
1718 |
\ChangeWhenAddingAnEAPI{6} |
1719 |
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} |
1720 |
+\begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}} |
1721 |
\label{tab:defined-phases-table} |
1722 |
\begin{tabular}{ll} |
1723 |
\toprule |
1724 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1725 |
- \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\ |
1726 |
+ \multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\ |
1727 |
\midrule |
1728 |
0, 1, 2, 3 & Optionally \\ |
1729 |
4, 5, 6 & Yes \\ |
1730 |
diff --git a/eclasses.tex b/eclasses.tex |
1731 |
index 7569caf..49c6c4e 100644 |
1732 |
--- a/eclasses.tex |
1733 |
+++ b/eclasses.tex |
1734 |
@@ -9,7 +9,7 @@ hold. |
1735 |
|
1736 |
Eclasses must be located in the \t{eclass} directory in the top level of the repository---see |
1737 |
section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>} is |
1738 |
-the name of this eclass, used by \t{inherit} and \t{EXPORT\_FUNCTIONS} among other places. |
1739 |
+the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places. |
1740 |
|
1741 |
\section{The inherit Command} |
1742 |
\label{sec:inherit} |
1743 |
@@ -34,22 +34,22 @@ The \t{inherit} command must also ensure that: |
1744 |
|
1745 |
\section{Eclass-defined Metadata Keys} |
1746 |
|
1747 |
-The \t{IUSE}, \t{REQUIRED\_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled |
1748 |
+The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled |
1749 |
specially when set by an eclass. They must be accumulated across eclasses, appending the value set |
1750 |
by each eclass to the resulting value after the previous one is loaded. Then the eclass-defined |
1751 |
value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after the |
1752 |
implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied. |
1753 |
|
1754 |
-\section{EXPORT\_FUNCTIONS} |
1755 |
+\section{EXPORT_FUNCTIONS} |
1756 |
|
1757 |
There is one command available in the eclass environment that is neither available nor meaningful |
1758 |
-in ebuilds---\t{EXPORT\_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the |
1759 |
+in ebuilds---\t{EXPORT_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the |
1760 |
eclass so that an ebuild inherits a default definition whilst retaining the ability to override and |
1761 |
call the eclass-defined version from it. The use of it is best illustrated by an example; this is |
1762 |
given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}. |
1763 |
|
1764 |
\begin{listing} |
1765 |
-\caption{\t{EXPORT\_FUNCTIONS} example: \t{foo.eclass}} \label{lst:export-functions} |
1766 |
+\caption{\t{EXPORT_FUNCTIONS} example: \t{foo.eclass}} \label{lst:export-functions} |
1767 |
\begin{verbatim} |
1768 |
foo_src_compile() |
1769 |
{ |
1770 |
@@ -63,13 +63,13 @@ EXPORT_FUNCTIONS src_compile |
1771 |
\end{verbatim} |
1772 |
\end{listing} |
1773 |
|
1774 |
-This example defines an eclass \t{src\_compile} function and uses \t{EXPORT\_FUNCTIONS} to alias |
1775 |
-it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src\_compile} defined, but |
1776 |
+This example defines an eclass \t{src_compile} function and uses \t{EXPORT_FUNCTIONS} to alias |
1777 |
+it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src_compile} defined, but |
1778 |
should the author wish to override it he can access the function in \t{foo.eclass} by calling |
1779 |
-\t{foo\_src\_compile}. |
1780 |
+\t{foo_src_compile}. |
1781 |
|
1782 |
-\t{EXPORT\_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased |
1783 |
-must be named \t{eclassname\_phasefunctionname}, where \t{eclassname} is the name of the eclass. |
1784 |
+\t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased |
1785 |
+must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the name of the eclass. |
1786 |
|
1787 |
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : |
1788 |
|
1789 |
diff --git a/merge.tex b/merge.tex |
1790 |
index 0077837..ee40947 100644 |
1791 |
--- a/merge.tex |
1792 |
+++ b/merge.tex |
1793 |
@@ -104,25 +104,25 @@ is undefined. |
1794 |
\label{sec:config-protect} |
1795 |
|
1796 |
The package manager must provide a means to prevent user configuration files from being |
1797 |
-overwritten by any package updates. The profile variables \t{CONFIG\_PROTECT} and |
1798 |
-\t{CONFIG\_PROTECT\_MASK} (section~\ref{sec:profile-variables}) control the paths for which this |
1799 |
+overwritten by any package updates. The profile variables \t{CONFIG_PROTECT} and |
1800 |
+\t{CONFIG_PROTECT_MASK} (section~\ref{sec:profile-variables}) control the paths for which this |
1801 |
must be enforced. |
1802 |
|
1803 |
In order to ensure interoperability with configuration update tools, the following scheme must be |
1804 |
used by all package managers when merging any regular file: |
1805 |
|
1806 |
\begin{compactenum} |
1807 |
-\item If the directory containing the file to be merged is not listed in \t{CONFIG\_PROTECT}, and |
1808 |
- is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG\_PROTECT}, |
1809 |
+\item If the directory containing the file to be merged is not listed in \t{CONFIG_PROTECT}, and |
1810 |
+ is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG_PROTECT}, |
1811 |
the file is merged normally. |
1812 |
-\item If the directory containing the file to be merged is listed in \t{CONFIG\_PROTECT\_MASK}, or |
1813 |
- is a subdirectory of such a directory, or if the file is listed in \t{CONFIG\_PROTECT\_MASK}, |
1814 |
+\item If the directory containing the file to be merged is listed in \t{CONFIG_PROTECT_MASK}, or |
1815 |
+ is a subdirectory of such a directory, or if the file is listed in \t{CONFIG_PROTECT_MASK}, |
1816 |
the file is merged normally. |
1817 |
\item If no existing file with the intended filename exists, or the existing file has identical |
1818 |
content to the one being merged, the file is installed normally. |
1819 |
-\item Otherwise, prepend the filename with \t{.\_cfg0000\_}. If no file with the new name exists, |
1820 |
+\item Otherwise, prepend the filename with \t{._cfg0000_}. If no file with the new name exists, |
1821 |
then the file is merged with this name. |
1822 |
-\item Otherwise, increment the number portion (to form \t{.\_cfg0001\_<name>}) and repeat step 4. |
1823 |
+\item Otherwise, increment the number portion (to form \t{._cfg0001_<name>}) and repeat step 4. |
1824 |
Continue this process until a usable filename is found. |
1825 |
\item If 9999 is reached in this way, behaviour is undefined. |
1826 |
\end{compactenum} |
1827 |
diff --git a/metadata-cache.tex b/metadata-cache.tex |
1828 |
index ed58317..80018e4 100644 |
1829 |
--- a/metadata-cache.tex |
1830 |
+++ b/metadata-cache.tex |
1831 |
@@ -18,7 +18,7 @@ order. Other lines may be present following these; their meanings are not define |
1832 |
\item Build-time dependencies (\t{DEPEND}) |
1833 |
\item Run-time dependencies (\t{RDEPEND}) |
1834 |
\item Slot (\t{SLOT}) |
1835 |
-\item Source tarball URIs (\t{SRC\_URI}) |
1836 |
+\item Source tarball URIs (\t{SRC_URI}) |
1837 |
\item \t{RESTRICT} |
1838 |
\item Package homepage (\t{HOMEPAGE}) |
1839 |
\item Package license (\t{LICENSE}) |
1840 |
@@ -26,14 +26,14 @@ order. Other lines may be present following these; their meanings are not define |
1841 |
\item Package keywords (\t{KEYWORDS}) |
1842 |
\item Inherited eclasses (\t{INHERITED}) |
1843 |
\item Use flags that this package respects (\t{IUSE}) |
1844 |
-\item Use flags that this package requires (\t{REQUIRED\_USE}). |
1845 |
+\item Use flags that this package requires (\t{REQUIRED_USE}). |
1846 |
Blank in some EAPIs; see table~\ref{tab:optional-vars-table}. |
1847 |
\item Post dependencies (\t{PDEPEND}) |
1848 |
\item Unused; previously used for old-style virtual \t{PROVIDE}. |
1849 |
\item The ebuild API version to which this package conforms (\t{EAPI}) |
1850 |
\item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blank, regardless of ebuild |
1851 |
metadata; see table~\ref{tab:optional-vars-table}. |
1852 |
-\item Defined phases (\t{DEFINED\_PHASES}). In some EAPIs, may optionally be blank, regardless of |
1853 |
+\item Defined phases (\t{DEFINED_PHASES}). In some EAPIs, may optionally be blank, regardless of |
1854 |
ebuild metadata; see table~\ref{tab:defined-phases-table}. |
1855 |
\item Blank lines to pad the file to 22 lines long |
1856 |
\end{compactenum} |
1857 |
diff --git a/names.tex b/names.tex |
1858 |
index a348c0f..6767c55 100644 |
1859 |
--- a/names.tex |
1860 |
+++ b/names.tex |
1861 |
@@ -6,14 +6,14 @@ No name may be empty. Package managers must not impose fixed upper boundaries up |
1862 |
name. A package manager should indicate or reject any name that is invalid according to these rules. |
1863 |
|
1864 |
\subsection{Category names} |
1865 |
-A category name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with |
1866 |
+A category name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with |
1867 |
a hyphen, a dot or a plus sign. |
1868 |
|
1869 |
\note A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category |
1870 |
names will contain a hyphen. |
1871 |
|
1872 |
\subsection{Package names} |
1873 |
-A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a |
1874 |
+A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not begin with a |
1875 |
hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version |
1876 |
syntax described in section~\ref{sec:version-spec}. |
1877 |
|
1878 |
@@ -22,35 +22,35 @@ where a \t{category/package} pair is meant. |
1879 |
|
1880 |
\subsection{Slot names} |
1881 |
\label{sec:slot-names} |
1882 |
-A slot name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a |
1883 |
+A slot name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a |
1884 |
hyphen, a dot or a plus sign. |
1885 |
|
1886 |
\subsection{USE flag names} |
1887 |
-A USE flag name may contain any of the characters [\t{A-Za-z0-9+\_@-}]. It must begin with an |
1888 |
-alphanumeric character. Underscores should be considered reserved for \t{USE\_EXPAND}, as |
1889 |
+A USE flag name may contain any of the characters [\t{A-Za-z0-9+_@-}]. It must begin with an |
1890 |
+alphanumeric character. Underscores should be considered reserved for \t{USE_EXPAND}, as |
1891 |
described in section~\ref{sec:use-iuse-handling}. |
1892 |
|
1893 |
\note The at-sign is required for \t{LINGUAS}. |
1894 |
|
1895 |
\subsection{Repository names} |
1896 |
\label{sec:repository-names} |
1897 |
-A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a |
1898 |
+A repository name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a |
1899 |
hyphen. In addition, every repository name must also be a valid package name. |
1900 |
|
1901 |
\subsection{License names} |
1902 |
\label{sec:license-names} |
1903 |
-A license name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a |
1904 |
+A license name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a |
1905 |
hyphen, a dot or a plus sign. |
1906 |
|
1907 |
\subsection{Keyword names} |
1908 |
\label{sec:keyword-names} |
1909 |
-A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a |
1910 |
+A keyword name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a |
1911 |
hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by |
1912 |
a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword. |
1913 |
|
1914 |
\subsection{EAPI names} |
1915 |
\label{sec:eapi-names} |
1916 |
-An EAPI name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a |
1917 |
+An EAPI name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a |
1918 |
hyphen, a dot or a plus sign. |
1919 |
|
1920 |
\section{Version Specifications} |
1921 |
@@ -63,8 +63,8 @@ A version starts with the number part, which is in the form \t{[0-9]+(\textbacks |
1922 |
|
1923 |
This may optionally be followed by one of \t{[a-z]} (a lowercase letter). |
1924 |
|
1925 |
-This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre}, |
1926 |
-\t{\_rc} or \t{\_p}, which themselves may be followed by an optional integer. Suffix and integer |
1927 |
+This may be followed by zero or more of the suffixes \t{_alpha}, \t{_beta}, \t{_pre}, |
1928 |
+\t{_rc} or \t{_p}, which themselves may be followed by an optional integer. Suffix and integer |
1929 |
count as separate version components. |
1930 |
|
1931 |
This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the |
1932 |
@@ -159,13 +159,13 @@ from which it was invoked. |
1933 |
\STATE compare $As_i$ and $Bs_i$ using Algorithm~\ref{alg:version-comparison-suffix-each} |
1934 |
\ENDFOR |
1935 |
\IF{$Asn>Bsn$} |
1936 |
- \IF{$As_{Bsn}$ is of type \t{\_p}} |
1937 |
+ \IF{$As_{Bsn}$ is of type \t{_p}} |
1938 |
\RETURN $A>B$ |
1939 |
\ELSE |
1940 |
\RETURN $A<B$ |
1941 |
\ENDIF |
1942 |
\ELSIF{$Asn<Bsn$} |
1943 |
- \IF{$Bs_{Asn}$ is of type \t{\_p}} |
1944 |
+ \IF{$Bs_{Asn}$ is of type \t{_p}} |
1945 |
\RETURN $A<B$ |
1946 |
\ELSE |
1947 |
\RETURN $A>B$ |
1948 |
@@ -177,7 +177,7 @@ from which it was invoked. |
1949 |
\begin{algorithm}[p] |
1950 |
\caption{Version comparison logic for each suffix} \label{alg:version-comparison-suffix-each} |
1951 |
\begin{algorithmic}[1] |
1952 |
- \IF{$As_i$ and $Bs_i$ are of the same type (\t{\_alpha} vs \t{\_beta} etc)} |
1953 |
+ \IF{$As_i$ and $Bs_i$ are of the same type (\t{_alpha} vs \t{_beta} etc)} |
1954 |
\STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \t{0} |
1955 |
\STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \t{0} |
1956 |
\IF{$As'_i>Bs'_i$, using integer comparison} |
1957 |
@@ -186,7 +186,7 @@ from which it was invoked. |
1958 |
\RETURN $A<B$ |
1959 |
\ENDIF |
1960 |
\ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering |
1961 |
- $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$} |
1962 |
+ $\mbox{\t{_alpha}}<\mbox{\t{_beta}}<\mbox{\t{_pre}}<\mbox{\t{_rc}}<\mbox{\t{_p}}$} |
1963 |
\RETURN $A>B$ |
1964 |
\ELSE |
1965 |
\RETURN $A<B$ |
1966 |
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex |
1967 |
index 74197aa..0ee46e0 100644 |
1968 |
--- a/pkg-mgr-commands.tex |
1969 |
+++ b/pkg-mgr-commands.tex |
1970 |
@@ -85,20 +85,20 @@ these commands once the current phase function has returned. |
1971 |
supporting option \t{-{}-host-root}, this flag as the first argument will cause the query to apply |
1972 |
to the host root instead of \t{ROOT}. |
1973 |
\begin{description} |
1974 |
-\item[has\_version] Takes exactly one package dependency specification as an argument. Returns |
1975 |
+\item[has_version] Takes exactly one package dependency specification as an argument. Returns |
1976 |
true if a package matching the specification is installed in \t{ROOT}, and false otherwise. |
1977 |
-\item[best\_version] Takes exactly one package dependency specification as an argument. If a |
1978 |
+\item[best_version] Takes exactly one package dependency specification as an argument. If a |
1979 |
matching package is installed, prints the category, package name and version of the highest |
1980 |
matching version; otherwise, prints an empty string. The exit code is unspecified. |
1981 |
\end{description} |
1982 |
|
1983 |
\ChangeWhenAddingAnEAPI{6} |
1984 |
-\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands} |
1985 |
+\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*_version} commands} |
1986 |
\label{tab:foo-version-host-root-table} |
1987 |
\begin{tabular}{ll} |
1988 |
\toprule |
1989 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
1990 |
- \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\ |
1991 |
+ \multicolumn{1}{c}{\textbf{\t{*_version} supports \t{-{}-host-root}?}} \\ |
1992 |
\midrule |
1993 |
0, 1, 2, 3, 4 & No \\ |
1994 |
5, 6 & Yes \\ |
1995 |
@@ -158,7 +158,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu |
1996 |
\end{centertable} |
1997 |
|
1998 |
\subsubsection{Patch commands} |
1999 |
-These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources. |
2000 |
+These commands are used during the \t{src_prepare} phase to apply patches to the package's sources. |
2001 |
Ebuilds must not run any of these commands once the current phase function has returned. |
2002 |
|
2003 |
\begin{description} |
2004 |
@@ -205,14 +205,14 @@ Ebuilds must not run any of these commands once the current phase function has r |
2005 |
\end{algorithmic} |
2006 |
\end{algorithm} |
2007 |
|
2008 |
-\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it |
2009 |
+\item[eapply_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it |
2010 |
apply user-provided patches to the source tree in the current working directory. Exact behaviour |
2011 |
is implementation defined and beyond the scope of this specification. Package managers not |
2012 |
supporting it must implement the command as a no-op. Returns shell true (0) if patches applied |
2013 |
successfully, or if no patches were provided. Otherwise, aborts the build process, unless run |
2014 |
using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs |
2015 |
- listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is |
2016 |
- supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any |
2017 |
+ listed in table~\ref{tab:patch-commands} as supporting \t{eapply_user}. In EAPIs where it is |
2018 |
+ supported, \t{eapply_user} must be called once in the \t{src_prepare} phase. For any |
2019 |
subsequent calls, the command will do nothing and return~0. |
2020 |
\end{description} |
2021 |
|
2022 |
@@ -223,7 +223,7 @@ Ebuilds must not run any of these commands once the current phase function has r |
2023 |
\toprule |
2024 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
2025 |
\multicolumn{1}{c}{\textbf{\t{eapply}?}} & |
2026 |
- \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\ |
2027 |
+ \multicolumn{1}{c}{\textbf{\t{eapply_user}?}} \\ |
2028 |
\midrule |
2029 |
0, 1, 2, 3, 4, 5 & No & No \\ |
2030 |
6 & Yes & Yes \\ |
2031 |
@@ -232,7 +232,7 @@ Ebuilds must not run any of these commands once the current phase function has r |
2032 |
\end{centertable} |
2033 |
|
2034 |
\subsubsection{Build commands} |
2035 |
-These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install} |
2036 |
+These commands are used during the \t{src_configure}, \t{src_compile}, and \t{src_install} |
2037 |
phases to run the package's build commands. Ebuilds must not run any of these commands once the |
2038 |
current phase function has returned. |
2039 |
|
2040 |
@@ -240,7 +240,7 @@ current phase function has returned. |
2041 |
\item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU |
2042 |
Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly |
2043 |
to \t{./configure}, after the default options below. \t{econf} will look in the current working |
2044 |
- directory for a configure script unless the \t{ECONF\_SOURCE} environment variable is set, |
2045 |
+ directory for a configure script unless the \t{ECONF_SOURCE} environment variable is set, |
2046 |
in which case it is taken to be the directory containing it. |
2047 |
|
2048 |
\featurelabel{econf-options} \t{econf} must pass the following options to the configure script: |
2049 |
@@ -305,7 +305,7 @@ current phase function has returned. |
2050 |
\ENDIF |
2051 |
\STATE let libdir= |
2052 |
\IF{the ABI environment variable is set} |
2053 |
- \STATE let libvar=LIBDIR\_\$ABI |
2054 |
+ \STATE let libvar=LIBDIR_\$ABI |
2055 |
\IF{the environment variable named by libvar is set} |
2056 |
\STATE let libdir=the value of the variable named by libvar |
2057 |
\ENDIF |
2058 |
@@ -464,22 +464,22 @@ can be extended or reduced (see below). The options that can be passed to \t{doh |
2059 |
\begin{algorithm} |
2060 |
\caption{Determining the library directory} \label{alg:ebuild-libdir} |
2061 |
\begin{algorithmic}[1] |
2062 |
-\IF{CONF\_LIBDIR\_OVERRIDE is set in the environment} |
2063 |
- \STATE return CONF\_LIBDIR\_OVERRIDE |
2064 |
+\IF{CONF_LIBDIR_OVERRIDE is set in the environment} |
2065 |
+ \STATE return CONF_LIBDIR_OVERRIDE |
2066 |
\ENDIF |
2067 |
-\IF{CONF\_LIBDIR is set in the environment} |
2068 |
- \STATE let LIBDIR\_default=CONF\_LIBDIR |
2069 |
+\IF{CONF_LIBDIR is set in the environment} |
2070 |
+ \STATE let LIBDIR_default=CONF_LIBDIR |
2071 |
\ELSE |
2072 |
- \STATE let LIBDIR\_default=``lib'' |
2073 |
+ \STATE let LIBDIR_default=``lib'' |
2074 |
\ENDIF |
2075 |
\IF{ABI is set in the environment} |
2076 |
\STATE let abi=ABI |
2077 |
-\ELSIF{DEFAULT\_ABI is set in the environment} |
2078 |
- \STATE let abi=DEFAULT\_ABI |
2079 |
+\ELSIF{DEFAULT_ABI is set in the environment} |
2080 |
+ \STATE let abi=DEFAULT_ABI |
2081 |
\ELSE |
2082 |
\STATE let abi=``default'' |
2083 |
\ENDIF |
2084 |
-\STATE return the value of LIBDIR\_\$abi |
2085 |
+\STATE return the value of LIBDIR_\$abi |
2086 |
\end{algorithmic} |
2087 |
\end{algorithm} |
2088 |
|
2089 |
@@ -501,7 +501,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh |
2090 |
|
2091 |
\item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate |
2092 |
subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the |
2093 |
- file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}\@. The name of the installed |
2094 |
+ file, removing the \t{.*} suffix, and appending \t{/LC_MESSAGES}\@. The name of the installed |
2095 |
files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per |
2096 |
section~\ref{sec:failure-behaviour}. |
2097 |
|
2098 |
@@ -671,7 +671,7 @@ shall maintain two lists: |
2099 |
\item An exclusion list, which initially contains \t{/usr/share/doc/\$\{PF\}/html}. |
2100 |
\end{compactitem} |
2101 |
|
2102 |
-The optional compression shall be carried out after \t{src\_install} has completed, and before the |
2103 |
+The optional compression shall be carried out after \t{src_install} has completed, and before the |
2104 |
execution of any subsequent phase function. For each item in the inclusion list, pretend it has the |
2105 |
value of the \t{ED} variable prepended, then: |
2106 |
|
2107 |
@@ -696,7 +696,7 @@ The package manager shall take appropriate steps to ensure that its compression |
2108 |
sensibly even if an item is listed in the inclusion list multiple times, if an item is a symlink, |
2109 |
or if a file is already compressed. |
2110 |
|
2111 |
-The following commands may be used in \t{src\_install} to alter these lists. It is an error to call |
2112 |
+The following commands may be used in \t{src_install} to alter these lists. It is an error to call |
2113 |
any of these functions from any other phase. |
2114 |
|
2115 |
\begin{description} |
2116 |
@@ -726,7 +726,7 @@ these commands once the current phase function has returned. It is an error if a |
2117 |
of these functions in global scope. |
2118 |
|
2119 |
Unless otherwise noted, if any of these functions is called with a flag value that is not included |
2120 |
-in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by |
2121 |
+in \t{IUSE_EFFECTIVE}, either behaviour is undefined or it is an error as decided by |
2122 |
table~\ref{tab:use-list-strictness}. |
2123 |
|
2124 |
\begin{description} |
2125 |
@@ -736,7 +736,7 @@ table~\ref{tab:use-list-strictness}. |
2126 |
\item[usev] The same as \t{use}, but also prints the flag name if the condition |
2127 |
is met. |
2128 |
\item[useq] Deprecated synonym for \t{use}. |
2129 |
-\item[use\_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first |
2130 |
+\item[use_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first |
2131 |
argument is a USE flag name, the second a \t{configure} option name (\t{\$\{opt\}}), defaulting |
2132 |
to the same as the first argument if not provided, and the third is a string value |
2133 |
(\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-with-third-arg} as not supporting it, |
2134 |
@@ -744,7 +744,7 @@ table~\ref{tab:use-list-strictness}. |
2135 |
\t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and |
2136 |
\t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs |
2137 |
\t{-{}-without-\$\{opt\}}. |
2138 |
-\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or |
2139 |
+\item[use_enable] Works the same as \t{use_with()}, but outputs \t{-{}-enable-} or |
2140 |
\t{-{}-disable-} instead of \t{-{}-with-} or \t{-{}-without-}. |
2141 |
\item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument |
2142 |
is a USE flag name, any subsequent arguments (\t{\$\{arg2\}} to \t{\$\{arg5\}}) are string |
2143 |
@@ -753,13 +753,13 @@ table~\ref{tab:use-list-strictness}. |
2144 |
set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}. |
2145 |
The condition is inverted if the flag name is prefixed with~\t{!}. |
2146 |
Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}. |
2147 |
-\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag |
2148 |
- name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in |
2149 |
- table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}. |
2150 |
+\item[in_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag |
2151 |
+ name) is included in \t{IUSE_EFFECTIVE}, false otherwise. Only available in EAPIs listed in |
2152 |
+ table~\ref{tab:use-list-functions} as supporting \t{in_iuse}. |
2153 |
\end{description} |
2154 |
|
2155 |
\ChangeWhenAddingAnEAPI{6} |
2156 |
-\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE\_EFFECTIVE}} |
2157 |
+\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE_EFFECTIVE}} |
2158 |
\label{tab:use-list-strictness} |
2159 |
\begin{tabular}{ll} |
2160 |
\toprule |
2161 |
@@ -773,7 +773,7 @@ table~\ref{tab:use-list-strictness}. |
2162 |
\end{centertable} |
2163 |
|
2164 |
\ChangeWhenAddingAnEAPI{6} |
2165 |
-\begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}} |
2166 |
+\begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and \t{use_enable}} |
2167 |
\label{tab:use-with-third-arg} |
2168 |
\begin{tabular}{ll} |
2169 |
\toprule |
2170 |
@@ -787,13 +787,13 @@ table~\ref{tab:use-list-strictness}. |
2171 |
\end{centertable} |
2172 |
|
2173 |
\ChangeWhenAddingAnEAPI{6} |
2174 |
-\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}} |
2175 |
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in_iuse}} |
2176 |
\label{tab:use-list-functions} |
2177 |
\begin{tabular}{lll} |
2178 |
\toprule |
2179 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
2180 |
\multicolumn{1}{c}{\textbf{\t{usex}?}} & |
2181 |
- \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\ |
2182 |
+ \multicolumn{1}{c}{\textbf{\t{in_iuse}?}} \\ |
2183 |
\midrule |
2184 |
0, 1, 2, 3, 4 & No & No \\ |
2185 |
5 & Yes & No \\ |
2186 |
@@ -913,13 +913,13 @@ has returned. |
2187 |
\item[inherit] See section~\ref{sec:inherit}. |
2188 |
|
2189 |
\item[default] |
2190 |
- \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see |
2191 |
- section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does |
2192 |
+ \featurelabel{default-func} Calls the \t{default_} function for the current phase (see |
2193 |
+ section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default_} function does |
2194 |
not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in |
2195 |
table~\ref{tab:misc-commands} as supporting \t{default}. |
2196 |
|
2197 |
\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified |
2198 |
- by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to |
2199 |
+ by the \t{DOCS} and \t{HTML_DOCS} variables or a default set of files, according to |
2200 |
Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands |
2201 |
returns a non-zero exit status, returns immediately with the same exit status. Only available |
2202 |
in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}. |
2203 |
@@ -942,26 +942,26 @@ has returned. |
2204 |
\ENDFOR |
2205 |
\ENDIF |
2206 |
\STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}/html} |
2207 |
-\IF{the HTML\_DOCS variable is a non-empty array} |
2208 |
- \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"} |
2209 |
-\ELSIF{the HTML\_DOCS variable is a non-empty scalar} |
2210 |
- \STATE call \t{dodoc -r \$\{HTML\_DOCS\}} |
2211 |
+\IF{the HTML_DOCS variable is a non-empty array} |
2212 |
+ \STATE call \t{dodoc -r "\$\{HTML_DOCS[@]\}"} |
2213 |
+\ELSIF{the HTML_DOCS variable is a non-empty scalar} |
2214 |
+ \STATE call \t{dodoc -r \$\{HTML_DOCS\}} |
2215 |
\ENDIF |
2216 |
\STATE restore the value of the install directory for \t{dodoc} |
2217 |
\RETURN shell true (0) |
2218 |
\end{algorithmic} |
2219 |
\end{algorithm} |
2220 |
|
2221 |
-\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to |
2222 |
+\item[get_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to |
2223 |
Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands} |
2224 |
- as supporting \t{get\_libdir}. |
2225 |
+ as supporting \t{get_libdir}. |
2226 |
|
2227 |
\begin{algorithm} |
2228 |
-\caption{\t{get\_libdir} logic} \label{alg:get-libdir} |
2229 |
+\caption{\t{get_libdir} logic} \label{alg:get-libdir} |
2230 |
\begin{algorithmic}[1] |
2231 |
\STATE let libdir=lib |
2232 |
\IF{the ABI environment variable is set} |
2233 |
- \STATE let libvar=LIBDIR\_\$ABI |
2234 |
+ \STATE let libvar=LIBDIR_\$ABI |
2235 |
\IF{the environment variable named by libvar is set} |
2236 |
\STATE let libdir=the value of the variable named by libvar |
2237 |
\ENDIF |
2238 |
@@ -980,7 +980,7 @@ has returned. |
2239 |
\multicolumn{1}{c}{\textbf{EAPI}} & |
2240 |
\multicolumn{1}{c}{\textbf{\t{default}?}} & |
2241 |
\multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} & |
2242 |
- \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\ |
2243 |
+ \multicolumn{1}{c}{\textbf{\t{get_libdir}?}} \\ |
2244 |
\midrule |
2245 |
0, 1 & No & No & No \\ |
2246 |
2, 3, 4, 5 & Yes & No & No \\ |
2247 |
@@ -1009,7 +1009,7 @@ strings (ignoring case) are reserved for package manager use and may not be used |
2248 |
ebuilds: |
2249 |
|
2250 |
\begin{compactitem} |
2251 |
-\item \t{\_\_} (two underscores) at beginning of string |
2252 |
+\item \t{__} (two underscores) at beginning of string |
2253 |
\item \t{abort} |
2254 |
\item \t{dyn} |
2255 |
\item \t{ebuild} |
2256 |
diff --git a/profile-variables.tex b/profile-variables.tex |
2257 |
index 5fd2d8b..2c199aa 100644 |
2258 |
--- a/profile-variables.tex |
2259 |
+++ b/profile-variables.tex |
2260 |
@@ -14,19 +14,19 @@ arbitrary, not necessarily related to the order of tokens in any given profile. |
2261 |
variables must be treated in this fashion: |
2262 |
\begin{compactitem} |
2263 |
\item \t{USE} |
2264 |
-\item \t{USE\_EXPAND} |
2265 |
-\item \t{USE\_EXPAND\_HIDDEN} |
2266 |
-\item \t{CONFIG\_PROTECT} |
2267 |
-\item \t{CONFIG\_PROTECT\_MASK} |
2268 |
+\item \t{USE_EXPAND} |
2269 |
+\item \t{USE_EXPAND_HIDDEN} |
2270 |
+\item \t{CONFIG_PROTECT} |
2271 |
+\item \t{CONFIG_PROTECT_MASK} |
2272 |
\end{compactitem} |
2273 |
|
2274 |
If the package manager supports any EAPI listed in table~\ref{tab:profile-iuse-injection-table} as |
2275 |
using profile-defined \t{IUSE} injection, the following variables must also be treated |
2276 |
incrementally; otherwise, the following variables may or may not be treated incrementally: |
2277 |
\begin{compactitem} |
2278 |
-\item \t{IUSE\_IMPLICIT} |
2279 |
-\item \t{USE\_EXPAND\_IMPLICIT} |
2280 |
-\item \t{USE\_EXPAND\_UNPREFIXED} |
2281 |
+\item \t{IUSE_IMPLICIT} |
2282 |
+\item \t{USE_EXPAND_IMPLICIT} |
2283 |
+\item \t{USE_EXPAND_UNPREFIXED} |
2284 |
\end{compactitem} |
2285 |
|
2286 |
Other variables, except where they affect only package-manager-specific functionality (such as |
2287 |
@@ -53,26 +53,26 @@ The following variables have specific meanings when set in profiles. |
2288 |
\item[ARCH] The system's architecture. Must be a value listed in \t{profiles/arch.list}; see |
2289 |
section~\ref{arch.list} for more information. Must be equal to the primary \t{KEYWORD} for this |
2290 |
profile. |
2291 |
-\item[CONFIG\_PROTECT, CONFIG\_PROTECT\_MASK] Contain whitespace-delimited lists used to control the |
2292 |
+\item[CONFIG_PROTECT, CONFIG_PROTECT_MASK] Contain whitespace-delimited lists used to control the |
2293 |
configuration file protection. Described more fully in chapter~\ref{sec:config-protect}. |
2294 |
\item[USE] Defines the list of default USE flags for this profile. Flags may be added or removed by |
2295 |
- the user's configuration. \t{USE\_EXPAND} values must not be specified in this way. |
2296 |
-\item[USE\_EXPAND] Defines a list of variables which are to be treated incrementally and whose |
2297 |
+ the user's configuration. \t{USE_EXPAND} values must not be specified in this way. |
2298 |
+\item[USE_EXPAND] Defines a list of variables which are to be treated incrementally and whose |
2299 |
contents are to be expanded into the USE variable as passed to ebuilds. See |
2300 |
section~\ref{sec:use-iuse-handling} for details. |
2301 |
-\item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository |
2302 |
+\item[USE_EXPAND_UNPREFIXED] Similar to \t{USE_EXPAND}, but no prefix is used. If the repository |
2303 |
contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see |
2304 |
table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}\@. |
2305 |
See section~\ref{sec:use-iuse-handling} for details. |
2306 |
-\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and |
2307 |
- \t{USE\_EXPAND\_UNPREFIXED}\@. The package manager may use this set as a hint to avoid |
2308 |
+\item[USE_EXPAND_HIDDEN] Contains a (possibly empty) subset of names from \t{USE_EXPAND} and |
2309 |
+ \t{USE_EXPAND_UNPREFIXED}\@. The package manager may use this set as a hint to avoid |
2310 |
displaying uninteresting or unhelpful information to an end user. |
2311 |
-\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See |
2312 |
+\item[USE_EXPAND_IMPLICIT, IUSE_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See |
2313 |
section~\ref{sec:use-iuse-handling} for details. |
2314 |
\end{description} |
2315 |
|
2316 |
In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile |
2317 |
-defined \t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED} |
2318 |
+defined \t{IUSE} injection, the variables named in \t{USE_EXPAND} and \t{USE_EXPAND_UNPREFIXED} |
2319 |
have special handling as described in section~\ref{sec:use-iuse-handling}. |
2320 |
|
2321 |
Any other variables set in \t{make.defaults} must be passed on into the ebuild environment as-is, |
2322 |
diff --git a/profiles.tex b/profiles.tex |
2323 |
index 2d0656d..1641428 100644 |
2324 |
--- a/profiles.tex |
2325 |
+++ b/profiles.tex |
2326 |
@@ -51,7 +51,7 @@ variable is combined or overridden individually as described in section~\ref{sec |
2327 |
|
2328 |
The file itself is a line-based key-value format. Each line contains a single \verb|VAR="value"| |
2329 |
entry, where the value must be double quoted. A variable name must start with one of \t{a-zA-Z} |
2330 |
-and may contain \t{a-zA-Z0-9\_} only. Additional syntax, which is a small subset of |
2331 |
+and may contain \t{a-zA-Z0-9_} only. Additional syntax, which is a small subset of |
2332 |
bash syntax, is allowed as follows: |
2333 |
|
2334 |
\begin{compactitem} |
2335 |
@@ -186,7 +186,7 @@ The logic for \t{use.force}, \t{use.stable.force}, \t{package.use.force}, and |
2336 |
\t{package.use.\allowbreak stable.force} is identical. If a flag is both masked and forced, the |
2337 |
mask is considered to take precedence. |
2338 |
|
2339 |
-\t{USE\_EXPAND} values may be forced or masked by using \t{expand\_name\_value}. |
2340 |
+\t{USE_EXPAND} values may be forced or masked by using \t{expand_name_value}. |
2341 |
|
2342 |
A package manager may treat \t{ARCH} values that are not the current architecture as being masked. |
2343 |
|
2344 |
diff --git a/tree-layout.tex b/tree-layout.tex |
2345 |
index e215cf8..1c23357 100644 |
2346 |
--- a/tree-layout.tex |
2347 |
+++ b/tree-layout.tex |
2348 |
@@ -77,7 +77,7 @@ The profiles directory shall contain zero or more profile directories |
2349 |
as described in section~\ref{sec:profiles}, as well as the following files |
2350 |
and directories. In any line-based file, lines beginning with a \# |
2351 |
character are treated as comments, whilst blank lines are ignored. All |
2352 |
-contents of this directory, with the exception of \t{repo\_name}, are |
2353 |
+contents of this directory, with the exception of \t{repo_name}, are |
2354 |
optional. |
2355 |
|
2356 |
The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single |
2357 |
@@ -97,10 +97,10 @@ manager must ignore any files in this directory that it does not recognise. |
2358 |
\item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories |
2359 |
provided by this repository. |
2360 |
\item[eapi] See above. |
2361 |
-\item[info\_pkgs] Contains a list, one entry per line, of qualified package names. Any package |
2362 |
+\item[info_pkgs] Contains a list, one entry per line, of qualified package names. Any package |
2363 |
matching one of these is to be listed when a package manager displays a `system information' |
2364 |
listing. |
2365 |
-\item[info\_vars] Contains a list, one entry per line, of profile, configuration, and environment |
2366 |
+\item[info_vars] Contains a list, one entry per line, of profile, configuration, and environment |
2367 |
variables which are considered to be of interest. The value of each of these variables may be |
2368 |
shown when the package manager displays a `system information' listing. |
2369 |
\item[package.mask] \label{profiles-package.mask} |
2370 |
@@ -108,17 +108,17 @@ manager must ignore any files in this directory that it does not recognise. |
2371 |
EAPI). Any package version matching one of these is considered to be masked, and will not be |
2372 |
installed regardless of profile unless it is unmasked by the user configuration. |
2373 |
\item[profiles.desc] Described below in section~\ref{sec:profiles.desc}. |
2374 |
-\item[repo\_name] Contains, on a single line, the name of this repository. The repository name must |
2375 |
+\item[repo_name] Contains, on a single line, the name of this repository. The repository name must |
2376 |
conform to section~\ref{sec:repository-names}. |
2377 |
\item[thirdpartymirrors] Described below in section~\ref{sec:thirdpartymirrors}. |
2378 |
\item[use.desc] Contains descriptions of valid global USE flags for this repository. The format is |
2379 |
described in section~\ref{sec:use.desc}. |
2380 |
\item[use.local.desc] Contains descriptions of valid local USE flags for this repository, along with |
2381 |
the packages to which they apply. The format is as described in section~\ref{sec:use.desc}. |
2382 |
-\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE\_EXPAND} |
2383 |
+\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND} |
2384 |
variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable |
2385 |
name, in lowercase, whose possible values the file describes. The format of each file is as for |
2386 |
- \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE\_EXPAND} name is \e{not} |
2387 |
+ \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \e{not} |
2388 |
included as a prefix here. |
2389 |
\item[updates/] This directory is described in section~\ref{sec:updates-dir}. |
2390 |
\end{description} |
2391 |
-- |
2392 |
2.13.0 |