Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:master commit in: /
Date: Thu, 28 Mar 2019 07:23:07
Message-Id: 1553442964.e0e98974e025ee7e71e1a62c81957008cec69dd7.ulm@gentoo
1 commit: e0e98974e025ee7e71e1a62c81957008cec69dd7
2 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
3 AuthorDate: Sat Mar 23 20:27:04 2019 +0000
4 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
5 CommitDate: Sun Mar 24 15:56:04 2019 +0000
6 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=e0e98974
7
8 Move some subsections out of the "Dependencies" chapter.
9
10 SRC_URI, REQUIRED_USE, PROPERTIES, and RESTRICT are ebuild-defined
11 variables. Move them to that chapter.
12
13 Add reference to tab:uri-arrows-table in SRC_URI section. Otherwise,
14 no change of wording.
15
16 Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
17
18 dependencies.tex | 79 --------------------------------------------------
19 eapi-differences.tex | 10 +++----
20 ebuild-vars.tex | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
21 3 files changed, 86 insertions(+), 84 deletions(-)
22
23 diff --git a/dependencies.tex b/dependencies.tex
24 index 299974e..a38b61e 100644
25 --- a/dependencies.tex
26 +++ b/dependencies.tex
27 @@ -132,20 +132,6 @@ be surrounded on both sides by whitespace, except at the start and end of the st
28
29 In particular, note that whitespace is not optional.
30
31 -\ChangeWhenAddingAnEAPI{7}
32 -\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
33 - \label{tab:uri-arrows-table}
34 - \begin{tabular}{ll}
35 - \toprule
36 - \multicolumn{1}{c}{\textbf{EAPI}} &
37 - \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
38 - \midrule
39 - 0, 1 & No \\
40 - 2, 3, 4, 5, 6, 7 & Yes \\
41 - \bottomrule
42 - \end{tabular}
43 -\end{centertable}
44 -
45 \ChangeWhenAddingAnEAPI{7}
46 \begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
47 \label{tab:at-most-one-of-table}
48 @@ -397,71 +383,6 @@ would not have to be part of \t{IUSE}.}
49 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
50 flag in \t{IUSE_EFFECTIVE}.
51
52 -\subsection{USE state constraints}
53 -\label{sec:required-use}
54 -\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
55 -flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
56 -must be enabled (or disabled if it has an exclamation mark prefix).
57 -
58 -If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
59 -it must treat this package version as if it was masked. No phase functions must be called.
60 -
61 -It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
62 -
63 -\subsection{Restrict}
64 -\label{sec:restrict}
65 -
66 -The following tokens are permitted inside \t{RESTRICT}:
67 -
68 -\begin{description}
69 -\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not
70 - be checked when fetching.
71 -\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
72 - entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
73 -\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
74 - listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
75 - behaviour may be altered by the \t{dostrip} command.
76 -\item[userpriv] The package manager may not drop root privileges when building the package.
77 -\item[test] The \t{src_test} phase must not be run.
78 -\end{description}
79 -
80 -Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
81 -
82 -\subsection{Properties}
83 -\label{sec:properties}
84 -
85 -The following tokens are permitted inside \t{PROPERTIES}:
86 -
87 -\begin{description}
88 -\item[interactive] The package may require interaction with the user via the tty.
89 -\end{description}
90 -
91 -Ebuilds may not rely upon any token being supported.
92 -
93 -\subsection{SRC_URI}
94 -\label{sec:src-uri-behaviour}
95 -
96 -All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
97 -matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
98 -components are used to make the \t{A} and \t{AA} variables.
99 -
100 -If a component contains a full URI with protocol, that download location must be used. Package
101 -managers may also consult mirrors for their files.
102 -
103 -The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for mirror
104 -details.
105 -
106 -If a simple filename rather than a full URI is provided, the package manager can only use mirrors to
107 -download the file.
108 -
109 -The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
110 -section~\ref{sec:restrict} for details.
111 -
112 -\featurelabel{src-uri-arrows} In EAPIs supporting arrows, if an arrow is used, the filename used
113 -when saving to \t{DISTDIR} shall instead be the name on the right of the arrow. When consulting
114 -mirrors (except for those explicitly listed on the left of the arrow, if \t{mirror://} is used), the
115 -filename to the right of the arrow shall be requested instead of the filename in the URI.
116 -
117 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
118
119 %%% Local Variables:
120
121 diff --git a/eapi-differences.tex b/eapi-differences.tex
122 index a2d04f8..4c22473 100644
123 --- a/eapi-differences.tex
124 +++ b/eapi-differences.tex
125 @@ -68,6 +68,9 @@ Bash version & \compactfeatureref{bash-version} &
126 \t{PROPERTIES} & \compactfeatureref{properties} &
127 Optionally & Yes & Yes & Yes & Yes \\
128
129 +\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
130 + * & Yes & Yes & Yes & Yes \\
131 +
132 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
133 Yes & No & No & No & No \\
134
135 @@ -84,9 +87,6 @@ Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
136 \compactfeatureref{empty-dep-groups} &
137 Yes & Yes & Yes & Yes & No \\
138
139 -\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
140 - * & Yes & Yes & Yes & Yes \\
141 -
142 Slot dependencies & \compactfeatureref{slot-deps} &
143 * & Named & Named and Operator & Named and Operator & Named and Operator \\
144
145 @@ -343,9 +343,9 @@ EAPI 1 is EAPI 0 with the following changes:
146 EAPI 2 is EAPI 1 with the following changes:
147
148 \begin{compactitem}
149 +\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
150 \item Use dependencies, \featureref{use-deps}.
151 \item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}.
152 -\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
153 \item \t{src_prepare}, \featureref{src-prepare}.
154 \item \t{src_configure}, \featureref{src-configure}.
155 \item Different \t{src_compile} implementation, \featureref{src-compile-2}.
156 @@ -370,8 +370,8 @@ EAPI 3 is EAPI 2 with the following changes:
157 EAPI 4 is EAPI 3 with the following changes:
158
159 \begin{compactitem}
160 -\item \t{PROPERTIES} support is mandatory, \featureref{properties}.
161 \item \t{REQUIRED_USE}, \featureref{required-use}.
162 +\item \t{PROPERTIES} support is mandatory, \featureref{properties}.
163 \item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}.
164 \item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}.
165 \item Use dependency defaults, \featureref{use-dep-defaults}.
166
167 diff --git a/ebuild-vars.tex b/ebuild-vars.tex
168 index 497bd77..bdd0f6b 100644
169 --- a/ebuild-vars.tex
170 +++ b/ebuild-vars.tex
171 @@ -145,6 +145,45 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou
172 with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
173 these values are different.
174
175 +\subsection{SRC_URI}
176 +\label{sec:src-uri-behaviour}
177 +
178 +All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
179 +matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
180 +components are used to make the \t{A} and \t{AA} variables.
181 +
182 +If a component contains a full URI with protocol, that download location must be used. Package
183 +managers may also consult mirrors for their files.
184 +
185 +The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for
186 +mirror details.
187 +
188 +If a simple filename rather than a full URI is provided, the package manager can only use mirrors
189 +to download the file.
190 +
191 +The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
192 +section~\ref{sec:restrict} for details.
193 +
194 +\featurelabel{src-uri-arrows} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting
195 +arrows, if an arrow is used, the filename used when saving to \t{DISTDIR} shall instead be the name
196 +on the right of the arrow. When consulting mirrors (except for those explicitly listed on the left
197 +of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested
198 +instead of the filename in the URI.
199 +
200 +\ChangeWhenAddingAnEAPI{7}
201 +\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
202 + \label{tab:uri-arrows-table}
203 + \begin{tabular}{ll}
204 + \toprule
205 + \multicolumn{1}{c}{\textbf{EAPI}} &
206 + \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
207 + \midrule
208 + 0, 1 & No \\
209 + 2, 3, 4, 5, 6, 7 & Yes \\
210 + \bottomrule
211 + \end{tabular}
212 +\end{centertable}
213 +
214 \subsection{Keywords}
215 \label{sec:keywords}
216
217 @@ -166,6 +205,48 @@ unlisted architectures.
218
219 An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture.
220
221 +\subsection{USE state constraints}
222 +\label{sec:required-use}
223 +
224 +\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
225 +flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
226 +must be enabled (or disabled if it has an exclamation mark prefix).
227 +
228 +If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
229 +it must treat this package version as if it was masked. No phase functions must be called.
230 +
231 +It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
232 +
233 +\subsection{Properties}
234 +\label{sec:properties}
235 +
236 +The following tokens are permitted inside \t{PROPERTIES}:
237 +
238 +\begin{description}
239 +\item[interactive] The package may require interaction with the user via the tty.
240 +\end{description}
241 +
242 +Ebuilds may not rely upon any token being supported.
243 +
244 +\subsection{Restrict}
245 +\label{sec:restrict}
246 +
247 +The following tokens are permitted inside \t{RESTRICT}:
248 +
249 +\begin{description}
250 +\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not be
251 + checked when fetching.
252 +\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If entries are
253 + not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
254 +\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
255 + listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
256 + behaviour may be altered by the \t{dostrip} command.
257 +\item[userpriv] The package manager may not drop root privileges when building the package.
258 +\item[test] The \t{src_test} phase must not be run.
259 +\end{description}
260 +
261 +Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
262 +
263 \subsection{RDEPEND value}
264 \label{sec:rdepend-depend}