Gentoo Archives: gentoo-pms

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-pms@l.g.o
Subject: [gentoo-pms] [PATCH 3/3] Use simple underscores throughout.
Date: Sat, 13 May 2017 12:17:09
Message-Id: 22806.63804.856387.428245@a1i15.kph.uni-mainz.de
In Reply to: [gentoo-pms] [PATCH 0/3] Use simple underscores by "Ulrich Müller"
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