commit:     e0e98974e025ee7e71e1a62c81957008cec69dd7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 20:27:04 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e0e98974

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 <AT> gentoo.org>

 dependencies.tex     | 79 --------------------------------------------------
 eapi-differences.tex | 10 +++----
 ebuild-vars.tex      | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 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
@@ -132,20 +132,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}
@@ -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}
 

Reply via email to