From: Christian Faulhammer <fauli@gentoo.org>
To: <gentoo-pms@lists.gentoo.org>
Subject: [gentoo-pms] \t redefinition
Date: Tue, 21 Dec 2010 16:29:02 +0100 [thread overview]
Message-ID: <20101221162902.0b8cdeaf@gentoo.org> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 269 bytes --]
Hi,
a huge patch that makes usage of \t easier than before, but breaks HTML
generation for now.
V-Li
--
Christian Faulhammer, Gentoo Lisp project
<URL:http://www.gentoo.org/proj/en/lisp/>, #gentoo-lisp on FreeNode
<URL:http://gentoo.faulhammer.org/>
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-Define-t-with-url.sty-capabilities-and-fix-up-usage.patch --]
[-- Type: text/x-patch, Size: 100655 bytes --]
From 22267aeadbd85d1029ce42156e359721d731e95c Mon Sep 17 00:00:00 2001
From: Christian Faulhammer <fauli@gentoo.org>
Date: Tue, 21 Dec 2010 14:03:06 +0100
Subject: [PATCH] Define \t with url.sty capabilities and fix up usage
---
appendices.tex | 6 +-
dependencies.tex | 56 +++++++-------
eapi-differences.tex | 64 +++++++-------
ebuild-env-commands.tex | 2 +-
ebuild-env-invariancy.tex | 10 +-
ebuild-env-state.tex | 2 +-
ebuild-env-vars.tex | 90 ++++++++++----------
ebuild-functions.tex | 196 ++++++++++++++++++++++----------------------
ebuild-vars.tex | 20 +++---
eclasses.tex | 16 ++--
merge.tex | 16 ++--
metadata-cache.tex | 6 +-
names.tex | 34 ++++----
pkg-mgr-commands.tex | 82 ++++++++++----------
pms.cls | 3 +-
profile-variables.tex | 12 ++--
profiles.tex | 6 +-
tree-layout.tex | 6 +-
18 files changed, 314 insertions(+), 313 deletions(-)
diff --git a/appendices.tex b/appendices.tex
index 093a9bc..485895b 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -13,15 +13,15 @@ been abused in the past.
\begin{compactitem}
\item The \t{FEATURES} variable. This is Portage specific.
-\item Similarly, any \t{PORTAGE\_} variable not explicitly listed.
+\item Similarly, any \t{PORTAGE_} variable not explicitly listed.
\item Any Portage configuration file.
\item The VDB (\t{/var/db/pkg}). Ebuilds must not access this or rely upon it existing or being
in any particular format.
-\item The \t{portageq} command. The \t{has\_version} and \t{best\_version} commands are
+\item The \t{portageq} command. The \t{has_version} and \t{best_version} commands are
available as functions.
\item The \t{emerge} command.
\item Binary packages.
-\item The \t{PORTDIR\_OVERLAY} variable, and overlay behaviour in general.
+\item The \t{PORTDIR_OVERLAY} variable, and overlay behaviour in general.
\end{compactitem}
\chapter{Historical Curiosities}
diff --git a/dependencies.tex b/dependencies.tex
index 362f6cc..640a99c 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -13,8 +13,8 @@ There are three classes of dependencies supported by ebuilds:
\item Post dependencies (\t{PDEPEND}). These must be installed at some point.
\end{compactitem}
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{PROVIDE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
-\t{REQUIRED\_USE} use dependency-style specifications to specify their values.
+In addition, \t{SRC_URI}, \t{HOMEPAGE}, \t{PROVIDE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
+\t{REQUIRED_USE} use dependency-style specifications to specify their values.
\section{Dependency Specification Format}
@@ -25,13 +25,13 @@ be surrounded on both sides by whitespace, except at the start and end of the st
\item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
\item A simple qualified package name. Permitted in \t{PROVIDE} (and inside \t{DEPEND} etc
via the previous item).
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}. In EAPIs
- listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may optionally be
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI} and \t{HOMEPAGE}. In EAPIs
+ listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC_URI} arrows, may optionally be
followed by whitespace, then \t{->}, then whitespace, then a simple filename when in
- \t{SRC\_URI}. For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
-\item A flat filename. Permitted in \t{SRC\_URI}.
+ \t{SRC_URI}. For \t{SRC_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
+\item A flat filename. Permitted in \t{SRC_URI}.
\item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
-\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED\_USE}.
+\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}.
\item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}.
\item An all-of group, which consists of an open parenthesis, followed by whitespace,
followed by zero or more of (a dependency item of any kind followed by whitespace), followed
@@ -42,13 +42,13 @@ be surrounded on both sides by whitespace, except at the start and end of the st
followed by an open parenthesis, followed by whitespace, followed by zero or more
of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
More formally: \t{any-of ::= '||' whitespace '(' whitespace (item whitespace)* ')'}.
- Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED\_USE}.
-\item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
+ Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
+\item An exactly-one-of group, which consists of the string \t{^^},
followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
zero or more of (a dependency item of any kind followed by whitespace), followed by a close
- parenthesis. More formally: \t{exactly-one-of ::= '\textasciicircum\textasciicircum' whitespace
+ parenthesis. More formally: \t{exactly-one-of ::= '^^' whitespace
'(' whitespace (item whitespace)* ')'}.
- Permitted in \t{REQUIRED\_USE}.
+ Permitted in \t{REQUIRED_USE}.
\item A use-conditional group, which consists of an optional exclamation mark, followed by
a use flag name, followed by a question mark, followed by whitespace, followed by
an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
@@ -59,11 +59,11 @@ be surrounded on both sides by whitespace, except at the start and end of the st
In particular, note that whitespace is not optional.
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \protect\t{SRC_URI} arrows} \label{tab:uri-arrows-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
\midrule
\t{0} & No \\
\t{1} & No \\
@@ -83,7 +83,7 @@ In an all-of group, all of the child elements must be matched.
In a use-conditional group, if the associated use flag is enabled (or disabled if it has an
exclamation mark prefix), all of the child elements must be matched.
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE} as described in
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE} as described in
section~\ref{sec:use-iuse-handling}.
\subsection{Any-of Dependency Specifications}
@@ -130,7 +130,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
\note Order is important. The slot restriction must come before use dependencies.
-\begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table}
+\begin{centertable}{EAPIs supporting \protect\t{SLOT} dependencies} \label{tab:slot-deps-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -145,7 +145,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
\end{tabular}
\end{centertable}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \protect\t{USE} dependencies} \label{tab:use-deps-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -172,7 +172,7 @@ The following operators are available:
specified has an asterisk immediately following it, a string prefix comparison is
used instead. When an asterisk is used, the specification must remain valid if the
asterisk were removed. (An asterisk used with any other operator is illegal.)
-\item[\t{\textasciitilde}] Equal to the specified version, except the revision part of the matching
+\item[\t{~}] Equal to the specified version, except the revision part of the matching
package may be greater than the revision part of the specified version (\t{-r0} is
assumed if no revision is explicitly stated).
\item[\t{>=}] Greater than or equal to the specified version.
@@ -244,29 +244,29 @@ When multiple requirements are specified, all must match for a successful match.
\featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be
followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when
applying the use dependency to a package that does not have the flag in question in
-\t{IUSE\_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
+\t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
the latter, present and disabled.
Unless a 4-style default is specified, it is an error for a use dependency to be applied to an
-ebuild which does not have the flag in question in \t{IUSE\_REFERENCEABLE}.
+ebuild which does not have the flag in question in \t{IUSE_REFERENCEABLE}.
\note By extension of the above, a default that could reference an ebuild using an EAPI not
supporting profile \t{IUSE} injections cannot rely upon any particular behaviour for flags that
would not have to be part of \t{IUSE}.
It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
-flag in \t{IUSE\_EFFECTIVE}.
+flag in \t{IUSE_EFFECTIVE}.
\subsection{Use State Constraints}
\label{sec:required-use}
-\t{REQUIRED\_USE} contains a list of assertions that must be met by the configuration of \t{USE}
+\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
must be enabled (or disabled if it has an exclamation mark prefix).
-If the package manager encounters a package version where \t{REQUIRED\_USE} assertions are not met,
+If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
it must treat this package version as if it was masked. No phase functions must be called.
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE}.
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
\subsection{Restrict}
\label{sec:restrict}
@@ -274,13 +274,13 @@ It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE
The following tokens are permitted inside \t{RESTRICT}:
\begin{description}
-\item[mirror] The package's \t{SRC\_URI} entries may not be mirrored, and mirrors should not
+\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not
be checked when fetching.
-\item[fetch] The package's \t{SRC\_URI} entries may not be downloaded automatically. If
- entries are not available, \t{pkg\_nofetch} is called.
+\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
+ entries are not available, \t{pkg_nofetch} is called.
\item[strip] No stripping of debug symbols from files to be installed may be performed.
\item[userpriv] The package manager may not drop root privileges when building the package.
-\item[test] The \t{src\_test} phase must not be run.
+\item[test] The \t{src_test} phase must not be run.
\item[sandbox] The \t{sandbox} tool must not be used when building the package.
\end{description}
@@ -301,7 +301,7 @@ Ebuilds may not rely upon any token being supported.
\label{sec:src-uri-behaviour}
All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
-matched) in \t{SRC\_URI} must be available in the \t{DISTDIR} directory. In addition, these
+matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
components are used to make the \t{A} and \t{AA} variables.
If a component contains a full URI with protocol, that download location must be used. Package
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4eb41f4..6ce6ca4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -39,7 +39,7 @@
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
No & Yes & Yes & Yes & Yes \\
-\t{REQUIRED\_USE} & \compactfeatureref{required-use} &
+\t{REQUIRED_USE} & \compactfeatureref{required-use} &
No & No & No & No & Yes \\
\t{PROPERTIES} & \compactfeatureref{properties} &
@@ -48,10 +48,10 @@
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
Yes & Yes & Yes & Yes & No \\
-\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
+\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
Optionally & Optionally & Optionally & Optionally & Yes \\
-\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
+\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
No & No & Yes & Yes & Yes \\
Slot dependencies & \compactfeatureref{slot-deps} &
@@ -69,30 +69,30 @@ Use dependencies & \compactfeatureref{use-deps} &
\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
Always & Always & Always & Always & Conditional \\
-\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
+\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
No & No & No & No & Yes \\
-\t{src\_prepare} & \compactfeatureref{src-prepare} &
+\t{src_prepare} & \compactfeatureref{src-prepare} &
No & No & Yes & Yes & Yes \\
-\t{src\_configure} & \compactfeatureref{src-configure} &
+\t{src_configure} & \compactfeatureref{src-configure} &
No & No & Yes & Yes & Yes \\
-\t{src\_compile} style & \compactfeatureref{src-compile} &
+\t{src_compile} style & \compactfeatureref{src-compile} &
0 & 1 & 2 & 2 & 2 \\
-\t{src\_install} style & \compactfeatureref{src-install} &
+\t{src_install} style & \compactfeatureref{src-install} &
no-op & no-op & no-op & no-op & 4 \\
-\t{pkg\_info} & \compactfeatureref{pkg-info} &
+\t{pkg_info} & \compactfeatureref{pkg-info} &
Installed & Installed & Installed & Installed & Both \\
-\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
+\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
None & None &
- \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
- \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} &
- \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
- \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
+ \parbox[t]{1in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test}} &
+ \parbox[t]{1in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test}} &
+ \parbox[t]{1in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ \t{src_compile}, \t{src_install}, \t{src_test}} \\
\t{AA} & \compactfeatureref{aa} &
Yes & Yes & Yes & Yes & No \\
@@ -100,13 +100,13 @@ Use dependencies & \compactfeatureref{use-deps} &
\t{KV} & \compactfeatureref{kv} &
Yes & Yes & Yes & Yes & No \\
-\t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
+\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
No & No & No & No & Yes \\
-\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
+\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
No & No & No & No & Yes \\
-\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
+\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
No & No & No & No & Yes \\
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
@@ -172,7 +172,7 @@ EAPI 1 is EAPI 0 with the following changes:
\begin{compactitem}
\item \t{IUSE} defaults, \featureref{iuse-defaults}.
\item Slot dependencies, \featureref{slot-deps}.
-\item Different \t{src\_compile} implementation, \featureref{src-compile-1}.
+\item Different \t{src_compile} implementation, \featureref{src-compile-1}.
\end{compactitem}
\section*{EAPI 2}
@@ -182,12 +182,12 @@ EAPI 2 is EAPI 1 with the following changes:
\begin{compactitem}
\item Use dependencies, \featureref{use-deps}.
\item \t{!} and \t{!!} blockers, \featureref{bang-strength}.
-\item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}.
-\item \t{src\_prepare}, \featureref{src-prepare}.
-\item \t{src\_configure}, \featureref{src-configure}.
-\item Different \t{src\_compile} implementation, \featureref{src-compile-2}.
-\item \t{default\_} phase functions for phases \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare},
- \t{src\_configure}, \t{src\_compile} and \t{src\_test}; \featureref{default-phase-funcs}.
+\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
+\item \t{src_prepare}, \featureref{src-prepare}.
+\item \t{src_configure}, \featureref{src-configure}.
+\item Different \t{src_compile} implementation, \featureref{src-compile-2}.
+\item \t{default_} phase functions for phases \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare},
+ \t{src_configure}, \t{src_compile} and \t{src_test}; \featureref{default-phase-funcs}.
\item \t{doman} language detection by filename, \featureref{doman-langs}.
\item \t{default} function, \featureref{default-func}.
\end{compactitem}
@@ -208,22 +208,22 @@ EAPI 4 is EAPI 3 with the following changes:
\begin{compactitem}
\item \t{PROPERTIES} support is mandatory, \featureref{properties}.
-\item \t{REQUIRED\_USE}, \featureref{required-use}.
+\item \t{REQUIRED_USE}, \featureref{required-use}.
\item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}.
-\item \t{DEFINED\_PHASES} support is mandatory, \featureref{defined-phases}.
+\item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}.
\item Use dependency defaults, \featureref{use-dep-defaults}.
\item \t{S} to \t{WORKDIR} fallback restricted, \featureref{s-workdir-fallback}.
-\item \t{pkg\_pretend}, \featureref{pkg-pretend}.
-\item Default \t{src\_install} no longer a no-op, \featureref{src-install-4}.
-\item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}.
+\item \t{pkg_pretend}, \featureref{pkg-pretend}.
+\item Default \t{src_install} no longer a no-op, \featureref{src-install-4}.
+\item \t{pkg_info} can run on non-installed packages, \featureref{pkg-info}.
\item \t{AA} is gone, \featureref{aa}.
\item \t{KV} is gone, \featureref{kv}.
-\item \t{MERGE\_TYPE}, \featureref{merge-type}.
-\item \t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}, \featureref{replace-version-vars}.
+\item \t{MERGE_TYPE}, \featureref{merge-type}.
+\item \t{REPLACING_VERSIONS} and \t{REPLACED_BY_VERSION}, \featureref{replace-version-vars}.
\item Utilities now die on failure, \featureref{die-on-failure}, unless called under \t{nonfatal},
\featureref{nonfatal}
\item \t{dohard}, \t{dosed} banned, \featureref{banned-commands}.
-\item \t{econf} adds \t{-{}-disable-dependency-tracking}, \featureref{econf-options}.
+\item \t{econf} adds \t{--disable-dependency-tracking}, \featureref{econf-options}.
\item \t{dodoc -r} support, \featureref{dodoc}.
\item \t{doins} supports symlinks, \featureref{doins}.
\item \t{doman -i18n} option takes precedence, \featureref{doman-langs}.
diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index cad0bda..6a53dac 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -5,7 +5,7 @@ This section documents the commands available to an ebuild. Unless otherwise spe
aliases, shell functions, or executables in the ebuild's \t{PATH}.
When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
-when none of the \t{src\_} or \t{pkg\_} functions are to be called), no external command may
+when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may
be executed. The package manager may take steps to enforce this.
\subsection{System commands}
diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index 9476a8b..0216291 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -7,10 +7,10 @@ For the sake of this section:
\item Variancy is any package manager action that modifies either
\t{ROOT} or \t{/} in any way that isn't merely a simple addition of
something that doesn't alter other packages. This includes any
- non-default call to any \t{pkg} phase function except \t{pkg\_setup},
+ non-default call to any \t{pkg} phase function except \t{pkg_setup},
a merge of any package or an unmerge of any package.
\item As an exception, changes to \t{DISTDIR} do not count as variancy.
-\item The \t{pkg\_setup} function may be assumed not to introduce variancy.
+\item The \t{pkg_setup} function may be assumed not to introduce variancy.
Thus, ebuilds must not perform variant actions in this phase.
\end{compactitem}
@@ -18,10 +18,10 @@ The following exclusivity and invariancy requirements are mandated:
\begin{compactitem}
\item No variancy shall be introduced at any point between a package's
- \t{pkg\_setup} being started up to the point that that package is
+ \t{pkg_setup} being started up to the point that that package is
merged, except for any variancy introduced by that package.
-\item There must be no variancy between a package's \t{pkg\_setup} and
- a package's \t{pkg\_postinst}, except for any variancy introduced
+\item There must be no variancy between a package's \t{pkg_setup} and
+ a package's \t{pkg_postinst}, except for any variancy introduced
by that package.
\item Any non-default \t{pkg} phase function must be run exclusively.
\item Each phase function must be called at most once during the build
diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 82bf6dc..32d16a1 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va
function earlier in the call sequence must have its value preserved for later functions, including
functions executed as part of a later uninstall.
-\note \t{pkg\_pretend} is \e{not} part of the normal call sequence, and does not take part in
+\note \t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
environment saving.
Variables that were exported must remain exported in later functions; variables with default
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index eb235e7..f6595ec 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -7,8 +7,8 @@ any value. Ebuilds must not attempt to modify any of these variables, unless oth
Because of their special meanings, these variables may not be preserved consistently across all
phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}). For example,
-\t{EBUILD\_PHASE} is different for every phase, and \t{ROOT} may have changed between the various
-different \t{pkg\_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent
+\t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between the various
+different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent
variable.
\begin{landscape}
@@ -61,24 +61,24 @@ variable.
Yes &
Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
\t{A} &
- \t{src\_*} &
+ \t{src_*} &
Yes &
All source files available for the package, whitespace separated with no leading or trailing
whitespace, and in the order in which the item first appears in a matched component of
- \t{SRC\_URI}\@. Does not include any that are disabled because of USE conditionals. The value is
- calculated from the base names of each element of the \t{SRC\_URI} ebuild metadata variable. \\
+ \t{SRC_URI}\@. Does not include any that are disabled because of USE conditionals. The value is
+ calculated from the base names of each element of the \t{SRC_URI} ebuild metadata variable. \\
\t{AA}\footnote{This variable is generally considered deprecated. However, ebuilds must still
assume that the package manager sets it. For example, a few configure scripts use this variable
to find the \t{aalib} package; ebuilds calling such configure scripts must thus work around
this.} &
- \t{src\_*} &
+ \t{src_*} &
Yes &
\featurelabel{aa} All source files that could be available for the package, including any that
are disabled in \t{A} because of USE conditionals. The value is calculated from the base names
- of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in
+ of each element of the \t{SRC_URI} ebuild metadata variable. Only for EAPIs listed in
table~\ref{tab:env-vars-table} as supporting \t{AA}. \\
\t{FILESDIR} &
- \t{src\_*}\footnote{Not necessarily present when installing from a binary package} &
+ \t{src_*}\footnote{Not necessarily present when installing from a binary package} &
No &
The full path to the package's files directory, used for small support files or
patches. See section~\ref{sec:package-dirs}. May or may not exist; if a repository provides no
@@ -97,7 +97,7 @@ variable.
No &
The full path to the master repository's eclass directory. \\
\t{ROOT} &
- \t{pkg\_*} &
+ \t{pkg_*} &
No &
The absolute path to the root directory into which the package is to be merged. Phases which run
with full filesystem access must not touch any files outside of the directory given in
@@ -105,7 +105,7 @@ variable.
will not be executable on the build machine, so ebuilds must not call them. \t{ROOT} must be
non-empty and end in a trailing slash. \\
\t{EROOT} &
- \t{pkg\_*} &
+ \t{pkg_*} &
No &
Like \t{ROOT}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
\t{EPREFIX} variable. \\
@@ -134,26 +134,26 @@ variable.
in the calling environment, a cross-prefix build is performed where using the existing utilities, a
package is built for the given \t{EPREFIX}, akin to \t{ROOT}. See also~\ref{sec:offset-vars}. \\
\t{D} &
- \t{src\_install} &
+ \t{src_install} &
No &
Contains the full path to the image directory into which the package should be installed.
Must be non-empty and end in a trailing slash. \\
\t{D} (continued) &
- \t{pkg\_preinst}, \t{pkg\_postinst} &
+ \t{pkg_preinst}, \t{pkg_postinst} &
Yes &
Contains the full path to the image that is about to be or has just been merged. Must be
non-empty and end in a trailing slash. \\
\t{ED} &
- \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst} &
+ \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst} &
See \t{D} &
Like \t{D}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
\t{EPREFIX} variable. \\
\t{IMAGE}\footnote{Deprecated in favour of \t{D}.} &
- \t{pkg\_preinst}, \t{pkg\_postinst} &
+ \t{pkg_preinst}, \t{pkg_postinst} &
Yes &
Equal to \t{D}. \\
\t{INSDESTTREE} &
- \t{src\_install} &
+ \t{src_install} &
No &
Controls the location where doins installs things. \\
\t{USE} &
@@ -161,7 +161,7 @@ variable.
Yes &
A whitespace-delimited list of all active USE flags for this ebuild. See
section~\ref{sec:use-iuse-handling} for details. \\
-\t{EBUILD\_PHASE} &
+\t{EBUILD_PHASE} &
All &
No &
Takes one of the values \t{config}, \t{setup}, \t{nofetch}, \t{unpack}, \t{prepare},
@@ -170,7 +170,7 @@ variable.
by the package manager. May be unset or any single word that is not any of the above when the
ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\
\t{WORKDIR} &
- \t{src\_*} &
+ \t{src_*} &
Yes &
The full path to the ebuild's working directory, in which all build data should be
contained. \label{env-var-WORKDIR} \\
@@ -180,27 +180,27 @@ variable.
\featurelabel{kv} The version of the running kernel at the time the ebuild was first executed,
as returned by the \t{uname~-r} command or equivalent. May be modified by ebuilds. Only for
EAPIs listed in table~\ref{tab:env-vars-table} as supporting \t{KV}. \\
-\t{MERGE\_TYPE} &
- \t{pkg\_*} &
+\t{MERGE_TYPE} &
+ \t{pkg_*} &
No &
\featurelabel{merge-type} The type of package that is being merged. Possible values are:
\t{source} if building and installing a package from source, \t{binary} if installing a binary
package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs
- listed in table~\ref{tab:env-vars-table} as supporting \t{MERGE\_TYPE}. \\
-\t{REPLACING\_VERSIONS} &
- \t{pkg\_*} (see text) &
+ listed in table~\ref{tab:env-vars-table} as supporting \t{MERGE_TYPE}. \\
+\t{REPLACING_VERSIONS} &
+ \t{pkg_*} (see text) &
Yes &
A whitespace-separated list of versions of this package (including revision, if specified) that
are being replaced (uninstalled or overwritten) as a result of this install. See
section~\ref{sec:replacing-versions}. Only for EAPIs listed in table~\ref{tab:env-vars-table}
- as supporting \t{REPLACING\_VERSIONS}. \\
-\t{REPLACED\_BY\_VERSION} &
- \t{pkg\_prerm}, \t{pkg\_postrm} &
+ as supporting \t{REPLACING_VERSIONS}. \\
+\t{REPLACED_BY_VERSION} &
+ \t{pkg_prerm}, \t{pkg_postrm} &
Yes &
The single version of this package (including revision, if specified) that is replacing us, if
we are being uninstalled as part of an install, or an empty string otherwise. See
section~\ref{sec:replacing-versions}. Only for EAPIs listed in table~\ref{tab:env-vars-table}
- as supporting \t{REPLACED\_BY\_VERSION}.
+ as supporting \t{REPLACED_BY_VERSION}.
\end{longtable}
\end{landscape}
@@ -210,9 +210,9 @@ variable.
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{\t{AA}?}} &
\multicolumn{1}{c}{\textbf{\t{KV}?}} &
- \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
- \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
- \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} \\
+ \multicolumn{1}{c}{\textbf{\t{MERGE_TYPE}?}} &
+ \multicolumn{1}{c}{\textbf{\t{REPLACING_VERSIONS}?}} &
+ \multicolumn{1}{c}{\textbf{\t{REPLACED_BY_VERSION}?}} \\
\midrule
\t{0} & Yes & Yes & No & No & No \\
\t{1} & Yes & Yes & No & No & No \\
@@ -250,7 +250,7 @@ the scope of this specification) or be unset.
is left up to interpretation, but it should include the equivalent ``sbin'' and ``bin'' and any
package manager specific directories.
-\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP\_OPTIONS}, \t{GREP\_COLOR} and \t{GLOBIGNORE}
+\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP_OPTIONS}, \t{GREP_COLOR} and \t{GLOBIGNORE}
must not be set.
\subsection{USE and IUSE Handling}
@@ -262,49 +262,49 @@ This section discusses the handling of four variables:
\item[IUSE] is the variable calculated from the \t{IUSE} values defined in ebuilds and eclasses.
\item[IUSE\_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources
described below. It is purely a conceptual variable; it is not exported to the ebuild
- environment. Values in \t{IUSE\_REFERENCEABLE} may legally be used in queries from other
+ environment. Values in \t{IUSE_REFERENCEABLE} may legally be used in queries from other
packages about an ebuild's state (for example, for use dependencies).
-\item[IUSE\_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE\_EFFECTIVE} are
+\item[IUSE\_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE_EFFECTIVE} are
those which an ebuild may legally use in queries about itself (for example, for the \t{use}
function, and for use in dependency specification conditional blocks).
\item[USE] is a variable calculated by the package manager and exported to the ebuild environment.
\end{description}
-In all cases, the values of \t{IUSE\_REFERENCEABLE} and \t{IUSE\_EFFECTIVE} are undefined during
+In all cases, the values of \t{IUSE_REFERENCEABLE} and \t{IUSE_EFFECTIVE} are undefined during
metadata generation.
-\t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value.
+\t{IUSE_REFERENCEABLE} is equal to the calculated \t{IUSE} value.
-\t{IUSE\_EFFECTIVE} contains the following values:
+\t{IUSE_EFFECTIVE} contains the following values:
\begin{compactitem}
\item All values in the calculated \t{IUSE} value.
\item All possible values for the \t{ARCH} variable.
\item All legal use flag names whose name starts with the lowercase equivalent of any value in
- the profile \t{USE\_EXPAND} variable followed by an underscore.
+ the profile \t{USE_EXPAND} variable followed by an underscore.
\end{compactitem}
-The \t{USE} variable is set by the package manager. For each value in \t{IUSE\_EFFECTIVE}, \t{USE}
+The \t{USE} variable is set by the package manager. For each value in \t{IUSE_EFFECTIVE}, \t{USE}
shall contain that value if the flag is to be enabled for the ebuild in question, and shall not
contain that value if it is to be disabled. \t{USE} may contain other flag names that are not
relevant for the ebuild.
-\subsection{\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}}
+\subsection{\protect\t{REPLACING_VERSIONS} and \protect\t{REPLACED_BY_VERSION}}
\label{sec:replacing-versions}
\featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:env-vars-table} as supporting
-it, the \t{REPLACING\_VERSIONS} variable shall be defined in \t{pkg\_preinst} and \t{pkg\_postinst}.
-In addition, it \e{may} be defined in \t{pkg\_pretend} and \t{pkg\_setup}, although ebuild authors
+it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and \t{pkg_postinst}.
+In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup}, although ebuild authors
should take care to handle binary package creation and installation correctly when using it in these
phases.
-\t{REPLACING\_VERSIONS} is a list, not a single optional value, to handle pathological cases such as
+\t{REPLACING_VERSIONS} is a list, not a single optional value, to handle pathological cases such as
installing \t{foo-2:2} to replace \t{foo-2:1} and \t{foo-3:2}.
-In EAPIs listed in table~\ref{tab:env-vars-table} as supporting it, the \t{REPLACED\_BY\_VERSION}
-variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contain at most one value.
+In EAPIs listed in table~\ref{tab:env-vars-table} as supporting it, the \t{REPLACED_BY_VERSION}
+variable shall be defined in \t{pkg_prerm} and \t{pkg_postrm}. It shall contain at most one value.
-\subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
+\subsection{Offset-prefix variables \protect\t{EPREFIX}, \protect\t{EROOT} and \protect\t{ED}}
\label{sec:offset-vars}
\begin{centertable}{EAPIs supporting offset-prefix}
@@ -327,7 +327,7 @@ variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contai
offset-prefix installations. This support was initially added in EAPI 3, in the form of three extra
variables. Two of these, \t{EROOT} and \t{ED}, are convenience variables using the variable
\t{EPREFIX}. In EAPIs that do not support an offset-prefix, the installation offset is hardwired to
-\t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as \t{\$\{EPREFIX\}/usr}
+\t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as \t{${EPREFIX}/usr}
and hence can be adjusted using the variable \t{EPREFIX}. Note that the behaviour of offset-prefix
aware and agnostic is the same when \t{EPREFIX} is set to the empty string in offset-prefix aware
EAPIs. The latter do have the variables \t{ED} and \t{EROOT} properly set, though.
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 36df355..d8d22f5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -13,8 +13,8 @@ temporary directory \t{T}; exceptions are noted below. All functions may assume
access to all system libraries, binaries and configuration files that are accessible to normal
users.
-The environment for functions run outside of the build sequence (that is, \t{pkg\_config},
-\t{pkg\_info}, \t{pkg\_prerm} and \t{pkg\_postrm}) must be the environment used for the build of the
+The environment for functions run outside of the build sequence (that is, \t{pkg_config},
+\t{pkg_info}, \t{pkg_prerm} and \t{pkg_postrm}) must be the environment used for the build of the
package, not the current configuration.
Ebuilds must not call nor assume the existence of any phase functions.
@@ -38,13 +38,13 @@ fallback to \t{WORKDIR} is used:
\begin{compactitem}
\item The \t{A} variable contains no items.
-\item The phase function in question is not in \t{DEFINED\_PHASES}.
+\item The phase function in question is not in \t{DEFINED_PHASES}.
\item None of the phase functions \t{unpack}, \t{prepare}, \t{configure}, \t{compile} or \t{install},
if supported by the EAPI in question and occurring prior to the phase about to be executed, are
- in \t{DEFINED\_PHASES}.
+ in \t{DEFINED_PHASES}.
\end{compactitem}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \protect\t{S} to \protect\t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -62,26 +62,26 @@ fallback to \t{WORKDIR} is used:
\subsection{pkg\_pretend}
\label{sec:pkg-pretend-function}
-\featurelabel{pkg-pretend} The \t{pkg\_pretend} function is only called for EAPIs listed in
+\featurelabel{pkg-pretend} The \t{pkg_pretend} function is only called for EAPIs listed in
table~\ref{tab:pkg-pretend-table} as supporting it.
-The \t{pkg\_pretend} function may be used to carry out sanity checks early on in the install
+The \t{pkg_pretend} function may be used to carry out sanity checks early on in the install
process. For example, if an ebuild requires a particular kernel configuration, it may perform that
-check in \t{pkg\_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the
+check in \t{pkg_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the
requirement is not met.
-\t{pkg\_pretend} is run separately from the main phase function sequence, and does not participate
+\t{pkg_pretend} is run separately from the main phase function sequence, and does not participate
in any kind of environment saving. There is no guarantee that any of an ebuild's dependencies will
be met at this stage, and no guarantee that the system state will not have changed substantially
before the next phase is executed.
-\t{pkg\_pretend} must not write to the filesystem.
+\t{pkg_pretend} must not write to the filesystem.
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \protect\t{pkg_pretend}} \label{tab:pkg-pretend-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\
\midrule
\t{0} & No \\
\t{1} & No \\
@@ -94,22 +94,22 @@ before the next phase is executed.
\subsection{pkg\_setup}
\label{sec:pkg-setup-function}
-The \t{pkg\_setup} function sets up the ebuild's environment for all following functions, before
+The \t{pkg_setup} function sets up the ebuild's environment for all following functions, before
the build process starts. Further, it checks whether any necessary prerequisites not covered
by the package manager, e.\,g.\ that certain kernel configuration options are fulfilled.
-\t{pkg\_setup} must be run with full filesystem permissions, including the ability to add new users
+\t{pkg_setup} must be run with full filesystem permissions, including the ability to add new users
and/or groups to the system.
\subsection{src\_unpack}
\label{sec:src-unpack-function}
-\featurelabel{src-unpack} The \t{src\_unpack} function extracts all of
-the package's sources. In EAPIs lacking \t{src\_prepare}, it may also
+\featurelabel{src-unpack} The \t{src_unpack} function extracts all of
+the package's sources. In EAPIs lacking \t{src_prepare}, it may also
apply patches and set up the package's build system for further use.
The initial working directory must be \t{WORKDIR}, and the default implementation used when
-the ebuild lacks the \t{src\_unpack} function shall behave as:
+the ebuild lacks the \t{src_unpack} function shall behave as:
\begin{verbatim}
src_unpack() {
@@ -122,20 +122,20 @@ src_unpack() {
\subsection{src\_prepare}
\label{sec:src-prepare-function}
-\featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
+\featurelabel{src-prepare} The \t{src_prepare} function is only called for EAPIs listed in
table~\ref{tab:src-prepare-table} as supporting it.
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
+The \t{src_prepare} function can be used for post-unpack source preparation. The default
implementation does nothing.
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
section~\ref{sec:s-to-workdir-fallback}.
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \protect\t{src_prepare}} \label{tab:src-prepare-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{src_prepare}?}} \\
\midrule
\t{0} & No \\
\t{1} & No \\
@@ -149,14 +149,14 @@ section~\ref{sec:s-to-workdir-fallback}.
\subsection{src\_configure}
\label{sec:src-configure-function}
-\featurelabel{src-configure} The \t{src\_configure} function is only called for EAPIs listed in
+\featurelabel{src-configure} The \t{src_configure} function is only called for EAPIs listed in
table~\ref{tab:src-configure-table} as supporting it.
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
section~\ref{sec:s-to-workdir-fallback}.
-The \t{src\_configure} function configures the package's build environment. The default
-implementation used when the ebuild lacks the \t{src\_configure} function shall behave as:
+The \t{src_configure} function configures the package's build environment. The default
+implementation used when the ebuild lacks the \t{src_configure} function shall behave as:
\begin{verbatim}
src_configure() {
@@ -166,11 +166,11 @@ src_configure() {
}
\end{verbatim}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \protect\t{src_configure}} \label{tab:src-configure-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\
\midrule
\t{0} & No \\
\t{1} & No \\
@@ -184,14 +184,14 @@ src_configure() {
\subsection{src\_compile}
\label{sec:src-compile-function}
-\featurelabel{src-compile} The \t{src\_compile} function configures the package's build environment
-in EAPIs lacking \t{src\_configure}, and builds the package in all EAPIs.
+\featurelabel{src-compile} The \t{src_compile} function configures the package's build environment
+in EAPIs lacking \t{src_configure}, and builds the package in all EAPIs.
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
section~\ref{sec:s-to-workdir-fallback}.
\featurelabel{src-compile-0} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-0, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+0, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
as:
\begin{verbatim}
@@ -206,7 +206,7 @@ src_compile() {
\end{verbatim}
\featurelabel{src-compile-1} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-1, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+1, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
as:
\begin{verbatim}
@@ -221,7 +221,7 @@ src_compile() {
\end{verbatim}
\featurelabel{src-compile-2} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-2, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+2, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
as:
\begin{verbatim}
@@ -232,7 +232,7 @@ src_compile() {
}
\end{verbatim}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\protect\t{src_compile} behaviour for EAPIs} \label{tab:src-compile-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -250,28 +250,28 @@ src_compile() {
\subsection{src\_test}
\label{sec:src-test-function}
-The \t{src\_test} function runs unit tests for the newly built but not yet installed package as
+The \t{src_test} function runs unit tests for the newly built but not yet installed package as
provided.
The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise.
-The default implementation used when the ebuild lacks the \t{src\_test} function must, if tests are
+The default implementation used when the ebuild lacks the \t{src_test} function must, if tests are
enabled, run \t{make check} if and only if such a target is available, or if not run \t{make test},
if and only such a target is available. In both cases, if make returns non-zero the build must be
aborted.
-The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}.
+The \t{src_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}.
\subsection{src\_install}
\label{sec:src-install-function}
-\featurelabel{src-install} The \t{src\_install} function installs the package's content to a
+\featurelabel{src-install} The \t{src_install} function installs the package's content to a
directory specified in \t{D}.
The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
section~\ref{sec:s-to-workdir-fallback}.
\featurelabel{src-install-4} For EAPIs listed in table~\ref{tab:src-install-table} as using format
-4, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+4, the default implementation used when the ebuild lacks the \t{src_install} function shall behave
as:
\begin{verbatim}
@@ -294,10 +294,10 @@ src_install() {
}
\end{verbatim}
-For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
+For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
is a no-op.
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\protect\t{src_install} behaviour for EAPIs} \label{tab:src-install-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -315,67 +315,67 @@ is a no-op.
\subsection{pkg\_preinst}
\label{sec:pkg-preinst-function}
-The \t{pkg\_preinst} function performs any special tasks that are required immediately before
+The \t{pkg_preinst} function performs any special tasks that are required immediately before
merging the package to the live filesystem. It must not write outside of the directories specified
by the \t{ROOT} and \t{D} environment variables.
-\t{pkg\_preinst} must be run with full access to all files and directories below that specified by
+\t{pkg_preinst} must be run with full access to all files and directories below that specified by
the \t{ROOT} and \t{D} environment variables.
\subsection{pkg\_postinst}
\label{sec:pkg-postinst-function}
-The \t{pkg\_postinst} function performs any special tasks that are required immediately after
+The \t{pkg_postinst} function performs any special tasks that are required immediately after
merging the package to the live filesystem. It must not write outside of the directory specified
in the \t{ROOT} environment variable.
-\t{pkg\_postinst}, like, \t{pkg\_preinst}, must be run with full access to all files and directories
+\t{pkg_postinst}, like, \t{pkg_preinst}, must be run with full access to all files and directories
below that specified by the \t{ROOT} environment variable.
\subsection{pkg\_prerm}
\label{sec:pkg-prerm-function}
-The \t{pkg\_prerm} function performs any special tasks that are required immediately before
+The \t{pkg_prerm} function performs any special tasks that are required immediately before
unmerging the package from the live filesystem. It must not write outside of the directory specified
by the \t{ROOT} environment variable.
-\t{pkg\_prerm} must be run with full access to all files and directories below that specified by
+\t{pkg_prerm} must be run with full access to all files and directories below that specified by
the \t{ROOT} environment variable.
\subsection{pkg\_postrm}
\label{sec:pkg-postrm-function}
-The \t{pkg\_postrm} function performs any special tasks that are required immediately after
+The \t{pkg_postrm} function performs any special tasks that are required immediately after
unmerging the package from the live filesystem. It must not write outside of the directory specified
by the \t{ROOT} environment variable.
-\t{pkg\_postrm} must be run with full access to all files and directories below that specified by
+\t{pkg_postrm} must be run with full access to all files and directories below that specified by
the \t{ROOT} environment variable.
\subsection{pkg\_config}
\label{sec:pkg-config-function}
-The \t{pkg\_config} function performs any custom steps required to configure a package after it has been
+The \t{pkg_config} function performs any custom steps required to configure a package after it has been
fully installed. It is the only ebuild function which may be interactive and prompt for user input.
-\t{pkg\_config} must be run with full access to all files and directories inside of \t{ROOT}.
+\t{pkg_config} must be run with full access to all files and directories inside of \t{ROOT}.
\subsection{pkg\_info}
\label{sec:pkg-info-function}
-\featurelabel{pkg-info} The \t{pkg\_info} function may be called by the package manager when
+\featurelabel{pkg-info} The \t{pkg_info} function may be called by the package manager when
displaying information about an installed package. In EAPIs listed in table~\ref{tab:pkg-info-table}
-as supporting \t{pkg\_info} on non-installed packages, it may also be called by the package manager
+as supporting \t{pkg_info} on non-installed packages, it may also be called by the package manager
when displaying information about a non-installed package. In this case, ebuild authors should note
that dependencies may not be installed.
-\t{pkg\_info} must not write to the filesystem.
+\t{pkg_info} must not write to the filesystem.
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \protect\t{pkg_info} on non-installed packages} \label{tab:pkg-info-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed packages?}} \\
\midrule
\t{0} & No \\
\t{1} & No \\
@@ -386,38 +386,38 @@ that dependencies may not be installed.
\end{tabular}
\end{centertable}
-\subsection{pkg\_nofetch}
+\subsection{\protect\t{pkg_nofetch}}
\label{sec:pkg-nofetch-function}
-The \t{pkg\_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and
+The \t{pkg_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and
the relevant source files are not available. It should direct the user to download all relevant
source files from their respective locations, with notes concerning licensing if applicable.
-\t{pkg\_nofetch} must require no write access to any part of the filesystem.
+\t{pkg_nofetch} must require no write access to any part of the filesystem.
-\subsection{\t{default\_} Phase Functions}
+\subsection{\protect\t{default_} Phase Functions}
\label{sec:default-phase-funcs}
\featurelabel{default-phase-funcs} In EAPIs listed in
-table~\ref{tab:default-phase-function-table} as supporting \t{default\_} phase functions, a function
-named \t{default\_}(phase) that behaves as the default implementation for that EAPI shall be defined
+table~\ref{tab:default-phase-function-table} as supporting \t{default_} phase functions, a function
+named \t{default_}(phase) that behaves as the default implementation for that EAPI shall be defined
when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
when in the phase in question.
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \protect\t{default_} phase functions} \label{tab:default-phase-function-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{default_} functions in phases}} \\
\midrule
\t{0} & None \\
\t{1} & None \\
- \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
- \t{src\_compile}, \t{src\_test}} \\
- \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
- \t{src\_compile}, \t{src\_test}} \\
- \t{4} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
- \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\
+ \t{2} & \parbox[t]{3in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ \t{src_compile}, \t{src_test}} \\
+ \t{3} & \parbox[t]{3in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ \t{src_compile}, \t{src_test}} \\
+ \t{4} & \parbox[t]{3in}{\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ \t{src_compile}, \t{src_install}, \t{src_test}} \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -427,56 +427,56 @@ when in the phase in question.
The call order for installing a package is:
\begin{compactitem}
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
outside of the normal call order process.
-\item \t{pkg\_setup}
-\item \t{src\_unpack}
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
-\item \t{src\_compile}
-\item \t{src\_test} (except if \t{RESTRICT=test})
-\item \t{src\_install}
-\item \t{pkg\_preinst}
-\item \t{pkg\_postinst}
+\item \t{pkg_setup}
+\item \t{src_unpack}
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
+\item \t{src_compile}
+\item \t{src_test} (except if \t{RESTRICT=test})
+\item \t{src_install}
+\item \t{pkg_preinst}
+\item \t{pkg_postinst}
\end{compactitem}
The call order for uninstalling a package is:
\begin{compactitem}
-\item \t{pkg\_prerm}
-\item \t{pkg\_postrm}
+\item \t{pkg_prerm}
+\item \t{pkg_postrm}
\end{compactitem}
The call order for upgrading, downgrading or reinstalling a package is:
\begin{compactitem}
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
outside of the normal call order process.
-\item \t{pkg\_setup}
-\item \t{src\_unpack}
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
-\item \t{src\_compile}
-\item \t{src\_test} (except if \t{RESTRICT=test})
-\item \t{src\_install}
-\item \t{pkg\_preinst}
-\item \t{pkg\_prerm} for the package being replaced
-\item \t{pkg\_postrm} for the package being replaced
-\item \t{pkg\_postinst}
+\item \t{pkg_setup}
+\item \t{src_unpack}
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
+\item \t{src_compile}
+\item \t{src_test} (except if \t{RESTRICT=test})
+\item \t{src_install}
+\item \t{pkg_preinst}
+\item \t{pkg_prerm} for the package being replaced
+\item \t{pkg_postrm} for the package being replaced
+\item \t{pkg_postinst}
\end{compactitem}
Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
-alternatively be called in the order \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm},
-\t{pkg\_postrm}. This behaviour is deprecated.
+alternatively be called in the order \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm},
+\t{pkg_postrm}. This behaviour is deprecated.
-The \t{pkg\_config}, \t{pkg\_info} and \t{pkg\_nofetch} functions are not called in a normal
-sequence. The \t{pkg\_pretend} function is called some unspecified time before a (possibly
+The \t{pkg_config}, \t{pkg_info} and \t{pkg_nofetch} functions are not called in a normal
+sequence. The \t{pkg_pretend} function is called some unspecified time before a (possibly
hypothetical) normal sequence.
For installing binary packages, the \t{src} phases are not called.
-When building binary packages that are not to be installed locally, the \t{pkg\_preinst}
-and \t{pkg\_postinst} functions are not called.
+When building binary packages that are not to be installed locally, the \t{pkg_preinst}
+and \t{pkg_postinst} functions are not called.
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index db4d50d..cf44014 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -54,7 +54,7 @@ If any of these variables are undefined, or if any of these variables are set to
the package manager's behaviour is undefined; ideally, an error in one ebuild should not prevent
operations upon other ebuilds or packages.
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \protect\t{IUSE} defaults} \label{tab:iuse-defaults-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -93,9 +93,9 @@ Ebuilds may define any of the following variables:
\item[REQUIRED\_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use}
for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in
- table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED\_USE}.
-\item[S] The path to the temporary build directory, used by \t{src\_compile}, \t{src\_install}
- etc. Defaults to \t{\$\{WORKDIR\}/\$\{P\}}.
+ table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED_USE}.
+\item[S] The path to the temporary build directory, used by \t{src_compile}, \t{src_install}
+ etc. Defaults to \t{${WORKDIR}/${P}}.
\end{description}
\begin{centertable}{EAPIs supporting various ebuild-defined variables}
@@ -104,7 +104,7 @@ Ebuilds may define any of the following variables:
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} \\
- \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\
\midrule
\t{0} & Optionally & No \\
\t{1} & Optionally & No \\
@@ -129,7 +129,7 @@ ensure that it is unset.
If any of these variables are set to invalid values, the package manager's behaviour is undefined;
ideally, an error in one ebuild should not prevent operations upon other ebuilds or packages.
-\subsection{\t{RDEPEND} value}
+\subsection{\protect\t{RDEPEND} value}
\label{sec:rdepend-depend}
\featurelabel{rdepend-depend} In EAPIs listed in table~\ref{tab:rdepend-depend-table} as having
@@ -140,7 +140,7 @@ When dealing with eclasses, only values set in the ebuild itself are considered
any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{RDEPEND=DEPEND} for
the ebuild portion, and any \t{DEPEND} value set in an eclass does not get added to \t{RDEPEND}.
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \protect\t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -177,18 +177,18 @@ not be exported to the ebuild environment:
phase names (e.\,g.\ \t{configure setup unpack}) whose phase functions are defined by the ebuild or
an eclass inherited by the ebuild. If no phase functions are defined, a single hyphen is used
instead of an empty string. For EAPIs listed in table~\ref{tab:defined-phases-table} as having
-optional \t{DEFINED\_PHASES} support, package managers may not rely upon the metadata cache having
+optional \t{DEFINED_PHASES} support, package managers may not rely upon the metadata cache having
this variable defined, and must treat an empty string as ``this information is not available''.
\end{description}
\note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
based upon any variant condition.
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \protect\t{DEFINED_PHASES}} \label{tab:defined-phases-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\
\midrule
\t{0} & Optionally \\
\t{1} & Optionally \\
diff --git a/eclasses.tex b/eclasses.tex
index c8fee9e..6bb0861 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -9,7 +9,7 @@ hold.
Eclasses must be located in the \t{eclass} directory in the top level of the repository---see
section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>} is
-the name of this eclass, used by \t{inherit} and \t{EXPORT\_FUNCTIONS} among other places.
+the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
\section{The inherit command}
\label{sec:inherit}
@@ -34,7 +34,7 @@ The \t{inherit} command must also ensure that:
\section{Eclass-defined Metadata Keys}
-The \t{IUSE}, \t{REQUIRED\_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled
+The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled
specially when set by an eclass. They must be accumulated across eclasses, appending the value set
by each eclass to the resulting value after the previous one is loaded. Then the eclass-defined
value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after the
@@ -43,7 +43,7 @@ implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
\section{EXPORT\_FUNCTIONS}
There is one command available in the eclass environment that is neither available nor meaningful
-in ebuilds---\t{EXPORT\_FUNCTIONS}. This can be used to alias ebuild phase functions from the
+in ebuilds---\t{EXPORT_FUNCTIONS}. This can be used to alias ebuild phase functions from the
eclass so that an ebuild inherits a default definition whilst retaining the ability to override and
call the eclass-defined version from it. The use of it is best illustrated by an example; this is
given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.
@@ -63,13 +63,13 @@ EXPORT_FUNCTIONS src_compile
\end{verbatim}
\end{listing}
-This example defines an eclass \t{src\_compile} function and uses \t{EXPORT\_FUNCTIONS} to alias
-it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src\_compile} defined, but
+This example defines an eclass \t{src_compile} function and uses \t{EXPORT_FUNCTIONS} to alias
+it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src_compile} defined, but
should the author wish to override it he can access the function in \t{foo.eclass} by calling
-\t{foo\_src\_compile}.
+\t{foo_src_compile}.
-\t{EXPORT\_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
-must be named \t{eclassname\_phasefunctionname}, where \t{eclassname} is the name of the eclass.
+\t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
+must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the name of the eclass.
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
diff --git a/merge.tex b/merge.tex
index e798f2d..7d1238b 100644
--- a/merge.tex
+++ b/merge.tex
@@ -106,25 +106,25 @@ is undefined.
\label{sec:config-protect}
The package manager must provide a means to prevent user configuration files from being
-overwritten by any package updates. The profile variables \t{CONFIG\_PROTECT} and
-\t{CONFIG\_PROTECT\_MASK} (section~\ref{sec:profile-variables}) control the paths for which this
+overwritten by any package updates. The profile variables \t{CONFIG_PROTECT} and
+\t{CONFIG_PROTECT_MASK} (section~\ref{sec:profile-variables}) control the paths for which this
must be enforced.
In order to ensure interoperability with configuration update tools, the following scheme must be
used by all package managers when merging any regular file:
\begin{compactenum}
-\item If the directory containing the file to be merged is not listed in \t{CONFIG\_PROTECT}, and
- is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG\_PROTECT},
+\item If the directory containing the file to be merged is not listed in \t{CONFIG_PROTECT}, and
+ is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG_PROTECT},
the file is merged normally.
-\item If the directory containing the file to be merged is listed in \t{CONFIG\_PROTECT\_MASK}, or
- is a subdirectory of such a directory, or if the file is listed in \t{CONFIG\_PROTECT\_MASK},
+\item If the directory containing the file to be merged is listed in \t{CONFIG_PROTECT_MASK}, or
+ is a subdirectory of such a directory, or if the file is listed in \t{CONFIG_PROTECT_MASK},
the file is merged normally.
\item If no existing file with the intended filename exists, or the existing file has identical
content to the one being merged, the file is installed normally.
-\item Otherwise, prepend the filename with \t{.\_cfg0000\_}. If no file with the new name exists,
+\item Otherwise, prepend the filename with \t{._cfg0000_}. If no file with the new name exists,
then the file is merged with this name.
-\item Otherwise, increment the number portion (to form \t{.\_cfg0001\_<name>}) and repeat step 4.
+\item Otherwise, increment the number portion (to form \t{._cfg0001_<name>}) and repeat step 4.
Continue this process until a usable filename is found.
\item If 9999 is reached in this way, behaviour is undefined.
\end{compactenum}
diff --git a/metadata-cache.tex b/metadata-cache.tex
index 8e7a09d..42b5b34 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -18,7 +18,7 @@ order. Other lines may be present following these; their meanings are not define
\item Build-time dependencies (\t{DEPEND})
\item Run-time dependencies (\t{RDEPEND})
\item Slot (\t{SLOT})
-\item Source tarball URIs (\t{SRC\_URI})
+\item Source tarball URIs (\t{SRC_URI})
\item \t{RESTRICT}
\item Package homepage (\t{HOMEPAGE})
\item Package license (\t{LICENSE})
@@ -26,14 +26,14 @@ order. Other lines may be present following these; their meanings are not define
\item Package keywords (\t{KEYWORDS})
\item Inherited eclasses (\t{INHERITED})
\item Use flags that this package respects (\t{IUSE})
-\item Use flags that this package requires (\t{REQUIRED\_USE}).
+\item Use flags that this package requires (\t{REQUIRED_USE}).
Blank in some EAPIs; see table~\ref{tab:optional-vars-table}.
\item Post dependencies (\t{PDEPEND})
\item Old-style virtuals provided by this package (\t{PROVIDE})
\item The ebuild API version to which this package conforms (\t{EAPI})
\item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blank, regardless of ebuild
metadata; see table~\ref{tab:optional-vars-table}.
-\item Defined phases (\t{DEFINED\_PHASES}). In some EAPIs, may optionally be blank, regardless of
+\item Defined phases (\t{DEFINED_PHASES}). In some EAPIs, may optionally be blank, regardless of
ebuild metadata; see table~\ref{tab:defined-phases-table}.
\item Blank lines to pad the file to 22 lines long
\end{compactenum}
diff --git a/names.tex b/names.tex
index 2ee5089..e7eea0b 100644
--- a/names.tex
+++ b/names.tex
@@ -6,14 +6,14 @@ No name may be empty. Package managers must not impose fixed upper boundaries up
name. A package manager should indicate or reject any name that is invalid according to these rules.
\subsection{Category Names}
-A category name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with
+A category name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with
a hyphen or a dot.
\note A hyphen is \i{not} required because of the \t{virtual} category. Usually, however, category
names will contain a hyphen.
\subsection{Package Names}
-A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a
+A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not begin with a
hyphen, and must not end in a hyphen followed by one or more digits.
\note A package name does not include the category. The term \i{qualified package name} is used
@@ -21,30 +21,30 @@ where a \t{category/package} pair is meant.
\subsection{Slot Names}
\label{sec:slot-names}
-A slot name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+A slot name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
hyphen or a dot.
\subsection{USE Flag Names}
-A USE flag name may contain any of the characters [\t{A-Za-z0-9+\_@-}]. It must begin with an
-alphanumeric character. Underscores should be considered reserved for \t{USE\_EXPAND}, as
+A USE flag name may contain any of the characters [\t{A-Za-z0-9+_@-}]. It must begin with an
+alphanumeric character. Underscores should be considered reserved for \t{USE_EXPAND}, as
described in section~\ref{sec:use-iuse-handling}.
\note The at-sign is required for \t{LINGUAS}.
\subsection{Repository Names}
\label{sec:repository-names}
-A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
+A repository name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a
hyphen.
\subsection{Keyword Names}
\label{sec:keyword-names}
-A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
+A keyword name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a
hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by
a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword, to indicate that
a package will only work on listed targets.
A tilde prefixed keyword is, by convention, used to indicate a less stable package. It is generally
-assumed that any user accepting keyword \t{\textasciitilde{}foo} will also accept \t{foo}.
+assumed that any user accepting keyword \t{~foo} will also accept \t{foo}.
The exact meaning of any keywords value is beyond the scope of this specification.
@@ -52,13 +52,13 @@ The exact meaning of any keywords value is beyond the scope of this specificatio
The package manager must not impose fixed limits upon the number of version components. Package
managers should indicate or reject any version that is invalid according to these rules.
-A version starts with the number part, which is in the form \t{[0-9]+($\backslash$.[0-9]+)*} (a positive
+A version starts with the number part, which is in the form \t{[0-9]+($\$.[0-9]+)*} (a positive
integer, followed by zero or more dot-prefixed positive integers).
This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
-This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
-\t{\_rc} or \t{\_p}, which themselves may be suffixed by an optional integer.
+This may be followed by zero or more of the suffixes \t{_alpha}, \t{_beta}, \t{_pre},
+\t{_rc} or \t{_p}, which themselves may be suffixed by an optional integer.
This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.
@@ -149,13 +149,13 @@ from which it was invoked.
\STATE compare $As_i$ and $Bs_i$ using Algorithm~\ref{alg:version-comparison-suffix-each}
\ENDFOR
\IF{$Asn>Bsn$}
- \IF{$As_{Bsn}$ is of type \t{\_p}}
+ \IF{$As_{Bsn}$ is of type \t{_p}}
\RETURN $A>B$
\ELSE
\RETURN $A<B$
\ENDIF
\ELSIF{$Asn<Bsn$}
- \IF{$Bs_{Asn}$ is of type \t{\_p}}
+ \IF{$Bs_{Asn}$ is of type \t{_p}}
\RETURN $A<B$
\ELSE
\RETURN $A>B$
@@ -167,7 +167,7 @@ from which it was invoked.
\begin{algorithm}
\caption{Version comparison logic for each suffix} \label{alg:version-comparison-suffix-each}
\begin{algorithmic}[1]
- \IF{$As_i$ and $Bs_i$ are of the same type (\t{\_alpha} vs \t{\_beta} etc)}
+ \IF{$As_i$ and $Bs_i$ are of the same type (\t{_alpha} vs \t{_beta} etc)}
\STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \t{0}
\STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \t{0}
\IF{$As'_i>Bs'_i$, using integer comparison}
@@ -175,7 +175,7 @@ from which it was invoked.
\ELSIF{$As'_i<Bs'_i$, using integer comparison}
\RETURN $A<B$
\ENDIF
- \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
+ \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{_alpha}}<\mbox{\t{_beta}}<\mbox{\t{_pre}}<\mbox{\t{_rc}}<\mbox{\t{_p}}$}
\RETURN $A>B$
\ELSE
\RETURN $A<B$
@@ -186,8 +186,8 @@ from which it was invoked.
\begin{algorithm}
\caption{Version comparison logic for revision components} \label{alg:version-comparison-revision}
\begin{algorithmic}[1]
- \STATE let $Ar$ be the integer part of the revision component of $A$ if any, otherwise $\t{0}$
- \STATE let $Br$ be the integer part of the revision component of $B$ if any, otherwise $\t{0}$
+ \STATE let $Ar$ be the integer part of the revision component of $A$ if any, otherwise \t{$0$}
+ \STATE let $Br$ be the integer part of the revision component of $B$ if any, otherwise \t{$0$}
\IF{$Ar>Br$ using integer comparison}
\RETURN $A>B$
\ELSIF{$Ar<Br$ using integer comparison}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index d6db362..c45c03a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -87,8 +87,8 @@ these commands once the current phase function has returned.
\subsubsection{Output commands}
These commands display messages to the user. Unless otherwise stated, the entire argument list is
used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of
-bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} for a new line, and
-\t{\textbackslash\textbackslash} for a literal backslash. Ebuilds must not run any of these commands
+bash, notably \t{\t} for a horizontal tab, \t{\n} for a new line, and
+\t{\\} for a literal backslash. Ebuilds must not run any of these commands
once the current phase function has returned. Unless otherwise noted, output may be sent to stdout,
stderr or some other appropriate facility.
\begin{description}
@@ -119,7 +119,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
\end{description}
\subsubsection{Build commands}
-These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
+These commands are used during the \t{src_compile} and \t{src_install} phases to run the
package's build commands. Ebuilds must not run any of these commands once the current phase function
has returned.
@@ -127,24 +127,24 @@ has returned.
\item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU
Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly
to \t{./configure}. \t{econf} will look in the current working directory for a configure script
- unless the \t{ECONF\_SOURCE} environment variable is set, in which case it is taken to be the
+ unless the \t{ECONF_SOURCE} environment variable is set, in which case it is taken to be the
directory containing it. \t{econf} must pass the following options to the configure script:
\featurelabel{econf-options}
\begin{itemize}
- \item -{}-prefix must default to \t{\$\{EPREFIX\}/usr} unless overridden by \t{econf}'s caller.
- \item -{}-mandir must be \t{\$\{EPREFIX\}/usr/share/man}
- \item -{}-infodir must be \t{\$\{EPREFIX\}/usr/share/info}
- \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
- \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
- \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+ \item -{}-prefix must default to \t{${EPREFIX}/usr} unless overridden by \t{econf}'s caller.
+ \item -{}-mandir must be \t{${EPREFIX}/usr/share/man}
+ \item -{}-infodir must be \t{${EPREFIX}/usr/share/info}
+ \item -{}-datadir must be \t{${EPREFIX}/usr/share}
+ \item -{}-sysconfdir must be \t{${EPREFIX}/etc}
+ \item -{}-localstatedir must be \t{${EPREFIX}/var/lib}
\item -{}-host must be the value of the \t{CHOST} environment variable.
\item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
\item -{}-disable-dependency-tracking, if the EAPI is listed in
table~\ref{tab:econf-options-table} as using it.
\end{itemize}
- \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+ \begin{centertable}{Extra \protect\t{econf} arguments for EAPIs} \label{tab:econf-options-table}
\begin{tabular}{ l l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -159,7 +159,7 @@ has returned.
\end{tabular}
\end{centertable}
- Note that the \t{\$\{EPREFIX\}} component represents the same offset-prefix as described in
+ Note that the \t{${EPREFIX}} component represents the same offset-prefix as described in
Table~\ref{tab:defined_vars}. It facilitates offset-prefix installations which is supported by
EAPIs listed in Table~\ref{tab:offset-env-vars-table}. When no offset-prefix installation is in
effect, \t{EPREFIX} becomes the empty string, making the behaviour of \t{econf} equal for both
@@ -189,7 +189,7 @@ has returned.
\end{algorithmic}
\end{algorithm}
-\item[emake] Calls the \t{\$MAKE} program, or GNU make if the \t{MAKE} variable is unset.
+\item[emake] Calls the \t{$MAKE} program, or GNU make if the \t{MAKE} variable is unset.
Any arguments given are passed directly to the make command, as are the user's chosen
\t{MAKEOPTS}\@. Arguments given to \t{emake} override user configuration. See also
section~\ref{sec:guaranteed-system-commands}. \t{emake} must be an external program and cannot
@@ -247,9 +247,9 @@ function has returned.
per section~\ref{sec:failure-behaviour}.
\item[dodoc] \featurelabel{dodoc} Installs the given files into a subdirectory under
- \t{/usr/share/doc/\$\{PF\}/} with file mode \t{0644}. The subdirectory is set by the most recent
+ \t{/usr/share/doc/${PF}/} with file mode \t{0644}. The subdirectory is set by the most recent
call to \t{docinto}. If \t{docinto} has not yet been called, instead installs to the directory
- \t{/usr/share/doc/\$\{PF\}/}. For EAPIs listed in table~\ref{tab:dodoc-table} as supporting \t{-r},
+ \t{/usr/share/doc/${PF}/}. For EAPIs listed in table~\ref{tab:dodoc-table} as supporting \t{-r},
if the first argument is \t{-r}, any subsequent arguments that are directories are installed
recursively to the appropriate location; in any other case, it is an error for a directory to be
specified. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -268,7 +268,7 @@ function has returned.
section~\ref{sec:banned-commands}. Failure behaviour is EAPI dependent as per
section~\ref{sec:failure-behaviour}.
-\item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
+\item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/$PF/}.
The subdirectory is \t{html} by default, but this can be overridden by setting the \t{DOCDESTTREE}
variable with the \t{docinto} function. Files to be installed automatically are determined by
extension and the default extensions are \t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg},
@@ -356,7 +356,7 @@ that can be passed to \t{dohtml} are as follows:
\item[domo] Installs a \t{.mo} file with file mode \t{0644} into the appropriate subdirectory of
\t{DESTTREE/share/locale}, generated by taking the basename of the file, removing the \t{.*}
- suffix, and appending \t{/LC\_MESSAGES}. The name of the installed files is the package name
+ suffix, and appending \t{/LC_MESSAGES}. The name of the installed files is the package name
with \t{.mo} appended. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.
@@ -401,7 +401,7 @@ that can be passed to \t{dohtml} are as follows:
\end{description}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \protect\t{dodoc -r}} \label{tab:dodoc-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -416,7 +416,7 @@ that can be passed to \t{dohtml} are as follows:
\end{tabular}
\end{centertable}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \protect\t{doins}} \label{tab:doins-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -431,7 +431,7 @@ that can be passed to \t{dohtml} are as follows:
\end{tabular}
\end{centertable}
-\begin{centertable}{\t{doman} language support options for EAPIs}
+\begin{centertable}{\protect\t{doman} language support options for EAPIs}
\label{tab:doman-table}
\begin{tabular}{ l l l }
\toprule
@@ -449,8 +449,8 @@ that can be passed to \t{dohtml} are as follows:
\end{centertable}
\subsubsection{Commands affecting install destinations}
-The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
-offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the
+The following commands are used to set the various destination trees, all relative to \t{${ED}} in
+offset-prefix aware EAPIs and relative to \t{${D}} in offset-prefix agnostic EAPIs, used by the
above installation commands. They must be shell functions or aliases, due to the need to set variables
read by the above commands. Ebuilds must not run any of these commands once the current phase function
has returned.
@@ -458,8 +458,8 @@ has returned.
\begin{description}
\item[into] Sets the value of \t{DESTTREE} for future invocations
- of the above utilities. Creates the directory under \t{\$\{ED\}}
- in offset-prefix aware EAPIs or under \t{\$\{D\}} in offset-prefix
+ of the above utilities. Creates the directory under \t{${ED}}
+ in offset-prefix aware EAPIs or under \t{${D}} in offset-prefix
agnostic EAPIs, using \t{install -d} with no additional options,
if it does not already exist. Failure behaviour is EAPI dependent
as per section~\ref{sec:failure-behaviour}.
@@ -494,10 +494,10 @@ maintain two lists:
\begin{compactitem}
\item An inclusion list, which initially contains \t{/usr/share/doc}, \t{/usr/share/info} and
\t{/usr/share/man}.
-\item An exclusion list, which initially contains \t{/usr/share/doc/\$\{PF\}/html}.
+\item An exclusion list, which initially contains \t{/usr/share/doc/${PF}/html}.
\end{compactitem}
-The optional compression shall be carried out after \t{src\_install} has completed, and before the
+The optional compression shall be carried out after \t{src_install} has completed, and before the
execution of any subsequent phase function. For each item in the inclusion list, pretend it has the
value of the \t{ED} variable in offset-prefix aware EAPIs or the \t{D}
variable in offset-prefix agnostic EAPIs prepended, then:
@@ -524,7 +524,7 @@ The package manager shall take appropriate steps to ensure that its compression
sensibly even if an item is listed in the inclusion list multiple times, if an item is a symlink,
or if a file is already compressed.
-The following commands may be used in \t{src\_install} to alter these lists. It is an error to call
+The following commands may be used in \t{src_install} to alter these lists. It is an error to call
any of these functions from any other phase.
\begin{description}
@@ -554,7 +554,7 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
these commands once the current phase function has returned. Ebuilds must not run any of these
functions in global scope.
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
+If any of these functions is called with a flag value that is not included in \t{IUSE_EFFECTIVE},
either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
\begin{description}
@@ -565,12 +565,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
is met.
\item[useq] Deprecated synonym for \t{use}.
\item[use\_with] Has one-, two-, and three-argument forms. The first argument is a USE flag name,
- the second a \t{configure} option name (\t{\$\{opt\}}), defaulting to the same as the first argument
- if not provided, and the third is a string value (\t{\$\{value\}}), defaulting to nothing. If the
- USE flag is set, outputs \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
- \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs \t{-{}-without-\$\{opt\}}.
-\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or \t{-{}-disable-}
-instead of \t{-{}-with-} or \t{-{}-without-}.
+ the second a \t{configure} option name (\t{${opt}}), defaulting to the same as the first argument
+ if not provided, and the third is a string value (\t{${value}}), defaulting to nothing. If the
+ USE flag is set, outputs \t{--with-${opt}=${value}} if the third argument was provided, and
+ \t{--with-${opt}} otherwise. If the flag is not set, then it outputs \t{--without-${opt}}.
+\item[use\_enable] Works the same as \t{use_with()}, but outputs \t{--enable-} or \t{--disable-}
+instead of \t{--with-} or \t{--without-}.
\end{description}
\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
@@ -608,7 +608,7 @@ has returned.
argument, if it names, relative to \t{ED} (offset-prefix aware EAPIs) or \t{D} (offset-prefix agnostic
EAPIs) a file which exists, then \t{sed} is run with the current expression on that file. Otherwise,
the current expression is set to the text of the argument. The initial value of the expression is
- \t{s:\$\{ED\}::g} in offset-prefix aware EAPIs and \t{s:\$\{D\}::g} in offset-prefix agnostic
+ \t{s:${ED}::g} in offset-prefix aware EAPIs and \t{s:${D}::g} in offset-prefix agnostic
EAPIs. In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
section~\ref{sec:banned-commands}. Failure behaviour is EAPI dependent as per
section~\ref{sec:failure-behaviour}.
@@ -655,7 +655,7 @@ has returned.
It is up to the ebuild to ensure that the relevant external utilities are available, whether by
being in the system set or via dependencies.
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
+\begin{centertable}{\protect\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -673,13 +673,13 @@ has returned.
\item[inherit] See section~\ref{sec:inherit}.
\item[default]
- \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
- section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function
+ \featurelabel{default-func} Calls the \t{default_} function for the current phase (see
+ section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default_} function
does not exist for the current phase in the current EAPI. Only available in EAPIs listed in
table~\ref{tab:default-function-table}.
\end{description}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \protect\t{default} function} \label{tab:default-function-table}
\begin{tabular}{ l l }
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
@@ -702,9 +702,9 @@ Ebuilds must not run any of these commands once the current phase function has r
\begin{description}
\item[debug-print] If in a special debug mode, the arguments should be outputted or recorded using
some kind of debug logging.
-\item[debug-print-function] Calls \t{debug-print} with \t{\$1: entering function} as the first
+\item[debug-print-function] Calls \t{debug-print} with \t{$1: entering function} as the first
argument and the remaining arguments as additional arguments.
-\item[debug-print-section] Calls \t{debug-print} with \t{now in section \$*}.
+\item[debug-print-section] Calls \t{debug-print} with \t{now in section $*}.
\end{description}
\subsubsection{Reserved Commands and Variables}
diff --git a/pms.cls b/pms.cls
index 32a48b9..aeb30f2 100644
--- a/pms.cls
+++ b/pms.cls
@@ -39,6 +39,7 @@
% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
\g@addto@macro\@documentclasshook{
+ \PassOptionsToPackage{obeyspaces}{url}
\RequirePackage{
caption, % Extended float environment formatting
float, % More control over float environments
@@ -89,7 +90,7 @@
% tex4ht workaround: this needs to happen after loading hyperref
\g@addto@macro\@documentclasshook{
\renewcommand{\i}[1]{\textit{#1}}
- \renewcommand{\t}[1]{\texttt{#1}}
+ \DeclareUrlCommand{\t}{\urlstyle{tt}}
}
\newcommand{\e}[1]{\emph{#1}}
\renewcommand{\b}[1]{\textbf{#1}}
diff --git a/profile-variables.tex b/profile-variables.tex
index cb6e63f..67e632a 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -14,10 +14,10 @@ arbitrary, not necessarily related to the order of tokens in any given profile.
variables must be treated in this fashion:
\begin{compactitem}
\item \t{USE}
-\item \t{USE\_EXPAND}
-\item \t{USE\_EXPAND\_HIDDEN}
-\item \t{CONFIG\_PROTECT}
-\item \t{CONFIG\_PROTECT\_MASK}
+\item \t{USE_EXPAND}
+\item \t{USE_EXPAND_HIDDEN}
+\item \t{CONFIG_PROTECT}
+\item \t{CONFIG_PROTECT_MASK}
\end{compactitem}
Other variables, except where they affect only package-manager-specific functionality (such as
@@ -33,11 +33,11 @@ The following variables have specific meanings when set in profiles.
\item[CONFIG\_PROTECT, CONFIG\_PROTECT\_MASK] Contain whitespace-delimited lists used to control the
configuration file protection. Described more fully in chapter~\ref{sec:config-protect}.
\item[USE] Defines the list of default USE flags for this profile. Flags may be added or removed by
- the user's configuration. \t{USE\_EXPAND} values must not be specified in this way.
+ the user's configuration. \t{USE_EXPAND} values must not be specified in this way.
\item[USE\_EXPAND] Defines a list of variables which are to be treated incrementally and whose
contents are to be expanded into the USE variable as passed to ebuilds. See
section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND}. The
+\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE_EXPAND}. The
package manager may use this set as a hint to avoid displaying uninteresting or unhelpful
information to an end user.
\end{description}
diff --git a/profiles.tex b/profiles.tex
index 2dba163..c3e30ca 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -51,11 +51,11 @@ variable is combined or overridden individually as described in section~\ref{sec
The file itself is a line-based key-value format. Each line contains a single \verb|VAR="value"|
entry, where the value must be double quoted. A variable name must start with one of \t{a-zA-Z}
-and may contain \t{a-zA-Z0-9\_} only. Additional syntax, which is a small subset of
+and may contain \t{a-zA-Z0-9_} only. Additional syntax, which is a small subset of
bash syntax, is allowed as follows:
\begin{compactitem}
-\item Variables to the right of the equals sign in the form \t{\$\{foo\}} or \t{\$foo} are recognised and
+\item Variables to the right of the equals sign in the form \t{${foo}} or \t{$foo} are recognised and
expanded from variables previously set in this or earlier \t{make.defaults} files.
\item One logical line may be continued over multiple physical lines by escaping the newline with a
backslash. A quoted string may be continued over multiple physical lines by either a simple
@@ -153,7 +153,7 @@ determine whether a flag is masked for a given package version. This is describe
The logic for \t{use.force} and \t{package.use.force} is identical. If a flag is both masked and
forced, the mask is considered to take precedence.
-\t{USE\_EXPAND} values may be forced or masked by using \t{expand\_name\_value}.
+\t{USE_EXPAND} values may be forced or masked by using \t{expand_name_value}.
A package manager may treat \t{ARCH} values that are not the current architecture as being masked.
diff --git a/tree-layout.tex b/tree-layout.tex
index d548972..3bd51ca 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -82,7 +82,7 @@ The profiles directory shall contain zero or more profile directories
as described in section~\ref{sec:profiles}, as well as the following files
and directories. In any line-based file, lines beginning with a \#
character are treated as comments, whilst blank lines are ignored. All
-contents of this directory, with the exception of \t{repo\_name}, are
+contents of this directory, with the exception of \t{repo_name}, are
optional.
The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
@@ -120,10 +120,10 @@ manager must ignore any files in this directory that it does not recognise.
described in section~\ref{sec:use.desc}.
\item[use.local.desc] Contains descriptions of valid local USE flags for this repository, along with
the packages to which they apply. The format is as described in section~\ref{sec:use.desc}.
-\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE\_EXPAND}
+\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND}
variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable
name, in lowercase, whose possible values the file describes. The format of each file is as for
- \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE\_EXPAND} name is \i{not}
+ \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \i{not}
included as a prefix here.
\item[updates/] This directory is described in section~\ref{sec:updates-dir}.
\end{description}
--
1.7.2.5
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 198 bytes --]
next reply other threads:[~2010-12-21 15:27 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-12-21 15:29 Christian Faulhammer [this message]
2010-12-21 15:30 ` [gentoo-pms] \t redefinition Ciaran McCreesh
2010-12-21 15:36 ` Ulrich Mueller
2010-12-21 15:40 ` Ciaran McCreesh
2010-12-21 15:38 ` Ulrich Mueller
2010-12-21 18:59 ` Christian Faulhammer
2010-12-21 19:33 ` Ulrich Mueller
2010-12-23 8:21 ` Christian Faulhammer
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20101221162902.0b8cdeaf@gentoo.org \
--to=fauli@gentoo.org \
--cc=gentoo-pms@lists.gentoo.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox