summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorUlrich Müller <ulm@gentoo.org>2019-03-23 21:27:04 +0100
committerUlrich Müller <ulm@gentoo.org>2019-03-24 16:56:04 +0100
commite0e98974e025ee7e71e1a62c81957008cec69dd7 (patch)
tree39a213e48c3d60280c89d23ba6822b3c30a55425
parentMakefile: Change encoding of HTML file to UTF-8. (diff)
downloadpms-e0e98974e025ee7e71e1a62c81957008cec69dd7.tar.gz
pms-e0e98974e025ee7e71e1a62c81957008cec69dd7.tar.bz2
pms-e0e98974e025ee7e71e1a62c81957008cec69dd7.zip
Move some subsections out of the "Dependencies" chapter.
SRC_URI, REQUIRED_USE, PROPERTIES, and RESTRICT are ebuild-defined variables. Move them to that chapter. Add reference to tab:uri-arrows-table in SRC_URI section. Otherwise, no change of wording. Signed-off-by: Ulrich Müller <ulm@gentoo.org>
-rw-r--r--dependencies.tex79
-rw-r--r--eapi-differences.tex10
-rw-r--r--ebuild-vars.tex81
3 files changed, 86 insertions, 84 deletions
diff --git a/dependencies.tex b/dependencies.tex
index 299974e..a38b61e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -133,20 +133,6 @@ be surrounded on both sides by whitespace, except at the start and end of the st
In particular, note that whitespace is not optional.
\ChangeWhenAddingAnEAPI{7}
-\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
- \label{tab:uri-arrows-table}
- \begin{tabular}{ll}
- \toprule
- \multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
- \midrule
- 0, 1 & No \\
- 2, 3, 4, 5, 6, 7 & Yes \\
- \bottomrule
- \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{7}
\begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
\label{tab:at-most-one-of-table}
\begin{tabular}{ll}
@@ -397,71 +383,6 @@ 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}.
-\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}
-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,
-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}.
-
-\subsection{Restrict}
-\label{sec:restrict}
-
-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
- 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. Implies \t{mirror}.
-\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
- listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
- behaviour may be altered by the \t{dostrip} command.
-\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.
-\end{description}
-
-Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
-
-\subsection{Properties}
-\label{sec:properties}
-
-The following tokens are permitted inside \t{PROPERTIES}:
-
-\begin{description}
-\item[interactive] The package may require interaction with the user via the tty.
-\end{description}
-
-Ebuilds may not rely upon any token being supported.
-
-\subsection{SRC_URI}
-\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
-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
-managers may also consult mirrors for their files.
-
-The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for mirror
-details.
-
-If a simple filename rather than a full URI is provided, the package manager can only use mirrors to
-download the file.
-
-The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
-section~\ref{sec:restrict} for details.
-
-\featurelabel{src-uri-arrows} In EAPIs supporting arrows, if an arrow is used, the filename used
-when saving to \t{DISTDIR} shall instead be the name on the right of the arrow. When consulting
-mirrors (except for those explicitly listed on the left of the arrow, if \t{mirror://} is used), the
-filename to the right of the arrow shall be requested instead of the filename in the URI.
-
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
%%% Local Variables:
diff --git a/eapi-differences.tex b/eapi-differences.tex
index a2d04f8..4c22473 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -68,6 +68,9 @@ Bash version & \compactfeatureref{bash-version} &
\t{PROPERTIES} & \compactfeatureref{properties} &
Optionally & Yes & Yes & Yes & Yes \\
+\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
+ * & Yes & Yes & Yes & Yes \\
+
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
Yes & No & No & No & No \\
@@ -84,9 +87,6 @@ Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
\compactfeatureref{empty-dep-groups} &
Yes & Yes & Yes & Yes & No \\
-\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
- * & Yes & Yes & Yes & Yes \\
-
Slot dependencies & \compactfeatureref{slot-deps} &
* & Named & Named and Operator & Named and Operator & Named and Operator \\
@@ -343,9 +343,9 @@ EAPI 1 is EAPI 0 with the following changes:
EAPI 2 is EAPI 1 with the following changes:
\begin{compactitem}
+\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
\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}.
@@ -370,8 +370,8 @@ EAPI 3 is EAPI 2 with the following changes:
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{PROPERTIES} support is mandatory, \featureref{properties}.
\item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}.
\item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}.
\item Use dependency defaults, \featureref{use-dep-defaults}.
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 497bd77..bdd0f6b 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -145,6 +145,45 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou
with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
these values are different.
+\subsection{SRC_URI}
+\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
+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
+managers may also consult mirrors for their files.
+
+The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for
+mirror details.
+
+If a simple filename rather than a full URI is provided, the package manager can only use mirrors
+to download the file.
+
+The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
+section~\ref{sec:restrict} for details.
+
+\featurelabel{src-uri-arrows} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting
+arrows, if an arrow is used, the filename used when saving to \t{DISTDIR} shall instead be the name
+on the right of the arrow. When consulting mirrors (except for those explicitly listed on the left
+of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested
+instead of the filename in the URI.
+
+\ChangeWhenAddingAnEAPI{7}
+\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
+ \label{tab:uri-arrows-table}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
+ \midrule
+ 0, 1 & No \\
+ 2, 3, 4, 5, 6, 7 & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\subsection{Keywords}
\label{sec:keywords}
@@ -166,6 +205,48 @@ unlisted architectures.
An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture.
+\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}
+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,
+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}.
+
+\subsection{Properties}
+\label{sec:properties}
+
+The following tokens are permitted inside \t{PROPERTIES}:
+
+\begin{description}
+\item[interactive] The package may require interaction with the user via the tty.
+\end{description}
+
+Ebuilds may not rely upon any token being supported.
+
+\subsection{Restrict}
+\label{sec:restrict}
+
+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 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. Implies \t{mirror}.
+\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
+ listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
+ behaviour may be altered by the \t{dostrip} command.
+\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.
+\end{description}
+
+Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
+
\subsection{RDEPEND value}
\label{sec:rdepend-depend}