Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:eapi-9 commit in: /
Date: Mon, 22 Aug 2022 18:30:24
Message-Id: 1661192997.361341d3cfe1437f55f5c58a836899207393c6e2.ulm@gentoo
1 commit: 361341d3cfe1437f55f5c58a836899207393c6e2
2 Author: Ulrich Müller <ulm <AT> gentoo <DOT> org>
3 AuthorDate: Tue Aug 3 16:32:47 2021 +0000
4 Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org>
5 CommitDate: Mon Aug 22 18:29:57 2022 +0000
6 URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=361341d3
7
8 Add an EAPI 9 identical to EAPI 8
9
10 Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>
11
12 commands.tex | 4 +-
13 dependencies.tex | 26 +++++------
14 eapi-differences.tex | 116 +++++++++++++++++++++++++++-----------------------
15 eapis.tex | 4 +-
16 ebuild-env-vars.tex | 26 +++++------
17 ebuild-format.tex | 4 +-
18 ebuild-functions.tex | 46 ++++++++++----------
19 ebuild-vars.tex | 22 +++++-----
20 eclasses.tex | 4 +-
21 merge.tex | 6 +--
22 pkg-mgr-commands.tex | 100 +++++++++++++++++++++----------------------
23 pms.tex | 4 +-
24 profile-variables.tex | 8 ++--
25 profiles.tex | 12 +++---
26 tree-layout.tex | 8 ++--
27 15 files changed, 199 insertions(+), 191 deletions(-)
28
29 diff --git a/commands.tex b/commands.tex
30 index d0ad87d..c6f4f36 100644
31 --- a/commands.tex
32 +++ b/commands.tex
33 @@ -33,7 +33,7 @@ The following commands must always be available in the ebuild environment:
34 table~\ref{tab:system-commands-table} as requiring GNU find.
35 \end{compactitem}
36
37 -\ChangeWhenAddingAnEAPI{8}
38 +\ChangeWhenAddingAnEAPI{9}
39 \begin{centertable}{System commands for EAPIs}
40 \label{tab:system-commands-table}
41 \begin{tabular}{lll}
42 @@ -44,7 +44,7 @@ The following commands must always be available in the ebuild environment:
43 \midrule
44 0, 1, 2, 3, 4 & Undefined & Any \\
45 5, 6 & Yes & Any \\
46 - 7, 8 & Yes & 2.7 \\
47 + 7, 8, 9 & Yes & 2.7 \\
48 \bottomrule
49 \end{tabular}
50 \end{centertable}
51
52 diff --git a/dependencies.tex b/dependencies.tex
53 index f14a08c..de6e752 100644
54 --- a/dependencies.tex
55 +++ b/dependencies.tex
56 @@ -88,7 +88,7 @@ with the native build system (\t{CBUILD}). Ebuilds are allowed to call them in \
57 \t{pkg_postinst}. Ebuilds may also call them in \t{pkg_prerm} and \t{pkg_postrm} but must not rely
58 on them being available.
59
60 -\ChangeWhenAddingAnEAPI{8}
61 +\ChangeWhenAddingAnEAPI{9}
62 \begin{centertable}{EAPIs supporting additional dependency types}
63 \label{tab:depend-table}
64 \begin{tabular}{lll}
65 @@ -99,7 +99,7 @@ on them being available.
66 \midrule
67 0, 1, 2, 3, 4, 5, 6 & No & No \\
68 7 & Yes & No \\
69 - 8 & Yes & Yes \\
70 + 8, 9 & Yes & Yes \\
71 \bottomrule
72 \end{tabular}
73 \end{centertable}
74 @@ -155,7 +155,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
75
76 In particular, note that whitespace is not optional.
77
78 -\ChangeWhenAddingAnEAPI{8}
79 +\ChangeWhenAddingAnEAPI{9}
80 \begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
81 \label{tab:at-most-one-of-table}
82 \begin{tabular}{ll}
83 @@ -164,7 +164,7 @@ In particular, note that whitespace is not optional.
84 \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE ??}\ groups?}} \\
85 \midrule
86 0, 1, 2, 3, 4 & No \\
87 - 5, 6, 7, 8 & Yes \\
88 + 5, 6, 7, 8, 9 & Yes \\
89 \bottomrule
90 \end{tabular}
91 \end{centertable}
92 @@ -204,7 +204,7 @@ In an exactly-one-of group, exactly one immediate child element must be matched.
93 In EAPIs specified in table~\ref{tab:empty-dep-groups}, an empty exactly-one-of group counts as
94 being matched.
95
96 -\ChangeWhenAddingAnEAPI{8}
97 +\ChangeWhenAddingAnEAPI{9}
98 \begin{centertable}{Matching of empty dependency groups in EAPIs}
99 \label{tab:empty-dep-groups}
100 \begin{tabular}{ll}
101 @@ -214,7 +214,7 @@ being matched.
102 are matched?}} \\
103 \midrule
104 0, 1, 2, 3, 4, 5, 6 & Yes \\
105 - 7, 8 & No \\
106 + 7, 8, 9 & No \\
107 \bottomrule
108 \end{tabular}
109 \end{centertable}
110 @@ -250,7 +250,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
111
112 \note{Order is important. The slot restriction must come before use dependencies.}
113
114 -\ChangeWhenAddingAnEAPI{8}
115 +\ChangeWhenAddingAnEAPI{9}
116 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
117 \label{tab:slot-deps-table}
118 \begin{tabular}{lll}
119 @@ -261,12 +261,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
120 \midrule
121 0 & No & No \\
122 1, 2, 3, 4 & Named only & No \\
123 - 5, 6, 7, 8 & Named and operator & Yes \\
124 + 5, 6, 7, 8, 9 & Named and operator & Yes \\
125 \bottomrule
126 \end{tabular}
127 \end{centertable}
128
129 -\ChangeWhenAddingAnEAPI{8}
130 +\ChangeWhenAddingAnEAPI{9}
131 \begin{centertable}{EAPIs supporting \t{USE} dependencies}
132 \label{tab:use-deps-table}
133 \begin{tabular}{ll}
134 @@ -276,7 +276,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
135 \midrule
136 0, 1 & No \\
137 2, 3 & 2-style \\
138 - 4, 5, 6, 7, 8 & 4-style \\
139 + 4, 5, 6, 7, 8, 9 & 4-style \\
140 \bottomrule
141 \end{tabular}
142 \end{centertable}
143 @@ -310,7 +310,7 @@ ignored by the package manager, so long as any blocked package will be uninstall
144 strong block must not be ignored. The mapping from one or two exclamation marks to strength is
145 described in table~\ref{tab:bang-strength-table}.
146
147 -\ChangeWhenAddingAnEAPI{8}
148 +\ChangeWhenAddingAnEAPI{9}
149 \begin{centertable}{Exclamation mark strengths for EAPIs}
150 \label{tab:bang-strength-table}
151 \begin{tabular}{lll}
152 @@ -319,8 +319,8 @@ described in table~\ref{tab:bang-strength-table}.
153 \multicolumn{1}{c}{\textbf{\t{!}}} &
154 \multicolumn{1}{c}{\textbf{\t{!!}}} \\
155 \midrule
156 - 0, 1 & Unspecified & Forbidden \\
157 - 2, 3, 4, 5, 6, 7, 8 & Weak & Strong \\
158 + 0, 1 & Unspecified & Forbidden \\
159 + 2, 3, 4, 5, 6, 7, 8, 9 & Weak & Strong \\
160 \bottomrule
161 \end{tabular}
162 \end{centertable}
163
164 diff --git a/eapi-differences.tex b/eapi-differences.tex
165 index c727758..e48ea54 100644
166 --- a/eapi-differences.tex
167 +++ b/eapi-differences.tex
168 @@ -4,21 +4,21 @@
169 For lack of space, EAPIs 0 to~5 have been omitted from the table below, as well as items that would
170 have identical entries for all listed EAPIs.}
171
172 -\ChangeWhenAddingAnEAPI{8}
173 -\begin{longtable}{@{}lllll@{}}
174 +\ChangeWhenAddingAnEAPI{9}
175 +\begin{longtable}{@{}llllll@{}}
176 \caption{Features in EAPIs}\\
177 \toprule
178 \multicolumn{1}{c}{\textbf{Feature}} &
179 \multicolumn{1}{c}{\textbf{Ref.}} &
180 -\multicolumn{3}{c}{\textbf{EAPIs}} \\
181 -& & 6 & 7 & 8 \\
182 +\multicolumn{4}{c}{\textbf{EAPIs}} \\
183 +& & 6 & 7 & 8 & 9 \\
184 \midrule
185 \endfirsthead
186 \midrule
187 \multicolumn{1}{c}{\textbf{Feature}} &
188 \multicolumn{1}{c}{\textbf{Ref.}} &
189 -\multicolumn{3}{c}{\textbf{EAPIs}} \\
190 -& & 6 & 7 & 8 \\
191 +\multicolumn{4}{c}{\textbf{EAPIs}} \\
192 +& & 6 & 7 & 8 & 9 \\
193 \midrule
194 \endhead
195 \midrule
196 @@ -27,146 +27,146 @@ have identical entries for all listed EAPIs.}
197 \endlastfoot
198
199 \t{package.mask} directory & \compactfeatureref{package-mask-dir} &
200 - No & Yes & Yes \\
201 + No & Yes & Yes & Yes \\
202
203 Less strict filenames in \t{updates} & \compactfeatureref{updates-filenames} &
204 - No & No & Yes \\
205 + No & No & Yes & Yes \\
206
207 Profile files as directories & \compactfeatureref{profile-file-dirs} &
208 - No & Yes & Yes \\
209 + No & Yes & Yes & Yes \\
210
211 \t{package.provided} & \compactfeatureref{package-provided} &
212 - Optional & No & No \\
213 + Optional & No & No & No \\
214
215 Bash version & \compactfeatureref{bash-version} &
216 - 4.2 & 4.2 & 5.0 \\
217 + 4.2 & 4.2 & 5.0 & 5.0 \\
218
219 Selective URI restrictions & \compactfeatureref{uri-restrict} &
220 - No & No & Yes \\
221 + No & No & Yes & Yes \\
222
223 \t{BDEPEND} & \compactfeatureref{bdepend} &
224 - No & Yes & Yes \\
225 + No & Yes & Yes & Yes \\
226
227 \t{IDEPEND} & \compactfeatureref{idepend} &
228 - No & No & Yes \\
229 + No & No & Yes & Yes \\
230
231 Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
232 \compactfeatureref{empty-dep-groups} &
233 - Yes & No & No \\
234 + Yes & No & No & No \\
235
236 Working dir in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
237 - Any & Any & Empty \\
238 + Any & Any & Empty & Empty \\
239
240 \t{src_prepare} style & \compactfeatureref{src-prepare} &
241 - 6 & 6 & 8 \\
242 + 6 & 6 & 8 & 8 \\
243
244 Accumulate \t{PROPERTIES} & \compactfeatureref{accumulate-vars} &
245 - No & No & Yes \\
246 + No & No & Yes & Yes \\
247
248 Accumulate \t{RESTRICT} & \compactfeatureref{accumulate-vars} &
249 - No & No & Yes \\
250 + No & No & Yes & Yes \\
251
252 \t{PORTDIR} & \compactfeatureref{portdir} &
253 - Yes & No & No \\
254 + Yes & No & No & No \\
255
256 \t{ECLASSDIR} & \compactfeatureref{eclassdir} &
257 - Yes & No & No \\
258 + Yes & No & No & No \\
259
260 \t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
261 - No & Yes & Yes \\
262 + No & Yes & Yes & Yes \\
263
264 \t{BROOT} & \compactfeatureref{broot} &
265 - No & Yes & Yes \\
266 + No & Yes & Yes & Yes \\
267
268 \t{DESTTREE} & \compactfeatureref{desttree} &
269 - Yes & No & No \\
270 + Yes & No & No & No \\
271
272 \t{INSDESTTREE} & \compactfeatureref{insdesttree} &
273 - Yes & No & No \\
274 + Yes & No & No & No \\
275
276 \t{ENV_UNSET} & \compactfeatureref{env-unset} &
277 - No & Yes & Yes \\
278 + No & Yes & Yes & Yes \\
279
280 Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
281 - Yes & No & No \\
282 + Yes & No & No & No \\
283
284 GNU \t{patch} version & \compactfeatureref{gnu-patch} &
285 - Any & 2.7 & 2.7 \\
286 + Any & 2.7 & 2.7 & 2.7 \\
287
288 \t{nonfatal} function and external & \compactfeatureref{nonfatal} &
289 - No & Yes & Yes \\
290 + No & Yes & Yes & Yes \\
291
292 \t{dohtml} & \compactfeatureref{banned-commands} &
293 - Yes & Banned & Banned \\
294 + Yes & Banned & Banned & Banned \\
295
296 \t{dolib} & \compactfeatureref{banned-commands} &
297 - Yes & Banned & Banned \\
298 + Yes & Banned & Banned & Banned \\
299
300 \t{libopts} & \compactfeatureref{banned-commands} &
301 - Yes & Banned & Banned \\
302 + Yes & Banned & Banned & Banned \\
303
304 \t{useq} & \compactfeatureref{banned-commands} &
305 - Yes & Yes & Banned \\
306 + Yes & Yes & Banned & Banned \\
307
308 \t{hasv} & \compactfeatureref{banned-commands} &
309 - Yes & Yes & Banned \\
310 + Yes & Yes & Banned & Banned \\
311
312 \t{hasq} & \compactfeatureref{banned-commands} &
313 - Yes & Yes & Banned \\
314 + Yes & Yes & Banned & Banned \\
315
316 Query command options & \compactfeatureref{pm-query-options} &
317 - \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} & \t{-b}, \t{-d}, \t{-r} \\
318 + \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} & \t{-b}, \t{-d}, \t{-r} & \t{-b}, \t{-d}, \t{-r} \\
319
320 Output commands use stdout & \compactfeatureref{output-no-stdout} &
321 - Yes & No & No \\
322 + Yes & No & No & No \\
323
324 \t{eqawarn} & \compactfeatureref{eqawarn} &
325 - No & Yes & Yes \\
326 + No & Yes & Yes & Yes \\
327
328 \t{die} in subshell & \compactfeatureref{subshell-die} &
329 - No & Yes & Yes \\
330 + No & Yes & Yes & Yes \\
331
332 \t{econf -{}-datarootdir} & \compactfeatureref{econf-options} &
333 - No & No & Yes \\
334 + No & No & Yes & Yes \\
335
336 \t{econf -{}-with-sysroot} & \compactfeatureref{econf-options} &
337 - No & Yes & Yes \\
338 + No & Yes & Yes & Yes \\
339
340 \t{econf -{}-disable-static} & \compactfeatureref{econf-options} &
341 - No & No & Yes \\
342 + No & No & Yes & Yes \\
343
344 \t{domo} destination path & \compactfeatureref{domo-path} &
345 - \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
346 + \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} & \t{/usr} \\
347
348 \t{dosym -r} & \compactfeatureref{dosym-relative} &
349 - No & No & Yes \\
350 + No & No & Yes & Yes \\
351
352 \t{insopts} affects misc.\ commands & \compactfeatureref{insopts} &
353 - Yes & Yes & No \\
354 + Yes & Yes & No & No \\
355
356 \t{exeopts} affects \t{doinitd} & \compactfeatureref{exeopts} &
357 - Yes & Yes & No \\
358 + Yes & Yes & No & No \\
359
360 Controllable stripping & \compactfeatureref{dostrip} &
361 - No & Yes & Yes \\
362 + No & Yes & Yes & Yes \\
363
364 \t{dostrip} & \compactfeatureref{dostrip} &
365 - No & Yes & Yes \\
366 + No & Yes & Yes & Yes \\
367
368 \t{usev} second arg & \compactfeatureref{usev} &
369 - No & No & Yes \\
370 + No & No & Yes & Yes \\
371
372 \t{ver_*} commands & \compactfeatureref{ver-commands} &
373 - No & Yes & Yes \\
374 + No & Yes & Yes & Yes \\
375
376 \t{unpack} support for \t{7z} & \compactfeatureref{unpack-extensions} &
377 - Yes & Yes & No \\
378 + Yes & Yes & No & No \\
379
380 \t{unpack} support for \t{lha} & \compactfeatureref{unpack-extensions} &
381 - Yes & Yes & No \\
382 + Yes & Yes & No & No \\
383
384 \t{unpack} support for \t{rar} & \compactfeatureref{unpack-extensions} &
385 - Yes & Yes & No \\
386 + Yes & Yes & No & No \\
387
388 \end{longtable}
389
390 @@ -347,7 +347,15 @@ EAPI 8 is EAPI 7 with the following changes:
391 \item \t{unpack} no longer supports \t{.7z}, \t{.rar}, \t{.lha}, \featureref{unpack-extensions}.
392 \end{compactitem}
393
394 -\ChangeWhenAddingAnEAPI{8}
395 +\section{EAPI 9}
396 +
397 +EAPI 9 is EAPI 8 with the following changes:
398 +
399 +\begin{compactitem}
400 +\item None
401 +\end{compactitem}
402 +
403 +\ChangeWhenAddingAnEAPI{9}
404
405 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
406
407
408 diff --git a/eapis.tex b/eapis.tex
409 index a6c8109..fd0420c 100644
410 --- a/eapis.tex
411 +++ b/eapis.tex
412 @@ -17,8 +17,8 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
413
414 \section{Defined EAPIs}
415
416 -\ChangeWhenAddingAnEAPI{8}
417 -This specification defines EAPIs `0', `1', `2', `3', `4', `5', `6', `7', and~`8'.
418 +\ChangeWhenAddingAnEAPI{9}
419 +This specification defines EAPIs `0', `1', `2', `3', `4', `5', `6', `7', `8', and~`9'.
420 EAPI~`0' is the `original' base EAPI\@. Each of the later EAPIs contains a number of extensions
421 to its predecessor.
422
423
424 diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
425 index a55c366..58df6bd 100644
426 --- a/ebuild-env-vars.tex
427 +++ b/ebuild-env-vars.tex
428 @@ -263,7 +263,7 @@ variable.
429 \end{longtable}
430 \end{landscape}
431
432 -\ChangeWhenAddingAnEAPI{8}
433 +\ChangeWhenAddingAnEAPI{9}
434 \begin{centertable}{EAPIs supporting various added env variables}
435 \label{tab:added-env-vars-table}
436 \begin{tabular}{lllllll}
437 @@ -279,12 +279,12 @@ variable.
438 0, 1, 2, 3 & No & No & No & No & No & No \\
439 4 & Yes & Yes & Yes & No & No & No \\
440 5, 6 & Yes & Yes & Yes & Yes & No & No \\
441 - 7, 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
442 + 7, 8, 9 & Yes & Yes & Yes & Yes & Yes & Yes \\
443 \bottomrule
444 \end{tabular}
445 \end{centertable}
446
447 -\ChangeWhenAddingAnEAPI{8}
448 +\ChangeWhenAddingAnEAPI{9}
449 \begin{centertable}{EAPIs supporting various removed env variables}
450 \label{tab:removed-env-vars-table}
451 \begin{tabular}{lllllll}
452 @@ -299,12 +299,12 @@ variable.
453 \midrule
454 0, 1, 2, 3 & Yes & Yes & Yes & Yes & Yes & Yes \\
455 4, 5, 6 & No & No & Yes & Yes & Yes & Yes \\
456 - 7, 8 & No & No & No & No & No & No \\
457 + 7, 8, 9 & No & No & No & No & No & No \\
458 \bottomrule
459 \end{tabular}
460 \end{centertable}
461
462 -\ChangeWhenAddingAnEAPI{8}
463 +\ChangeWhenAddingAnEAPI{9}
464 \begin{centertable}{EAPIs supporting offset-prefix env variables}
465 \label{tab:offset-env-vars-table}
466 \begin{tabular}{lllll}
467 @@ -317,7 +317,7 @@ variable.
468 \midrule
469 0, 1, 2 & No & No & No & No \\
470 3, 4, 5, 6 & Yes & Yes & Yes & No \\
471 - 7, 8 & Yes & Yes & Yes & Yes \\
472 + 7, 8, 9 & Yes & Yes & Yes & Yes \\
473 \bottomrule
474 \end{tabular}
475 \end{centertable}
476 @@ -341,7 +341,7 @@ must be unset, for EAPIs listed in table~\ref{tab:profile-env-unset} as supporti
477 ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in
478 table~\ref{tab:locale-settings}.
479
480 -\ChangeWhenAddingAnEAPI{8}
481 +\ChangeWhenAddingAnEAPI{9}
482 \begin{centertable}{Locale settings for EAPIs}
483 \label{tab:locale-settings}
484 \begin{tabular}{ll}
485 @@ -350,7 +350,7 @@ table~\ref{tab:locale-settings}.
486 \multicolumn{1}{c}{\textbf{Sane \t{LC_CTYPE} and \t{LC_COLLATE}?}} \\
487 \midrule
488 0, 1, 2, 3, 4, 5 & Undefined \\
489 - 6, 7, 8 & Yes \\
490 + 6, 7, 8, 9 & Yes \\
491 \bottomrule
492 \end{tabular}
493 \end{centertable}
494 @@ -436,7 +436,7 @@ contain at most one value.
495 \subsection{Offset-prefix variables}
496 \label{sec:offset-vars}
497
498 -\ChangeWhenAddingAnEAPI{8}
499 +\ChangeWhenAddingAnEAPI{9}
500 \begin{centertable}{EAPIs supporting offset-prefix}
501 \label{tab:offset-support-table}
502 \begin{tabular}{ll}
503 @@ -444,8 +444,8 @@ contain at most one value.
504 \multicolumn{1}{c}{\textbf{EAPI}} &
505 \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
506 \midrule
507 - 0, 1, 2 & No \\
508 - 3, 4, 5, 6, 7, 8 & Yes \\
509 + 0, 1, 2 & No \\
510 + 3, 4, 5, 6, 7, 8, 9 & Yes \\
511 \bottomrule
512 \end{tabular}
513 \end{centertable}
514 @@ -476,7 +476,7 @@ specifies the system root directory, it will consist of a single slash (\t{/}).
515 a trailing slash, the package manager guarantees that a trailing slash will never be present.
516 If the path specifies the system root directory, it will be empty.
517
518 -\ChangeWhenAddingAnEAPI{8}
519 +\ChangeWhenAddingAnEAPI{9}
520 \begin{centertable}{Variables that always or never end with a trailing slash}
521 \label{tab:trailing-slash}
522 \begin{tabular}{lll}
523 @@ -488,7 +488,7 @@ If the path specifies the system root directory, it will be empty.
524 \t{D}, \t{ED} \\
525 \midrule
526 0, 1, 2, 3, 4, 5, 6 & always & always \\
527 - 7, 8 & never & never \\
528 + 7, 8, 9 & never & never \\
529 \bottomrule
530 \end{tabular}
531 \end{centertable}
532
533 diff --git a/ebuild-format.tex b/ebuild-format.tex
534 index 25ba28e..84d27b7 100644
535 --- a/ebuild-format.tex
536 +++ b/ebuild-format.tex
537 @@ -18,7 +18,7 @@ certain variables and functions (see chapters~\ref{ch:ebuild-vars} and~\ref{ch:e
538 for specific information), and must not call any external programs, write anything to standard
539 output or standard error, or modify the state of the system in any way.
540
541 -\ChangeWhenAddingAnEAPI{8}
542 +\ChangeWhenAddingAnEAPI{9}
543 \begin{centertable}{Bash version and options}
544 \label{tab:bash-version}
545 \begin{tabular}{lll}
546 @@ -29,7 +29,7 @@ output or standard error, or modify the state of the system in any way.
547 \midrule
548 0, 1, 2, 3, 4, 5 & 3.2 & No \\
549 6, 7 & 4.2 & Yes \\
550 - 8 & 5.0 & Yes \\
551 + 8, 9 & 5.0 & Yes \\
552 \bottomrule
553 \end{tabular}
554 \end{centertable}
555
556 diff --git a/ebuild-functions.tex b/ebuild-functions.tex
557 index 0c745c3..c878439 100644
558 --- a/ebuild-functions.tex
559 +++ b/ebuild-functions.tex
560 @@ -46,7 +46,7 @@ fallback to \t{WORKDIR} is used:
561 executed, are in \t{DEFINED_PHASES}.
562 \end{compactitem}
563
564 -\ChangeWhenAddingAnEAPI{8}
565 +\ChangeWhenAddingAnEAPI{9}
566 \begin{centertable}{Initial working directory in \t{pkg_*} phase functions for EAPIs}
567 \label{tab:function-dirs}
568 \begin{tabular}{ll}
569 @@ -55,12 +55,12 @@ fallback to \t{WORKDIR} is used:
570 \multicolumn{1}{c}{\textbf{Initial working directory?}} \\
571 \midrule
572 0, 1, 2, 3, 4, 5, 6, 7 & Any \\
573 - 8 & Empty \\
574 + 8, 9 & Empty \\
575 \bottomrule
576 \end{tabular}
577 \end{centertable}
578
579 -\ChangeWhenAddingAnEAPI{8}
580 +\ChangeWhenAddingAnEAPI{9}
581 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
582 \label{tab:s-fallback-table}
583 \begin{tabular}{ll}
584 @@ -69,7 +69,7 @@ fallback to \t{WORKDIR} is used:
585 \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
586 \midrule
587 0, 1, 2, 3 & Always \\
588 - 4, 5, 6, 7, 8 & Conditional error \\
589 + 4, 5, 6, 7, 8, 9 & Conditional error \\
590 \bottomrule
591 \end{tabular}
592 \end{centertable}
593 @@ -91,7 +91,7 @@ before the next phase is executed.
594
595 \t{pkg_pretend} must not write to the filesystem.
596
597 -\ChangeWhenAddingAnEAPI{8}
598 +\ChangeWhenAddingAnEAPI{9}
599 \begin{centertable}{EAPIs supporting \t{pkg_pretend}}
600 \label{tab:pkg-pretend-table}
601 \begin{tabular}{ll}
602 @@ -100,7 +100,7 @@ before the next phase is executed.
603 \multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\
604 \midrule
605 0, 1, 2, 3 & No \\
606 - 4, 5, 6, 7, 8 & Yes \\
607 + 4, 5, 6, 7, 8, 9 & Yes \\
608 \bottomrule
609 \end{tabular}
610 \end{centertable}
611 @@ -149,7 +149,7 @@ listing~\ref{lst:src-prepare-6} or listing~\ref{lst:src-prepare-8}, respectively
612 For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks
613 the \t{src_prepare} function is a no-op.
614
615 -\ChangeWhenAddingAnEAPI{8}
616 +\ChangeWhenAddingAnEAPI{9}
617 \begin{centertable}{\t{src_prepare} support and behaviour for EAPIs}
618 \label{tab:src-prepare-table}
619 \begin{tabular}{lll}
620 @@ -161,7 +161,7 @@ the \t{src_prepare} function is a no-op.
621 0, 1 & No & Not applicable \\
622 2, 3, 4, 5 & Yes & no-op \\
623 6, 7 & Yes & 6 \\
624 - 8 & Yes & 8 \\
625 + 8, 9 & Yes & 8 \\
626 \bottomrule
627 \end{tabular}
628 \end{centertable}
629 @@ -206,7 +206,7 @@ The \t{src_configure} function configures the package's build environment. The d
630 implementation used when the ebuild lacks the \t{src_configure} function shall behave as in
631 listing~\ref{lst:src-configure-2}.
632
633 -\ChangeWhenAddingAnEAPI{8}
634 +\ChangeWhenAddingAnEAPI{9}
635 \begin{centertable}{EAPIs supporting \t{src_configure}}
636 \label{tab:src-configure-table}
637 \begin{tabular}{ll}
638 @@ -214,8 +214,8 @@ listing~\ref{lst:src-configure-2}.
639 \multicolumn{1}{c}{\textbf{EAPI}} &
640 \multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\
641 \midrule
642 - 0, 1 & No \\
643 - 2, 3, 4, 5, 6, 7, 8 & Yes \\
644 + 0, 1 & No \\
645 + 2, 3, 4, 5, 6, 7, 8, 9 & Yes \\
646 \bottomrule
647 \end{tabular}
648 \end{centertable}
649 @@ -244,7 +244,7 @@ implementation used when the ebuild lacks the \t{src_prepare} function shall beh
650 listing~\ref{lst:src-compile-0}, listing~\ref{lst:src-compile-1} or listing~\ref{lst:src-compile-2},
651 respectively.
652
653 -\ChangeWhenAddingAnEAPI{8}
654 +\ChangeWhenAddingAnEAPI{9}
655 \begin{centertable}{\t{src_compile} behaviour for EAPIs}
656 \label{tab:src-compile-table}
657 \begin{tabular}{ll}
658 @@ -252,9 +252,9 @@ respectively.
659 \multicolumn{1}{c}{\textbf{EAPI}} &
660 \multicolumn{1}{c}{\textbf{Format}} \\
661 \midrule
662 - 0 & 0 \\
663 - 1 & 1 \\
664 - 2, 3, 4, 5, 6, 7, 8 & 2 \\
665 + 0 & 0 \\
666 + 1 & 1 \\
667 + 2, 3, 4, 5, 6, 7, 8, 9 & 2 \\
668 \bottomrule
669 \end{tabular}
670 \end{centertable}
671 @@ -317,7 +317,7 @@ parallel tests, the \t{emake} command must be called with option \t{-j1}.
672 The \t{src_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may
673 be disabled by user too, using a PM-specific mechanism.
674
675 -\ChangeWhenAddingAnEAPI{8}
676 +\ChangeWhenAddingAnEAPI{9}
677 \begin{centertable}{\t{src_test} behaviour for EAPIs}
678 \label{tab:src-test-table}
679 \begin{tabular}{ll}
680 @@ -326,7 +326,7 @@ be disabled by user too, using a PM-specific mechanism.
681 \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
682 \midrule
683 0, 1, 2, 3, 4 & No \\
684 - 5, 6, 7, 8 & Yes \\
685 + 5, 6, 7, 8, 9 & Yes \\
686 \bottomrule
687 \end{tabular}
688 \end{centertable}
689 @@ -346,7 +346,7 @@ listing~\ref{lst:src-install-4} or listing~\ref{lst:src-install-6}, respectively
690 For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
691 is a no-op.
692
693 -\ChangeWhenAddingAnEAPI{8}
694 +\ChangeWhenAddingAnEAPI{9}
695 \begin{centertable}{\t{src_install} behaviour for EAPIs}
696 \label{tab:src-install-table}
697 \begin{tabular}{ll}
698 @@ -356,7 +356,7 @@ is a no-op.
699 \midrule
700 0, 1, 2, 3 & no-op \\
701 4, 5 & 4 \\
702 - 6, 7, 8 & 6 \\
703 + 6, 7, 8, 9 & 6 \\
704 \bottomrule
705 \end{tabular}
706 \end{centertable}
707 @@ -449,7 +449,7 @@ that dependencies may not be installed.
708
709 \t{pkg_info} must not write to the filesystem.
710
711 -\ChangeWhenAddingAnEAPI{8}
712 +\ChangeWhenAddingAnEAPI{9}
713 \begin{centertable}{EAPIs supporting \t{pkg_info} on non-installed packages}
714 \label{tab:pkg-info-table}
715 \begin{tabular}{ll}
716 @@ -458,7 +458,7 @@ that dependencies may not be installed.
717 \multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed packages?}} \\
718 \midrule
719 0, 1, 2, 3 & No \\
720 - 4, 5, 6, 7, 8 & Yes \\
721 + 4, 5, 6, 7, 8, 9 & Yes \\
722 \bottomrule
723 \end{tabular}
724 \end{centertable}
725 @@ -480,7 +480,7 @@ named \t{default_}(phase) that behaves as the default implementation for that EA
726 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
727 when in the phase in question.
728
729 -\ChangeWhenAddingAnEAPI{8}
730 +\ChangeWhenAddingAnEAPI{9}
731 \begin{centertable}{EAPIs supporting \t{default_} phase functions}
732 \label{tab:default-phase-function-table}
733 \begin{tabular}{l P{26em}}
734 @@ -491,7 +491,7 @@ when in the phase in question.
735 0, 1 & None \\
736 2, 3 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
737 \t{src_compile}, \t{src_test} \\
738 - 4, 5, 6, 7, 8 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
739 + 4, 5, 6, 7, 8, 9 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
740 \t{src_compile}, \t{src_test}, \t{src_install} \\
741 \bottomrule
742 \end{tabular}
743
744 diff --git a/ebuild-vars.tex b/ebuild-vars.tex
745 index 5f3f583..c4413f5 100644
746 --- a/ebuild-vars.tex
747 +++ b/ebuild-vars.tex
748 @@ -90,7 +90,7 @@ defined by an eclass.
749 \item[IDEPEND] See chapter~\ref{ch:dependencies}.
750 \end{description}
751
752 -\ChangeWhenAddingAnEAPI{8}
753 +\ChangeWhenAddingAnEAPI{9}
754 \begin{centertable}{EAPIs supporting \t{IUSE} defaults}
755 \label{tab:iuse-defaults-table}
756 \begin{tabular}{ll}
757 @@ -98,13 +98,13 @@ defined by an eclass.
758 \multicolumn{1}{c}{\textbf{EAPI}} &
759 \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
760 \midrule
761 - 0 & No \\
762 - 1, 2, 3, 4, 5, 6, 7, 8 & Yes \\
763 + 0 & No \\
764 + 1, 2, 3, 4, 5, 6, 7, 8, 9 & Yes \\
765 \bottomrule
766 \end{tabular}
767 \end{centertable}
768
769 -\ChangeWhenAddingAnEAPI{8}
770 +\ChangeWhenAddingAnEAPI{9}
771 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
772 \label{tab:optional-vars-table}
773 \begin{tabular}{lll}
774 @@ -114,7 +114,7 @@ defined by an eclass.
775 \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\
776 \midrule
777 0, 1, 2, 3 & Optionally & No \\
778 - 4, 5, 6, 7, 8 & Yes & Yes \\
779 + 4, 5, 6, 7, 8, 9 & Yes & Yes \\
780 \bottomrule
781 \end{tabular}
782 \end{centertable}
783 @@ -179,7 +179,7 @@ selective URI restrictions, the URI protocol can be prefixed by an additional \t
784 restriction for the URI (but not the implied mirror restriction). If the ebuild is fetch or mirror
785 restricted, the \t{mirror+} prefix undoes both fetch and mirror restrictions for the URI.
786
787 -\ChangeWhenAddingAnEAPI{8}
788 +\ChangeWhenAddingAnEAPI{9}
789 \begin{centertable}{EAPIs supporting \t{SRC_URI} arrows and selective URI restrictions}
790 \label{tab:uri-arrows-table}
791 \begin{tabular}{lll}
792 @@ -190,7 +190,7 @@ restricted, the \t{mirror+} prefix undoes both fetch and mirror restrictions for
793 \midrule
794 0, 1 & No & No \\
795 2, 3, 4, 5, 6, 7 & Yes & No \\
796 - 8 & Yes & Yes \\
797 + 8, 9 & Yes & Yes \\
798 \bottomrule
799 \end{tabular}
800 \end{centertable}
801 @@ -275,7 +275,7 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{R
802 the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treated as being part of
803 \t{RDEPEND}.
804
805 -\ChangeWhenAddingAnEAPI{8}
806 +\ChangeWhenAddingAnEAPI{9}
807 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} default}
808 \label{tab:rdepend-depend-table}
809 \begin{tabular}{ll}
810 @@ -284,7 +284,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
811 \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
812 \midrule
813 0, 1, 2, 3 & Yes \\
814 - 4, 5, 6, 7, 8 & No \\
815 + 4, 5, 6, 7, 8, 9 & No \\
816 \bottomrule
817 \end{tabular}
818 \end{centertable}
819 @@ -319,7 +319,7 @@ not be exported to the ebuild environment:
820 \note{Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be
821 defined based upon any variant condition.}
822
823 -\ChangeWhenAddingAnEAPI{8}
824 +\ChangeWhenAddingAnEAPI{9}
825 \begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}}
826 \label{tab:defined-phases-table}
827 \begin{tabular}{ll}
828 @@ -328,7 +328,7 @@ defined based upon any variant condition.}
829 \multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\
830 \midrule
831 0, 1, 2, 3 & Optionally \\
832 - 4, 5, 6, 7, 8 & Yes \\
833 + 4, 5, 6, 7, 8, 9 & Yes \\
834 \bottomrule
835 \end{tabular}
836 \end{centertable}
837
838 diff --git a/eclasses.tex b/eclasses.tex
839 index e23dcd8..3f8f653 100644
840 --- a/eclasses.tex
841 +++ b/eclasses.tex
842 @@ -42,7 +42,7 @@ the previous one is loaded. For EAPIs listed in table~\ref{tab:accumulate-vars}
843 value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after
844 the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
845
846 -\ChangeWhenAddingAnEAPI{8}
847 +\ChangeWhenAddingAnEAPI{9}
848 \begin{centertable}{EAPIs accumulating \t{PROPERTIES} and \t{RESTRICT} across eclasses}
849 \label{tab:accumulate-vars}
850 \begin{tabular}{lll}
851 @@ -52,7 +52,7 @@ the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
852 \multicolumn{1}{c}{\textbf{Accumulates \t{RESTRICT}?}} \\
853 \midrule
854 0, 1, 2, 3, 4, 5, 6, 7 & No & No \\
855 - 8 & Yes & Yes \\
856 + 8, 9 & Yes & Yes \\
857 \bottomrule
858 \end{tabular}
859 \end{centertable}
860
861 diff --git a/merge.tex b/merge.tex
862 index 6fcfeec..ab320a6 100644
863 --- a/merge.tex
864 +++ b/merge.tex
865 @@ -86,7 +86,7 @@ held under the original image directory.
866 In other EAPIs, the behaviour with respect to file modification times
867 is undefined.
868
869 -\ChangeWhenAddingAnEAPI{8}
870 +\ChangeWhenAddingAnEAPI{9}
871 \begin{centertable}{Preservation of file modification times (mtimes)}
872 \label{tab:mtime-preserve}
873 \begin{tabular}{ll}
874 @@ -94,8 +94,8 @@ is undefined.
875 \multicolumn{1}{c}{\textbf{EAPI}} &
876 \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
877 \midrule
878 - 0, 1, 2 & Undefined \\
879 - 3, 4, 5, 6, 7, 8 & Yes \\
880 + 0, 1, 2 & Undefined \\
881 + 3, 4, 5, 6, 7, 8, 9 & Yes \\
882 \bottomrule
883 \end{tabular}
884 \end{centertable}
885
886 diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
887 index d4dcffe..7d2511f 100644
888 --- a/pkg-mgr-commands.tex
889 +++ b/pkg-mgr-commands.tex
890 @@ -32,7 +32,7 @@ The following commands affect this behaviour:
891 option and in EAPIs supporting this option, see table~\ref{tab:die-properties}.
892 \end{description}
893
894 -\ChangeWhenAddingAnEAPI{8}
895 +\ChangeWhenAddingAnEAPI{9}
896 \begin{centertable}{EAPI command failure behaviour}
897 \label{tab:commands-die-table}
898 \begin{tabular}{llll}
899 @@ -44,7 +44,7 @@ The following commands affect this behaviour:
900 \midrule
901 0, 1, 2, 3 & Non-zero exit & No & n/a \\
902 4, 5, 6 & Aborts & Yes & No \\
903 - 7, 8 & Aborts & Yes & Yes \\
904 + 7, 8, 9 & Aborts & Yes & Yes \\
905 \bottomrule
906 \end{tabular}
907 \end{centertable}
908 @@ -55,7 +55,7 @@ The following commands affect this behaviour:
909 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
910 called, the package manager must abort the build process indicating an error.
911
912 -\ChangeWhenAddingAnEAPI{8}
913 +\ChangeWhenAddingAnEAPI{9} % two places
914 \begin{centertable}{Banned commands}
915 \label{tab:banned-commands-table}
916 \begin{tabular}{lllllll}
917 @@ -73,7 +73,7 @@ called, the package manager must abort the build process indicating an error.
918 0, 1, 2, 3 & No & No & No & No & No & No \\
919 4, 5 & Yes & Yes & No & No & No & No \\
920 6 & Yes & Yes & Yes & No & No & No \\
921 - 7, 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
922 + 7, 8, 9 & Yes & Yes & Yes & Yes & Yes & Yes \\
923 \midrule
924 \multicolumn{1}{c}{\textbf{EAPI}} &
925 \multicolumn{6}{c}{\textbf{Command banned?}} \\
926 @@ -83,7 +83,7 @@ called, the package manager must abort the build process indicating an error.
927 \multicolumn{1}{c}{\textbf{\t{hasq}}} & & & \\
928 \midrule
929 0, 1, 2, 3, 4, 5, 6, 7 & No & No & No & & & \\
930 - 8 & Yes & Yes & Yes & & & \\
931 + 8, 9 & Yes & Yes & Yes & & & \\
932 \bottomrule
933 \end{tabular}
934 \end{centertable}
935 @@ -121,7 +121,7 @@ are given, \t{-r} is assumed.
936 otherwise, prints an empty string. The exit code is unspecified.
937 \end{description}
938
939 -\ChangeWhenAddingAnEAPI{8}
940 +\ChangeWhenAddingAnEAPI{9}
941 \begin{centertable}{Package manager query command options supported by EAPIs}
942 \label{tab:pm-query-options}
943 \begin{tabular}{lllll}
944 @@ -134,7 +134,7 @@ are given, \t{-r} is assumed.
945 \midrule
946 0, 1, 2, 3, 4 & No & No & No & No \\
947 5, 6 & Yes & No & No & No \\
948 - 7, 8 & No & Yes & Yes & Yes \\
949 + 7, 8, 9 & No & Yes & Yes & Yes \\
950 \bottomrule
951 \end{tabular}
952 \end{centertable}
953 @@ -171,7 +171,7 @@ output, using stdout as an output facility is forbidden.
954 message followed by a failure indicator. Returns its first argument as exit status.
955 \end{description}
956
957 -\ChangeWhenAddingAnEAPI{8}
958 +\ChangeWhenAddingAnEAPI{9}
959 \begin{centertable}{Output commands for EAPIs}
960 \label{tab:output-commands}
961 \begin{tabular}{lll}
962 @@ -181,7 +181,7 @@ output, using stdout as an output facility is forbidden.
963 \multicolumn{1}{c}{\textbf{Supports \t{eqawarn}?}} \\
964 \midrule
965 0, 1, 2, 3, 4, 5, 6 & Yes & No \\
966 - 7, 8 & No & Yes \\
967 + 7, 8, 9 & No & Yes \\
968 \bottomrule
969 \end{tabular}
970 \end{centertable}
971 @@ -203,7 +203,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
972 (indicating failure), calls \t{die}, passing any parameters to it.
973 \end{description}
974
975 -\ChangeWhenAddingAnEAPI{8}
976 +\ChangeWhenAddingAnEAPI{9}
977 \begin{centertable}{Properties of \t{die} and \t{assert} commands in EAPIs}
978 \label{tab:die-properties}
979 \begin{tabular}{lll}
980 @@ -216,7 +216,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
981 \midrule
982 0, 1, 2, 3, 4, 5 & No & No \\
983 6 & Yes & No \\
984 - 7, 8 & Yes & Yes \\
985 + 7, 8, 9 & Yes & Yes \\
986 \bottomrule
987 \end{tabular}
988 \end{centertable}
989 @@ -280,7 +280,7 @@ Ebuilds must not run any of these commands once the current phase function has r
990 subsequent calls, the command will do nothing and return~0.
991 \end{description}
992
993 -\ChangeWhenAddingAnEAPI{8}
994 +\ChangeWhenAddingAnEAPI{9}
995 \begin{centertable}{Patch commands for EAPIs}
996 \label{tab:patch-commands}
997 \begin{tabular}{lll}
998 @@ -290,7 +290,7 @@ Ebuilds must not run any of these commands once the current phase function has r
999 \multicolumn{1}{c}{\textbf{\t{eapply_user}?}} \\
1000 \midrule
1001 0, 1, 2, 3, 4, 5 & No & No \\
1002 - 6, 7, 8 & Yes & Yes \\
1003 + 6, 7, 8, 9 & Yes & Yes \\
1004 \bottomrule
1005 \end{tabular}
1006 \end{centertable}
1007 @@ -345,7 +345,7 @@ commands once the current phase function has returned.
1008 \t{-{}-enable-static} occurs in the output of \t{configure -{}-help}.
1009 \end{itemize}
1010
1011 - \ChangeWhenAddingAnEAPI{8}
1012 + \ChangeWhenAddingAnEAPI{9} % two places
1013 \begin{centertable}{Extra \t{econf} arguments for EAPIs}
1014 \label{tab:econf-options-table}
1015 \begin{tabular}{lllll}
1016 @@ -359,7 +359,7 @@ commands once the current phase function has returned.
1017 0, 1, 2, 3, 4, 5 & No & No & No & No \\
1018 6 & No & Yes & Yes & No \\
1019 7 & No & Yes & Yes & Yes \\
1020 - 8 & Yes & Yes & Yes & Yes \\
1021 + 8, 9 & Yes & Yes & Yes & Yes \\
1022 \midrule
1023 \multicolumn{1}{c}{\textbf{EAPI}} &
1024 \multicolumn{1}{P{5.5em}}{\textbf{-{}-disable-dependency-tracking}} &
1025 @@ -369,7 +369,7 @@ commands once the current phase function has returned.
1026 0, 1, 2, 3 & No & No & No & \\
1027 4 & Yes & No & No & \\
1028 5, 6, 7 & Yes & Yes & No & \\
1029 - 8 & Yes & Yes & Yes & \\
1030 + 8, 9 & Yes & Yes & Yes & \\
1031 \bottomrule
1032 \end{tabular}
1033 \end{centertable}
1034 @@ -670,7 +670,7 @@ dosym_relative_path() {
1035
1036 \end{description}
1037
1038 -\ChangeWhenAddingAnEAPI{8}
1039 +\ChangeWhenAddingAnEAPI{9}
1040 \begin{centertable}{EAPIs supporting \t{dodoc -r}}
1041 \label{tab:dodoc-table}
1042 \begin{tabular}{ll}
1043 @@ -679,12 +679,12 @@ dosym_relative_path() {
1044 \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
1045 \midrule
1046 0, 1, 2, 3 & No \\
1047 - 4, 5, 6, 7, 8 & Yes \\
1048 + 4, 5, 6, 7, 8, 9 & Yes \\
1049 \bottomrule
1050 \end{tabular}
1051 \end{centertable}
1052
1053 -\ChangeWhenAddingAnEAPI{8}
1054 +\ChangeWhenAddingAnEAPI{9}
1055 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
1056 \label{tab:doheader-table}
1057 \begin{tabular}{ll}
1058 @@ -693,12 +693,12 @@ dosym_relative_path() {
1059 \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
1060 \midrule
1061 0, 1, 2, 3, 4 & No \\
1062 - 5, 6, 7, 8 & Yes \\
1063 + 5, 6, 7, 8, 9 & Yes \\
1064 \bottomrule
1065 \end{tabular}
1066 \end{centertable}
1067
1068 -\ChangeWhenAddingAnEAPI{8}
1069 +\ChangeWhenAddingAnEAPI{9}
1070 \begin{centertable}{EAPIs supporting symlinks for \t{doins}}
1071 \label{tab:doins-table}
1072 \begin{tabular}{ll}
1073 @@ -707,12 +707,12 @@ dosym_relative_path() {
1074 \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
1075 \midrule
1076 0, 1, 2, 3 & No \\
1077 - 4, 5, 6, 7, 8 & Yes \\
1078 + 4, 5, 6, 7, 8, 9 & Yes \\
1079 \bottomrule
1080 \end{tabular}
1081 \end{centertable}
1082
1083 -\ChangeWhenAddingAnEAPI{8}
1084 +\ChangeWhenAddingAnEAPI{9}
1085 \begin{centertable}{\t{doman} language support options for EAPIs}
1086 \label{tab:doman-table}
1087 \begin{tabular}{lll}
1088 @@ -723,12 +723,12 @@ dosym_relative_path() {
1089 \midrule
1090 0, 1 & No & Not applicable \\
1091 2, 3 & Yes & No \\
1092 - 4, 5, 6, 7, 8 & Yes & Yes \\
1093 + 4, 5, 6, 7, 8, 9 & Yes & Yes \\
1094 \bottomrule
1095 \end{tabular}
1096 \end{centertable}
1097
1098 -\ChangeWhenAddingAnEAPI{8}
1099 +\ChangeWhenAddingAnEAPI{9}
1100 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
1101 \label{tab:newfoo-stdin-table}
1102 \begin{tabular}{ll}
1103 @@ -737,12 +737,12 @@ dosym_relative_path() {
1104 \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
1105 \midrule
1106 0, 1, 2, 3, 4 & No \\
1107 - 5, 6, 7, 8 & Yes \\
1108 + 5, 6, 7, 8, 9 & Yes \\
1109 \bottomrule
1110 \end{tabular}
1111 \end{centertable}
1112
1113 -\ChangeWhenAddingAnEAPI{8}
1114 +\ChangeWhenAddingAnEAPI{9}
1115 \begin{centertable}{\t{domo} destination path in EAPIs}
1116 \label{tab:domo-path}
1117 \begin{tabular}{ll}
1118 @@ -751,12 +751,12 @@ dosym_relative_path() {
1119 \multicolumn{1}{c}{\textbf{Destination path}} \\
1120 \midrule
1121 0, 1, 2, 3, 4, 5, 6 & \t{\$\{DESTTREE\}/share/locale} \\
1122 - 7, 8 & \t{/usr/share/locale} \\
1123 + 7, 8, 9 & \t{/usr/share/locale} \\
1124 \bottomrule
1125 \end{tabular}
1126 \end{centertable}
1127
1128 -\ChangeWhenAddingAnEAPI{8}
1129 +\ChangeWhenAddingAnEAPI{9}
1130 \begin{centertable}{EAPIs supporting \t{dosym -r}}
1131 \label{tab:dosym-r}
1132 \begin{tabular}{ll}
1133 @@ -765,7 +765,7 @@ dosym_relative_path() {
1134 \multicolumn{1}{c}{\textbf{\t{dosym} supports creation of relative paths?}} \\
1135 \midrule
1136 0, 1, 2, 3, 4, 5, 6, 7 & No \\
1137 - 8 & Yes \\
1138 + 8, 9 & Yes \\
1139 \bottomrule
1140 \end{tabular}
1141 \end{centertable}
1142 @@ -807,7 +807,7 @@ function has returned.
1143
1144 \end{description}
1145
1146 -\ChangeWhenAddingAnEAPI{8}
1147 +\ChangeWhenAddingAnEAPI{9}
1148 \begin{centertable}{Commands respecting \t{insopts} for EAPIs}
1149 \label{tab:insopts-commands}
1150 \begin{tabular}{lllll}
1151 @@ -819,12 +819,12 @@ function has returned.
1152 \multicolumn{1}{c}{\textbf{\t{doheader}?}} \\
1153 \midrule
1154 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes & Yes & Yes \\
1155 - 8 & Yes & No & No & No \\
1156 + 8, 9 & Yes & No & No & No \\
1157 \bottomrule
1158 \end{tabular}
1159 \end{centertable}
1160
1161 -\ChangeWhenAddingAnEAPI{8}
1162 +\ChangeWhenAddingAnEAPI{9}
1163 \begin{centertable}{Commands respecting \t{exeopts} for EAPIs}
1164 \label{tab:exeopts-commands}
1165 \begin{tabular}{lll}
1166 @@ -834,7 +834,7 @@ function has returned.
1167 \multicolumn{1}{c}{\textbf{\t{doinitd}?}} \\
1168 \midrule
1169 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes \\
1170 - 8 & Yes & No \\
1171 + 8, 9 & Yes & No \\
1172 \bottomrule
1173 \end{tabular}
1174 \end{centertable}
1175 @@ -911,7 +911,7 @@ any of these functions from any other phase.
1176 supporting \t{dostrip}.
1177 \end{description}
1178
1179 -\ChangeWhenAddingAnEAPI{8}
1180 +\ChangeWhenAddingAnEAPI{9}
1181 \begin{centertable}{Commands controlling manipulation of files in the staging area in EAPIs}
1182 \label{tab:staging-area-commands}
1183 \begin{tabular}{lll}
1184 @@ -922,7 +922,7 @@ any of these functions from any other phase.
1185 \midrule
1186 0, 1, 2, 3 & No & No \\
1187 4, 5, 6 & Yes & No \\
1188 - 7, 8 & Yes & Yes \\
1189 + 7, 8, 9 & Yes & Yes \\
1190 \bottomrule
1191 \end{tabular}
1192 \end{centertable}
1193 @@ -969,7 +969,7 @@ table~\ref{tab:use-list-strictness}.
1194 table~\ref{tab:use-list-functions} as supporting \t{in_iuse}.
1195 \end{description}
1196
1197 -\ChangeWhenAddingAnEAPI{8}
1198 +\ChangeWhenAddingAnEAPI{9}
1199 \begin{centertable}{EAPI behaviour for use queries not in \t{IUSE_EFFECTIVE}}
1200 \label{tab:use-list-strictness}
1201 \begin{tabular}{ll}
1202 @@ -978,12 +978,12 @@ table~\ref{tab:use-list-strictness}.
1203 \multicolumn{1}{c}{\textbf{Behaviour}} \\
1204 \midrule
1205 0, 1, 2, 3 & Undefined \\
1206 - 4, 5, 6, 7, 8 & Error \\
1207 + 4, 5, 6, 7, 8, 9 & Error \\
1208 \bottomrule
1209 \end{tabular}
1210 \end{centertable}
1211
1212 -\ChangeWhenAddingAnEAPI{8}
1213 +\ChangeWhenAddingAnEAPI{9}
1214 \begin{centertable}{\t{usev}, \t{use_with} and \t{use_enable} arguments for EAPIs}
1215 \label{tab:use-list-args}
1216 \begin{tabular}{lll}
1217 @@ -995,12 +995,12 @@ table~\ref{tab:use-list-strictness}.
1218 \midrule
1219 0, 1, 2, 3 & No & No \\
1220 4, 5, 6, 7 & No & Yes \\
1221 - 8 & Yes & Yes \\
1222 + 8, 9 & Yes & Yes \\
1223 \bottomrule
1224 \end{tabular}
1225 \end{centertable}
1226
1227 -\ChangeWhenAddingAnEAPI{8}
1228 +\ChangeWhenAddingAnEAPI{9}
1229 \begin{centertable}{EAPIs supporting \t{usex} and \t{in_iuse}}
1230 \label{tab:use-list-functions}
1231 \begin{tabular}{lll}
1232 @@ -1011,7 +1011,7 @@ table~\ref{tab:use-list-strictness}.
1233 \midrule
1234 0, 1, 2, 3, 4 & No & No \\
1235 5 & Yes & No \\
1236 - 6, 7, 8 & Yes & Yes \\
1237 + 6, 7, 8, 9 & Yes & Yes \\
1238 \bottomrule
1239 \end{tabular}
1240 \end{centertable}
1241 @@ -1096,7 +1096,7 @@ the second, inclusively.
1242 section~\ref{sec:version-spec}. Comparison is done using algorithm~\ref{alg:version-comparison}.
1243 \end{description}
1244
1245 -\ChangeWhenAddingAnEAPI{8}
1246 +\ChangeWhenAddingAnEAPI{9}
1247 \begin{centertable}{EAPIs supporting version manipulation commands}
1248 \label{tab:version-commands}
1249 \begin{tabular}{llll}
1250 @@ -1107,7 +1107,7 @@ the second, inclusively.
1251 \multicolumn{1}{c}{\textbf{\t{ver_test}?}} \\
1252 \midrule
1253 0, 1, 2, 3, 4, 5, 6 & No & No & No \\
1254 - 7, 8 & Yes & Yes & Yes \\
1255 + 7, 8, 9 & Yes & Yes & Yes \\
1256 \bottomrule
1257 \end{tabular}
1258 \end{centertable}
1259 @@ -1184,7 +1184,7 @@ has returned.
1260 \featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions in a case-insensitive
1261 manner, for EAPIs listed such in table~\ref{tab:unpack-behaviour}.
1262
1263 - \ChangeWhenAddingAnEAPI{8}
1264 + \ChangeWhenAddingAnEAPI{9}
1265 \begin{centertable}{\t{unpack} behaviour for EAPIs}
1266 \label{tab:unpack-behaviour}
1267 \begin{tabular}{lll}
1268 @@ -1194,12 +1194,12 @@ has returned.
1269 \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
1270 \midrule
1271 0, 1, 2, 3, 4, 5 & No & No \\
1272 - 6, 7, 8 & Yes & Yes \\
1273 + 6, 7, 8, 9 & Yes & Yes \\
1274 \bottomrule
1275 \end{tabular}
1276 \end{centertable}
1277
1278 - \ChangeWhenAddingAnEAPI{8}
1279 + \ChangeWhenAddingAnEAPI{9}
1280 \begin{centertable}{\t{unpack} extensions for EAPIs}
1281 \label{tab:unpack-extensions-table}
1282 \begin{tabular}{llllllll}
1283 @@ -1215,7 +1215,7 @@ has returned.
1284 0, 1, 2 & No & No & No & Yes & Yes & Yes \\
1285 3, 4, 5 & Yes & Yes & No & Yes & Yes & Yes \\
1286 6, 7 & Yes & Yes & Yes & Yes & Yes & Yes \\
1287 - 8 & Yes & Yes & Yes & No & No & No \\
1288 + 8, 9 & Yes & Yes & Yes & No & No & No \\
1289 \bottomrule
1290 \end{tabular}
1291 \end{centertable}
1292 @@ -1283,7 +1283,7 @@ has returned.
1293
1294 \end{description}
1295
1296 -\ChangeWhenAddingAnEAPI{8}
1297 +\ChangeWhenAddingAnEAPI{9}
1298 \begin{centertable}{Misc commands for EAPIs}
1299 \label{tab:misc-commands}
1300 \begin{tabular}{llll}
1301 @@ -1295,7 +1295,7 @@ has returned.
1302 \midrule
1303 0, 1 & No & No & No \\
1304 2, 3, 4, 5 & Yes & No & No \\
1305 - 6, 7, 8 & Yes & Yes & Yes \\
1306 + 6, 7, 8, 9 & Yes & Yes & Yes \\
1307 \bottomrule
1308 \end{tabular}
1309 \end{centertable}
1310
1311 diff --git a/pms.tex b/pms.tex
1312 index 97d6d30..e066c2d 100644
1313 --- a/pms.tex
1314 +++ b/pms.tex
1315 @@ -21,8 +21,8 @@
1316 pdfkeywords={Gentoo, package manager, specification},
1317 }
1318
1319 -\CurrentEAPIIs{8}
1320 -\ChangeWhenAddingAnEAPI{8}
1321 +\CurrentEAPIIs{9}
1322 +\ChangeWhenAddingAnEAPI{9}
1323
1324 \begin{document}
1325 \maketitle
1326
1327 diff --git a/profile-variables.tex b/profile-variables.tex
1328 index ba40bf4..0f2dc3c 100644
1329 --- a/profile-variables.tex
1330 +++ b/profile-variables.tex
1331 @@ -40,7 +40,7 @@ Other variables, except where they affect only package-manager-specific function
1332 Portage's \t{FEATURES} variable), must not be treated incrementally---later definitions shall
1333 completely override those in parent profiles.
1334
1335 -\ChangeWhenAddingAnEAPI{8}
1336 +\ChangeWhenAddingAnEAPI{9}
1337 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
1338 \label{tab:profile-iuse-injection-table}
1339 \begin{tabular}{ll}
1340 @@ -49,12 +49,12 @@ completely override those in parent profiles.
1341 \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
1342 \midrule
1343 0, 1, 2, 3, 4 & No \\
1344 - 5, 6, 7, 8 & Yes \\
1345 + 5, 6, 7, 8, 9 & Yes \\
1346 \bottomrule
1347 \end{tabular}
1348 \end{centertable}
1349
1350 -\ChangeWhenAddingAnEAPI{8}
1351 +\ChangeWhenAddingAnEAPI{9}
1352 \begin{centertable}{Profile-defined unsetting of variables in EAPIs}
1353 \label{tab:profile-env-unset}
1354 \begin{tabular}{ll}
1355 @@ -63,7 +63,7 @@ completely override those in parent profiles.
1356 \multicolumn{1}{c}{\textbf{Supports \t{ENV_UNSET}?}} \\
1357 \midrule
1358 0, 1, 2, 3, 4, 5, 6 & No \\
1359 - 7, 8 & Yes \\
1360 + 7, 8, 9 & Yes \\
1361 \bottomrule
1362 \end{tabular}
1363 \end{centertable}
1364
1365 diff --git a/profiles.tex b/profiles.tex
1366 index 30da81b..8d8226a 100644
1367 --- a/profiles.tex
1368 +++ b/profiles.tex
1369 @@ -78,7 +78,7 @@ in that directory, unless their name begins with a dot, will be concatenated in
1370 filename in the POSIX locale and the result will be processed as if it were a single file.
1371 Any subdirectories will be ignored.
1372
1373 -\ChangeWhenAddingAnEAPI{8}
1374 +\ChangeWhenAddingAnEAPI{9}
1375 \begin{centertable}{EAPIs supporting directories for profile files}
1376 \label{tab:profile-file-dirs}
1377 \begin{tabular}{ll}
1378 @@ -87,7 +87,7 @@ Any subdirectories will be ignored.
1379 \multicolumn{1}{c}{\textbf{Supports directories for profile files?}} \\
1380 \midrule
1381 0, 1, 2, 3, 4, 5, 6 & No \\
1382 - 7, 8 & Yes \\
1383 + 7, 8, 9 & Yes \\
1384 \bottomrule
1385 \end{tabular}
1386 \end{centertable}
1387 @@ -123,7 +123,7 @@ it is actually installed. Because it has severe adverse effects on USE-based and
1388 dependencies, its use is strongly deprecated and package manager support must be regarded as purely
1389 optional. Supported in EAPIs as per table~\ref{tab:package-provided}.
1390
1391 -\ChangeWhenAddingAnEAPI{8}
1392 +\ChangeWhenAddingAnEAPI{9}
1393 \begin{centertable}{EAPIs supporting \t{package.provided} in profiles}
1394 \label{tab:package-provided}
1395 \begin{tabular}{ll}
1396 @@ -132,7 +132,7 @@ optional. Supported in EAPIs as per table~\ref{tab:package-provided}.
1397 \multicolumn{1}{c}{\textbf{Supports \t{package.provided}?}} \\
1398 \midrule
1399 0, 1, 2, 3, 4, 5, 6 & Optionally \\
1400 - 7, 8 & No \\
1401 + 7, 8, 9 & No \\
1402 \bottomrule
1403 \end{tabular}
1404 \end{centertable}
1405 @@ -165,7 +165,7 @@ only act on packages that are merged due to a stable keyword in the sense of
1406 subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the feature set deemed
1407 stable in a package.
1408
1409 -\ChangeWhenAddingAnEAPI{8}
1410 +\ChangeWhenAddingAnEAPI{9}
1411 \begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
1412 \label{tab:profile-stablemask}
1413 \begin{tabular}{ll}
1414 @@ -174,7 +174,7 @@ stable in a package.
1415 \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
1416 \midrule
1417 0, 1, 2, 3, 4 & No \\
1418 - 5, 6, 7, 8 & Yes \\
1419 + 5, 6, 7, 8, 9 & Yes \\
1420 \bottomrule
1421 \end{tabular}
1422 \end{centertable}
1423
1424 diff --git a/tree-layout.tex b/tree-layout.tex
1425 index aa04d3d..b988f6e 100644
1426 --- a/tree-layout.tex
1427 +++ b/tree-layout.tex
1428 @@ -127,7 +127,7 @@ manager must ignore any files in this directory that it does not recognise.
1429 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
1430 \end{description}
1431
1432 -\ChangeWhenAddingAnEAPI{8}
1433 +\ChangeWhenAddingAnEAPI{9}
1434 \begin{centertable}{EAPIs supporting a directory for \t{package.mask}}
1435 \label{tab:package-mask-dir}
1436 \begin{tabular}{ll}
1437 @@ -136,7 +136,7 @@ manager must ignore any files in this directory that it does not recognise.
1438 \multicolumn{1}{c}{\textbf{\t{package.mask} can be a directory?}} \\
1439 \midrule
1440 0, 1, 2, 3, 4, 5, 6 & No \\
1441 - 7, 8 & Yes \\
1442 + 7, 8, 9 & Yes \\
1443 \bottomrule
1444 \end{tabular}
1445 \end{centertable}
1446 @@ -233,7 +233,7 @@ Any name that has appeared as the origin of a move must not be reused in the fut
1447 that has appeared as the origin of a slot move may not be used by packages matching the spec of
1448 that slot move in the future.
1449
1450 -\ChangeWhenAddingAnEAPI{8}
1451 +\ChangeWhenAddingAnEAPI{9}
1452 \begin{centertable}{Naming rules for files in \t{updates} directory for EAPIs}
1453 \label{tab:updates-filenames}
1454 \begin{tabular}{ll}
1455 @@ -242,7 +242,7 @@ that slot move in the future.
1456 \multicolumn{1}{c}{\textbf{Files per quarter year?}} \\
1457 \midrule
1458 0, 1, 2, 3, 4, 5, 6, 7 & Yes \\
1459 - 8 & No \\
1460 + 8, 9 & No \\
1461 \bottomrule
1462 \end{tabular}
1463 \end{centertable}