commit:     5b8055e40ac6698dad463f5df553a9c17928abc9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 17:08:50 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun  5 08:55:31 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5b8055e4

Add an EAPI 8 identical to EAPI 7

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 commands.tex          |   4 +-
 dependencies.tex      |  26 +++----
 eapi-differences.tex  | 201 +++++++++++++++++++++++++++-----------------------
 eapis.tex             |   3 +-
 ebuild-env-vars.tex   |  24 +++---
 ebuild-format.tex     |   4 +-
 ebuild-functions.tex  |  42 +++++------
 ebuild-vars.tex       |  24 +++---
 merge.tex             |   4 +-
 pkg-mgr-commands.tex  |  84 ++++++++++-----------
 pms.tex               |   4 +-
 profile-variables.tex |   8 +-
 profiles.tex          |  12 +--
 tree-layout.tex       |   4 +-
 14 files changed, 230 insertions(+), 214 deletions(-)

diff --git a/commands.tex b/commands.tex
index 799a20c..d0ad87d 100644
--- a/commands.tex
+++ b/commands.tex
@@ -33,7 +33,7 @@ The following commands must always be available in the ebuild 
environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
     \begin{tabular}{lll}
@@ -44,7 +44,7 @@ The following commands must always be available in the ebuild 
environment:
       \midrule
       0, 1, 2, 3, 4     & Undefined & Any \\
       5, 6              & Yes       & Any \\
-      7                 & Yes       & 2.7 \\
+      7, 8              & Yes       & 2.7 \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/dependencies.tex b/dependencies.tex
index 67855f5..3ef6fa6 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -82,7 +82,7 @@ as supporting \t{BDEPEND}, the build dependencies are split 
into two subclasses:
     dependency.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting additional dependency types}
     \label{tab:depend-table}
     \begin{tabular}{ll}
@@ -91,7 +91,7 @@ as supporting \t{BDEPEND}, the build dependencies are split 
into two subclasses:
       \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & No  \\
-      7                   & Yes \\
+      7, 8                & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -146,7 +146,7 @@ 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}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
     \label{tab:at-most-one-of-table}
     \begin{tabular}{ll}
@@ -155,7 +155,7 @@ In particular, note that whitespace is not optional.
       \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE ??}\ groups?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -195,7 +195,7 @@ In an exactly-one-of group, exactly one immediate child 
element must be matched.
 In EAPIs specified in table~\ref{tab:empty-dep-groups}, an empty 
exactly-one-of group counts as
 being matched.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Matching of empty dependency groups in EAPIs}
     \label{tab:empty-dep-groups}
     \begin{tabular}{ll}
@@ -205,7 +205,7 @@ being matched.
         are matched?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & Yes \\
-      7                   & No  \\
+      7, 8                & No  \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -241,7 +241,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.}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{lll}
@@ -252,12 +252,12 @@ manager must warn or error if this feature is used with 
an EAPI not supporting u
       \midrule
       0                 & No                 & No  \\
       1, 2, 3, 4        & Named only         & No  \\
-      5, 6, 7           & Named and operator & Yes \\
+      5, 6, 7, 8        & Named and operator & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies}
     \label{tab:use-deps-table}
     \begin{tabular}{ll}
@@ -267,7 +267,7 @@ manager must warn or error if this feature is used with an 
EAPI not supporting u
       \midrule
       0, 1              & No      \\
       2, 3              & 2-style \\
-      4, 5, 6, 7        & 4-style \\
+      4, 5, 6, 7, 8     & 4-style \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -301,7 +301,7 @@ ignored by the package manager, so long as any blocked 
package will be uninstall
 strong block must not be ignored. The mapping from one or two exclamation 
marks to strength is
 described in table~\ref{tab:bang-strength-table}.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Exclamation mark strengths for EAPIs}
     \label{tab:bang-strength-table}
     \begin{tabular}{lll}
@@ -310,8 +310,8 @@ described in table~\ref{tab:bang-strength-table}.
       \multicolumn{1}{c}{\textbf{\t{!}}} &
       \multicolumn{1}{c}{\textbf{\t{!!}}} \\
       \midrule
-      0, 1              & Unspecified & Forbidden \\
-      2, 3, 4, 5, 6, 7  & Weak        & Strong    \\
+      0, 1                & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6, 7, 8 & Weak        & Strong    \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index bc49a33..d5513c3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -6,34 +6,36 @@ below; entries marked with an asterisk differ between these 
EAPIs. See the 2012-
 of this document for a complete table of previous EAPIs.}
 % 2012-09-20 (EAPI 5) edition has a table of EAPIs 0 to 5
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{landscape}
-\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\textbf{Feature}} &
 \multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
+\multicolumn{6}{c}{\textbf{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0, 1, 2, 3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
 \multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
 \midrule
 \endfirsthead
 \midrule
 \multicolumn{1}{c}{\textbf{Feature}} &
 \multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
+\multicolumn{6}{c}{\textbf{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0, 1, 2, 3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
 \multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
 \midrule
 \endhead
 \midrule
@@ -42,92 +44,92 @@ of this document for a complete table of previous EAPIs.}
 \endlastfoot
 
 \t{package.mask} directory & \compactfeatureref{package-mask-dir} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 Profile files as directories & \compactfeatureref{profile-file-dirs} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{package.provided} & \compactfeatureref{package-provided} &
-    Optional & Optional & Optional & Optional & No \\
+    Optional & Optional & Optional & Optional & No & No \\
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 Bash version & \compactfeatureref{bash-version} &
-    3.2 & 3.2 & 3.2 & 4.2 & 4.2 \\
+    3.2 & 3.2 & 3.2 & 4.2 & 4.2 & 4.2 \\
 
 \t{failglob} in global scope & \compactfeatureref{failglob} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED_USE} & \compactfeatureref{required-use} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Yes & Yes & Yes & Yes \\
+    Optionally & Yes & Yes & Yes & Yes & Yes \\
 
 \t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & No & No & No & No \\
+    Yes & No & No & No & No & No \\
 
 \t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Yes & Yes & Yes & Yes \\
+    Optionally & Yes & Yes & Yes & Yes & Yes \\
 
 \t{BDEPEND} & \compactfeatureref{bdepend} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
     \compactfeatureref{empty-dep-groups} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    * & Named & Named and Operator & Named and Operator & Named and Operator \\
+    * & Named & Named and Operator & Named and Operator & Named and Operator & 
Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    * & 4-style & 4-style & 4-style & 4-style \\
+    * & 4-style & 4-style & 4-style & 4-style & 4-style \\
 
 \t{!}\ blockers & \compactfeatureref{bang-strength} &
-    * & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!}\ blockers & \compactfeatureref{bang-strength} &
-    * & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Conditional & Conditional & Conditional & Conditional \\
+    Always & Conditional & Conditional & Conditional & Conditional & 
Conditional \\
 
 \t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src_prepare} & \compactfeatureref{src-prepare} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src_prepare} style & \compactfeatureref{src-prepare} &
-    * & no-op & no-op & 6 & 6 \\
+    * & no-op & no-op & 6 & 6 & 6 \\
 
 \t{src_configure} & \compactfeatureref{src-configure} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src_compile} style & \compactfeatureref{src-compile} &
-    * & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{src_install} style & \compactfeatureref{src-install} &
-    no-op & 4 & 4 & 6 & 6 \\
+    no-op & 4 & 4 & 6 & 6 & 6 \\
 
 \t{pkg_info} & \compactfeatureref{pkg-info} &
-    Installed & Both & Both & Both & Both \\
+    Installed & Both & Both & Both & Both & Both \\
 
 \t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
     * &
@@ -137,185 +139,190 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src_compile}, \t{src_test}, \t{src_install} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
         \t{src_compile}, \t{src_test}, \t{src_install} &
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+        \t{src_compile}, \t{src_test}, \t{src_install} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
         \t{src_compile}, \t{src_test}, \t{src_install} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & No & No & No & No \\
+    Yes & No & No & No & No & No \\
 
 \t{PORTDIR} & \compactfeatureref{portdir} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{ECLASSDIR} & \compactfeatureref{eclassdir} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{BROOT} & \compactfeatureref{broot} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{DESTTREE} & \compactfeatureref{desttree} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{INSDESTTREE} & \compactfeatureref{insdesttree} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & No & No & No & No \\
+    Yes & No & No & No & No & No \\
 
 \t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{MERGE_TYPE} & \compactfeatureref{merge-type} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{ENV_UNSET} & \compactfeatureref{env-unset} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 Sane locale settings & \compactfeatureref{locale-settings} &
-    Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 GNU \t{patch} version & \compactfeatureref{gnu-patch} &
-    Any & Any & Any & Any & 2.7 \\
+    Any & Any & Any & Any & 2.7 & 2.7 \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & Yes & Yes & Yes & Function / external \\
+    No & Yes & Yes & Yes & Function / external & Function / external \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Banned & Banned & Banned & Banned \\
+    Yes & Banned & Banned & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Banned & Banned & Banned & Banned \\
+    Yes & Banned & Banned & Banned & Banned & Banned \\
 
 \t{einstall} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dohtml} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned \\
 
 \t{dolib} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned \\
 
 \t{libopts} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned \\
 
 Query command options & \compactfeatureref{pm-query-options} &
-    None & None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, 
\t{-r} \\
+    None & None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, 
\t{-r} &
+    \t{-b}, \t{-d}, \t{-r} \\
 
 Output commands use stdout & \compactfeatureref{output-no-stdout} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{eqawarn} & \compactfeatureref{eqawarn} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{die -n} & \compactfeatureref{nonfatal-die} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{die} in subshell & \compactfeatureref{subshell-die} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{eapply} & \compactfeatureref{eapply} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{eapply_user} & \compactfeatureref{eapply-user} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
     None & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules, docdir, htmldir &
+    disable dependency tracking, disable silent rules, docdir, htmldir, with 
sysroot &
     disable dependency tracking, disable silent rules, docdir, htmldir, with 
sysroot \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{domo} destination path & \compactfeatureref{domo-path} &
-    \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & 
\t{\$\{DESTTREE\}} & \t{/usr} \\
+    \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & 
\t{\$\{DESTTREE\}} & \t{/usr} &
+    \t{/usr} \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 Controllable stripping & \compactfeatureref{dostrip} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{dostrip} & \compactfeatureref{dostrip} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{use_with} empty third arg & \compactfeatureref{use-with} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{in_iuse} & \compactfeatureref{in-iuse} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{ver_*} commands & \compactfeatureref{ver-commands} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{get_libdir} & \compactfeatureref{get-libdir} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    * & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -474,7 +481,15 @@ EAPI 7 is EAPI 6 with the following changes:
 \item Version manipulation and comparison commands, \featureref{ver-commands}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{7}
+\section{EAPI 8}
+
+EAPI 8 is EAPI 7 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{8}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 6c015a2..746decf 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -19,7 +19,7 @@ EAPIs are also used for profile directories, as described in 
section~\ref{sec:pr
 
 The following EAPIs are defined by this specification:
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{compactdesc}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'.
@@ -29,6 +29,7 @@ The following EAPIs are defined by this specification:
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'.
 \item[6] EAPI `6' contains a number of extensions to EAPI `5'.
 \item[7] EAPI `7' contains a number of extensions to EAPI `6'.
+\item[8] EAPI `8' contains a number of extensions to EAPI `7'.
 \end{compactdesc}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 006b8e4..2e562d6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -262,7 +262,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting various added env variables}
     \label{tab:added-env-vars-table}
     \begin{tabular}{lllllll}
@@ -278,12 +278,12 @@ variable.
       0, 1, 2, 3        & No  & No  & No  & No  & No  & No  \\
       4                 & Yes & Yes & Yes & No  & No  & No  \\
       5, 6              & Yes & Yes & Yes & Yes & No  & No  \\
-      7                 & Yes & Yes & Yes & Yes & Yes & Yes \\
+      7, 8              & Yes & Yes & Yes & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting various removed env variables}
     \label{tab:removed-env-vars-table}
     \begin{tabular}{lllllll}
@@ -298,12 +298,12 @@ variable.
       \midrule
       0, 1, 2, 3        & Yes & Yes & Yes & Yes & Yes & Yes \\
       4, 5, 6           & No  & No  & Yes & Yes & Yes & Yes \\
-      7                 & No  & No  & No  & No  & No  & No  \\
+      7, 8              & No  & No  & No  & No  & No  & No  \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{lllll}
@@ -316,7 +316,7 @@ variable.
       \midrule
       0, 1, 2           & No  & No  & No  & No  \\
       3, 4, 5, 6        & Yes & Yes & Yes & No  \\
-      7                 & Yes & Yes & Yes & Yes \\
+      7, 8              & Yes & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -340,7 +340,7 @@ must be unset, for EAPIs listed in 
table~\ref{tab:profile-env-unset} as supporti
 ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a 
manner in
 table~\ref{tab:locale-settings}.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Locale settings for EAPIs}
     \label{tab:locale-settings}
     \begin{tabular}{ll}
@@ -349,7 +349,7 @@ table~\ref{tab:locale-settings}.
       \multicolumn{1}{c}{\textbf{Sane \t{LC_CTYPE} and \t{LC_COLLATE}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5  & Undefined \\
-      6, 7              & Yes       \\
+      6, 7, 8           & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -435,7 +435,7 @@ contain at most one value.
 \subsection{Offset-prefix variables}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ll}
@@ -444,7 +444,7 @@ contain at most one value.
       \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
       \midrule
       0, 1, 2           & No  \\
-      3, 4, 5, 6, 7     & Yes \\
+      3, 4, 5, 6, 7, 8  & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -475,7 +475,7 @@ specifies the system root directory, it will consist of a 
single slash (\t{/}).
 a trailing slash, the package manager guarantees that a trailing slash will 
never be present.
 If the path specifies the system root directory, it will be empty.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Variables that always or never end with a trailing slash}
     \label{tab:trailing-slash}
     \begin{tabular}{lll}
@@ -487,7 +487,7 @@ If the path specifies the system root directory, it will be 
empty.
       \t{D}, \t{ED} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & always & always \\
-      7                   & never  & never  \\
+      7, 8                & never  & never  \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index d53d773..c2224bf 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -16,7 +16,7 @@ certain variables and functions (see 
chapters~\ref{ch:ebuild-vars} and~\ref{ch:e
 for specific information), and must not call any external programs, write 
anything to standard
 output or standard error, or modify the state of the system in any way.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Bash version and options}
     \label{tab:bash-version}
     \begin{tabular}{lll}
@@ -26,7 +26,7 @@ output or standard error, or modify the state of the system 
in any way.
       \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
       \midrule
       0, 1, 2, 3, 4, 5  & 3.2 & No  \\
-      6, 7              & 4.2 & Yes \\
+      6, 7, 8           & 4.2 & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 4e691c5..ffdea16 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     executed, are in \t{DEFINED_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
     \label{tab:s-fallback-table}
     \begin{tabular}{ll}
@@ -53,7 +53,7 @@ fallback to \t{WORKDIR} is used:
       \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
       \midrule
       0, 1, 2, 3        & Always            \\
-      4, 5, 6, 7        & Conditional error \\
+      4, 5, 6, 7, 8     & Conditional error \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -75,7 +75,7 @@ before the next phase is executed.
 
 \t{pkg_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{pkg_pretend}}
     \label{tab:pkg-pretend-table}
     \begin{tabular}{ll}
@@ -84,7 +84,7 @@ before the next phase is executed.
       \multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
-      4, 5, 6, 7        & Yes \\
+      4, 5, 6, 7, 8     & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -147,7 +147,7 @@ src_prepare() {
 For other EAPIs supporting \t{src_prepare}, the default implementation used 
when the ebuild lacks
 the \t{src_prepare} function is a no-op.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{src_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
     \begin{tabular}{lll}
@@ -158,7 +158,7 @@ the \t{src_prepare} function is a no-op.
       \midrule
       0, 1              & No  & Not applicable \\
       2, 3, 4, 5        & Yes & no-op          \\
-      6, 7              & Yes & 6              \\
+      6, 7, 8           & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -185,7 +185,7 @@ src_configure() {
 \end{verbatim}
 \end{listing}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{src_configure}}
     \label{tab:src-configure-table}
     \begin{tabular}{ll}
@@ -193,8 +193,8 @@ src_configure() {
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6, 7  & Yes \\
+      0, 1                & No  \\
+      2, 3, 4, 5, 6, 7, 8 & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -258,7 +258,7 @@ src_compile() {
 \end{verbatim}
 \end{listing}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{src_compile} behaviour for EAPIs}
     \label{tab:src-compile-table}
     \begin{tabular}{ll}
@@ -266,9 +266,9 @@ src_compile() {
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0                 & 0 \\
-      1                 & 1 \\
-      2, 3, 4, 5, 6, 7  & 2 \\
+      0                   & 0 \\
+      1                   & 1 \\
+      2, 3, 4, 5, 6, 7, 8 & 2 \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -292,7 +292,7 @@ parallel tests, the \t{emake} command must be called with 
option \t{-j1}.
 The \t{src_test} function may be disabled by \t{RESTRICT}\@. See 
section~\ref{sec:restrict}. It may
 be disabled by user too, using a PM-specific mechanism.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{src_test} behaviour for EAPIs}
     \label{tab:src-test-table}
     \begin{tabular}{ll}
@@ -301,7 +301,7 @@ be disabled by user too, using a PM-specific mechanism.
       \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -360,7 +360,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the 
\t{src_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{src_install} behaviour for EAPIs}
     \label{tab:src-install-table}
     \begin{tabular}{ll}
@@ -370,7 +370,7 @@ is a no-op.
       \midrule
       0, 1, 2, 3        & no-op \\
       4, 5              & 4     \\
-      6, 7              & 6     \\
+      6, 7, 8           & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -428,7 +428,7 @@ that dependencies may not be installed.
 
 \t{pkg_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{pkg_info} on non-installed packages}
     \label{tab:pkg-info-table}
     \begin{tabular}{ll}
@@ -437,7 +437,7 @@ that dependencies may not be installed.
       \multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed 
packages?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
-      4, 5, 6, 7        & Yes \\
+      4, 5, 6, 7, 8     & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -459,7 +459,7 @@ named \t{default_}(phase) that behaves as the default 
implementation for that EA
 when executing any ebuild phase listed in the table. Ebuilds must not call 
these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{default_} phase functions}
     \label{tab:default-phase-function-table}
     \begin{tabular}{l P{26em}}
@@ -470,7 +470,7 @@ when in the phase in question.
       0, 1              & None \\
       2, 3              & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, 
\t{src_configure},
                           \t{src_compile}, \t{src_test} \\
-      4, 5, 6, 7        & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, 
\t{src_configure},
+      4, 5, 6, 7, 8     & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, 
\t{src_configure},
                           \t{src_compile}, \t{src_test}, \t{src_install} \\
       \bottomrule
     \end{tabular}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index bbd286f..040b02a 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -88,7 +88,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See chapter~\ref{ch:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults}
     \label{tab:iuse-defaults-table}
     \begin{tabular}{ll}
@@ -96,13 +96,13 @@ Ebuilds may define any of the following variables:
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
       \midrule
-      0                         & No  \\
-      1, 2, 3, 4, 5, 6, 7       & Yes \\
+      0                      & No  \\
+      1, 2, 3, 4, 5, 6, 7, 8 & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
     \label{tab:optional-vars-table}
     \begin{tabular}{lll}
@@ -112,7 +112,7 @@ Ebuilds may define any of the following variables:
       \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\
       \midrule
       0, 1, 2, 3        & Optionally & No  \\
-      4, 5, 6, 7        & Yes        & Yes \\
+      4, 5, 6, 7, 8     & Yes        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -169,7 +169,7 @@ on the right of the arrow. When consulting mirrors (except 
for those explicitly
 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}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
     \label{tab:uri-arrows-table}
     \begin{tabular}{ll}
@@ -177,8 +177,8 @@ instead of the filename in the URI.
       \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 \\
+      0, 1                & No  \\
+      2, 3, 4, 5, 6, 7, 8 & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -263,7 +263,7 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not 
change the implicit \t{R
 the ebuild portion, and any \t{DEPEND} value set in an eclass does not get 
treated as being part of
 \t{RDEPEND}.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} default}
     \label{tab:rdepend-depend-table}
     \begin{tabular}{ll}
@@ -272,7 +272,7 @@ the ebuild portion, and any \t{DEPEND} value set in an 
eclass does not get treat
       \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
       \midrule
       0, 1, 2, 3        & Yes \\
-      4, 5, 6, 7        & No  \\
+      4, 5, 6, 7, 8     & No  \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -307,7 +307,7 @@ not be exported to the ebuild environment:
 \note{Thus, by extension of section~\ref{sec:metadata-invariance}, phase 
functions must not be
 defined based upon any variant condition.}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}}
     \label{tab:defined-phases-table}
     \begin{tabular}{ll}
@@ -316,7 +316,7 @@ defined based upon any variant condition.}
       \multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\
       \midrule
       0, 1, 2, 3        & Optionally \\
-      4, 5, 6, 7        & Yes        \\
+      4, 5, 6, 7, 8     & Yes        \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index 6649d35..0e6738d 100644
--- a/merge.tex
+++ b/merge.tex
@@ -86,7 +86,7 @@ held under the original image directory.
 In other EAPIs, the behaviour with respect to file modification times
 is undefined.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ll}
@@ -95,7 +95,7 @@ is undefined.
       \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
       \midrule
       0, 1, 2           & Undefined \\
-      3, 4, 5, 6, 7     & Yes       \\
+      3, 4, 5, 6, 7, 8  & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bc6d1ac..71d1e89 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -31,7 +31,7 @@ The following commands affect this behaviour:
     option and in EAPIs supporting this option, see 
table~\ref{tab:die-properties}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPI command failure behaviour}
     \label{tab:commands-die-table}
     \begin{tabular}{llll}
@@ -43,7 +43,7 @@ The following commands affect this behaviour:
       \midrule
       0, 1, 2, 3        & Non-zero exit & No  & n/a \\
       4, 5, 6           & Aborts        & Yes & No  \\
-      7                 & Aborts        & Yes & Yes \\
+      7, 8              & Aborts        & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -54,7 +54,7 @@ The following commands affect this behaviour:
 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a 
banned command is
 called, the package manager must abort the build process indicating an error.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
     \begin{tabular}{lllllll}
@@ -72,7 +72,7 @@ called, the package manager must abort the build process 
indicating an error.
       0, 1, 2, 3        & No  & No  & No  & No  & No  & No  \\
       4, 5              & Yes & Yes & No  & No  & No  & No  \\
       6                 & Yes & Yes & Yes & No  & No  & No  \\
-      7                 & Yes & Yes & Yes & Yes & Yes & Yes \\
+      7, 8              & Yes & Yes & Yes & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -110,7 +110,7 @@ are given, \t{-r} is assumed.
     otherwise, prints an empty string. The exit code is unspecified.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Package manager query command options supported by EAPIs}
     \label{tab:pm-query-options}
     \begin{tabular}{lllll}
@@ -123,7 +123,7 @@ are given, \t{-r} is assumed.
       \midrule
       0, 1, 2, 3, 4     & No  & No  & No  & No  \\
       5, 6              & Yes & No  & No  & No  \\
-      7                 & No  & Yes & Yes & Yes \\
+      7, 8              & No  & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +159,7 @@ output, using stdout as an output facility is forbidden.
     message followed by a failure indicator. Returns its first argument as 
exit status.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Output commands for EAPIs}
     \label{tab:output-commands}
     \begin{tabular}{lll}
@@ -169,7 +169,7 @@ output, using stdout as an output facility is forbidden.
       \multicolumn{1}{c}{\textbf{Supports \t{eqawarn}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & Yes & No  \\
-      7                   & No  & Yes \\
+      7, 8                & No  & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -191,7 +191,7 @@ completing. Ebuilds must not run any of these commands once 
the current phase fu
     (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Properties of \t{die} and \t{assert} commands in EAPIs}
     \label{tab:die-properties}
     \begin{tabular}{lll}
@@ -204,7 +204,7 @@ completing. Ebuilds must not run any of these commands once 
the current phase fu
       \midrule
       0, 1, 2, 3, 4, 5  & No  & No  \\
       6                 & Yes & No  \\
-      7                 & Yes & Yes \\
+      7, 8              & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -268,7 +268,7 @@ Ebuilds must not run any of these commands once the current 
phase function has r
     subsequent calls, the command will do nothing and return~0.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
     \begin{tabular}{lll}
@@ -278,7 +278,7 @@ Ebuilds must not run any of these commands once the current 
phase function has r
       \multicolumn{1}{c}{\textbf{\t{eapply_user}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5  & No  & No  \\
-      6, 7              & Yes & Yes \\
+      6, 7, 8           & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -327,7 +327,7 @@ commands once the current phase function has returned.
         occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{7}
+    \ChangeWhenAddingAnEAPI{8}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
         \begin{tabular}{llllll}
@@ -343,7 +343,7 @@ commands once the current phase function has returned.
           4                 & Yes & No  & No  & No  & No  \\
           5                 & Yes & Yes & No  & No  & No  \\
           6                 & Yes & Yes & Yes & Yes & No  \\
-          7                 & Yes & Yes & Yes & Yes & Yes \\
+          7, 8              & Yes & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}
@@ -619,7 +619,7 @@ the current phase function has returned.
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}}
     \label{tab:dodoc-table}
     \begin{tabular}{ll}
@@ -628,12 +628,12 @@ the current phase function has returned.
       \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
-      4, 5, 6, 7        & Yes \\
+      4, 5, 6, 7, 8     & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
     \label{tab:doheader-table}
     \begin{tabular}{ll}
@@ -642,12 +642,12 @@ the current phase function has returned.
       \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}}
     \label{tab:doins-table}
     \begin{tabular}{ll}
@@ -656,12 +656,12 @@ the current phase function has returned.
       \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
-      4, 5, 6, 7        & Yes \\
+      4, 5, 6, 7, 8     & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{lll}
@@ -672,12 +672,12 @@ the current phase function has returned.
       \midrule
       0, 1              & No  & Not applicable \\
       2, 3              & Yes & No             \\
-      4, 5, 6, 7        & Yes & Yes            \\
+      4, 5, 6, 7, 8     & Yes & Yes            \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
     \label{tab:newfoo-stdin-table}
     \begin{tabular}{ll}
@@ -686,12 +686,12 @@ the current phase function has returned.
       \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{\t{domo} destination path in EAPIs}
     \label{tab:domo-path}
     \begin{tabular}{ll}
@@ -700,7 +700,7 @@ the current phase function has returned.
       \multicolumn{1}{c}{\textbf{Destination path}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & \t{\$\{DESTTREE\}/share/locale} \\
-      7                   & \t{/usr/share/locale} \\
+      7, 8                & \t{/usr/share/locale} \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -810,7 +810,7 @@ any of these functions from any other phase.
     supporting \t{dostrip}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Commands controlling manipulation of files in the staging 
area in EAPIs}
     \label{tab:staging-area-commands}
     \begin{tabular}{lll}
@@ -821,7 +821,7 @@ any of these functions from any other phase.
       \midrule
       0, 1, 2, 3        & No  & No  \\
       4, 5, 6           & Yes & No  \\
-      7                 & Yes & Yes \\
+      7, 8              & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -865,7 +865,7 @@ table~\ref{tab:use-list-strictness}.
     table~\ref{tab:use-list-functions} as supporting \t{in_iuse}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPI behaviour for use queries not in \t{IUSE_EFFECTIVE}}
     \label{tab:use-list-strictness}
     \begin{tabular}{ll}
@@ -874,12 +874,12 @@ table~\ref{tab:use-list-strictness}.
       \multicolumn{1}{c}{\textbf{Behaviour}} \\
       \midrule
       0, 1, 2, 3        & Undefined \\
-      4, 5, 6, 7        & Error     \\
+      4, 5, 6, 7, 8     & Error     \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and 
\t{use_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ll}
@@ -888,12 +888,12 @@ table~\ref{tab:use-list-strictness}.
       \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
-      4, 5, 6, 7        & Yes \\
+      4, 5, 6, 7, 8     & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{usex} and \t{in_iuse}}
     \label{tab:use-list-functions}
     \begin{tabular}{lll}
@@ -904,7 +904,7 @@ table~\ref{tab:use-list-strictness}.
       \midrule
       0, 1, 2, 3, 4     & No  & No  \\
       5                 & Yes & No  \\
-      6, 7              & Yes & Yes \\
+      6, 7, 8           & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -984,7 +984,7 @@ the second, inclusively.
     section~\ref{sec:version-spec}. Comparison is done using 
algorithm~\ref{alg:version-comparison}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting version manipulation commands}
     \label{tab:version-commands}
     \begin{tabular}{llll}
@@ -995,7 +995,7 @@ the second, inclusively.
       \multicolumn{1}{c}{\textbf{\t{ver_test}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & No  & No  & No  \\
-      7                   & Yes & Yes & Yes \\
+      7, 8                & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -1069,7 +1069,7 @@ has returned.
     \featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions 
in a case-insensitive
     manner, for EAPIs listed such in table~\ref{tab:unpack-behaviour}.
 
-    \ChangeWhenAddingAnEAPI{7}
+    \ChangeWhenAddingAnEAPI{8}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
         \begin{tabular}{lll}
@@ -1079,12 +1079,12 @@ has returned.
           \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
           0, 1, 2, 3, 4, 5  & No  & No  \\
-          6, 7              & Yes & Yes \\
+          6, 7, 8           & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}
 
-    \ChangeWhenAddingAnEAPI{7}
+    \ChangeWhenAddingAnEAPI{8}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{llll}
@@ -1096,7 +1096,7 @@ has returned.
           \midrule
           0, 1, 2           & No  & No  & No  \\
           3, 4, 5           & Yes & Yes & No  \\
-          6, 7              & Yes & Yes & Yes \\
+          6, 7, 8           & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}
@@ -1163,7 +1163,7 @@ has returned.
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Misc commands for EAPIs}
     \label{tab:misc-commands}
     \begin{tabular}{llll}
@@ -1175,7 +1175,7 @@ has returned.
       \midrule
       0, 1              & No  & No  & No  \\
       2, 3, 4, 5        & Yes & No  & No  \\
-      6, 7              & Yes & Yes & Yes \\
+      6, 7, 8           & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pms.tex b/pms.tex
index 7840252..f54b1a0 100644
--- a/pms.tex
+++ b/pms.tex
@@ -21,8 +21,8 @@
     pdfkeywords={Gentoo, package manager, specification},
 }
 
-\CurrentEAPIIs{7}
-\ChangeWhenAddingAnEAPI{7}
+\CurrentEAPIIs{8}
+\ChangeWhenAddingAnEAPI{8}
 
 \begin{document}
 \maketitle

diff --git a/profile-variables.tex b/profile-variables.tex
index f34c7c5..ba40bf4 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -40,7 +40,7 @@ Other variables, except where they affect only 
package-manager-specific function
 Portage's \t{FEATURES} variable), must not be treated incrementally---later 
definitions shall
 completely override those in parent profiles.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
     \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ll}
@@ -49,12 +49,12 @@ completely override those in parent profiles.
       \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} 
injection?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Profile-defined unsetting of variables in EAPIs}
     \label{tab:profile-env-unset}
     \begin{tabular}{ll}
@@ -63,7 +63,7 @@ completely override those in parent profiles.
       \multicolumn{1}{c}{\textbf{Supports \t{ENV_UNSET}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & No  \\
-      7                   & Yes \\
+      7, 8                & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index a3e666e..d6e8649 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -78,7 +78,7 @@ in that directory, unless their name begins with a dot, will 
be concatenated in
 filename in the POSIX locale and the result will be processed as if it were a 
single file.
 Any subdirectories will be ignored.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting directories for profile files}
     \label{tab:profile-file-dirs}
     \begin{tabular}{ll}
@@ -87,7 +87,7 @@ Any subdirectories will be ignored.
       \multicolumn{1}{c}{\textbf{Supports directories for profile files?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & No  \\
-      7                   & Yes \\
+      7, 8                & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -123,7 +123,7 @@ it is actually installed. Because it has severe adverse 
effects on USE-based and
 dependencies, its use is strongly deprecated and package manager support must 
be regarded as purely
 optional. Supported in EAPIs as per table~\ref{tab:package-provided}.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{package.provided} in profiles}
     \label{tab:package-provided}
     \begin{tabular}{ll}
@@ -132,7 +132,7 @@ optional. Supported in EAPIs as per 
table~\ref{tab:package-provided}.
       \multicolumn{1}{c}{\textbf{Supports \t{package.provided}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & Optionally \\
-      7                   & No         \\
+      7, 8                & No         \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -165,7 +165,7 @@ only act on packages that are merged due to a stable 
keyword in the sense of
 subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the 
feature set deemed
 stable in a package.
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Profile directory support for masking/forcing use flags in 
stable versions only}
     \label{tab:profile-stablemask}
     \begin{tabular}{ll}
@@ -174,7 +174,7 @@ stable in a package.
       \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable 
versions?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
-      5, 6, 7           & Yes \\
+      5, 6, 7, 8        & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/tree-layout.tex b/tree-layout.tex
index fdf4b65..81599a9 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -127,7 +127,7 @@ manager must ignore any files in this directory that it 
does not recognise.
 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting a directory for \t{package.mask}}
     \label{tab:package-mask-dir}
     \begin{tabular}{ll}
@@ -136,7 +136,7 @@ manager must ignore any files in this directory that it 
does not recognise.
       \multicolumn{1}{c}{\textbf{\t{package.mask} can be a directory?}} \\
       \midrule
       0, 1, 2, 3, 4, 5, 6 & No  \\
-      7                   & Yes \\
+      7, 8                & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

Reply via email to