public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-01-01 20:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-01-01 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     cdd437f23fa4383d3cad2926fd24a271ff8307cc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan  1 20:14:14 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=cdd437f2

Add an EAPI 6 identical to EAPI 5.

---
 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 2444fcd..ee226f6 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -82,7 +82,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -95,11 +95,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -112,6 +113,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -182,7 +184,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -197,11 +199,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -214,6 +217,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -251,7 +255,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -265,6 +269,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..ebf8266 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..fbe8736 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[5] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 70b69b2..afa06b7 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -34,7 +34,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -47,6 +47,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..c5ed916 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -224,7 +224,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -240,11 +240,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -258,11 +259,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -278,6 +280,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -378,7 +381,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -392,6 +395,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..f2fe160 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..ce80a6f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index bc74193..14ebe96 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ad189c3..929d0fe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ has returned.
         string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..b55b37f 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..e5d2d42 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-01-01 20:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-01-01 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     6bb8a19d42cda34d9f7d6460a912cba55272d9e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  1 20:13:16 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan  1 20:13:16 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6bb8a19d

Fix number of columns in several tables.

---
 pkg-mgr-commands.tex  | 6 +++---
 profile-variables.tex | 2 +-
 profiles.tex          | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index acf71ac..ad189c3 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -49,10 +49,10 @@ called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l l }
+    \begin{tabular}{ l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{3}{c}{\textbf{Command banned?}} \\
+        \multicolumn{2}{c}{\textbf{Command banned?}} \\
         \multicolumn{1}{c}{} &
         \multicolumn{1}{c}{\textbf{\t{dohard}}} &
         \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
@@ -161,7 +161,7 @@ has returned.
 
     \ChangeWhenAddingAnEAPI{5}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
-        \begin{tabular}{ l l l l }
+        \begin{tabular}{ l l l }
             \toprule
                 \multicolumn{1}{c}{\textbf{EAPI}} &
                 \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &

diff --git a/profile-variables.tex b/profile-variables.tex
index cf8cac2..a52f21b 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -35,7 +35,7 @@ completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
         \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\

diff --git a/profiles.tex b/profiles.tex
index ffdcdec..b33e1b1 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -128,7 +128,7 @@ stable in a package.
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
         \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-01-01 20:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-01-01 20:10 UTC (permalink / raw
  To: gentoo-commits

commit:     176fa6a6a1e569a666b955a2649a226fd8ee5b49
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan  1 20:14:14 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=176fa6a6

Rework the EAPI feature table.

With the addition of EAPI 6, the table was to wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

---
 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ebf8266..6a7aa00 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 10:39 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 10:39 UTC (permalink / raw
  To: gentoo-commits

commit:     2906b78386486d24996a44bc1df71fb523536bf8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 19 23:25:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 19 23:25:05 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2906b783

Update URI of PMS project page.

---
 eapi-cheatsheet.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 5885eb5..a23b822 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -22,7 +22,8 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{\url{http://wiki.gentoo.org/wiki/Project:PMS}}}
+\author{Gentoo PMS team\thanks{%
+    \url{http://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 10:39 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 10:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4f3212ad41b8a297c1b7e607fd2784bd5e15a9ba
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 19 23:26:05 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=4f3212ad

Rework the EAPI feature table.

With the addition of EAPI 6, the table was to wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

---
 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ebf8266..6a7aa00 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 10:39 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 10:39 UTC (permalink / raw
  To: gentoo-commits

commit:     8cfe23bc112b6321dfd94820abf48f4fbae133a1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 19 23:26:05 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8cfe23bc

Add an EAPI 6 identical to EAPI 5.

---
 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 2444fcd..ee226f6 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -82,7 +82,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -95,11 +95,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -112,6 +113,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -182,7 +184,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -197,11 +199,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -214,6 +217,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -251,7 +255,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -265,6 +269,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..ebf8266 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..fbe8736 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[5] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 70b69b2..afa06b7 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -34,7 +34,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -47,6 +47,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..c5ed916 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -224,7 +224,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -240,11 +240,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -258,11 +259,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -278,6 +280,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -378,7 +381,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -392,6 +395,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..f2fe160 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..ce80a6f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index bc74193..14ebe96 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ad189c3..929d0fe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ has returned.
         string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..b55b37f 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..e5d2d42 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 11:16 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 11:16 UTC (permalink / raw
  To: gentoo-commits

commit:     742f62c687e2d6b27e5adae93e9bbe6d8bbc61be
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 11:22:22 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=742f62c6

EAPI 6: Bash version is 4.2.

See bug 431340.

---
 eapi-differences.tex    |  5 ++++-
 ebuild-env-commands.tex | 24 ++++++++++++------------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6a7aa00..f1255f3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -139,6 +139,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index afa06b7..41e74f7 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The
-    required bash version was retroactively updated from 3.0 to 3.2 in
-    November 2009 (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -35,19 +34,20 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+\begin{centertable}{System commands for EAPIs} \label{tab:system-commands-table}
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{bash version}} &
             \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
             \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
+    \t{0} & 3.2 & Undefined \\
+    \t{1} & 3.2 & Undefined \\
+    \t{2} & 3.2 & Undefined \\
+    \t{3} & 3.2 & Undefined \\
+    \t{4} & 3.2 & Undefined \\
+    \t{5} & 3.2 & Yes \\
+    \t{6} & 4.2 & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3c57e5f 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and \ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 12:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 12:43 UTC (permalink / raw
  To: gentoo-commits

commit:     f46831afd3b8df081f3d5bc572a705fcb1e994d8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 12:45:00 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=f46831af

EAPI 6: Bash version is 4.2.

See bug 431340.

---
 eapi-differences.tex    |  5 ++++-
 ebuild-env-commands.tex | 24 ++++++++++++------------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 22 insertions(+), 18 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6a7aa00..f1255f3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -139,6 +139,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index afa06b7..6eca0c9 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The
-    required bash version was retroactively updated from 3.0 to 3.2 in
-    November 2009 (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -35,19 +34,20 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+\begin{centertable}{System commands for EAPIs} \label{tab:system-commands-table}
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Bash version}} &
             \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
             \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
+    \t{0} & 3.2 & Undefined \\
+    \t{1} & 3.2 & Undefined \\
+    \t{2} & 3.2 & Undefined \\
+    \t{3} & 3.2 & Undefined \\
+    \t{4} & 3.2 & Undefined \\
+    \t{5} & 3.2 & Yes \\
+    \t{6} & 4.2 & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3c57e5f 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and \ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 12:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 12:43 UTC (permalink / raw
  To: gentoo-commits

commit:     d8829f3075001896aebb824d6436449f641f66e5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 12:46:40 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d8829f30

EAPI 6 enables failglob in global scope.

See bug 463822.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 23 +++++++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index f1255f3..3f3afa2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope? & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 6eca0c9..4e3d049 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,21 +33,28 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs} \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
             \multicolumn{1}{c}{\textbf{Bash version}} &
+            \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
             \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
             \midrule
-    \t{0} & 3.2 & Undefined \\
-    \t{1} & 3.2 & Undefined \\
-    \t{2} & 3.2 & Undefined \\
-    \t{3} & 3.2 & Undefined \\
-    \t{4} & 3.2 & Undefined \\
-    \t{5} & 3.2 & Yes \\
-    \t{6} & 4.2 & Yes \\
+    \t{0} & 3.2 & No & Undefined \\
+    \t{1} & 3.2 & No & Undefined \\
+    \t{2} & 3.2 & No & Undefined \\
+    \t{3} & 3.2 & No & Undefined \\
+    \t{4} & 3.2 & No & Undefined \\
+    \t{5} & 3.2 & No & Yes \\
+    \t{6} & 4.2 & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 13:06 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 13:06 UTC (permalink / raw
  To: gentoo-commits

commit:     0fd71690ff43c222d1e0d3dca2907be469b6f128
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 13:11:47 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=0fd71690

EAPI 6: einstall banned.

See bug 524112.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 23 +++++++++++++----------
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3f3afa2..12c101a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -160,6 +160,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 929d0fe..66f8718 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -50,21 +50,22 @@ called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
+        \multicolumn{3}{c}{\textbf{Command banned?}} \\
         \multicolumn{1}{c}{} &
         \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+        \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+        \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
         \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
+    \t{0} & No & No & No \\
+    \t{1} & No & No & No \\
+    \t{2} & No & No & No \\
+    \t{3} & No & No & No \\
+    \t{4} & Yes & Yes & No \\
+    \t{5} & Yes & Yes & No \\
+    \t{6} & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -219,6 +220,8 @@ has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 14:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 14:36 UTC (permalink / raw
  To: gentoo-commits

commit:     d49cf859302123b1b78a468878f2d4b19f94ef90
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 14:42:19 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d49cf859

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 38 +++++++++++++++++++++++++++++++-------
 2 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 12c101a..221bca1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -166,6 +166,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 66f8718..bf7fa6a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die-table}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -124,13 +126,35 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die-table} as supporting option~\t{-n}. Otherwise,
+    displays a failure message provided in its first and only argument, and then aborts the build
+    process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & No \\
+    \t{6} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
 package's build commands. Ebuilds must not run any of these commands once the current phase function


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 15:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 15:08 UTC (permalink / raw
  To: gentoo-commits

commit:     3fb4babac6cce2473209b52168966737faa6b008
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 15:11:21 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=3fb4baba

EAPI 6: einstall banned.

See bug 524112.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 23 +++++++++++++----------
 2 files changed, 17 insertions(+), 10 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b9fe5a4..fdb0843 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -160,6 +160,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 929d0fe..66f8718 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -50,21 +50,22 @@ called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
+        \multicolumn{3}{c}{\textbf{Command banned?}} \\
         \multicolumn{1}{c}{} &
         \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+        \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+        \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
         \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
+    \t{0} & No & No & No \\
+    \t{1} & No & No & No \\
+    \t{2} & No & No & No \\
+    \t{3} & No & No & No \\
+    \t{4} & Yes & Yes & No \\
+    \t{5} & Yes & Yes & No \\
+    \t{6} & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -219,6 +220,8 @@ has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 15:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 15:08 UTC (permalink / raw
  To: gentoo-commits

commit:     33e5d2a97fe8d372b0055185242654c83781f0b6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 15:11:21 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=33e5d2a9

EAPI 6 enables failglob in global scope.

See bug 463822.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 23 +++++++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index f1255f3..b9fe5a4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 6eca0c9..4e3d049 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,21 +33,28 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs} \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
             \multicolumn{1}{c}{\textbf{Bash version}} &
+            \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
             \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
             \midrule
-    \t{0} & 3.2 & Undefined \\
-    \t{1} & 3.2 & Undefined \\
-    \t{2} & 3.2 & Undefined \\
-    \t{3} & 3.2 & Undefined \\
-    \t{4} & 3.2 & Undefined \\
-    \t{5} & 3.2 & Yes \\
-    \t{6} & 4.2 & Yes \\
+    \t{0} & 3.2 & No & Undefined \\
+    \t{1} & 3.2 & No & Undefined \\
+    \t{2} & 3.2 & No & Undefined \\
+    \t{3} & 3.2 & No & Undefined \\
+    \t{4} & 3.2 & No & Undefined \\
+    \t{5} & 3.2 & No & Yes \\
+    \t{6} & 4.2 & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 15:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 15:08 UTC (permalink / raw
  To: gentoo-commits

commit:     5193b09030983cc1d43e00dde8697e8b137d5113
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 15:11:21 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5193b090

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 38 +++++++++++++++++++++++++++++++-------
 2 files changed, 35 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index fdb0843..83689df 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -166,6 +166,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 66f8718..bf7fa6a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die-table}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -124,13 +126,35 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die-table} as supporting option~\t{-n}. Otherwise,
+    displays a failure message provided in its first and only argument, and then aborts the build
+    process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & No \\
+    \t{6} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
 package's build commands. Ebuilds must not run any of these commands once the current phase function


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 15:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 15:08 UTC (permalink / raw
  To: gentoo-commits

commit:     f1de26e3eb3ce6c9acdfeece2c6bc74d64da4719
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 15:13:33 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=f1de26e3

EAPI 6 unpack supports txz.

See bug 458102.

---
 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 26 ++++++++++++++------------
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 83689df..57eb576 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -204,9 +204,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & No \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bf7fa6a..3aeb587 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -829,27 +829,29 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} &
+            \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
             \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
+    \t{0} & No & No \\
+    \t{1} & No & No \\
+    \t{2} & No & No \\
+    \t{3} & Yes & No \\
+    \t{4} & Yes & No \\
+    \t{5} & Yes & No \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 16:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     8d06613411df82b77048b5f4f9d0030477ae08cc
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 16:44:20 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8d066134

EAPI 6 has get_libdir.

See bug 463586.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 40 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 353c2a2..44e383a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 830f84e..2fee628 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -885,8 +885,26 @@ has returned.
     section~\ref{sec:default-phase-funcs}).  Must not be called if the \t{default\_} function
     does not exist for the current phase in the current EAPI.  Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in
+    table~\ref{tab:get-libdir-table} as supporting \t{get\_libdir}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
@@ -905,6 +923,24 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{get\_libdir}} \label{tab:get-libdir-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & No \\
+    \t{6} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 16:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     5d1c2a1815e71e8b9c35efb5034a8c7181f2141f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 16:11:30 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5d1c2a18

EAPI 6 unpack matches filename extensions case-insensitively.

See bug 476730.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++++
 2 files changed, 26 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index adc5003..353c2a2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -210,6 +210,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -324,6 +327,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 3aeb587..830f84e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -837,6 +837,9 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions in a case-insensitive
+    manner, for EAPIs listed such in table~\ref{tab:unpack-ignore-case-table}.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l l }
@@ -856,6 +859,25 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs with case-insensitive filename matching in \t{unpack}}
+    \label{tab:unpack-ignore-case-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & No \\
+    \t{6} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \item[inherit] See section~\ref{sec:inherit}.
 
 \item[default]


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 16:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7b8f42d01a9f2e2771aa14b3cc72b25504440272
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 16:08:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=7b8f42d0

EAPI 6 unpack supports txz.

See bug 458102.

---
 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 26 ++++++++++++++------------
 2 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 83689df..adc5003 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -204,9 +204,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bf7fa6a..3aeb587 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -829,27 +829,29 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} &
+            \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
             \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
+    \t{0} & No & No \\
+    \t{1} & No & No \\
+    \t{2} & No & No \\
+    \t{3} & Yes & No \\
+    \t{4} & Yes & No \\
+    \t{5} & Yes & No \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 18:59 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 18:59 UTC (permalink / raw
  To: gentoo-commits

commit:     b4b880d199461c33bf4a99e0157455b522bef5ce
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:06:08 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b4b880d1

EAPI 6: unpack supports absolute and relative paths.

See bug 483244.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 35 +++++++++++++++++++++--------------
 2 files changed, 25 insertions(+), 14 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 44e383a..d29da60 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -204,6 +204,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -329,6 +332,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{get\_libdir} support, \featureref{get-libdir}.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 2fee628..5fd3d62 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -799,9 +799,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour-table} as supporting absolute and relative paths, the
+        argument is interpreted as a literal path (absolute, or relative to the working directory);
+        for EAPIs listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -838,7 +844,7 @@ has returned.
     being in the system set or via dependencies.
 
     \featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions in a case-insensitive
-    manner, for EAPIs listed such in table~\ref{tab:unpack-ignore-case-table}.
+    manner, for EAPIs listed such in table~\ref{tab:unpack-behaviour-table}.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
@@ -860,20 +866,21 @@ has returned.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with case-insensitive filename matching in \t{unpack}}
-    \label{tab:unpack-ignore-case-table}
-    \begin{tabular}{ l l }
+\begin{centertable}{\t{unpack} behaviour for EAPIs}
+    \label{tab:unpack-behaviour-table}
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
             \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
             \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & Yes \\
+    \t{0} & No & No \\
+    \t{1} & No & No \\
+    \t{2} & No & No \\
+    \t{3} & No & No \\
+    \t{4} & No & No \\
+    \t{5} & No & No \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 19:44 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 19:44 UTC (permalink / raw
  To: gentoo-commits

commit:     bb47f71393579bea6ed1c95e74d6ad2f9f99e378
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:47:42 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=bb47f713

EAPI 6: econf adds --docdir and --htmldir.

See bug 468202.

---
 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 26 +++++++++++++++++---------
 2 files changed, 19 insertions(+), 10 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index d29da60..89d8a43 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -172,7 +172,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -332,6 +332,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ef65d0c..bde471c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -176,6 +176,12 @@ has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -188,19 +194,21 @@ has returned.
 
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
             \toprule
                 \multicolumn{1}{c}{\textbf{EAPI}} &
                 \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
+                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} &
+                \multicolumn{1}{c}{\textbf{-{}-docdir}?} &
+                \multicolumn{1}{c}{\textbf{-{}-htmldir}?} \\
                 \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
+        \t{0} & No & No & No & No \\
+        \t{1} & No & No & No & No \\
+        \t{2} & No & No & No & No \\
+        \t{3} & No & No & No & No \\
+        \t{4} & Yes & No & No & No \\
+        \t{5} & Yes & Yes & No & No \\
+        \t{6} & Yes & Yes & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 19:44 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 19:44 UTC (permalink / raw
  To: gentoo-commits

commit:     40d948f883ae39c39039265514365957be0863fb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:22:57 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:22:57 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=40d948f8

Fix typos in strings occurring in configure --help output.

These should be "--disable-dependency-tracking" and
"--disable-silent-rules", respectively (note the leading "--").

---
 pkg-mgr-commands.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 5fd3d62..ef65d0c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -180,10 +180,10 @@ has returned.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
-    \item -{}-disable-silent-rules, if the EAPI is listed in
-        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
+        string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
+    \item -{}-disable-silent-rules, if the EAPI is listed in table~\ref{tab:econf-options-table} as
+        using it. This option will only be passed if the string \t{-{}-disable-silent-rules} occurs
+        in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-02-16 20:07 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-02-16 20:07 UTC (permalink / raw
  To: gentoo-commits

commit:     b74fb2e29addcb19c39ff65618afdd9b9daa14ef
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 20:09:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 20:09:52 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b74fb2e2

Update list of phases for build commands.

For recent EAPIs, econf is typically run in src_configure which was
missing from the list.

---
 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bde471c..d6093e7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -156,9 +156,9 @@ completing. Ebuilds must not run any of these commands once the current phase fu
 \end{centertable}
 
 \subsubsection{Build commands}
-These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
-package's build commands. Ebuilds must not run any of these commands once the current phase function
-has returned.
+These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
+phases to run the package's build commands. Ebuilds must not run any of these commands once the
+current phase function has returned.
 
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     c951cac4e7b045f04c75070e147ac713f5e95885
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c951cac4

EAPI 6 supports package.* and use.* directories.

See bug 282296.

---
 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6a7aa00..b3a757a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index f71b537..55c7acf 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-02-21 12:19 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-03-03  6:18 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     8b257070f3a88d91a64faa0f588957a5dc137e97
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 18 07:11:29 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 18 07:11:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8b257070

Whitespace: Split some very long lines.

---
 dependencies.tex        | 28 +++++++++++++++++-----------
 ebuild-env-commands.tex |  6 +++---
 names.tex               | 12 ++++++++----
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 2444fcd..b5cfcfa 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -4,17 +4,22 @@
 \section{Dependency Classes}
 \label{sec:dependency-classes}
 
-\begin{centertable}{Dependency classes required to be satisfied for a particular phase function} \label{tab:phase-function-dependency-classes}
+\begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
+    \label{tab:phase-function-dependency-classes}
     \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }
-        \toprule
-        \multicolumn{1}{c}{\textbf{Phase function}} &
-        \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
-        \midrule
-        \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
-        \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
-        \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
-        \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{Phase function}} &
+      \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
+      \midrule
+      \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} &
+          None (ebuilds can rely only on the packages in the system set) \\
+      \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test},
+          \t{src\_install} & \t{DEPEND} \\
+      \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} &
+          \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
+          case it may be installed later) \\
+      \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -30,7 +35,8 @@ There are three classes of dependencies supported by ebuilds:
     the package manager finishes the batch of installs.
 \end{compactitem}
 
-Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before a particular phase function is executed.
+Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before
+a particular phase function is executed.
 
 In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their values.

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 70b69b2..7d3c33b 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,9 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The
-    required bash version was retroactively updated from 3.0 to 3.2 in
-    November 2009 (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
+    retroactively updated from 3.0 to 3.2 in November 2009
+    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/names.tex b/names.tex
index 447be9a..e64a828 100644
--- a/names.tex
+++ b/names.tex
@@ -87,7 +87,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for numeric components} \label{alg:version-comparison-numeric}
 \begin{algorithmic}[1]
-  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric component of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric
+      component of $A$ and $B$ respectively, using $0$-based indexing
   \IF{$An_0>Bn_0$ using integer comparison}
     \RETURN $A>B$
   \ELSIF{$An_0<Bn_0$ using integer comparison}
@@ -107,7 +108,8 @@ from which it was invoked.
 \end{algorithm}
 
 \begin{algorithm}
-\caption{Version comparison logic for each numeric component after the first} \label{alg:version-comparison-numeric-nonfirst}
+\caption{Version comparison logic for each numeric component after the first}
+\label{alg:version-comparison-numeric-nonfirst}
 \begin{algorithmic}[1]
   \IF{either $An_i$ or $Bn_i$ has a leading \t{0}}
     \STATE let $An'_i$ be $An_i$ with any trailing \t{0}s removed
@@ -143,7 +145,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for suffixes} \label{alg:version-comparison-suffix}
 \begin{algorithmic}[1]
-  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$
+      and $B$ respectively, using $0$-based indexing
   \STATE let $Asn$ be the number of suffixes of $A$
   \STATE let $Bsn$ be the number of suffixes of $B$
   \FORALL{$i$ such that $i\geq0$ and $i<Asn$ and $i<Bsn$, in ascending order}
@@ -176,7 +179,8 @@ from which it was invoked.
     \ELSIF{$As'_i<Bs'_i$, using integer comparison}
       \RETURN $A<B$
     \ENDIF
-  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
+  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering
+      $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
     \RETURN $A>B$
   \ELSE
     \RETURN $A<B$


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     002eba7d64e49b9cd1da7ad3978fcbeb18849010
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:28 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=002eba7d

Add an EAPI 6 identical to EAPI 5.

---
 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index b5cfcfa..a917cb5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -88,7 +88,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -101,11 +101,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -118,6 +119,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -188,7 +190,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -203,11 +205,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -220,6 +223,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -257,7 +261,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -271,6 +275,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..ebf8266 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..fbe8736 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[5] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7d3c33b..4e175a5 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -34,7 +34,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -47,6 +47,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..c5ed916 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -224,7 +224,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -240,11 +240,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -258,11 +259,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -278,6 +280,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -378,7 +381,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -392,6 +395,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..f2fe160 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..ce80a6f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index bc74193..14ebe96 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ef65793..db5df8a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ current phase function has returned.
         in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ current phase function has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..b55b37f 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..e5d2d42 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     81351aae6df13cd702504561fd6b482623cb1a8f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:22:57 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:22:57 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=81351aae

Fix strings matching configure --help output.

These should be "--disable-dependency-tracking" and
"--disable-silent-rules", respectively (note the leading "--").

---
 pkg-mgr-commands.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ad189c3..efdf360 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,10 +153,10 @@ has returned.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
-    \item -{}-disable-silent-rules, if the EAPI is listed in
-        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
+        string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
+    \item -{}-disable-silent-rules, if the EAPI is listed in table~\ref{tab:econf-options-table} as
+        using it. This option will only be passed if the string \t{-{}-disable-silent-rules} occurs
+        in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{5}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     755c5054fa94144c13f607b04224ffe69bc226cb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=755c5054

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

---
 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index a917cb5..9a8a2bf 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -262,21 +247,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 4e175a5..7a338a5 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -35,20 +35,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index c5ed916..1b2da65 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -225,42 +225,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -268,20 +261,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -385,18 +373,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index f2fe160..25cc812 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index ce80a6f..0010d7c 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 14ebe96..539d0ff 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index db5df8a..e9cb28f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index b55b37f..c07a5a9 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index e5d2d42..f71b537 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7fbfcd1bbd5dd0d1d9d5bb7f0dcda9e6413d4e91
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 20:09:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 20:09:52 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=7fbfcd1b

Update list of phases for build commands.

For recent EAPIs, econf is typically run in src_configure which was
missing from the list.

---
 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index efdf360..ef65793 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -129,9 +129,9 @@ completing. Ebuilds must not run any of these commands once the current phase fu
 \end{description}
 
 \subsubsection{Build commands}
-These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
-package's build commands. Ebuilds must not run any of these commands once the current phase function
-has returned.
+These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
+phases to run the package's build commands. Ebuilds must not run any of these commands once the
+current phase function has returned.
 
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     8261cb91dcae518e5bc676b9c7f0bf96ff0f5f28
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:28 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8261cb91

Rework the EAPI feature table.

With the addition of EAPI 6, the table was too wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

---
 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ebf8266..6a7aa00 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     46041176b4394c31978300900a12b51ac0594c56
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=46041176

EAPI 6: einstall banned.

See bug 524112.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6fc115c..9760d7e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e9cb28f..14e27d2 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ac4641f77bcc8e7265771b765a7205796938394d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ac4641f7

EAPI 6: econf adds --docdir and --htmldir.

See bug 468202.

---
 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7e4cd09..12c05b4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,7 +175,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -324,6 +324,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bf688f9..3ac8169 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -164,6 +164,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -177,15 +183,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     2f81c57ccd90b227f342a952aaffa0e1c2b0e265
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2f81c57c

EAPI 6 has get_libdir.

See bug 463586.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 08fd629..111fd3d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,6 +222,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index eb4a75d..3860f68 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -837,8 +837,26 @@ has returned.
     section~\ref{sec:default-phase-funcs}).  Must not be called if the \t{default\_} function
     does not exist for the current phase in the current EAPI.  Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -853,6 +871,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     85f7a20ba16417742bc053e72a91d467b3a75e66
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=85f7a20b

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 9760d7e..7e4cd09 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 14e27d2..bf688f9 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ba1a596285698b9cab6d5ff8c2f49be1fb167c38
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ba1a5962

EAPI 6: unpack matches filename extensions case-insensitively.

See bug 476730.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index f909461..08fd629 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -333,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 531a027..eb4a75d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -795,16 +795,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     85c72a2ffd66f6b9d0d16f47989b6cc752955901
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=85c72a2f

EAPI 6 enables failglob in global scope.

See bug 463822.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7854739..6fc115c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 9e41abe..ca6f5b3 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,18 +33,25 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & Undefined \\
-      5                 & 3.2 & Yes       \\
-      6                 & 4.2 & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
+      5                 & 3.2 & No  & Yes       \\
+      6                 & 4.2 & Yes & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     491a58ecf4ac725b9c823a520594f8cb30266774
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=491a58ec

EAPI 6: unpack supports txz.

See bug 458102.

---
 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 66c2cbe..f909461 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -210,9 +210,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -329,6 +332,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 57d5bfb..531a027 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -787,9 +787,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -811,13 +812,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     a356d816dc3339de9347c86678a75ddfd0e3b27b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a356d816

EAPI 6: unpack supports absolute and relative paths.

See bug 483244.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 12c05b4..66c2cbe 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -207,6 +207,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -325,6 +328,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 3ac8169..57d5bfb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -751,9 +751,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -789,6 +795,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     92ebc3e49bf513fd1f997deaaf41285f845f0d75
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=92ebc3e4

EAPI 6: Bash version is 4.2.

See bug 431340.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 ++++++++-------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3a757a..7854739 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7a338a5..9e41abe 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -35,15 +34,17 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & Undefined \\
+      5                 & 3.2 & Yes       \\
+      6                 & 4.2 & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3c57e5f 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and \ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     8261cb91dcae518e5bc676b9c7f0bf96ff0f5f28
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:28 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8261cb91

Rework the EAPI feature table.

With the addition of EAPI 6, the table was too wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

---
 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ebf8266..6a7aa00 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7fbfcd1bbd5dd0d1d9d5bb7f0dcda9e6413d4e91
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 20:09:52 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Mon Feb 16 20:09:52 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=7fbfcd1b

Update list of phases for build commands.

For recent EAPIs, econf is typically run in src_configure which was
missing from the list.

---
 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index efdf360..ef65793 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -129,9 +129,9 @@ completing. Ebuilds must not run any of these commands once the current phase fu
 \end{description}
 
 \subsubsection{Build commands}
-These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
-package's build commands. Ebuilds must not run any of these commands once the current phase function
-has returned.
+These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
+phases to run the package's build commands. Ebuilds must not run any of these commands once the
+current phase function has returned.
 
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     755c5054fa94144c13f607b04224ffe69bc226cb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=755c5054

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

---
 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index a917cb5..9a8a2bf 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -262,21 +247,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 4e175a5..7a338a5 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -35,20 +35,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index c5ed916..1b2da65 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -225,42 +225,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -268,20 +261,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -385,18 +373,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index f2fe160..25cc812 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index ce80a6f..0010d7c 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 14ebe96..539d0ff 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index db5df8a..e9cb28f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index b55b37f..c07a5a9 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index e5d2d42..f71b537 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     002eba7d64e49b9cd1da7ad3978fcbeb18849010
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:28 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=002eba7d

Add an EAPI 6 identical to EAPI 5.

---
 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index b5cfcfa..a917cb5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -88,7 +88,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -101,11 +101,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -118,6 +119,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -188,7 +190,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -203,11 +205,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -220,6 +223,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -257,7 +261,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -271,6 +275,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..ebf8266 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..fbe8736 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[5] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7d3c33b..4e175a5 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -34,7 +34,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -47,6 +47,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..c5ed916 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -224,7 +224,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -240,11 +240,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -258,11 +259,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -278,6 +280,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -378,7 +381,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -392,6 +395,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..f2fe160 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..ce80a6f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index bc74193..14ebe96 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ef65793..db5df8a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ current phase function has returned.
         in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ current phase function has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..b55b37f 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..e5d2d42 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     8b257070f3a88d91a64faa0f588957a5dc137e97
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 18 07:11:29 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Wed Feb 18 07:11:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8b257070

Whitespace: Split some very long lines.

---
 dependencies.tex        | 28 +++++++++++++++++-----------
 ebuild-env-commands.tex |  6 +++---
 names.tex               | 12 ++++++++----
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 2444fcd..b5cfcfa 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -4,17 +4,22 @@
 \section{Dependency Classes}
 \label{sec:dependency-classes}
 
-\begin{centertable}{Dependency classes required to be satisfied for a particular phase function} \label{tab:phase-function-dependency-classes}
+\begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
+    \label{tab:phase-function-dependency-classes}
     \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }
-        \toprule
-        \multicolumn{1}{c}{\textbf{Phase function}} &
-        \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
-        \midrule
-        \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
-        \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
-        \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
-        \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{Phase function}} &
+      \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
+      \midrule
+      \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} &
+          None (ebuilds can rely only on the packages in the system set) \\
+      \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test},
+          \t{src\_install} & \t{DEPEND} \\
+      \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} &
+          \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
+          case it may be installed later) \\
+      \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -30,7 +35,8 @@ There are three classes of dependencies supported by ebuilds:
     the package manager finishes the batch of installs.
 \end{compactitem}
 
-Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before a particular phase function is executed.
+Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before
+a particular phase function is executed.
 
 In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their values.

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 70b69b2..7d3c33b 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,9 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The
-    required bash version was retroactively updated from 3.0 to 3.2 in
-    November 2009 (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
+    retroactively updated from 3.0 to 3.2 in November 2009
+    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/names.tex b/names.tex
index 447be9a..e64a828 100644
--- a/names.tex
+++ b/names.tex
@@ -87,7 +87,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for numeric components} \label{alg:version-comparison-numeric}
 \begin{algorithmic}[1]
-  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric component of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric
+      component of $A$ and $B$ respectively, using $0$-based indexing
   \IF{$An_0>Bn_0$ using integer comparison}
     \RETURN $A>B$
   \ELSIF{$An_0<Bn_0$ using integer comparison}
@@ -107,7 +108,8 @@ from which it was invoked.
 \end{algorithm}
 
 \begin{algorithm}
-\caption{Version comparison logic for each numeric component after the first} \label{alg:version-comparison-numeric-nonfirst}
+\caption{Version comparison logic for each numeric component after the first}
+\label{alg:version-comparison-numeric-nonfirst}
 \begin{algorithmic}[1]
   \IF{either $An_i$ or $Bn_i$ has a leading \t{0}}
     \STATE let $An'_i$ be $An_i$ with any trailing \t{0}s removed
@@ -143,7 +145,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for suffixes} \label{alg:version-comparison-suffix}
 \begin{algorithmic}[1]
-  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$
+      and $B$ respectively, using $0$-based indexing
   \STATE let $Asn$ be the number of suffixes of $A$
   \STATE let $Bsn$ be the number of suffixes of $B$
   \FORALL{$i$ such that $i\geq0$ and $i<Asn$ and $i<Bsn$, in ascending order}
@@ -176,7 +179,8 @@ from which it was invoked.
     \ELSIF{$As'_i<Bs'_i$, using integer comparison}
       \RETURN $A<B$
     \ENDIF
-  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
+  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering
+      $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
     \RETURN $A>B$
   \ELSE
     \RETURN $A<B$


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     81351aae6df13cd702504561fd6b482623cb1a8f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:22:57 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:22:57 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=81351aae

Fix strings matching configure --help output.

These should be "--disable-dependency-tracking" and
"--disable-silent-rules", respectively (note the leading "--").

---
 pkg-mgr-commands.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ad189c3..efdf360 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,10 +153,10 @@ has returned.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
-    \item -{}-disable-silent-rules, if the EAPI is listed in
-        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
+        string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
+    \item -{}-disable-silent-rules, if the EAPI is listed in table~\ref{tab:econf-options-table} as
+        using it. This option will only be passed if the string \t{-{}-disable-silent-rules} occurs
+        in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{5}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     85f7a20ba16417742bc053e72a91d467b3a75e66
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=85f7a20b

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 9760d7e..7e4cd09 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 14e27d2..bf688f9 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ba1a596285698b9cab6d5ff8c2f49be1fb167c38
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ba1a5962

EAPI 6: unpack matches filename extensions case-insensitively.

See bug 476730.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index f909461..08fd629 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -333,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 531a027..eb4a75d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -795,16 +795,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     c951cac4e7b045f04c75070e147ac713f5e95885
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c951cac4

EAPI 6 supports package.* and use.* directories.

See bug 282296.

---
 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6a7aa00..b3a757a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index f71b537..55c7acf 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ac4641f77bcc8e7265771b765a7205796938394d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ac4641f7

EAPI 6: econf adds --docdir and --htmldir.

See bug 468202.

---
 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7e4cd09..12c05b4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,7 +175,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -324,6 +324,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bf688f9..3ac8169 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -164,6 +164,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table \ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -177,15 +183,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     85c72a2ffd66f6b9d0d16f47989b6cc752955901
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=85c72a2f

EAPI 6 enables failglob in global scope.

See bug 463822.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7854739..6fc115c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 9e41abe..ca6f5b3 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,18 +33,25 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & Undefined \\
-      5                 & 3.2 & Yes       \\
-      6                 & 4.2 & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
+      5                 & 3.2 & No  & Yes       \\
+      6                 & 4.2 & Yes & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     92ebc3e49bf513fd1f997deaaf41285f845f0d75
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=92ebc3e4

EAPI 6: Bash version is 4.2.

See bug 431340.

---
 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 ++++++++-------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 18 insertions(+), 12 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3a757a..7854739 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7a338a5..9e41abe 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -35,15 +34,17 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & Undefined \\
+      5                 & 3.2 & Yes       \\
+      6                 & 4.2 & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3c57e5f 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and \ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     491a58ecf4ac725b9c823a520594f8cb30266774
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=491a58ec

EAPI 6: unpack supports txz.

See bug 458102.

---
 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 66c2cbe..f909461 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -210,9 +210,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -329,6 +332,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 57d5bfb..531a027 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -787,9 +787,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -811,13 +812,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     a356d816dc3339de9347c86678a75ddfd0e3b27b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a356d816

EAPI 6: unpack supports absolute and relative paths.

See bug 483244.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 12c05b4..66c2cbe 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -207,6 +207,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -325,6 +328,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 3ac8169..57d5bfb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -751,9 +751,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -789,6 +795,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     2f81c57ccd90b227f342a952aaffa0e1c2b0e265
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2f81c57c

EAPI 6 has get_libdir.

See bug 463586.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 32 ++++++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 08fd629..111fd3d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,6 +222,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index eb4a75d..3860f68 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -837,8 +837,26 @@ has returned.
     section~\ref{sec:default-phase-funcs}).  Must not be called if the \t{default\_} function
     does not exist for the current phase in the current EAPI.  Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -853,6 +871,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-03-03  6:18 git@oystercatcher mirror+tproxy
  0 siblings, 0 replies; 212+ messages in thread
From: git@oystercatcher mirror+tproxy @ 2015-03-03  6:18 UTC (permalink / raw
  To: gentoo-commits

commit:     46041176b4394c31978300900a12b51ac0594c56
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     git@oystercatcher mirror+tproxy <git <AT> oystercatcher <DOT> gentoo <DOT> org>
CommitDate: Thu Feb 19 08:17:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=46041176

EAPI 6: einstall banned.

See bug 524112.

---
 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6fc115c..9760d7e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e9cb28f..14e27d2 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-03-16  9:11 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-04-02 16:10 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     4055e2091ab22d34b45790462513bbaf3d70a1bf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  7 20:43:57 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  7 20:43:57 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4055e209

Drop RESTRICT=sandbox.

RESTRICT=sandbox is neither used in the tree nor supported by Portage.
Drop it retroactively for all EAPIs, bug 161045.

The spec still says that "package managers may recognise other tokens"
so package managers are free to support the feature.

 dependencies.tex | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index b5cfcfa..cf7f33e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -370,7 +370,6 @@ The following tokens are permitted inside \t{RESTRICT}:
 \item[strip] No stripping of debug symbols from files to be installed may be performed.
 \item[userpriv] The package manager may not drop root privileges when building the package.
 \item[test] The \t{src\_test} phase must not be run.
-\item[sandbox] The \t{sandbox} tool must not be used when building the package.
 \end{description}
 
 Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     402f736191e8321bf44b31ad0425da0876cb7ac8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:23:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=402f7361

Rework the EAPI feature table.

With the addition of EAPI 6, the table was too wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ebf8266..6a7aa00 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     22a4a09f85885460753cef7d9274e980959ca846
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:23:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=22a4a09f

Add an EAPI 6 identical to EAPI 5.

 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 0d22489..f655185 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -88,7 +88,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -101,11 +101,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -118,6 +119,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -188,7 +190,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -203,11 +205,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -220,6 +223,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -257,7 +261,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -271,6 +275,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..ebf8266 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..fbe8736 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[5] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 62346ba..c4481d4 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -35,7 +35,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -48,6 +48,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 0cccd8f..360255a 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -225,7 +225,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -241,11 +241,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -259,11 +260,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -279,6 +281,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -379,7 +382,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -393,6 +396,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index c6c43b4..c8015e5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d626d24..e3c12ec 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index 28cde65..6109496 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9c031fe..5c90aa8 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ current phase function has returned.
         in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ current phase function has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index a76fdb7..13810e6 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index ca3b1d7..e01ffe5 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-03-28 19:29 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-04-02 16:10 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     244ffa0bd3893ce4e42bd444edeb92cdc6565ba9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 28 19:01:38 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:01:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=244ffa0b

Update URIs, Gentoo sites use https now.

https://archives.gentoo.org/gentoo-dev/message/48af7446531860f964097b2dacba15aa

 appendices.tex          | 2 +-
 eapi-cheatsheet.tex     | 4 ++--
 ebuild-env-commands.tex | 3 ++-
 pms.bib                 | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index fcadf21..4d0ae12 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -3,7 +3,7 @@
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
-and is described in the DTD file located at \url{http://www.gentoo.org/dtd/metadata.dtd}.
+and is described in the DTD file located at \url{https://www.gentoo.org/dtd/metadata.dtd}.
 
 \chapter{Unspecified Items}
 

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index cf13bf2..bbde806 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -23,7 +23,7 @@
 
 \title{EAPI Cheat Sheet}
 \author{Gentoo PMS team\thanks{%
-    \url{http://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
+    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}
@@ -61,7 +61,7 @@
     built from the same checkout as this overview.
 
     % Please report mistakes in or enhancements to this document via the
-    % Gentoo bug tracking system\footnote{\url{http://bugs.gentoo.org/}}
+    % Gentoo bug tracking system\footnote{\url{https://bugs.gentoo.org/}}
     % to the original author or the PMS team.
 
     This document is released under the Creative Commons

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7d3c33b..62346ba 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -25,7 +25,8 @@ The following commands must always be available in the ebuild environment:
 \begin{compactitem}
 \item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
     retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+    (see \url{https://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).%
+    \label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/pms.bib b/pms.bib
index 5038e16..88885e2 100644
--- a/pms.bib
+++ b/pms.bib
@@ -3,7 +3,7 @@
     title = {{GLEP} 37: Virtuals deprecation},
     year = 2005,
     month = Apr,
-    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:37}"
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:37}"
 }
 
 @misc{Glep44,
@@ -11,5 +11,5 @@
     title = {{GLEP} 44: Manifest2 format},
     year = 2005,
     month = Dec,
-    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:44}"
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:44}"
 }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     0e594cde478c1041efaed7bce29cd5ef82618ccd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 24 18:40:49 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 24 18:40:49 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0e594cde

Typographic fixes to the EAPI cheat sheet.

 eapi-cheatsheet.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index a23b822..cf13bf2 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -57,7 +57,7 @@
 
     Official Gentoo EAPIs are consecutively numbered integers (0, 1,
     2, \dots).  Except where otherwise noted, an EAPI is the same as
-    the previous EAPI.  All labels refer to the PMS document itself,
+    the previous EAPI\@.  All labels refer to the PMS document itself,
     built from the same checkout as this overview.
 
     % Please report mistakes in or enhancements to this document via the
@@ -98,7 +98,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
     naming scheme.  By using
     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
-    saved as \code{foo} in DISTDIR.
+    saved as \code{foo} in DISTDIR\@.
     See \featureref{src-uri-arrows}.
     \item[USE dependencies] Dependencies can specify USE flag
     requirements on their target, removing the need for


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     270f59da9c23f9aaa557b3fede7705d0837469da
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:23:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=270f59da

EAPI 6 supports package.* and use.* directories.

See bug 282296.

 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6a7aa00..b3a757a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index b66de16..0442489 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     70a153d64d99a7daeec55abd2d1aed326a8b19c7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 24 18:36:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 24 18:36:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=70a153d6

Typographic fixes to make chktex happier.

 dependencies.tex      |  8 ++++----
 ebuild-env-vars.tex   | 26 ++++++++++++++------------
 ebuild-format.tex     | 10 +++++-----
 ebuild-functions.tex  |  4 ++--
 ebuild-vars.tex       |  4 ++--
 eclasses.tex          |  2 +-
 merge.tex             |  2 +-
 pkg-mgr-commands.tex  | 26 +++++++++++++-------------
 profile-variables.tex | 10 +++++-----
 profiles.tex          | 10 +++++-----
 tree-layout.tex       | 10 +++++-----
 11 files changed, 57 insertions(+), 55 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index cf7f33e..0d22489 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -48,10 +48,10 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}. In EAPIs
-    listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may optionally be
-    followed by whitespace, then \t{->}, then whitespace, then a simple filename when in
-    \t{SRC\_URI}.  For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}\@.
+    In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may
+    optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when
+    in \t{SRC\_URI}\@. For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
 \item A flat filename. Permitted in \t{SRC\_URI}.
 \item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
 \item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED\_USE}.

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..0cccd8f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -131,10 +131,11 @@ variable.
     Yes &
     The normalised offset-prefix path of an offset installation.  When \t{EPREFIX} is not set in the
     calling environment, \t{EPREFIX} defaults to the built-in offset-prefix that was set during
-    installation of the package manager. When a different \t{EPREFIX} value than the built-in value is set
-    in the calling environment, a cross-prefix build is performed where using the existing utilities, a
-    package is built for the given \t{EPREFIX}, akin to \t{ROOT}. See also~\ref{sec:offset-vars}. Only
-    for EAPIs listed in table~\ref{tab:offset-env-vars-table} as supporting \t{EPREFIX}. \\
+    installation of the package manager. When a different \t{EPREFIX} value than the built-in value
+    is set in the calling environment, a cross-prefix build is performed where using the existing
+    utilities, a package is built for the given \t{EPREFIX}, akin to \t{ROOT}\@.
+    See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
+    as supporting \t{EPREFIX}. \\
 \t{D} &
     \t{src\_install} &
     No &
@@ -396,14 +397,15 @@ contain at most one value.
     \end{tabular}
 \end{centertable}
 
-\featurelabel{offset-prefix-vars} Table~\ref{tab:offset-support-table} lists the EAPIs which support
-offset-prefix installations. This support was initially added in EAPI 3, in the form of three extra
-variables.  Two of these, \t{EROOT} and \t{ED}, are convenience variables using the variable
-\t{EPREFIX}. In EAPIs that do not support an offset-prefix, the installation offset is hardwired to
-\t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as \t{\$\{EPREFIX\}/usr}
-and hence can be adjusted using the variable \t{EPREFIX}. Note that the behaviour of offset-prefix
-aware and agnostic is the same when \t{EPREFIX} is set to the empty string in offset-prefix aware
-EAPIs.  The latter do have the variables \t{ED} and \t{EROOT} properly set, though.
+\featurelabel{offset-prefix-vars} Table~\ref{tab:offset-support-table} lists the EAPIs which
+support offset-prefix installations. This support was initially added in EAPI 3, in the form of
+three extra variables. Two of these, \t{EROOT} and \t{ED}, are convenience variables using the
+variable \t{EPREFIX}\@. In EAPIs that do not support an offset-prefix, the installation offset is
+hardwired to \t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as
+\t{\$\{EPREFIX\}/usr} and hence can be adjusted using the variable \t{EPREFIX}\@. Note that the
+behaviour of offset-prefix aware and agnostic is the same when \t{EPREFIX} is set to the empty
+string in offset-prefix aware EAPIs. The latter do have the variables \t{ED} and \t{EROOT} properly
+set, though.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3028e50 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,11 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
+page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
+the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
+and~\ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..c6c43b4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -29,7 +29,7 @@ initial working directory for any phase is a trusted location that may only be w
 privileged user and group.
 
 \featurelabel{s-workdir-fallback} Some functions are described as having an initial working
-directory of \t{S} with an error or fallback to \t{WORKDIR}. For EAPIs listed in
+directory of \t{S} with an error or fallback to \t{WORKDIR}\@. For EAPIs listed in
 table~\ref{tab:s-fallback-table} as having the fallback, this means that if \t{S} is not a directory
 before the start of the phase function, the initial working directory shall be \t{WORKDIR} instead.
 For EAPIs where it is a conditional error, if \t{S} is not a directory before the start of the phase
@@ -272,7 +272,7 @@ non-zero the build must be aborted.
 \featurelabel{parallel-tests} For EAPIs listed in table~\ref{tab:src-test-table} as not supporting
 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
+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{5}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..d626d24 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -44,7 +44,7 @@ All ebuilds must define at least the following variables:
 Ebuilds may define any of the following variables:
 
 \begin{description}
-\item[EAPI] The EAPI. See below.
+\item[EAPI] The EAPI\@. See below.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
     See section~\ref{sec:dependencies} for full syntax.
 \item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://},
@@ -202,7 +202,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 
 \section{Magic Ebuild-defined Variables}
 
-The following variables must be defined by \t{inherit} (see section~\ref{sec:inherit}, and may be
+The following variables must be defined by \t{inherit} (see section~\ref{sec:inherit}), and may be
 considered to be part of the ebuild's metadata:
 
 \begin{description}

diff --git a/eclasses.tex b/eclasses.tex
index c8fee9e..2eb58ca 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -43,7 +43,7 @@ implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
 \section{EXPORT\_FUNCTIONS}
 
 There is one command available in the eclass environment that is neither available nor meaningful
-in ebuilds---\t{EXPORT\_FUNCTIONS}. This can be used to alias ebuild phase functions from the
+in ebuilds---\t{EXPORT\_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the
 eclass so that an ebuild inherits a default definition whilst retaining the ability to override and
 call the eclass-defined version from it. The use of it is best illustrated by an example; this is
 given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.

diff --git a/merge.tex b/merge.tex
index bc74193..28cde65 100644
--- a/merge.tex
+++ b/merge.tex
@@ -4,7 +4,7 @@
 
 \section{Overview}
 
-The merge process merges the contents of the \t{D} directory onto the filesystem under \t{ROOT}.
+The merge process merges the contents of the \t{D} directory onto the filesystem under \t{ROOT}\@.
 This is not a straight copy; there are various subtleties which must be addressed.
 
 The unmerge process removes an installed package's files. It is not covered in detail in this

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ef65793..9c031fe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -218,10 +218,10 @@ current phase function has returned.
     as per section~\ref{sec:failure-behaviour}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
-    offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always
-    available in EAPIs that support offset-prefix installations as listed in
-    Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use \t{D}
-    instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
+    offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is
+    always available in EAPIs that support offset-prefix installations as listed in
+    Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use
+    \t{D} instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
     Variable \t{libdir} is an auxiliary local variable whose value is determined by
     Algorithm~\ref{alg:ebuild-libdir}.
 \begin{listing}[H]
@@ -386,7 +386,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate
     subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the
-    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed
+    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}\@. The name of the installed
     files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
     section~\ref{sec:failure-behaviour}.
 
@@ -566,13 +566,13 @@ has returned.
 \item[docinto] Sets the install subdirectory for \t{dodoc} et al. May create the directory, as specified
     for \t{into}.
 
-\item[insopts] Sets the options passed by \t{doins} et al. to the \t{install} command.
+\item[insopts] Sets the options passed by \t{doins} et al.\ to the \t{install} command.
 
-\item[diropts] Sets the options passed by \t{dodir} et al. to the \t{install} command.
+\item[diropts] Sets the options passed by \t{dodir} et al.\ to the \t{install} command.
 
-\item[exeopts] Sets the options passed by \t{doexe} et al. to the \t{install} command.
+\item[exeopts] Sets the options passed by \t{doexe} et al.\ to the \t{install} command.
 
-\item[libopts] Sets the options passed by \t{dolib} et al. to the \t{install} command.
+\item[libopts] Sets the options passed by \t{dolib} et al.\ to the \t{install} command.
 
 \end{description}
 
@@ -667,8 +667,8 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
     \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
     \t{-{}-without-\$\{opt\}}.
-\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or \t{-{}-disable-}
-instead of \t{-{}-with-} or \t{-{}-without-}.
+\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or
+    \t{-{}-disable-} instead of \t{-{}-with-} or \t{-{}-without-}.
 \item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument
     is a USE flag name, any subsequent arguments (\t{\$\{arg2\}} to \t{\$\{arg5\}}) are string
     values. If not provided, \t{\$\{arg2\}} and \t{\$\{arg3\}} default to \t{yes} and \t{no},
@@ -817,8 +817,8 @@ has returned.
 
 \item[default]
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
-    section~\ref{sec:default-phase-funcs}).  Must not be called if the \t{default\_} function
-    does not exist for the current phase in the current EAPI.  Only available in EAPIs listed in
+    section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
+    not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
 \end{description}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..a76fdb7 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -65,12 +65,12 @@ The following variables have specific meanings when set in profiles.
     section~\ref{sec:use-iuse-handling} for details.
 \item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository
     contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see
-    table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}. See
-    section~\ref{sec:use-iuse-handling} for details.
+    table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}\@.
+    See section~\ref{sec:use-iuse-handling} for details.
 \item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and
-    \t{USE\_EXPAND\_UNPREFIXED}. The package manager may use this set as a hint to avoid displaying
-    uninteresting or unhelpful information to an end user.
-\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}. See
+    \t{USE\_EXPAND\_UNPREFIXED}\@. The package manager may use this set as a hint to avoid
+    displaying uninteresting or unhelpful information to an end user.
+\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See
     section~\ref{sec:use-iuse-handling} for details.
 \end{description}
 

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..ca3b1d7 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -29,11 +29,11 @@ This file must not contain comments, blank lines or make use of line continuatio
 
 \subsection{The eapi file}
 \label{sec:profile-eapi}
-A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single line
-with the name of an EAPI. This specifies the EAPI to use when handling the directory in question; a
-package manager must not attempt to use any profile using a directory which requires an EAPI it does
-not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not inherited via the
-\t{parent} file.
+A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single
+line with the name of an EAPI\@. This specifies the EAPI to use when handling the directory in
+question; a package manager must not attempt to use any profile using a directory which requires an
+EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not
+inherited via the \t{parent} file.
 
 \subsection{deprecated}
 If a profile contains a file named \t{deprecated}, it is treated as such. The first line of this

diff --git a/tree-layout.tex b/tree-layout.tex
index 134a0bb..388a7c9 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -53,7 +53,7 @@ A package directory contains the following:
 \item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
-\item A \t{Manifest} file, whose format is described in \cite{Glep44}.
+\item A \t{Manifest} file, whose format is described in~\cite{Glep44}.
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}
 
@@ -86,9 +86,9 @@ contents of this directory, with the exception of \t{repo\_name}, are
 optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
-line with the name of an EAPI. This specifies the EAPI to use when handling the profiles directory;
-a package manager must not attempt to use any repository whose profile directory requires an EAPI it
-does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
+line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles
+directory; a package manager must not attempt to use any repository whose profile directory
+requires an EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
 
 If the repository is not intended to be stand-alone, the contents of these files are to be taken
 from or merged with the master repository as necessary.
@@ -195,7 +195,7 @@ differs from that described in \t{use.desc}.
 \subsection{The updates directory}
 \label{sec:updates-dir}
 The \t{updates} directory is used to inform the package manager that a package has moved categories,
-names, or that a version has changed SLOT. It contains one file per quarter year, named
+names, or that a version has changed SLOT\@. It contains one file per quarter year, named
 \t{[1-4]Q-[YYYY]} for the first to fourth quarter of a given year, for example \t{1Q-2004} or
 \t{3Q-2006}. The format of each file is again line-based, with each line having one of the following
 formats:


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-03-28 19:29 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-04-02 16:10 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     029d7a9b970a7c9d0c295f451c775e19788c0694
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 28 19:14:21 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:14:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=029d7a9b

Update .gitignore file.

 .gitignore | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6d5cd39..6d150b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,25 @@
+*.4ct
+*.4tc
 *.aux
 *.bbl
 *.blg
+*.css
+*.dvi
+*.html
+*.idv
+*.lg
 *.loa
 *.log
-*.pdf
-*.toc
-*.lot
 *.lol
+*.lot
 *.lox
 *.out
-*.dvi
+*.pdf
+*.tmp
+*.toc
+*.xref
 vc.tex
+
+# Emacs backup files and locks
+*~
+.#*


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     46e267fbdbd879ede900a30e09c2fa1a0f0c5421
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:23:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=46e267fb

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index f655185..86c95bd 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -262,21 +247,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index c4481d4..f0ecb18 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -36,20 +36,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 360255a..34498a8 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -226,42 +226,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -269,20 +262,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -386,18 +374,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index c8015e5..ebd1b21 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{s
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index e3c12ec..36f5c24 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 6109496..59c4ae3 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 5c90aa8..9954fd5 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index 13810e6..37d7a0b 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index e01ffe5..b66de16 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     0e729ffc01f37df3083631c42c372f318b9d723b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:24:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0e729ffc

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 9760d7e..7e4cd09 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1f50948..6750937 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     fb2aaefc545ca9bc0d899f3c41e895dbd6219002
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fb2aaefc

EAPI 6 has in_iuse.

See bug 449862.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 20231f8..dc60878 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index fcd8179..e3c205c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -687,8 +687,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. Ebuilds must not run any of these
 functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -714,6 +715,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -758,6 +762,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     2171f2b1817147f95516cb6053e863004fc7ba8c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2171f2b1

EAPI 6: unpack supports absolute and relative paths.

See bug 483244.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index dc60878..da10c9f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -219,6 +219,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -341,6 +344,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e3c205c..acb692f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -805,9 +805,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -843,6 +849,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     2f36794f0da7106f23b7b56357816117bd6048e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2f36794f

EAPI 6: unpack matches filename extensions case-insensitively.

See bug 476730.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3dfeeed..18d660a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -228,6 +228,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -349,6 +352,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 81e4835..4a9bc4f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -849,16 +849,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     e4fd289e97cd3761aae560aa2bd58a5ef39c1f09
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e4fd289e

EAPI 6 has einstalldocs.

See bug 459692. This also adds support for an empty DOCS variable
(bug 463736) and for directories in DOCS (bug 481980).

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 18d660a..78b3ab2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4a9bc4f..cc7de5e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -891,8 +891,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -907,6 +941,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     80eaa65b0de9549928ff4fab0fa615f5a016915a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=80eaa65b

EAPI 6: unpack supports txz.

See bug 458102.

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index da10c9f..3dfeeed 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,9 +222,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index acb692f..81e4835 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -841,9 +841,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -865,13 +866,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     69281891149810497c1472fa0cff3e6277409cab
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:35:39 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=69281891

EAPI 6 has eapply.

See bug 463768.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7e4cd09..1a2073d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -172,6 +172,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{die -n} & \compactfeatureref{nonfatal-die} &
     No & No & No & No & Yes \\
 
+\t{eapply} & \compactfeatureref{eapply} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -324,6 +327,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{eapply} support, \featureref{eapply}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6750937..f36e4c3 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -143,6 +143,36 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
+\subsubsection{Patch commands}
+These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+Ebuilds must not run any of these commands once the current phase function has returned.
+
+\begin{description}
+\item[eapply] \featurelabel{eapply}
+    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\end{description}
+
+\begin{algorithm}
+\caption{eapply logic} \label{alg:eapply}
+\begin{algorithmic}[1]
+\STATE \COMMENT WORK IN PROGRESS
+\end{algorithmic}
+\end{algorithm}
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Patch commands for EAPIs}
+    \label{tab:patch-commands}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     330b8fc5f09b8ad4f858830fed5305da0dc417bb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:24:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=330b8fc5

EAPI 6: einstall banned.

See bug 524112.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6fc115c..9760d7e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9954fd5..1f50948 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     549b3b0d3e9fceffd1739ef70e14672481da0c89
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=549b3b0d

EAPI 6 has eapply_user.

See bug 475288.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 ++++++++++----
 2 files changed, 14 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 1a2073d..2fe534e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,6 +175,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f36e4c3..e903ecb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -150,6 +150,11 @@ Ebuilds must not run any of these commands once the current phase function has r
 \begin{description}
 \item[eapply] \featurelabel{eapply}
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. For package managers supporting
+    it, applies user-provided patches to the source tree in the current working directory. Exact
+    behaviour is implementation defined and beyond the scope of this specification. Only available
+    in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}.
 \end{description}
 
 \begin{algorithm}
@@ -162,13 +167,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f112e92497ee701194c6a7b5a1e1d09587a1d39d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:24:31 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f112e924

EAPI 6: Bash version is 4.2.

See bug 431340.

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 16 ++++++++--------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3a757a..7854739 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index f0ecb18..9e41abe 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,10 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).%
-    \label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -36,15 +34,17 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & Undefined \\
+      5                 & 3.2 & Yes       \\
+      6                 & 4.2 & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 3028e50..1e7dbe5 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
-page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
-the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
-and~\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     17624b0698cc9694af69640a3ce15251b252c945
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=17624b06

EAPI 6: econf adds --docdir and --htmldir.

See bug 468202.

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index adebec1..20231f8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,7 +184,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -336,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e903ecb..fcd8179 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -200,6 +200,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -213,15 +219,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     58377b7e4b7ee97a330dcaf2d31f1dbdc576dcb0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:04 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=58377b7e

EAPI 6 has a default src_prepare.

See bug 463692.
This adds support for the PATCHES array and for user patches.

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 36 +++++++++++++++++++++++++++---------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2fe534e..adebec1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -92,6 +92,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -326,6 +329,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index ebd1b21..e7eb97b 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -121,24 +121,42 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     48bf4baadababde9f7b93b58425299b21d7689c5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=48bf4baa

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 78b3ab2..475eef3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -105,7 +105,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -345,6 +345,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index e7eb97b..a1ce4c5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -326,6 +326,20 @@ src_install() {
 }
 \end{verbatim}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+
+    einstalldocs
+}
+\end{verbatim}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -338,7 +352,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     0b80e3ac8489ceee591c3dbe8a8eb4d732b85428
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:24:31 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0b80e3ac

EAPI 6 enables failglob in global scope.

See bug 463822.

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7854739..6fc115c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 9e41abe..ca6f5b3 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,18 +33,25 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & Undefined \\
-      5                 & 3.2 & Yes       \\
-      6                 & 4.2 & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
+      5                 & 3.2 & No  & Yes       \\
+      6                 & 4.2 & Yes & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     903be61211cc6b0de44ea1f4e937d57de9ff2dc2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=903be612

EAPI 6 has get_libdir.

See bug 463586.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 475eef3..7f3cdcf 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -237,6 +237,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -358,6 +361,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index cc7de5e..cb13893 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -897,6 +897,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -927,6 +931,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -955,6 +973,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-04-02 16:10 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-04-02 16:10 UTC (permalink / raw
  To: gentoo-commits

commit:     b24d7753ee295a6487bdd332f98bb7e108808a12
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  2 16:08:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b24d7753

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index cb13893..d4c19d6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -714,10 +714,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -749,29 +749,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ l l }
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -890,16 +878,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -946,42 +934,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ l l }
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     73698b508e2fe9d3904cce3b65a3f01a0e8f2523
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 24 08:40:44 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 24 08:40:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=73698b50

Makefile: Have vc.tex depend on all source files.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 2b18660..c50a0ea 100644
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 	pdflatex -jobname eapi-cheatsheet-nocombine \
 	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
 
-vc.tex: pms.tex vc-git.awk
+vc.tex: $(SOURCEFILES) vc-git.awk
 	/bin/sh ./vc
 
 pms.dvi: $(SOURCEFILES) pms.bbl


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     16f446142d8e0f29f29cb8f65baa6bfbef06aafb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  3 19:24:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jun  3 19:24:08 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=16f44614

Makefile: Declare encoding of HTML output as utf-8.

 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index e7ccdc6..2b18660 100644
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,8 @@ pms.html: $(SOURCEFILES) pms.bbl
 	@# some www servers ignore meta tags, resulting in a wrong charset.
 	@# therefore recode the very few non-ascii characters
 	recode -d l1..h3 pms.html
+	@# declare encoding as utf-8, although it is pure ascii
+	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' pms.html
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
 	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' pms.html


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-04-13 22:34 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-08-30 19:03 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     7d69eceff82108ccc1e7d976912e5c34afeb259f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 11 21:25:58 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 11 21:25:58 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7d69ecef

Use the same line width for Emacs and Vim.

Lines seem to be wrapped at 100 characters throughout, with the
exception of eapi-cheatsheet.tex which is wrapped at 70 characters.
Assign the "fill-column" file local variable for Emacs accordingly.

 appendices.tex            | 1 +
 credits.tex               | 1 +
 dependencies.tex          | 1 +
 eapi-cheatsheet.tex       | 3 ++-
 eapi-differences.tex      | 1 +
 eapis.tex                 | 1 +
 ebuild-env-commands.tex   | 1 +
 ebuild-env-invariancy.tex | 1 +
 ebuild-env-state.tex      | 1 +
 ebuild-env-vars.tex       | 1 +
 ebuild-environment.tex    | 1 +
 ebuild-format.tex         | 1 +
 ebuild-functions.tex      | 1 +
 ebuild-vars.tex           | 1 +
 eclasses.tex              | 1 +
 glossary.tex              | 1 +
 introduction.tex          | 1 +
 merge.tex                 | 1 +
 metadata-cache.tex        | 1 +
 names.tex                 | 1 +
 pkg-mgr-commands.tex      | 1 +
 pms.cls                   | 1 +
 pms.tex                   | 1 +
 profile-variables.tex     | 1 +
 profiles.tex              | 1 +
 tree-layout.tex           | 1 +
 26 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/appendices.tex b/appendices.tex
index 4d0ae12..eb51dc9 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -73,4 +73,5 @@ via GLEP 37~\cite{Glep37}.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/credits.tex b/credits.tex
index 1482a24..3a92a95 100644
--- a/credits.tex
+++ b/credits.tex
@@ -46,4 +46,5 @@ If any issue cannot be resolved by the PMS team, it may be escalated to the Gent
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/dependencies.tex b/dependencies.tex
index 0d22489..58c86f9 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -417,4 +417,5 @@ filename to the right of the arrow shall be requested instead of the filename in
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index bbde806..765d679 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -318,11 +318,12 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
 \end{description}
 \end{document}
 
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
+% vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :
 
 %%% Local Variables:
 %%% mode: latex
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 70
 %%% End:

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..255f428 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -304,4 +304,5 @@ EAPI 5 is EAPI 4 with the following changes:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..6b03d2b 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -57,4 +57,5 @@ applies to all of the above EAPIs.%
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index e5f0226..20771bd 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -69,4 +69,5 @@ particular types of dependencies is explained in section~\ref{sec:dependency-cla
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index 9476a8b..0334a4d 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -36,4 +36,5 @@ The following exclusivity and invariancy requirements are mandated:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 82bf6dc..4bc80c7 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -32,4 +32,5 @@ This is demonstrated by code listing~\ref{lst:env-saving}.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 0cccd8f..d387aca 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -415,4 +415,5 @@ set, though.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index cf26e81..99e7967 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -16,4 +16,5 @@
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 3028e50..b623b97 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -16,4 +16,5 @@ write anything to standard output or standard error, or modify the state of the
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index c6c43b4..480ccda 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -524,4 +524,5 @@ and \t{pkg\_postinst} functions are not called.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d626d24..9842557 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -254,4 +254,5 @@ based upon any variant condition.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eclasses.tex b/eclasses.tex
index 2eb58ca..24ff77f 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -79,4 +79,5 @@ must be named \t{eclassname\_phasefunctionname}, where \t{eclassname} is the nam
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/glossary.tex b/glossary.tex
index 03ecace..100c09a 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -28,4 +28,5 @@ be immediately obvious.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/introduction.tex b/introduction.tex
index 4c91004..7c22fd4 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -42,4 +42,5 @@ applicable to tools or other applications that interact with ebuilds or ebuild r
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/merge.tex b/merge.tex
index 28cde65..c212294 100644
--- a/merge.tex
+++ b/merge.tex
@@ -161,4 +161,5 @@ Ebuilds must not attempt to install any other type of file (FIFOs, device nodes
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 52c0aee..ed58317 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -52,4 +52,5 @@ not a supported EAPI on line 15 if it does not.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/names.tex b/names.tex
index e64a828..d79499d 100644
--- a/names.tex
+++ b/names.tex
@@ -215,4 +215,5 @@ For example, a repository may not contain more than one of \t{foo-bar/baz-1.0.2}
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9c031fe..99b7c0c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -877,4 +877,5 @@ ebuilds:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pms.cls b/pms.cls
index 8a27379..e599702 100644
--- a/pms.cls
+++ b/pms.cls
@@ -167,4 +167,5 @@ needs to be updated for EAPI \TheCurrentEAPI}}}
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pms.tex b/pms.tex
index bf31c2a..ae86b43 100644
--- a/pms.tex
+++ b/pms.tex
@@ -88,4 +88,5 @@
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/profile-variables.tex b/profile-variables.tex
index a76fdb7..6eca502 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -89,4 +89,5 @@ and are not required to be interpreted by the package manager.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/profiles.tex b/profiles.tex
index ca3b1d7..067a098 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -206,4 +206,5 @@ A package manager may treat \t{ARCH} values that are not the current architectur
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/tree-layout.tex b/tree-layout.tex
index 388a7c9..cb8e1ad 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -250,4 +250,5 @@ variables. The contents of this directory are described in section~\ref{metadata
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     c922df2cd93dfcce49ced7ef5fa4f3ac62cd6ee2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c922df2c

EAPI 6 has a default src_prepare.

See bug 463692.
This adds support for the PATCHES array and for user patches.

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 36 +++++++++++++++++++++++++++---------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index be8563c..980cbd8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -92,6 +92,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -326,6 +329,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 23f02b4..1f996f0 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -121,24 +121,42 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     45b05e8ef3c744fca9bea8a14ade54a3bd4f72ec
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:02:45 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=45b05e8e

Delete redundant sentence in the list of defined EAPIs.

 eapis.tex | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/eapis.tex b/eapis.tex
index bb860f4..7178e5a 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -22,18 +22,12 @@ The following EAPIs are defined by this specification:
 \ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
-\item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `0'.
-\item[2] EAPI `2' contains a number of extensions to EAPI `1'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `1'.
-\item[3] EAPI `3' contains a number of extensions to EAPI `2'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `2'.
-\item[4] EAPI `4' contains a number of extensions to EAPI `3'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `3'.
-\item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `4'.
-\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `5'.
+\item[1] EAPI `1' contains a number of extensions to EAPI `0'.
+\item[2] EAPI `2' contains a number of extensions to EAPI `1'.
+\item[3] EAPI `3' contains a number of extensions to EAPI `2'.
+\item[4] EAPI `4' contains a number of extensions to EAPI `3'.
+\item[5] EAPI `5' contains a number of extensions to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     ae17d815921789df7a4b6a0f0f1e5f1a07bdc053
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ae17d815

EAPI 6: Bash version is 4.2.

See bug 431340.

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 16 ++++++++--------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2132935..3f37c19 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 54e12ec..1e8a5c3 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,10 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://projects.gentoo.org/council/meeting-logs/20091109.txt}).%
-    \label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -36,15 +34,17 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & Undefined \\
+      5                 & 3.2 & Yes       \\
+      6                 & 4.2 & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index b623b97..c741398 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
-page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
-the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
-and~\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     3aaee802cea94fc3a81525df27ee805df7a90dc3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:35:39 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3aaee802

EAPI 6 has eapply.

See bug 463768.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2a4f840..7502c1e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -172,6 +172,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{die -n} & \compactfeatureref{nonfatal-die} &
     No & No & No & No & Yes \\
 
+\t{eapply} & \compactfeatureref{eapply} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -324,6 +327,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{eapply} support, \featureref{eapply}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ecaee6e..ced5704 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -143,6 +143,36 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
+\subsubsection{Patch commands}
+These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+Ebuilds must not run any of these commands once the current phase function has returned.
+
+\begin{description}
+\item[eapply] \featurelabel{eapply}
+    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\end{description}
+
+\begin{algorithm}
+\caption{eapply logic} \label{alg:eapply}
+\begin{algorithmic}[1]
+\STATE \COMMENT{WORK IN PROGRESS}
+\end{algorithmic}
+\end{algorithm}
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Patch commands for EAPIs}
+    \label{tab:patch-commands}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     6e0485be6fef2ebb092d87ba589f53ed7932b680
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6e0485be

EAPI 6 supports package.* and use.* directories.

See bug 282296.

 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c28494d..2132935 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index 0764270..0fb1bd9 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     6ee30de07a867350c9ac74a84f19b3793ed9cef3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6ee30de0

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index dcb381f..5a5c68f 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -262,21 +247,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 8b2c146..54e12ec 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -36,20 +36,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8946157..74c54b6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -226,42 +226,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -269,20 +262,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -386,18 +374,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 60bd1e5..23f02b4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{s
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 0bba597..dac0990 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 1180c8c..cd4b442 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index db0fd90..038e9e6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index 4c5496c..61241d2 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index 4c5c598..0764270 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     339c0a26c3911eb2e918cefea4107de1d21de0bc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=339c0a26

Add an EAPI 6 identical to EAPI 5.

 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 58c86f9..dcb381f 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -88,7 +88,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -101,11 +101,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -118,6 +119,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -188,7 +190,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -203,11 +205,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -220,6 +223,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -257,7 +261,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -271,6 +275,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 255f428..0a8f9e1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 6b03d2b..bb860f4 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 20771bd..8b2c146 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -35,7 +35,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -48,6 +48,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index d387aca..8946157 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -225,7 +225,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -241,11 +241,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -259,11 +260,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -279,6 +281,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -379,7 +382,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -393,6 +396,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 480ccda..60bd1e5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 9842557..0bba597 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index c212294..1180c8c 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 99b7c0c..db0fd90 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ current phase function has returned.
         in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ current phase function has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index 6eca502..4c5496c 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index 4b39160..4c5c598 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     e92aac1181b9217f5fad4adba82ac2f56b9c340e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e92aac11

EAPI 6: econf adds --docdir and --htmldir.

See bug 468202.

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 980cbd8..b3035e3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,7 +184,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -336,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 048be14..fd85070 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -201,6 +201,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -214,15 +220,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     65359c98cac679c1be51179d3343e16594c2f422
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=65359c98

EAPI 6: einstall banned.

See bug 524112.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 616aa06..6ec5209 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 038e9e6..7e29f3d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     d1041a833cee22b7de361d75380d5eb13bb765c0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:32 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d1041a83

Rework the EAPI feature table.

With the addition of EAPI 6, the table was too wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 0a8f9e1..c28494d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     6f705e02045cd53c461f5dadd6a70c7565c03602
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6f705e02

EAPI 6: die and assert called with -n respect nonfatal.

See bug 451938.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6ec5209..2a4f840 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7e29f3d..ecaee6e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     c82042d29a03defbb639050e5b3d265f74cbbee6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c82042d2

EAPI 6 has eapply_user.

See bug 475288.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7502c1e..be8563c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,6 +175,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ced5704..048be14 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -150,6 +150,12 @@ Ebuilds must not run any of these commands once the current phase function has r
 \begin{description}
 \item[eapply] \featurelabel{eapply}
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the function as a no-op. Only available in EAPIs listed in
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}.
 \end{description}
 
 \begin{algorithm}
@@ -162,13 +168,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
  2015-08-30 18:55 [gentoo-commits] proj/pms:master " Ulrich Müller
@ 2015-08-30 19:03 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     2d9d1c34ffe348a269817c72e5ea079854a35205
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 27 19:18:43 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 27 19:18:43 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2d9d1c34

Clarify that eapi in profiles is not inherited in subdirectories.

See also bug 558956.

 profiles.tex    | 4 ++--
 tree-layout.tex | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/profiles.tex b/profiles.tex
index 067a098..4b39160 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -32,8 +32,8 @@ This file must not contain comments, blank lines or make use of line continuatio
 A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single
 line with the name of an EAPI\@. This specifies the EAPI to use when handling the directory in
 question; a package manager must not attempt to use any profile using a directory which requires an
-EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not
-inherited via the \t{parent} file.
+EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is neither
+inherited via the \t{parent} file nor in subdirectories.
 
 \subsection{deprecated}
 If a profile contains a file named \t{deprecated}, it is treated as such. The first line of this

diff --git a/tree-layout.tex b/tree-layout.tex
index cb8e1ad..0554a64 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -87,7 +87,7 @@ optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
 line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles
-directory; a package manager must not attempt to use any repository whose profile directory
+directory; a package manager must not attempt to use any repository whose profiles directory
 requires an EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
 
 If the repository is not intended to be stand-alone, the contents of these files are to be taken


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     f4e3a7117b9a05910b57a1235f113678c395e7cb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f4e3a711

EAPI 6 enables failglob in global scope.

See bug 463822.

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3f37c19..616aa06 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 1e8a5c3..4439d14 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,18 +33,25 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & Undefined \\
-      5                 & 3.2 & Yes       \\
-      6                 & 4.2 & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
+      5                 & 3.2 & No  & Yes       \\
+      6                 & 4.2 & Yes & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     8b56674dc4c2cf456d50de818fe61e885566eeff
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8b56674d

EAPI 6 has einstalldocs.

See bug 459692. This also adds support for an empty DOCS variable
(bug 463736) and for directories in DOCS (bug 481980).

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 88b8c6f..30ed46b 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 69fe989..49b078a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -892,8 +892,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -908,6 +942,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     a3d09ea27eb191a4b38d507203ae018446165200
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:34 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a3d09ea2

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 77cf338..dbdbdfd 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -715,10 +715,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -750,29 +750,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ l l }
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -891,16 +879,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -947,42 +935,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ l l }
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     2df3ab6ba06746692d990a055eb0eb23c9a29ff0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2df3ab6b

EAPI 6 has in_iuse.

See bug 449862.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3035e3..6002785 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index fd85070..bcbfeb8 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -688,8 +688,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. Ebuilds must not run any of these
 functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -715,6 +716,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -759,6 +763,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     32ce34e9934e530d5c09ee78acb0b3f666f10e6f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=32ce34e9

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 30ed46b..452349e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -105,7 +105,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -345,6 +345,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 1f996f0..bf16f9e 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -326,6 +326,20 @@ src_install() {
 }
 \end{verbatim}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+
+    einstalldocs
+}
+\end{verbatim}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -338,7 +352,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     220bee760b19a566079c964b66bce74c660733de
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=220bee76

EAPI 6 has get_libdir.

See bug 463586.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 452349e..b5fc01e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -237,6 +237,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -358,6 +361,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 49b078a..77cf338 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -898,6 +898,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -928,6 +932,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -956,6 +974,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     b2663cfc3bc21e1a4e206d20f45b634801a0ec98
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b2663cfc

EAPI 6: unpack supports absolute and relative paths.

See bug 483244.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6002785..27c1ee6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -219,6 +219,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -341,6 +344,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bcbfeb8..bb58c0f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -806,9 +806,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -844,6 +850,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     2bc175acf827faa767675fa462f55d742d6acee9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2bc175ac

EAPI 6: unpack matches filename extensions case-insensitively.

See bug 476730.

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4959819..88b8c6f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -228,6 +228,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -349,6 +352,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 01fd981..69fe989 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -850,16 +850,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-08-30 19:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-08-30 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     3135302539496e2e26d34286728ab0a5c16b68a9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 30 18:57:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=31353025

EAPI 6: unpack supports txz.

See bug 458102.

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 27c1ee6..4959819 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,9 +222,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bb58c0f..01fd981 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -842,9 +842,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -866,13 +867,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 commit in: / Ulrich Müller
@ 2015-10-11 19:13 ` Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-11 19:13 UTC (permalink / raw
  To: gentoo-commits

commit:     cb99e4dcb5837626320b1fba0277d0fa7c1c9829
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 22 18:08:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 22 18:08:01 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cb99e4dc

The =* dependency operator can only match complete version components.

Bug: 560466

 dependencies.tex | 9 +++++----
 names.tex        | 3 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 58c86f9..fcfce9b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -232,10 +232,11 @@ The following operators are available:
 \begin{description}
 \item[\t{<}] Strictly less than the specified version.
 \item[\t{<=}] Less than or equal to the specified version.
-\item[\t{=}] Exactly equal to the specified version. Special exception: if the version
-    specified has an asterisk immediately following it, a string prefix comparison is
-    used instead. When an asterisk is used, the specification must remain valid if the
-    asterisk were removed. (An asterisk used with any other operator is illegal.)
+\item[\t{=}] Exactly equal to the specified version. Special exception: if the version specified
+    has an asterisk immediately following it, then only the given number of version components
+    is used for comparison, i.\,e.\ the asterisk acts as a wildcard for any further components.
+    When an asterisk is used, the specification must remain valid if the asterisk were removed.
+    (An asterisk used with any other operator is illegal.)
 \item[\t{\textasciitilde}] Equal to the specified version when revision parts are ignored.
 \item[\t{>=}] Greater than or equal to the specified version.
 \item[\t{>}] Strictly greater than the specified version.

diff --git a/names.tex b/names.tex
index d79499d..2fc59b6 100644
--- a/names.tex
+++ b/names.tex
@@ -59,7 +59,8 @@ integer, followed by zero or more dot-prefixed positive integers).
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 
 This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
-\t{\_rc} or \t{\_p}, which themselves may be suffixed by an optional integer.
+\t{\_rc} or \t{\_p}, which themselves may be followed by an optional integer. Suffix and integer
+count as separate version components.
 
 This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
 ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-14 20:52 Michał Górny
  0 siblings, 0 replies; 212+ messages in thread
From: Michał Górny @ 2015-10-14 20:52 UTC (permalink / raw
  To: gentoo-commits

commit:     8e9d76f934875eb42576b8d650c8980572903b3a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 16:44:02 2015 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 20:52:15 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8e9d76f9

Explain eapply behavior for EAPI 6

 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++++++---
 1 file changed, 30 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index dbdbdfd..1512dac 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -148,8 +148,11 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
-\item[eapply] \featurelabel{eapply}
-    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
+	file or directory paths. Processes options and applies all patches found in specified locations
+	according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+	using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
+	Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 
 \item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
@@ -161,7 +164,31 @@ Ebuilds must not run any of these commands once the current phase function has r
 \begin{algorithm}
 \caption{eapply logic} \label{alg:eapply}
 \begin{algorithmic}[1]
-\STATE \COMMENT{WORK IN PROGRESS}
+\IF{any parameter is equal to \t{"-{}-"}}
+	\STATE collect all parameters before the first \t{"-{}-"} in the options array
+	\STATE collect all parameters after the first \t{"-{}-"} in the files array
+\ELSIF{any parameter that begins with a hyphen follows one that does not}
+	\STATE abort the build process with an error
+\ELSE
+	\STATE collect all parameters beginning with a hyphen in the options array
+	\STATE collect all remaining parameters in the files array
+\ENDIF
+
+\FOR{\$x in files}
+	\IF{\$x is a directory}
+		\FOR{\$f in all files matching \$x/*.diff and \$x/*.patch}
+			\STATE call \t{patch -p1 -f -g0 --no-backup-if-mismatch "\$\{options[@]\}" "\$f"}
+			\IF{child process returns with non-zero exit status}
+				\STATE return immediately with an error
+			\ENDIF
+		\ENDFOR
+	\ELSE
+		\STATE call \t{patch -p1 -f -g0 --no-backup-if-mismatch "\$\{options[@]\}" "\$x"}
+		\IF{child process returns with non-zero exit status}
+			\STATE return immediately with an error
+		\ENDIF
+	\ENDIF
+\ENDFOR
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  2015-10-11 19:13 ` [gentoo-commits] proj/pms:master " Ulrich Müller
  0 siblings, 1 reply; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     cb99e4dcb5837626320b1fba0277d0fa7c1c9829
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 22 18:08:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 22 18:08:01 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cb99e4dc

The =* dependency operator can only match complete version components.

Bug: 560466

 dependencies.tex | 9 +++++----
 names.tex        | 3 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 58c86f9..fcfce9b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -232,10 +232,11 @@ The following operators are available:
 \begin{description}
 \item[\t{<}] Strictly less than the specified version.
 \item[\t{<=}] Less than or equal to the specified version.
-\item[\t{=}] Exactly equal to the specified version. Special exception: if the version
-    specified has an asterisk immediately following it, a string prefix comparison is
-    used instead. When an asterisk is used, the specification must remain valid if the
-    asterisk were removed. (An asterisk used with any other operator is illegal.)
+\item[\t{=}] Exactly equal to the specified version. Special exception: if the version specified
+    has an asterisk immediately following it, then only the given number of version components
+    is used for comparison, i.\,e.\ the asterisk acts as a wildcard for any further components.
+    When an asterisk is used, the specification must remain valid if the asterisk were removed.
+    (An asterisk used with any other operator is illegal.)
 \item[\t{\textasciitilde}] Equal to the specified version when revision parts are ignored.
 \item[\t{>=}] Greater than or equal to the specified version.
 \item[\t{>}] Strictly greater than the specified version.

diff --git a/names.tex b/names.tex
index d79499d..2fc59b6 100644
--- a/names.tex
+++ b/names.tex
@@ -59,7 +59,8 @@ integer, followed by zero or more dot-prefixed positive integers).
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 
 This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
-\t{\_rc} or \t{\_p}, which themselves may be suffixed by an optional integer.
+\t{\_rc} or \t{\_p}, which themselves may be followed by an optional integer. Suffix and integer
+count as separate version components.
 
 This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
 ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     3a880fe4c7769f081a6877644e916915aafe6b3a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 13 21:39:03 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 13 21:39:03 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3a880fe4

Replace "atom" by "package dependency specification" throughout.

This fixes remaining occurrences of the term "atom" that were missed
in commit 12b07c3d013246c5ee4c6acb23f85ec1e857ac0a, or readded later.

Bug: 174322

 eapi-cheatsheet.tex  | 6 +++---
 pkg-mgr-commands.tex | 2 +-
 profiles.tex         | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 765d679..bec564f 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -260,9 +260,9 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     may require dependent packages to be rebuilt.  If the sub-slot is
     not specified in \code{SLOT}, it defaults to the regular slot.
     See \featureref{sub-slot}.
-    \item[Slot operator dependencies] One of the following operators
-    can be specified after package atoms, which will affect updates
-    of runtime dependencies:
+    \item[Slot operator dependencies] Package dependencies can specify
+    one of the following operators as a suffix, which will affect
+    updates of runtime dependencies:
     \begin{description}
         \item[\code{:*}] Any slot value is acceptable.  The package
         will not break when its dependency is updated.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 99b7c0c..1884a5c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -88,7 +88,7 @@ supporting option \t{-{}-host-root}, this flag as the first argument will cause
 to the host root instead of \t{ROOT}.
 \begin{description}
 \item[has\_version] Takes exactly one package dependency specification as an argument. Returns
-    true if a package matching the atom is installed in \t{ROOT}, and false otherwise.
+    true if a package matching the specification is installed in \t{ROOT}, and false otherwise.
 \item[best\_version] Takes exactly one package dependency specification as an argument. If a
     matching package is installed, prints the category, package name and version of the highest
     matching version; otherwise, prints an empty string. The exit code is unspecified.

diff --git a/profiles.tex b/profiles.tex
index 4b39160..a7a8527 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -73,7 +73,7 @@ removed from the list. Once again, blank lines and those beginning with a \# are
 \subsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
-forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
+forms: a package dependency specification prefixed by \t{*} denotes that it forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     6ac6b477f4734e10f0f2a7220bd8f50961b130b7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 13 22:23:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 13 22:23:12 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6ac6b477

Makefile: Fix circular dependency.

 Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index c50a0ea..a20f5ec 100644
--- a/Makefile
+++ b/Makefile
@@ -8,8 +8,8 @@ clean :
 maintainer-clean: clean
 	rm -f vc.tex
 
-LATEXFILES = $(shell find -name  '*.tex') pms.cls
-LISTINGFILES = $(shell ls *.listing)
+LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
+LISTINGFILES := $(wildcard *.listing)
 SOURCEFILES = $(LATEXFILES) $(LISTINGFILES)
 
 pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
@@ -20,7 +20,7 @@ pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 	pdflatex eapi-cheatsheet
 	pdflatex pms
 
-pms.html: $(SOURCEFILES) pms.bbl
+pms.html: $(SOURCEFILES) pms.bbl vc.tex
 	@# need to do it twice to make the big env var table work
 	mk4ht xhlatex pms xhtml,fn-in
 	mk4ht xhlatex pms xhtml,fn-in
@@ -57,7 +57,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 vc.tex: $(SOURCEFILES) vc-git.awk
 	/bin/sh ./vc
 
-pms.dvi: $(SOURCEFILES) pms.bbl
+pms.dvi: $(SOURCEFILES) pms.bbl vc.tex
 	latex pms
 	latex pms
 	latex pms


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     8703a2cababac8a4d8deacbf353c9faae69a5be0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:02:45 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8703a2ca

Delete redundant sentence in the list of defined EAPIs.

 eapis.tex | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/eapis.tex b/eapis.tex
index bb860f4..7178e5a 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -22,18 +22,12 @@ The following EAPIs are defined by this specification:
 \ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
-\item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `0'.
-\item[2] EAPI `2' contains a number of extensions to EAPI `1'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `1'.
-\item[3] EAPI `3' contains a number of extensions to EAPI `2'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `2'.
-\item[4] EAPI `4' contains a number of extensions to EAPI `3'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `3'.
-\item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `4'.
-\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `5'.
+\item[1] EAPI `1' contains a number of extensions to EAPI `0'.
+\item[2] EAPI `2' contains a number of extensions to EAPI `1'.
+\item[3] EAPI `3' contains a number of extensions to EAPI `2'.
+\item[4] EAPI `4' contains a number of extensions to EAPI `3'.
+\item[5] EAPI `5' contains a number of extensions to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     0992ecee72b086b2607d1da1624e5a952084140e
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0992ecee

EAPI 6 supports package.* and use.* directories.

Bug: 282296

 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c28494d..2132935 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index 11e7780..a0e3c57 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that it forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     784e5b0e35efd9279fc6217925d721d333faf62e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=784e5b0e

EAPI 6: Bash version is 4.2.

Bug: 431340

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 16 ++++++++--------
 ebuild-format.tex       | 11 ++++++-----
 3 files changed, 18 insertions(+), 13 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2132935..3f37c19 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -142,6 +142,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 54e12ec..1e8a5c3 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,10 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://projects.gentoo.org/council/meeting-logs/20091109.txt}).%
-    \label{fn:bash3.2}}.
+\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
+    table~\ref{tab:system-commands-table}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -36,15 +34,17 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & Undefined \\
+      5                 & 3.2 & Yes       \\
+      6                 & 4.2 & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index b623b97..c741398 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,12 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
-page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
-the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
-and~\ref{sec:ebuild-functions} 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.
+is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
+page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
+with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
+(see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} 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.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     2b034065e9c47f1f01b7a2cda85c102881af6ab7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 22 18:03:24 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2b034065

Rework the EAPI feature table.

With the addition of EAPI 6, the table was too wide for the page, even
in landscape mode. Therefore, consolidate EAPIs 0, 1, and 2 into one
single column, and add a reference to the 2012-09-20 edition (EAPI 5)
which contains the complete table for these EAPIs.

 eapi-differences.tex | 117 +++++++++++++++++++++++++--------------------------
 1 file changed, 58 insertions(+), 59 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 0a8f9e1..c28494d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,11 +1,14 @@
 \chapter{Feature Availability by EAPI}
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
+For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
+below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
+of this document for a complete table of previous EAPIs.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -13,9 +16,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -28,9 +29,7 @@
 \multicolumn{4}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0} &
-\multicolumn{1}{c}{1} &
-\multicolumn{1}{c}{2} &
+\multicolumn{1}{c}{0, 1, 2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
 \multicolumn{1}{c}{5} &
@@ -43,72 +42,72 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
+    Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
+    * & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
+    * & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
+    * & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
+    * & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
+    Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
+    * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both & Both \\
+    Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
-    None & None &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
+    * &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
@@ -117,90 +116,90 @@ Parallel tests & \compactfeatureref{parallel-tests} &
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No & No \\
+    Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
+    Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking &
+    &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
     disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes & Yes \\
+    * & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes & Yes \\
+    * & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     7b1dcafb1a5727e6537291c4b255754ce306671b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:59:16 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7b1dcafb

Add an EAPI 6 identical to EAPI 5.

 dependencies.tex        |  15 ++++--
 eapi-differences.tex    | 122 +++++++++++++++++++++++++++---------------------
 eapis.tex               |   4 +-
 ebuild-env-commands.tex |   3 +-
 ebuild-env-vars.tex     |  12 +++--
 ebuild-functions.tex    |  28 +++++++----
 ebuild-vars.tex         |  12 +++--
 merge.tex               |   3 +-
 pkg-mgr-commands.tex    |  45 ++++++++++++------
 pms.tex                 |   4 +-
 profile-variables.tex   |   3 +-
 profiles.tex            |   3 +-
 12 files changed, 156 insertions(+), 98 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index fcfce9b..8d3facb 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -88,7 +88,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -101,11 +101,12 @@ In particular, note that whitespace is not optional.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
         \toprule
@@ -118,6 +119,7 @@ In particular, note that whitespace is not optional.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -188,7 +190,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
@@ -203,11 +205,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & Named only & No \\
     \t{4} & Named only & No \\
     \t{5} & Named and operator & Yes \\
+    \t{6} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -220,6 +223,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{3} & 2-style \\
     \t{4} & 4-style \\
     \t{5} & 4-style \\
+    \t{6} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -258,7 +262,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -272,6 +276,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
     \t{5} & Weak & Strong \\
+    \t{6} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 255f428..0a8f9e1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -18,7 +18,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endfirsthead
 \midrule
@@ -32,7 +33,8 @@
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
 \multicolumn{1}{c}{4} &
-\multicolumn{1}{c}{5} \\
+\multicolumn{1}{c}{5} &
+\multicolumn{1}{c}{6} \\
 \midrule
 \endhead
 \midrule
@@ -41,67 +43,67 @@
 \endlastfoot
 
 Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Named & Named & Named & Named & Named and Operator \\
+    No & Named & Named & Named & Named & Named and Operator & Named and Operator \\
 
 Sub-slots & \compactfeatureref{sub-slot} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both & Both \\
+    Installed & Installed & Installed & Installed & Both & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
@@ -110,91 +112,95 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No & No \\
+    Yes & Yes & Yes & Yes & No & No & No \\
 
 \t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned & Banned \\
 
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
+    &  &  &  & disable dependency tracking &
+    disable dependency tracking, disable silent rules &
+    disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doheader} & \compactfeatureref{doheader} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes & Yes \\
+    N/A & N/A & No & No & Yes & Yes & Yes \\
 
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{docompress} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes & Yes \\
+    No & No & No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
-    No & No & No & No & No & Yes \\
+    No & No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -294,7 +300,15 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\section*{EAPI 6}
+
+EAPI 6 is EAPI 5 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{6}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 6b03d2b..bb860f4 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -32,6 +32,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `3'.
 \item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
     in all other ways identical to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 20771bd..8b2c146 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -35,7 +35,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
     \begin{tabular}{ l l }
         \toprule
@@ -48,6 +48,7 @@ The following commands must always be available in the ebuild environment:
     \t{3} & Undefined \\
     \t{4} & Undefined \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index d387aca..8946157 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -225,7 +225,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
         \toprule
@@ -241,11 +241,12 @@ variable.
     \t{3} & No & No & No & No \\
     \t{4} & Yes & Yes & Yes & No \\
     \t{5} & Yes & Yes & Yes & Yes \\
+    \t{6} & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -259,11 +260,12 @@ variable.
     \t{3} & Yes & Yes \\
     \t{4} & No & No \\
     \t{5} & No & No \\
+    \t{6} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -279,6 +281,7 @@ variable.
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
         \t{5} & Yes & Yes & Yes \\
+        \t{6} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -379,7 +382,7 @@ contain at most one value.
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -393,6 +396,7 @@ contain at most one value.
         \t{3} & Yes \\
         \t{4} & Yes \\
         \t{5} & Yes \\
+        \t{6} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 480ccda..60bd1e5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -57,6 +57,7 @@ fallback to \t{WORKDIR} is used:
     \t{3} & Always \\
     \t{4} & Conditional error \\
     \t{5} & Conditional error \\
+    \t{6} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -79,7 +80,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -92,6 +93,7 @@ before the next phase is executed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -135,7 +137,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -148,6 +150,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -172,7 +175,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -185,6 +188,7 @@ src_configure() {
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -240,7 +244,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -253,6 +257,7 @@ src_compile() {
     \t{3} & 2 \\
     \t{4} & 2 \\
     \t{5} & 2 \\
+    \t{6} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -275,7 +280,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
     \begin{tabular}{ l l }
         \toprule
@@ -288,6 +293,7 @@ be disabled by user too, using a PM-specific mechanism.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -328,7 +334,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -341,6 +347,7 @@ is a no-op.
     \t{3} & no-op \\
     \t{4} & 4 \\
     \t{5} & 4 \\
+    \t{6} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -404,7 +411,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -417,6 +424,7 @@ that dependencies may not be installed.
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -439,7 +447,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -456,6 +464,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 9842557..0bba597 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -84,7 +84,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -97,11 +97,12 @@ Ebuilds may define any of the following variables:
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -116,6 +117,7 @@ Ebuilds may define any of the following variables:
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -183,7 +185,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +198,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{3} & Yes \\
     \t{4} & No \\
     \t{5} & No \\
+    \t{6} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -229,7 +232,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -242,6 +245,7 @@ based upon any variant condition.
     \t{3} & Optionally \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index c212294..1180c8c 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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -100,6 +100,7 @@ is undefined.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1884a5c..c614664 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -37,6 +37,7 @@ The following commands affect this behaviour:
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
     \t{5} & Aborts & Yes \\
+    \t{6} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -47,7 +48,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -63,6 +64,7 @@ called, the package manager must abort the build process indicating an error.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -159,7 +161,7 @@ current phase function has returned.
         in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{5}
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -173,6 +175,7 @@ current phase function has returned.
         \t{3} & No & No \\
         \t{4} & Yes & No \\
         \t{5} & Yes & Yes \\
+        \t{6} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -436,7 +439,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -449,11 +452,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
     \begin{tabular}{ l l }
         \toprule
@@ -466,11 +470,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -483,11 +488,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -502,11 +508,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
         \toprule
@@ -519,11 +526,12 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
@@ -537,6 +545,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -626,7 +635,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -640,6 +649,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
     \t{5} & Yes & Yes \\
+    \t{6} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -678,7 +688,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -691,11 +701,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & Undefined \\
     \t{4} & Error \\
     \t{5} & Error \\
+    \t{6} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -709,11 +720,12 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
     \begin{tabular}{ l l }
         \toprule
@@ -726,6 +738,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -796,7 +809,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -809,6 +822,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -822,7 +836,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -835,6 +849,7 @@ has returned.
     \t{3} & Yes \\
     \t{4} & Yes \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

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

diff --git a/profile-variables.tex b/profile-variables.tex
index 6eca502..4c5496c 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -33,7 +33,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
         \toprule
@@ -46,6 +46,7 @@ completely override those in parent profiles.
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/profiles.tex b/profiles.tex
index a7a8527..1048162 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -125,7 +125,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{5}
+\ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
     \begin{tabular}{ l l }
@@ -139,6 +139,7 @@ versions only}\label{tab:profile-stablemask}
     \t{3} & No \\
     \t{4} & No \\
     \t{5} & Yes \\
+    \t{6} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     dd571c8b1189e48ad356dee100608886d82a0250
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=dd571c8b

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 8d3facb..6c5e950 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -263,21 +248,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 8b2c146..54e12ec 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -36,20 +36,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8946157..74c54b6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -226,42 +226,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -269,20 +262,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -386,18 +374,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 60bd1e5..23f02b4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{s
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 0bba597..dac0990 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 1180c8c..cd4b442 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c614664..ff83460 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index 4c5496c..61241d2 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index 1048162..11e7780 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     68e4d3846411e85e246207078a6ac3893667ecde
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=68e4d384

EAPI 6 has einstalldocs.

This also adds support for an empty DOCS variable and for directories
in DOCS.

Bug: 459692
Bug: 463736
Bug: 481980

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 88b8c6f..30ed46b 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 5e9d61c..c33b4e6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -919,8 +919,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -935,6 +969,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     f7604aceb3e50662b5f368bc7e6a5a9318b2ceeb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f7604ace

EAPI 6 has in_iuse.

Bug: 449862

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3035e3..6002785 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7f57a86..09e2e42 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -715,8 +715,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. Ebuilds must not run any of these
 functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -742,6 +743,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -786,6 +790,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     9319dd91222fe5e19af9ce6b6c6a2809aca186ab
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9319dd91

EAPI 6: die and assert called with -n respect nonfatal.

Bug: 451938

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6ec5209..2a4f840 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4f8c34f..fce819b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     50cab4d4101150b168b9e0888aa176ee399b1470
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 16:44:02 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=50cab4d4

EAPI 6: Explain eapply behavior.

Bug: 463768

 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7997323..f7d3344 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -148,14 +148,41 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
-\item[eapply] \featurelabel{eapply}
+\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
+    file or directory paths. Processes options and applies all patches found in specified locations
+    according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+    using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 \end{description}
 
 \begin{algorithm}
 \caption{eapply logic} \label{alg:eapply}
 \begin{algorithmic}[1]
-\STATE \COMMENT{WORK IN PROGRESS}
+\IF{any parameter is equal to \t{"-{}-"}}
+    \STATE collect all parameters before the first \t{"-{}-"} in the options array
+    \STATE collect all parameters after the first \t{"-{}-"} in the files array
+\ELSIF{any parameter that begins with a hyphen follows one that does not}
+    \STATE abort the build process with an error
+\ELSE
+    \STATE collect all parameters beginning with a hyphen in the options array
+    \STATE collect all remaining parameters in the files array
+\ENDIF
+
+\FOR{\$x in files}
+    \IF{\$x is a directory}
+        \FOR{\$f in all files matching \$x/*.diff and \$x/*.patch}
+            \STATE call \t{patch -p1 -f -g0 --no-backup-if-mismatch "\$\{options[@]\}" "\$f"}
+            \IF{child process returns with non-zero exit status}
+                \STATE return immediately with an error
+            \ENDIF
+        \ENDFOR
+    \ELSE
+        \STATE call \t{patch -p1 -f -g0 --no-backup-if-mismatch "\$\{options[@]\}" "\$x"}
+        \IF{child process returns with non-zero exit status}
+            \STATE return immediately with an error
+        \ENDIF
+    \ENDIF
+\ENDFOR
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ca30c670c47a6d73bd2ee9f819b0ce2747ee9a59
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ca30c670

EAPI 6: einstall banned.

Bug: 524112

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 616aa06..6ec5209 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ff83460..4f8c34f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     0b73d05ac9bf8b30722211425e3fefa0b990fcb5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0b73d05a

EAPI 6: econf adds --docdir and --htmldir.

Bug: 468202

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 980cbd8..b3035e3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,7 +184,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -336,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 665e047..7f57a86 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -228,6 +228,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -241,15 +247,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     306d26e54a9ab10e1327478b17d2045207c0c16c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=306d26e5

EAPI 6 has a default src_prepare.

This adds support for the PATCHES array and for user patches.

Bug: 463692

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 36 +++++++++++++++++++++++++++---------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index be8563c..980cbd8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -92,6 +92,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -326,6 +329,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 23f02b4..1f996f0 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -121,24 +121,42 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ed67e2e565127695edbba8f16a7351e1a3bde199
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:35:39 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ed67e2e5

EAPI 6 has eapply.

Bug: 463768

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2a4f840..7502c1e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -172,6 +172,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{die -n} & \compactfeatureref{nonfatal-die} &
     No & No & No & No & Yes \\
 
+\t{eapply} & \compactfeatureref{eapply} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -324,6 +327,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{eapply} support, \featureref{eapply}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index fce819b..7997323 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -143,6 +143,36 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
+\subsubsection{Patch commands}
+These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+Ebuilds must not run any of these commands once the current phase function has returned.
+
+\begin{description}
+\item[eapply] \featurelabel{eapply}
+    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\end{description}
+
+\begin{algorithm}
+\caption{eapply logic} \label{alg:eapply}
+\begin{algorithmic}[1]
+\STATE \COMMENT{WORK IN PROGRESS}
+\end{algorithmic}
+\end{algorithm}
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Patch commands for EAPIs}
+    \label{tab:patch-commands}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     94f324194b65740da4b4990007217c6c39b28707
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=94f32419

EAPI 6 enables failglob in global scope.

Bug: 463822

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3f37c19..616aa06 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 1e8a5c3..4439d14 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,18 +33,25 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
       \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & Undefined \\
-      5                 & 3.2 & Yes       \\
-      6                 & 4.2 & Yes       \\
+      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
+      5                 & 3.2 & No  & Yes       \\
+      6                 & 4.2 & Yes & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     fbbb1a41501877458a69ad084503a5ce3d8c096f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fbbb1a41

EAPI 6: unpack matches filename extensions case-insensitively.

Bug: 476730

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4959819..88b8c6f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -228,6 +228,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -349,6 +352,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9396f15..5e9d61c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -877,16 +877,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     956b6b8917c9e25f3e4ad0d792a5c3ce5893ec34
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=956b6b89

EAPI 6 has eapply_user.

Bug: 475288

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7502c1e..be8563c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,6 +175,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f7d3344..665e047 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,6 +153,12 @@ Ebuilds must not run any of these commands once the current phase function has r
     according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the function as a no-op. Only available in EAPIs listed in
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}.
 \end{description}
 
 \begin{algorithm}
@@ -189,13 +195,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     e3bc938070021dff45b10f62de92eeb8d05081f6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e3bc9380

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 30ed46b..452349e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -105,7 +105,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -345,6 +345,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 1f996f0..bf16f9e 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -326,6 +326,20 @@ src_install() {
 }
 \end{verbatim}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+
+    einstalldocs
+}
+\end{verbatim}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -338,7 +352,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     2f27aeaf5ced77e04ef926d30e48befa0732e680
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2f27aeaf

EAPI 6: unpack supports absolute and relative paths.

Bug: 483244

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6002785..27c1ee6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -219,6 +219,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -341,6 +344,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 09e2e42..0bf6df0 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -833,9 +833,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -871,6 +877,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     ec08e61f0e89e3533ed3c1f9ee2077741522d9d9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ec08e61f

EAPI 6: unpack supports txz.

Bug: 458102

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 27c1ee6..4959819 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,9 +222,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0bf6df0..9396f15 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -869,9 +869,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -893,13 +894,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     8336dbb2e93b512f4e23c40a34e7b1c4a7e47728
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8336dbb2

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 8779518..676e2e4 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -742,10 +742,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -777,29 +777,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ l l }
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -918,16 +906,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -974,42 +962,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ l l }
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15  6:23 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15  6:23 UTC (permalink / raw
  To: gentoo-commits

commit:     9b30e9ea7d5622a76e697b7710a4d32771fab2fb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 14 21:21:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9b30e9ea

EAPI 6 has get_libdir.

Bug: 463586

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 452349e..b5fc01e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -237,6 +237,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -358,6 +361,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c33b4e6..8779518 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -925,6 +925,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -955,6 +959,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -983,6 +1001,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     4594e825646f4293c0f1ca63a0baf69cb8fa0b47
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4594e825

EAPI 6: unpack supports absolute and relative paths.

Bug: 483244

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 6002785..27c1ee6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -219,6 +219,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -341,6 +344,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6b150c7..c16745a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -833,9 +833,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -871,6 +877,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     730d59cc74a05caf4326f75c732d1a80b92efac6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=730d59cc

EAPI 6: unpack supports txz.

Bug: 458102

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 27c1ee6..4959819 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,9 +222,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c16745a..8e8d191 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -869,9 +869,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -893,13 +894,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     243d3f4d96e242f8e5ca8f8c6a97729ff8b71612
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=243d3f4d

EAPI 6 has a default src_prepare.

This adds support for the PATCHES array and for user patches.

Bug: 463692

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 36 +++++++++++++++++++++++++++---------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index be8563c..980cbd8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -92,6 +92,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -326,6 +329,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 23f02b4..1f996f0 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -121,24 +121,42 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     d69d71d84f8a735e88edfe04befb1693d56d2827
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d69d71d8

EAPI 6 has in_iuse.

Bug: 449862

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b3035e3..6002785 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 961af2a..6b150c7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -715,8 +715,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. Ebuilds must not run any of these
 functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -742,6 +743,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -786,6 +790,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     ba95bc26824f3587df12febf4b21b261f37f85ff
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ba95bc26

EAPI 6 has eapply_user.

Bug: 475288

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 15 +++++++++++----
 2 files changed, 15 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7502c1e..be8563c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,6 +175,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 8fb8059..680340a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,6 +153,12 @@ Ebuilds must not run any of these commands once the current phase function has r
     according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the function as a no-op. Only available in EAPIs listed in
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}.
 \end{description}
 
 \begin{algorithm}
@@ -189,13 +195,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     2224881a5c8afa1ff4bd6314cf8e69c6025cf3b2
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 16:44:02 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2224881a

EAPI 6: Explain eapply behavior.

Bug: 463768

 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++--
 1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7997323..8fb8059 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -148,14 +148,41 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
-\item[eapply] \featurelabel{eapply}
+\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
+    file or directory paths. Processes options and applies all patches found in specified locations
+    according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+    using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 \end{description}
 
 \begin{algorithm}
 \caption{eapply logic} \label{alg:eapply}
 \begin{algorithmic}[1]
-\STATE \COMMENT{WORK IN PROGRESS}
+\IF{any parameter is equal to \t{"-{}-"}}
+    \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array
+    \STATE collect all parameters after the first \t{"-{}-"} in the \t{files} array
+\ELSIF{any parameter that begins with a hyphen follows one that does not}
+    \STATE abort the build process with an error
+\ELSE
+    \STATE collect all parameters beginning with a hyphen in the \t{options} array
+    \STATE collect all remaining parameters in the \t{files} array
+\ENDIF
+
+\FORALL{\t{x} in the \t{files} array}
+    \IF{\t{\$x} is a directory}
+        \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale}
+            \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"}
+            \IF{child process returned with non-zero exit status}
+                \STATE return immediately with an error
+            \ENDIF
+        \ENDFOR
+    \ELSE
+        \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"}
+        \IF{child process returned with non-zero exit status}
+            \STATE return immediately with an error
+        \ENDIF
+    \ENDIF
+\ENDFOR
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     cf89cfa1d7c4ed47368d7dc9ec812f80e1e8555f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cf89cfa1

EAPI 6: unpack matches filename extensions case-insensitively.

Bug: 476730

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4959819..88b8c6f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -228,6 +228,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -349,6 +352,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 8e8d191..5611fa8 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -877,16 +877,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     4de95bf3c46a8b68a3e1b8d8319e6ee33767b00a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4de95bf3

EAPI 6: econf adds --docdir and --htmldir.

Bug: 468202

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 980cbd8..b3035e3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,7 +184,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -336,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 680340a..961af2a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -228,6 +228,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -241,15 +247,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     5d3352dbb2306f2c7e2ec351bb5e98eba8f2bf28
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5d3352db

EAPI 6 has get_libdir.

Bug: 463586

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 452349e..b5fc01e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -237,6 +237,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -358,6 +361,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index cf1abf7..c89c807 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -925,6 +925,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -955,6 +959,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -983,6 +1001,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     fb745e623314f1677f020b90fbed4c3f25deb701
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fb745e62

EAPI 6 has einstalldocs.

This also adds support for an empty DOCS variable and for directories
in DOCS.

Bug: 459692
Bug: 463736
Bug: 481980

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 88b8c6f..30ed46b 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 5611fa8..cf1abf7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -919,8 +919,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -935,6 +969,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     80bf5a03c379da16ba0e067cf67b1dc3af09861f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=80bf5a03

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c89c807..26bb4e4 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -742,10 +742,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -777,29 +777,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ l l }
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -918,16 +906,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -974,42 +962,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ l l }
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-15 10:43 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-15 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     96cce9b4073d567ccaed8604515ea156ea0639ef
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 07:48:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=96cce9b4

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 30ed46b..452349e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -105,7 +105,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -345,6 +345,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 1f996f0..bf16f9e 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -326,6 +326,20 @@ src_install() {
 }
 \end{verbatim}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+
+    einstalldocs
+}
+\end{verbatim}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -338,7 +352,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     f99fef0c407ea39a5a183d501ba90149d3e03170
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 15:51:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:22:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f99fef0c

Cheat sheet: Authors' names.

"PMS team" isn't a good attribution because team members may change.
Therefore list the two sole contributors as authors, according to
git blame and git log.

Also slightly reword the licence notice and adjust the footnotes.

 eapi-cheatsheet.tex | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 422f7ed..d15bb7d 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -22,8 +22,13 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{%
-    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
+\author{%
+    Christian Faulhammer \\
+    \href{mailto:fauli@gentoo.org}{fauli@gentoo.org}
+    \and
+    Ulrich Müller \\
+    \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
+}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}
@@ -40,7 +45,7 @@
     citecolor=black,
     linkcolor=black,
     pdftitle={EAPI Desk Reference},
-    pdfauthor={Christian Faulhammer},
+    pdfauthor={Christian Faulhammer, Ulrich Müller},
     pdfsubject={Making look-up faster for EAPI features},
     pdflang={en},
     pdfkeywords={Gentoo, package manager, reference},
@@ -52,8 +57,9 @@
 \begin{abstract}
     An overview of the main EAPI changes in Gentoo, for ebuild
     authors.  For full details, consult the Package Manager
-    Specification found on the project page; this is
-    an incomplete summary only.
+    Specification found on the project page;\footnote{%
+    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}
+    this is an incomplete summary only.
 
     Official Gentoo EAPIs are consecutively numbered integers (0, 1,
     2, \dots).  Except where otherwise noted, an EAPI is the same as
@@ -64,9 +70,9 @@
     % Gentoo bug tracking system\footnote{\url{https://bugs.gentoo.org/}}
     % to the original author or the PMS team.
 
-    This document is released under the Creative Commons
-    Attribution-Share Alike 3.0
-    Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
+    This work is released under the Creative Commons
+    Attribution-Share Alike 3.0 Licence.%
+    \footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
 \end{abstract}
 
 \section{EAPIs 0, 1, and 2}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     acbf6f785d4be4de116b70fe6447c1f1c76b0396
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 18 10:23:41 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:22:57 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=acbf6f78

EAPI 6: Make calling eapply_user mandatory.

 pkg-mgr-commands.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1e7b8cf..b760eec 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -158,7 +158,8 @@ Ebuilds must not run any of these commands once the current phase function has r
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
     is implementation defined and beyond the scope of this specification. Package managers not
     supporting it must implement the function as a no-op. Only available in EAPIs listed in
-    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}.
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
+    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     29fa2225d86ff9a1e940a5376bf21d423141f6b0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 18 10:24:15 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:23:13 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=29fa2225

Cheat sheet: Calling eapply_user is mandatory.

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index fa4b326..6ccc849 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -372,7 +372,7 @@ differences between these previous EAPIs.
     \code{patch -p1}.
     See \featureref{eapply}.
     \item[\code{eapply\_user}] The \code{eapply\_user} command permits
-    the package manager to apply user-provided patches. It should be
+    the package manager to apply user-provided patches. It must be
     called from every \code{src\_prepare} function.
     See \featureref{eapply-user}.
     \item[\code{einstalldocs}] The \code{einstalldocs} function will


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     162221b90a9f99ad6b96e1161c6f0457b35de76a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 17 08:52:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:22:45 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=162221b9

Cheat sheet: Update for EAPI 6.

 eapi-cheatsheet.tex | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 76 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index d15bb7d..fa4b326 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -15,7 +15,7 @@
 \usepackage[scaled=.90]{helvet}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
-\newcommand{\version}{5.0}
+\newcommand{\version}{6.0}
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
@@ -324,6 +324,81 @@ differences between these previous EAPIs.
     would be merged due to a stable keyword.
     See \featureref{stablemask}.
 \end{description}
+
+\section{EAPI 6}
+\label{sec:cs:eapi6}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi6-additions}
+\begin{description}
+    \item[Bash version] Ebuilds can use features of Bash version 4.2
+    (was 3.2 before).
+    See \featureref{bash-version}.
+    \item[\code{failglob}] The \code{failglob} option of Bash is set
+    in global scope, so that unintentional pattern expansion will be
+    caught as an error.
+    See \featureref{failglob}.
+    \item[\code{src\_prepare}] This phase function has a default now,
+    which applies patches from the \code{PATCHES} variable with the
+    new \code{eapply} command, and user-provided patches with
+    \code{eapply\_user}.
+    See \featureref{src-prepare-6}.
+    \item[\code{src\_install}] The default implementation uses the new
+    \code{einstalldocs} function for installing documentation.
+    See \featureref{src-install-6}.
+    \item[\code{unpack} changes] \code{unpack} has been extended:
+    \begin{description}
+        \item[Pathnames] Both absolute paths and paths relative to the
+        working directory are accepted as arguments.
+        See \featureref{unpack-absolute}.
+        \item[\code{.txz} files] Unpacking of \code{.txz} files is now
+        supported.
+        See \featureref{unpack-extensions}.
+        \item[Filename case] Character case of filename extensions is
+        ignored.
+        See \featureref{unpack-ignore-case}.
+    \end{description}
+    \item[\code{econf} changes] Options \code{-{}-docdir} and
+    \code{-{}-htmldir} are passed to \code{configure}, in addition to
+    the existing options.
+    See \featureref{econf-options}.
+    \item[\code{nonfatal die}] When \code{die} or \code{assert} are
+    called under the \code{nonfatal} command and with the \code{-n}
+    option, they will not abort the build process but return with an
+    error.
+    See \featureref{nonfatal-die}.
+    \item[\code{eapply}] The \code{eapply} command is a simplified
+    substitute for \code{epatch}, implemented in the package manager.
+    The patches from its file or directory arguments are applied using
+    \code{patch -p1}.
+    See \featureref{eapply}.
+    \item[\code{eapply\_user}] The \code{eapply\_user} command permits
+    the package manager to apply user-provided patches. It should be
+    called from every \code{src\_prepare} function.
+    See \featureref{eapply-user}.
+    \item[\code{einstalldocs}] The \code{einstalldocs} function will
+    install the files specified by the \code{DOCS} variable (or a
+    default set of files if \code{DOCS} is unset) and by the
+    \code{HTML\_DOCS} variable.
+    See \featureref{einstalldocs}.
+    \item[\code{in\_iuse}] The \code{in\_iuse} function returns
+    true if the USE flag given as its argument is available in the
+    ebuild for USE queries.
+    See \featureref{in-iuse}.
+    \item[\code{get\_libdir}] The \code{get\_libdir} function outputs
+    the \code{lib*} directory basename suitable for the current ABI.
+    See \featureref{get-libdir}.
+    \item[\code{package*} and \code{use*} in profiles] Instead of
+    regular files, these may optionally be directories containing
+    files of the named type.
+    See \featureref{profile-file-dirs}.
+\end{description}
+\subsection{Removals/Bans}
+\label{sec:cs:eapi6-removalsbans}
+\begin{description}
+    \item[\code{einstall}] No longer allowed. Use \code{emake install}
+    as replacement.
+    See \featureref{banned-commands}.
+\end{description}
 \end{document}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     a88b0c5fb50501d66469a08f1f9a35c69a561dd0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 15 16:49:26 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:22:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a88b0c5f

Cheat sheet: Remove EAPIs 0, 1, and 2 to make room for EAPI 6.

Also some rearrangement of items and one minor wording change, in
order to fit the EAPI 4 section in two (small) pages.

 eapi-cheatsheet.tex | 162 ++++++++++++++++++++++++++--------------------------
 1 file changed, 82 insertions(+), 80 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b7e4e0f..422f7ed 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -68,82 +68,84 @@
     Attribution-Share Alike 3.0
     Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
 \end{abstract}
-\section{EAPI 0}
-\label{sec:cs:eapi0}
-If there is no EAPI explicitly specified, EAPI 0 is assumed.
-% Currently there is no full specification what EAPI 0 includes.
-% Portage, official ebuild documentation and existing ebuilds set the
-% standard.  If you think you found a bug, you should file a bug report
-% nonetheless.
 
-\section{EAPI 1}
-\label{sec:cs:eapi1}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi1-additions}
-\begin{description}
-    \item[IUSE defaults] A USE flag can be marked as mandatory (if
-    not disabled explicitly by user configuration) with a \code{+}
-    sign in front.  See \featureref{iuse-defaults}.
-    \item[Named slot dependencies] Dependencies can explicitly request
-    a specific slot by using the
-    \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
-    See \featureref{slot-deps}.
-\end{description}
+\section{EAPIs 0, 1, and 2}
+\label{sec:cs:eapi0-2}
+Omitted for lack of space. See version~5.0 of this document for
+differences between these previous EAPIs.
 
-\section{EAPI 2 (2008-09-25)}
-\label{sec:cs:eapi2}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi2-additions}
-\begin{description}
-    \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
-    naming scheme.  By using
-    \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
-    saved as \code{foo} in DISTDIR\@.
-    See \featureref{src-uri-arrows}.
-    \item[USE dependencies] Dependencies can specify USE flag
-    requirements on their target, removing the need for
-    \code{built\_with\_use} checks.
-    \begin{description}
-        \item[{[opt]}] The flag must be enabled.
-        \item[{[opt=]}] The flag must be enabled if it is
-        enabled for the package with the dependency, or disabled
-        otherwise.
-        \item[{[!opt=]}] The flag must be disabled if it is
-        enabled for the package with the dependency, or enabled
-        otherwise.
-        \item[{[opt?]}] The flag must be enabled if it is
-        enabled for the package with the dependency.
-        \item[{[!opt?]}] The flag must be disabled if it is
-        disabled for the package with the dependency.
-        \item[{[-opt]}] The flag must be disabled.
-    \end{description}
-    See \featureref{use-deps}.
-    \item[Blocker syntax] A single exclamation mark as a blocker may
-    be ignored by the package manager as long as the stated package is
-    uninstalled later on.  Two exclamation marks are a strong blocker
-    and will always be respected.  See \featureref{bang-strength}.
-    \item[\code{src\_configure, src\_prepare}] Both new phases provide
-    finer granularity in the ebuild's structure.  Configure calls
-    should be moved from \code{src\_compile} to \code{src\_configure}.
-    Patching and similar preparation must now be done in
-    \code{src\_prepare}, not \code{src\_unpack}.  See
-    \featureref{src-prepare} and \featureref{src-configure}.
-    \item[Default phase functions] The default functions for
-    phases \code{pkg\_nofetch}, \code{src\_unpack},
-    \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
-    and \code{src\_test} can be called via
-    \code{default\_}\emph{phasename}, so duplicating the standard
-    implementation is no longer necessary for small additions.  The
-    short-hand \code{default} function calls the current phase's
-    \code{default\_} function automatically, so any small additions
-    you need will not be accompanied by a complete reimplementation of
-    the phase.  See \featureref{default-phase-funcs} and
-    \featureref{default-func}.
-    \item[\code{doman} language support] The \code{doman} installation
-    function recognizes language specific man page extensions and
-    behaves accordingly.  This behaviour can be inhibited by the
-    \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
-\end{description}
+% \section{EAPI 0}
+% \label{sec:cs:eapi0}
+% If there is no EAPI explicitly specified, EAPI 0 is assumed.
+
+% \section{EAPI 1}
+% \label{sec:cs:eapi1}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi1-additions}
+% \begin{description}
+%     \item[IUSE defaults] A USE flag can be marked as mandatory (if
+%     not disabled explicitly by user configuration) with a \code{+}
+%     sign in front.  See \featureref{iuse-defaults}.
+%     \item[Named slot dependencies] Dependencies can explicitly request
+%     a specific slot by using the
+%     \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
+%     See \featureref{slot-deps}.
+% \end{description}
+
+% \section{EAPI 2 (2008-09-25)}
+% \label{sec:cs:eapi2}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi2-additions}
+% \begin{description}
+%     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
+%     naming scheme.  By using
+%     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
+%     saved as \code{foo} in DISTDIR\@.
+%     See \featureref{src-uri-arrows}.
+%     \item[USE dependencies] Dependencies can specify USE flag
+%     requirements on their target, removing the need for
+%     \code{built\_with\_use} checks.
+%     \begin{description}
+%         \item[{[opt]}] The flag must be enabled.
+%         \item[{[opt=]}] The flag must be enabled if it is
+%         enabled for the package with the dependency, or disabled
+%         otherwise.
+%         \item[{[!opt=]}] The flag must be disabled if it is
+%         enabled for the package with the dependency, or enabled
+%         otherwise.
+%         \item[{[opt?]}] The flag must be enabled if it is
+%         enabled for the package with the dependency.
+%         \item[{[!opt?]}] The flag must be disabled if it is
+%         disabled for the package with the dependency.
+%         \item[{[-opt]}] The flag must be disabled.
+%     \end{description}
+%     See \featureref{use-deps}.
+%     \item[Blocker syntax] A single exclamation mark as a blocker may
+%     be ignored by the package manager as long as the stated package is
+%     uninstalled later on.  Two exclamation marks are a strong blocker
+%     and will always be respected.  See \featureref{bang-strength}.
+%     \item[\code{src\_configure, src\_prepare}] Both new phases provide
+%     finer granularity in the ebuild's structure.  Configure calls
+%     should be moved from \code{src\_compile} to \code{src\_configure}.
+%     Patching and similar preparation must now be done in
+%     \code{src\_prepare}, not \code{src\_unpack}.  See
+%     \featureref{src-prepare} and \featureref{src-configure}.
+%     \item[Default phase functions] The default functions for
+%     phases \code{pkg\_nofetch}, \code{src\_unpack},
+%     \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
+%     and \code{src\_test} can be called via
+%     \code{default\_}\emph{phasename}, so duplicating the standard
+%     implementation is no longer necessary for small additions.  The
+%     short-hand \code{default} function calls the current phase's
+%     \code{default\_} function automatically, so any small additions
+%     you need will not be accompanied by a complete reimplementation of
+%     the phase.  See \featureref{default-phase-funcs} and
+%     \featureref{default-func}.
+%     \item[\code{doman} language support] The \code{doman} installation
+%     function recognizes language specific man page extensions and
+%     behaves accordingly.  This behaviour can be inhibited by the
+%     \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
+% \end{description}
 
 \section{EAPI 3 (2010-01-18)}
 \label{sec:cs:eapi3}
@@ -192,17 +194,17 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     adds paths to the inclusion list for compression.
     \code{docompress -x path \dots} adds paths to the exclusion list.
     See \featureref{docompress}.
+    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
+    the command given as argument will not abort the build process in
+    case of a failure (as is the default) but will return non-zero on
+    failure.
+    See \featureref{nonfatal}.
     \item[\code{dodoc} recursion] If the \code{-r} switch is given as
     first argument and followed by directories, files from there are
     installed recursively.  See \featureref{dodoc}.
     \item[\code{doins} symlink support] Symbolic links are now
     properly installed when using recursion (\code{-r} switch).
     See \featureref{doins}.
-    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
-    the command given as argument will not abort the build process in
-    case of a failure (as is the default) but will return non-zero on
-    failure.
-    See \featureref{nonfatal}.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
     \item[\code{REQUIRED\_USE}] This variable can be used similar to
@@ -210,7 +212,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     combinations that are not allowed.  All elements can be further
     nested to achieve more functionality.
     \begin{description}
-        \item[Forbidden combination] To prevent activation of
+        \item[Illegal combination] To prevent activation of
         \code{flag1} if \code{flag2} is enabled use
         "\code{flag2?\ ( !flag1 )}".
         \item[OR] If at least one USE flag out of many must be


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     c8afd4a44f0bae300ef21e5873ed0c984d8e2240
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 15:54:53 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:22:34 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c8afd4a4

EAPI 6: Fix eapply algorithm.

 pkg-mgr-commands.tex | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 22623a7..1e7b8cf 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -173,19 +173,25 @@ Ebuilds must not run any of these commands once the current phase function has r
     \STATE collect all parameters beginning with a hyphen in the \t{options} array
     \STATE collect all remaining parameters in the \t{files} array
 \ENDIF
+\IF{the \t{files} array is empty}
+    \STATE abort the build process with an error
+\ENDIF
 
 \FORALL{\t{x} in the \t{files} array}
     \IF{\t{\$x} is a directory}
+        \IF{\NOT any files match \t{\$x/*.diff} or \t{\$x/*.patch}}
+            \STATE abort the build process with an error
+        \ENDIF
         \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale}
             \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"}
             \IF{child process returned with non-zero exit status}
-                \STATE return immediately with an error
+                \STATE return immediately with that error status
             \ENDIF
         \ENDFOR
     \ELSE
         \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"}
         \IF{child process returned with non-zero exit status}
-            \STATE return immediately with an error
+            \STATE return immediately with that error status
         \ENDIF
     \ENDIF
 \ENDFOR


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 11:24 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     84d97fc24115d490216d17faaf97f16f13e86c29
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 18 11:21:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 11:21:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=84d97fc2

Merge branch 'master' into eapi-6

 dependencies.tex     | 4 ++--
 eapi-cheatsheet.tex  | 8 ++++----
 eapi-differences.tex | 8 ++++----
 pkg-mgr-commands.tex | 4 ++--
 pms.cls              | 3 +++
 5 files changed, 15 insertions(+), 12 deletions(-)

diff --cc eapi-differences.tex
index b5fc01e,04e5f83..d37d4ce
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@@ -41,81 -40,73 +41,81 @@@ of this document for a complete table o
  \bottomrule
  \endlastfoot
  
 +\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
 +    No & No & No & No & Yes \\
 +
  Stable use masking/forcing & \compactfeatureref{stablemask} &
 -    No & No & No & No & No & Yes \\
 +    No & No & No & Yes & Yes \\
  
  \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
 -    No & Yes & Yes & Yes & Yes & Yes \\
 +    * & Yes & Yes & Yes & Yes \\
  
  \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
 -    No & No & No & No & Yes & Yes \\
 +    No & No & Yes & Yes & Yes \\
  
  \t{PROPERTIES} & \compactfeatureref{properties} &
 -    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 +    Optionally & Optionally & Yes & Yes & Yes \\
  
  \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
 -    Yes & Yes & Yes & Yes & No & No \\
 +    Yes & Yes & No & No & No \\
  
  \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
 -    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 +    Optionally & Optionally & Yes & Yes & Yes \\
  
  \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
 -    No & No & No & No & No & Yes \\
 +    No & No & No & Yes & Yes \\
  
  \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
 -    No & No & Yes & Yes & Yes & Yes \\
 +    * & Yes & Yes & Yes & Yes \\
  
  Slot dependencies & \compactfeatureref{slot-deps} &
 -    No & Named & Named & Named & Named & Named and Operator \\
 +    * & Named & Named & Named and Operator & Named and Operator \\
  
  Sub-slots & \compactfeatureref{sub-slot} &
 -    No & No & No & No & No & Yes \\
 +    No & No & No & Yes & Yes \\
  
  Use dependencies & \compactfeatureref{use-deps} &
 -    No & No & 2-style & 2-style & 4-style & 4-style \\
 +    * & 2-style & 4-style & 4-style & 4-style \\
  
- \t{!} blockers & \compactfeatureref{bang-strength} &
+ \t{!}\ blockers & \compactfeatureref{bang-strength} &
 -    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
 +    * & Weak & Weak & Weak & Weak \\
  
- \t{!!} blockers & \compactfeatureref{bang-strength} &
+ \t{!!}\ blockers & \compactfeatureref{bang-strength} &
 -    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
 +    * & Strong & Strong & Strong & Strong \\
  
  \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
 -    Always & Always & Always & Always & Conditional & Conditional \\
 +    Always & Always & Conditional & Conditional & Conditional \\
  
  \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
 -    No & No & No & No & Yes & Yes \\
 +    No & No & Yes & Yes & Yes \\
  
  \t{src\_prepare} & \compactfeatureref{src-prepare} &
 -    No & No & Yes & Yes & Yes & Yes \\
 +    * & Yes & Yes & Yes & Yes \\
 +
 +\t{src\_prepare} style & \compactfeatureref{src-prepare} &
 +    * & no-op & no-op & no-op & 6 \\
  
  \t{src\_configure} & \compactfeatureref{src-configure} &
 -    No & No & Yes & Yes & Yes & Yes \\
 +    * & Yes & Yes & Yes & Yes \\
  
  \t{src\_compile} style & \compactfeatureref{src-compile} &
 -    0 & 1 & 2 & 2 & 2 & 2 \\
 +    * & 2 & 2 & 2 & 2 \\
  
  Parallel tests & \compactfeatureref{parallel-tests} &
 -    No & No & No & No & No & Yes \\
 +    No & No & No & Yes & Yes \\
  
  \t{src\_install} style & \compactfeatureref{src-install} &
 -    no-op & no-op & no-op & no-op & 4 & 4 \\
 +    no-op & no-op & 4 & 4 & 6 \\
  
  \t{pkg\_info} & \compactfeatureref{pkg-info} &
 -    Installed & Installed & Installed & Installed & Both & Both \\
 +    Installed & Installed & Both & Both & Both \\
  
  \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
 -    None & None &
 -    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
 -    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
 +    * &
 +    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
 +        \t{src\_compile}, \t{src\_test} &
 +    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
 +        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
      \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
          \t{src\_compile}, \t{src\_install}, \t{src\_test} &
      \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
diff --cc pkg-mgr-commands.tex
index 26bb4e4,83fbd68..22623a7
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@@ -712,12 -646,11 +712,12 @@@ in table~\ref{tab:compression-table} a
  
  \subsubsection{Use List Functions}
  These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
- these commands once the current phase function has returned. Ebuilds must not run any of these
- functions in global scope.
+ these commands once the current phase function has returned. It is an error if an ebuild calls any
+ of these functions in global scope.
  
 -If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
 -either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
 +Unless otherwise noted, if any of these functions is called with a flag value that is not included
 +in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
 +table~\ref{tab:use-list-strictness}.
  
  \begin{description}
  \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false


^ permalink raw reply	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-18 20:16 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-18 20:16 UTC (permalink / raw
  To: gentoo-commits

commit:     9e1c79a9849a844a0bb84ada3c224878ca6e7958
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 18 20:16:43 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 18 20:16:43 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9e1c79a9

EAPI 6: Typographical fix in algorithm caption.

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b760eec..c1ef798 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -163,7 +163,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{description}
 
 \begin{algorithm}
-\caption{eapply logic} \label{alg:eapply}
+\caption{\t{eapply} logic} \label{alg:eapply}
 \begin{algorithmic}[1]
 \IF{any parameter is equal to \t{"-{}-"}}
     \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-19  8:44 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-19  8:44 UTC (permalink / raw
  To: gentoo-commits

commit:     9348c479d8079a73d07648164194117566ee41c9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 19 08:26:11 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 19 08:42:52 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9348c479

EAPI 6, cheat sheet: Replace "function" by "command" in two places.

 eapi-cheatsheet.tex  | 2 +-
 pkg-mgr-commands.tex | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 6ccc849..99de04e 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -384,7 +384,7 @@ differences between these previous EAPIs.
     true if the USE flag given as its argument is available in the
     ebuild for USE queries.
     See \featureref{in-iuse}.
-    \item[\code{get\_libdir}] The \code{get\_libdir} function outputs
+    \item[\code{get\_libdir}] The \code{get\_libdir} command outputs
     the \code{lib*} directory basename suitable for the current ABI.
     See \featureref{get-libdir}.
     \item[\code{package*} and \code{use*} in profiles] Instead of

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c1ef798..049de0e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -157,7 +157,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
     is implementation defined and beyond the scope of this specification. Package managers not
-    supporting it must implement the function as a no-op. Only available in EAPIs listed in
+    supporting it must implement the command as a no-op. Only available in EAPIs listed in
     table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
     \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
 \end{description}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-19 16:39 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-19 16:39 UTC (permalink / raw
  To: gentoo-commits

commit:     c3029b7a89bbf8b1eddac158a6c2bdbfedcf1bb6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 19 16:38:00 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 19 16:38:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c3029b7a

EAPI 6: eapply_user should be idempotent.

 pkg-mgr-commands.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 049de0e..ec02e57 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -159,7 +159,8 @@ Ebuilds must not run any of these commands once the current phase function has r
     is implementation defined and beyond the scope of this specification. Package managers not
     supporting it must implement the command as a no-op. Only available in EAPIs listed in
     table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
-    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
+    \t{eapply\_user} must be called once in the \t{src\_prepare} phase; for any subsequent calls
+    the command will do nothing.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-20  7:19 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-20  7:19 UTC (permalink / raw
  To: gentoo-commits

commit:     ad4e5ea3fad2986de6075146e4716aefde8e29de
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 20 07:18:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct 20 07:19:02 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ad4e5ea3

EAPI 6: Use \RETURN in eapply algorithm where appropriate.

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ec02e57..51f6ebf 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -178,7 +178,6 @@ Ebuilds must not run any of these commands once the current phase function has r
 \IF{the \t{files} array is empty}
     \STATE abort the build process with an error
 \ENDIF
-
 \FORALL{\t{x} in the \t{files} array}
     \IF{\t{\$x} is a directory}
         \IF{\NOT any files match \t{\$x/*.diff} or \t{\$x/*.patch}}
@@ -187,16 +186,17 @@ Ebuilds must not run any of these commands once the current phase function has r
         \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale}
             \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"}
             \IF{child process returned with non-zero exit status}
-                \STATE return immediately with that error status
+                \RETURN immediately with that status
             \ENDIF
         \ENDFOR
     \ELSE
         \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"}
         \IF{child process returned with non-zero exit status}
-            \STATE return immediately with that error status
+            \RETURN immediately with that status
         \ENDIF
     \ENDIF
 \ENDFOR
+\RETURN shell true (0)
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-21 17:13 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-21 17:13 UTC (permalink / raw
  To: gentoo-commits

commit:     de9c889d30de7beac8c89e69efe3baf2b3d8d6cd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 21 16:44:23 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 21 17:11:48 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=de9c889d

fixup! EAPI 6: Bash version is 4.2.

 eapi-differences.tex    |  8 ++++----
 ebuild-env-commands.tex | 17 ++++++++---------
 ebuild-format.tex       | 28 +++++++++++++++++++++-------
 3 files changed, 33 insertions(+), 20 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index d37d4ce..704fb35 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -47,6 +47,9 @@ of this document for a complete table of previous EAPIs.
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -145,9 +148,6 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
-Bash version & \compactfeatureref{bash-version} &
-    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
-
 \t{failglob} in global scope & \compactfeatureref{failglob} &
     No & No & No & No & Yes \\
 
@@ -347,9 +347,9 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Different \t{src\_install} implementation, \featureref{src-install-6}.
-\item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 4439d14..01d07b9 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,8 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item \featurelabel{bash-version} All builtin commands in GNU bash, version as listed in
-    table~\ref{tab:system-commands-table}.
+\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version} on
+    page~\pageref{tab:bash-version}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
@@ -42,16 +42,15 @@ during filename expansion result in an error when the ebuild is being sourced.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Bash version}} &
-      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} &
-      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
       \midrule
-      0, 1, 2, 3, 4     & 3.2 & No  & Undefined \\
-      5                 & 3.2 & No  & Yes       \\
-      6                 & 4.2 & Yes & Yes       \\
+      0, 1, 2, 3, 4     & Undefined & No  \\
+      5                 & Yes       & No  \\
+      6                 & Yes       & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index c741398..346a9da 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -1,13 +1,27 @@
 \chapter{Ebuild File Format}
 \label{sec:ebuild-format}
 
-The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version as listed in table~\ref{tab:system-commands-table} on
-page~\pageref{tab:system-commands-table}, or any later version. The file encoding must be UTF-8
-with Unix-style newlines. When sourced, the ebuild must define certain variables and functions
-(see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} 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.
+\featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
+a bash script. The interpreter is assumed to be GNU bash, version as listed in
+table~\ref{tab:bash-version}, or any later version.
+The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
+certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
+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{6}
+\begin{centertable}{Bash version}
+    \label{tab:bash-version}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & 3.2 \\
+      6                 & 4.2 \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     c5fead5404423a92e7239410a55bcbb9942fc83c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c5fead54

EAPI 6: Bash version is 4.2.

Bug: 431340

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex |  6 ++----
 ebuild-format.tex       | 27 +++++++++++++++++++++------
 3 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index d4bac27..e2c16ed 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -47,6 +47,9 @@ of this document for a complete table of previous EAPIs.
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -308,6 +311,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 54e12ec..353febb 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,10 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://projects.gentoo.org/council/meeting-logs/20091109.txt}).%
-    \label{fn:bash3.2}}.
+\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version} on
+    page~\pageref{tab:bash-version}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/ebuild-format.tex b/ebuild-format.tex
index b623b97..346a9da 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -1,12 +1,27 @@
 \chapter{Ebuild File Format}
 \label{sec:ebuild-format}
 
-The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
-page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
-the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
-and~\ref{sec:ebuild-functions} 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.
+\featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
+a bash script. The interpreter is assumed to be GNU bash, version as listed in
+table~\ref{tab:bash-version}, or any later version.
+The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
+certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
+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{6}
+\begin{centertable}{Bash version}
+    \label{tab:bash-version}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & 3.2 \\
+      6                 & 4.2 \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     ae2e69ac2291f1846463e54349033f6356682fa6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ae2e69ac

EAPI 6 enables failglob in global scope.

Bug: 463822

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 18 +++++++++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index e2c16ed..179070d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -145,6 +145,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -312,6 +315,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 353febb..01d07b9 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,16 +33,24 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & Undefined & No  \\
+      5                 & Yes       & No  \\
+      6                 & Yes       & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     9795f09c1682b5eebbe84227a032539daaf73bb5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:00:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9795f09c

Reformat EAPI tables to be more compact.

Combine all lines with identical behaviour for different EAPIs.
Also use consistent indentation for tables in the LaTeX source.

 dependencies.tex        | 113 +++++++---------
 ebuild-env-commands.tex |  22 ++-
 ebuild-env-vars.tex     |  95 ++++++-------
 ebuild-functions.tex    | 207 ++++++++++++-----------------
 ebuild-vars.tex         |  89 +++++--------
 merge.tex               |  19 +--
 pkg-mgr-commands.tex    | 345 ++++++++++++++++++++----------------------------
 profile-variables.tex   |  22 ++-
 profiles.tex            |  23 ++--
 9 files changed, 383 insertions(+), 552 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index f7581ee..aaa86f9 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -89,38 +89,30 @@ 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{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
+\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+    \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+    \label{tab:at-most-one-of-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -194,37 +186,30 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
     \label{tab:slot-deps-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
-            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & Named only & No \\
-    \t{2} & Named only & No \\
-    \t{3} & Named only & No \\
-    \t{4} & Named only & No \\
-    \t{5} & Named and operator & Yes \\
-    \t{6} & Named and operator & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+      \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
+      \midrule
+      0                 & No                 & No  \\
+      1, 2, 3, 4        & Named only         & No  \\
+      5, 6              & Named and operator & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
+\begin{centertable}{EAPIs supporting \t{USE} dependencies}
+    \label{tab:use-deps-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & 2-style \\
-    \t{3} & 2-style \\
-    \t{4} & 4-style \\
-    \t{5} & 4-style \\
-    \t{6} & 4-style \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\
+      \midrule
+      0, 1              & No      \\
+      2, 3              & 2-style \\
+      4, 5, 6           & 4-style \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -263,21 +248,17 @@ strong block must not be ignored. The mapping from one or two exclamation marks
 described in table~\ref{tab:bang-strength-table}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
+\begin{centertable}{Exclamation mark strengths for EAPIs}
+    \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{!}}} &
-            \multicolumn{1}{c}{\textbf{\t{!!}}} \\
-            \midrule
-    \t{0} & Unspecified & Forbidden \\
-    \t{1} & Unspecified & Forbidden \\
-    \t{2} & Weak & Strong \\
-    \t{3} & Weak & Strong \\
-    \t{4} & Weak & Strong \\
-    \t{5} & Weak & Strong \\
-    \t{6} & Weak & Strong \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{!}}} &
+      \multicolumn{1}{c}{\textbf{\t{!!}}} \\
+      \midrule
+      0, 1              & Unspecified & Forbidden \\
+      2, 3, 4, 5, 6     & Weak        & Strong    \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 8b2c146..54e12ec 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -36,20 +36,16 @@ The following commands must always be available in the ebuild environment:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+\begin{centertable}{\t{find} implementation for EAPIs}
+    \label{tab:system-commands-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Undefined \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8946157..74c54b6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -226,42 +226,35 @@ variable.
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+\begin{centertable}{EAPIs supporting various added env variables}
+    \label{tab:added-env-vars-table}
     \begin{tabular}{ l l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
-        \midrule
-    \t{0} & No & No & No & No \\
-    \t{1} & No & No & No & No \\
-    \t{2} & No & No & No & No \\
-    \t{3} & No & No & No & No \\
-    \t{4} & Yes & Yes & Yes & No \\
-    \t{5} & Yes & Yes & Yes & Yes \\
-    \t{6} & Yes & Yes & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  & No  & No  \\
+      4                 & Yes & Yes & Yes & No  \\
+      5, 6              & Yes & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+\begin{centertable}{EAPIs supporting various removed env variables}
+    \label{tab:removed-env-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
-        \midrule
-    \t{0} & Yes & Yes \\
-    \t{1} & Yes & Yes \\
-    \t{2} & Yes & Yes \\
-    \t{3} & Yes & Yes \\
-    \t{4} & No & No \\
-    \t{5} & No & No \\
-    \t{6} & No & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+      \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes & Yes \\
+      4, 5, 6           & No  & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -269,20 +262,15 @@ variable.
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
-        \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
-        \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
-        \midrule
-        \t{0} & No & No & No \\
-        \t{1} & No & No & No \\
-        \t{2} & No & No & No \\
-        \t{3} & Yes & Yes & Yes \\
-        \t{4} & Yes & Yes & Yes \\
-        \t{5} & Yes & Yes & Yes \\
-        \t{6} & Yes & Yes & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{EPREFIX}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EROOT}?}} &
+      \multicolumn{1}{c}{\textbf{\t{ED}?}} \\
+      \midrule
+      0, 1, 2           & No  & No  & No  \\
+      3, 4, 5, 6        & Yes & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -386,18 +374,13 @@ contain at most one value.
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
-        \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & Yes \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
-        \t{6} & Yes \\
-        \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
+      \midrule
+      0, 1, 2           & No  \\
+      3, 4, 5, 6        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 60bd1e5..23f02b4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -45,20 +45,16 @@ fallback to \t{WORKDIR} is used:
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
+\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
+    \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
-        \midrule
-    \t{0} & Always \\
-    \t{1} & Always \\
-    \t{2} & Always \\
-    \t{3} & Always \\
-    \t{4} & Conditional error \\
-    \t{5} & Conditional error \\
-    \t{6} & Conditional error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
+      \midrule
+      0, 1, 2, 3        & Always            \\
+      4, 5, 6           & Conditional error \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -81,20 +77,16 @@ before the next phase is executed.
 \t{pkg\_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+    \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -138,20 +130,16 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
 section~\ref{sec:s-to-workdir-fallback}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
+\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+    \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -176,20 +164,16 @@ src_configure() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
+\begin{centertable}{EAPIs supporting \t{src\_configure}}
+    \label{tab:src-configure-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -245,20 +229,17 @@ src_compile() {
 \end{verbatim}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
+\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+    \label{tab:src-compile-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & 0 \\
-    \t{1} & 1 \\
-    \t{2} & 2 \\
-    \t{3} & 2 \\
-    \t{4} & 2 \\
-    \t{5} & 2 \\
-    \t{6} & 2 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0                 & 0 \\
+      1                 & 1 \\
+      2, 3, 4, 5, 6     & 2 \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -281,20 +262,16 @@ The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{s
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+    \label{tab:src-test-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -335,20 +312,16 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
+\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+    \label{tab:src-install-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Format}} \\
-        \midrule
-    \t{0} & no-op \\
-    \t{1} & no-op \\
-    \t{2} & no-op \\
-    \t{3} & no-op \\
-    \t{4} & 4 \\
-    \t{5} & 4 \\
-    \t{6} & 4 \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
+      \midrule
+      0, 1, 2, 3        & no-op \\
+      4, 5, 6           & 4     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -412,20 +385,16 @@ that dependencies may not be installed.
 \t{pkg\_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
+\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+    \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -448,25 +417,19 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
+\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+    \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
-            \midrule
-    \t{0} & None \\
-    \t{1} & None \\
-    \t{2} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{3} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} \\
-    \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \t{6} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \midrule
+      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           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 0bba597..dac0990 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -85,40 +85,31 @@ Ebuilds may define any of the following variables:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
+\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
+    \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
+      \midrule
+      0                 & No  \\
+      1, 2, 3, 4, 5, 6  & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
-\label{tab:optional-vars-table}
+    \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
-        \midrule
-    \t{0} & Optionally & No \\
-    \t{1} & Optionally & No \\
-    \t{2} & Optionally & No \\
-    \t{3} & Optionally & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally & No  \\
+      4, 5, 6           & Yes        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -186,20 +177,16 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+    \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
-        \midrule
-    \t{0} & Yes \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & No \\
-    \t{5} & No \\
-    \t{6} & No \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
+      \midrule
+      0, 1, 2, 3        & Yes \\
+      4, 5, 6           & No  \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -233,20 +220,16 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
+\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+    \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
-        \midrule
-    \t{0} & Optionally \\
-    \t{1} & Optionally \\
-    \t{2} & Optionally \\
-    \t{3} & Optionally \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \midrule
+      0, 1, 2, 3        & Optionally \\
+      4, 5, 6           & Yes        \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/merge.tex b/merge.tex
index 1180c8c..cd4b442 100644
--- a/merge.tex
+++ b/merge.tex
@@ -90,18 +90,13 @@ is undefined.
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined \\
-    \t{2} & Undefined \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
+      \midrule
+      0, 1, 2           & Undefined \\
+      3, 4, 5, 6        & Yes       \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f221080..1eaa764 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -24,21 +24,17 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
+\begin{centertable}{EAPI Command Failure Behaviour}
+    \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
-            \midrule
-    \t{0} & Non-zero exit & No \\
-    \t{1} & Non-zero exit & No \\
-    \t{2} & Non-zero exit & No \\
-    \t{3} & Non-zero exit & No \\
-    \t{4} & Aborts & Yes \\
-    \t{5} & Aborts & Yes \\
-    \t{6} & Aborts & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Command failure behaviour}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{nonfatal}?}} \\
+      \midrule
+      0, 1, 2, 3        & Non-zero exit & No  \\
+      4, 5, 6           & Aborts        & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -49,23 +45,19 @@ The following commands affect this behaviour:
 called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Banned commands} \label{tab:banned-commands-table}
+\begin{centertable}{Banned commands}
+    \label{tab:banned-commands-table}
     \begin{tabular}{ l l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{2}{c}{\textbf{Command banned?}} \\
-        \multicolumn{1}{c}{} &
-        \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-        \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
-        \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{1}{c}{} &
+      \multicolumn{1}{c}{\textbf{\t{dohard}}} &
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -162,21 +154,18 @@ current phase function has returned.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
-    \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
+    \begin{centertable}{Extra \t{econf} arguments for EAPIs}
+        \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
-            \toprule
-                \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
-                \midrule
-        \t{0} & No & No \\
-        \t{1} & No & No \\
-        \t{2} & No & No \\
-        \t{3} & No & No \\
-        \t{4} & Yes & No \\
-        \t{5} & Yes & Yes \\
-        \t{6} & Yes & Yes \\
-        \bottomrule
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \midrule
+          0, 1, 2, 3        & No  & No  \\
+          4                 & Yes & No  \\
+          5, 6              & Yes & Yes \\
+          \bottomrule
         \end{tabular}
     \end{centertable}
 
@@ -440,56 +429,44 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
+\begin{centertable}{EAPIs supporting \t{dodoc -r}}
+    \label{tab:dodoc-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
+    \label{tab:doheader-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
+\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
+    \label{tab:doins-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -497,37 +474,29 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
-            \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
-            \midrule
-    \t{0} & No & Not applicable \\
-    \t{1} & No & Not applicable \\
-    \t{2} & Yes & No \\
-    \t{3} & Yes & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Language detection by filename?}} &
+      \multicolumn{1}{c}{\textbf{Option \t{-i18n} takes precedence?}} \\
+      \midrule
+      0, 1              & No  & Not applicable \\
+      2, 3              & Yes & No             \\
+      4, 5, 6           & Yes & Yes            \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
+    \label{tab:newfoo-stdin-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -535,18 +504,13 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -636,21 +600,17 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
+\begin{centertable}{EAPIs supporting controllable compression}
+    \label{tab:compression-table}
     \begin{tabular}{ l l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
-            \midrule
-    \t{0} & No & No \\
-    \t{1} & No & No \\
-    \t{2} & No & No \\
-    \t{3} & No & No \\
-    \t{4} & Yes & Yes \\
-    \t{5} & Yes & Yes \\
-    \t{6} & Yes & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports controllable compression?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{docompress}?}} \\
+      \midrule
+      0, 1, 2, 3        & No  & No  \\
+      4, 5, 6           & Yes & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -689,20 +649,16 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
+\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+    \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Behaviour}} \\
-            \midrule
-    \t{0} & Undefined \\
-    \t{1} & Undefined  \\
-    \t{2} & Undefined \\
-    \t{3} & Undefined \\
-    \t{4} & Error \\
-    \t{5} & Error \\
-    \t{6} & Error \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Behaviour}} \\
+      \midrule
+      0, 1, 2, 3        & Undefined \\
+      4, 5, 6           & Error     \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -710,36 +666,27 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+      \midrule
+      0, 1, 2, 3        & No  \\
+      4, 5, 6           & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+\begin{centertable}{EAPIs supporting \t{usex}}
+    \label{tab:usex-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -809,23 +756,19 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
-    \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
-    \end{tabular}
-\end{centertable}
+    \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} extensions for EAPIs}
+        \label{tab:unpack-extensions-table}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \midrule
+          0, 1, 2           & No  \\
+          3, 4, 5, 6        & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
 
 \item[inherit] See section~\ref{sec:inherit}.
 
@@ -837,20 +780,16 @@ has returned.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
+\begin{centertable}{EAPIs supporting the \t{default} function}
+    \label{tab:default-function-table}
     \begin{tabular}{ l l }
-        \toprule
-            \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-            \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6     & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index 4c5496c..61241d2 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -34,20 +34,16 @@ Portage's \t{FEATURES} variable), must not be treated incrementally---later defi
 completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
+    \label{tab:profile-iuse-injection-table}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 

diff --git a/profiles.tex b/profiles.tex
index 1048162..11e7780 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -126,21 +126,16 @@ subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the fea
 stable in a package.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Profile directory support for masking/forcing use flags in stable
-versions only}\label{tab:profile-stablemask}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
+    \label{tab:profile-stablemask}
     \begin{tabular}{ l l }
-        \toprule
-        \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
-        \midrule
-    \t{0} & No \\
-    \t{1} & No \\
-    \t{2} & No \\
-    \t{3} & No \\
-    \t{4} & No \\
-    \t{5} & Yes \\
-    \t{6} & Yes \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     8edaad71a9a4d4f5338615d0c5b93054917fa775
Author:     Michael Palimaka <kensington <AT> gentoo <DOT> org>
AuthorDate: Sun May 11 19:15:06 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8edaad71

EAPI 6 supports package.* and use.* directories.

Bug: 282296

 eapi-differences.tex |  5 ++++-
 profiles.tex         | 32 ++++++++++++++++++++++++++------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c1f9631..d4bac27 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -41,6 +41,9 @@ of this document for a complete table of previous EAPIs.
 \bottomrule
 \endlastfoot
 
+\t{package*} and \t{use*} dirs & \compactfeatureref{profile-file-dirs} &
+    No & No & No & No & Yes \\
+
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
@@ -304,7 +307,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/profiles.tex b/profiles.tex
index 11e7780..a0e3c57 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -70,19 +70,39 @@ parent profile's list is taken, and the current profile's list appended. If any
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
 removed from the list. Once again, blank lines and those beginning with a \# are discarded.
 
-\subsection{packages}
+\featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
+simple line-based files described in the following sections may optionally be directories containing
+files of the named type.
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Profile support for directories of simple line-based files}
+    \label{tab:profile-file-dirs}
+    \begin{tabular}{ l l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports directories of simple line-based files?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\subsubsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
 forms: a package dependency specification prefixed by \t{*} denotes that it forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 
-\subsection{packages.build}
+\subsubsection{packages.build}
 The \t{packages.build} file is used by Gentoo's Catalyst tool to generate stage1 tarballs, and has
 no relevance to the operation of a package manager. It is thus outside the scope of this document,
 but is mentioned here for completeness.
 
-\subsection{package.mask}
+\note At the time of writing, Catalyst does not support \t{packages.build} as a directory.
+
+\subsubsection{package.mask}
 \t{package.mask} is used to prevent packages from being installed on a given profile. Each line
 contains one package dependency specification; anything matching this specification will not be
 installed unless unmasked by the user's configuration.
@@ -93,20 +113,20 @@ necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles
 \note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
     inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
 
-\subsection{package.provided}
+\subsubsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be
 considered to be provided by the system regardless of whether it is actually installed. Because it
 has severe adverse effects on USE-based and slot-based dependencies, its use is strongly deprecated
 and package manager support must be regarded as purely optional.
 
-\subsection{package.use}
+\subsubsection{package.use}
 The \t{package.use} file may be used by the package manager to override the default USE flags specified
 by \t{make.defaults} on a per package basis.  The format is to have a package dependency specification,
 and then a space delimited list of USE flags to enable.  A USE flag in the form of \t{-flag} indicates
 that the package should have the USE flag disabled.  The package dependency specification is limited to
 the forms defined by the directory's EAPI.
 
-\subsection{USE masking and forcing}
+\subsubsection{USE masking and forcing}
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     471cc0b3679346970449ba173aa7fbc33d6e8b7d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:02:45 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=471cc0b3

Delete redundant sentence in the list of defined EAPIs.

 eapis.tex | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/eapis.tex b/eapis.tex
index bb860f4..7178e5a 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -22,18 +22,12 @@ The following EAPIs are defined by this specification:
 \ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
-\item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `0'.
-\item[2] EAPI `2' contains a number of extensions to EAPI `1'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `1'.
-\item[3] EAPI `3' contains a number of extensions to EAPI `2'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `2'.
-\item[4] EAPI `4' contains a number of extensions to EAPI `3'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `3'.
-\item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `4'.
-\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `5'.
+\item[1] EAPI `1' contains a number of extensions to EAPI `0'.
+\item[2] EAPI `2' contains a number of extensions to EAPI `1'.
+\item[3] EAPI `3' contains a number of extensions to EAPI `2'.
+\item[4] EAPI `4' contains a number of extensions to EAPI `3'.
+\item[5] EAPI `5' contains a number of extensions to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     946245f48a721da27703fd5e191113742a95e0db
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=946245f4

EAPI 6: einstall banned.

Bug: 524112

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 179070d..4335b6f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -163,6 +163,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -316,6 +319,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1eaa764..94d1662 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     ce45b173062347d5df53cdaace9133b95ff888f8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ce45b173

EAPI 6: die and assert called with -n respect nonfatal.

Bug: 451938

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4335b6f..7ee3191 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -169,6 +169,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -320,6 +323,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 94d1662..4ce6e57 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     e6cfa80244f6c5976712f39667abff4b99afdb19
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 21 16:47:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:37 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e6cfa802

Recommend setting the bash compatibility level.

 ebuild-format.tex | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 346a9da..1c64d81 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -3,7 +3,10 @@
 
 \featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
 a bash script. The interpreter is assumed to be GNU bash, version as listed in
-table~\ref{tab:bash-version}, or any later version.
+table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set
+the shell's compatibility level to the exact version specified. It must ensure that any such
+compatibility settings (e.g. the \t{BASH\_COMPAT} variable) are not exported to external programs.
+
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
 for specific information), and must not call any external programs, write anything to standard


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     5c0cf0b11573d0b2f333226975f9ad99d60367eb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 16:44:02 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5c0cf0b1

EAPI 6: Explain eapply behavior.

Bug: 463768

 pkg-mgr-commands.tex | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4d80684..df5289a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -148,14 +148,47 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
-\item[eapply] \featurelabel{eapply}
+\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
+    file or directory paths. Processes options and applies all patches found in specified locations
+    according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+    using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 \end{description}
 
 \begin{algorithm}
 \caption{\t{eapply} logic} \label{alg:eapply}
 \begin{algorithmic}[1]
-\STATE \COMMENT{WORK IN PROGRESS}
+\IF{any parameter is equal to \t{"-{}-"}}
+    \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array
+    \STATE collect all parameters after the first \t{"-{}-"} in the \t{files} array
+\ELSIF{any parameter that begins with a hyphen follows one that does not}
+    \STATE abort the build process with an error
+\ELSE
+    \STATE collect all parameters beginning with a hyphen in the \t{options} array
+    \STATE collect all remaining parameters in the \t{files} array
+\ENDIF
+\IF{the \t{files} array is empty}
+    \STATE abort the build process with an error
+\ENDIF
+\FORALL{\t{x} in the \t{files} array}
+    \IF{\t{\$x} is a directory}
+        \IF{\NOT any files match \t{\$x/*.diff} or \t{\$x/*.patch}}
+            \STATE abort the build process with an error
+        \ENDIF
+        \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale}
+            \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"}
+            \IF{child process returned with non-zero exit status}
+                \RETURN immediately with that status
+            \ENDIF
+        \ENDFOR
+    \ELSE
+        \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"}
+        \IF{child process returned with non-zero exit status}
+            \RETURN immediately with that status
+        \ENDIF
+    \ENDIF
+\ENDFOR
+\RETURN shell true (0)
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     bcba2ba2bc49dae254e491cc60e25ce9556d4899
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 19 16:38:00 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bcba2ba2

EAPI 6: eapply_user should be idempotent.

 pkg-mgr-commands.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a55e064..892b8b6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -159,7 +159,8 @@ Ebuilds must not run any of these commands once the current phase function has r
     is implementation defined and beyond the scope of this specification. Package managers not
     supporting it must implement the command as a no-op. Only available in EAPIs listed in
     table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
-    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
+    \t{eapply\_user} must be called once in the \t{src\_prepare} phase; for any subsequent calls
+    the command will do nothing.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     fb5cad2237b8276ee3bcba5721792eb387b7a62b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fb5cad22

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 17 ++++++++++++++++-
 2 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 114e87e..51a21d1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -108,7 +108,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -346,6 +346,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 1f996f0..bf16f9e 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -326,6 +326,20 @@ src_install() {
 }
 \end{verbatim}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+
+    einstalldocs
+}
+\end{verbatim}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -338,7 +352,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     17d096116ad096bb1755d5d85f0f3e616b5d9d3a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=17d09611

EAPI 6 has a default src_prepare.

This adds support for the PATCHES array and for user patches.

Bug: 463692

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 36 +++++++++++++++++++++++++++---------
 2 files changed, 31 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 74014df..a95fa6a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -95,6 +95,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -327,6 +330,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Profile \t{package*} and \t{use*} can be directories, \featureref{profile-file-dirs}.
 \item Bash version is 4.2, \featureref{bash-version}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 23f02b4..1f996f0 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -121,24 +121,42 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     bb52cb6bcea884e6db6ee30c82023c477f17b332
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bb52cb6b

EAPI 6 has einstalldocs.

This also adds support for an empty DOCS variable and for directories
in DOCS.

Bug: 459692
Bug: 463736
Bug: 481980

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c5d2435..114e87e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -234,6 +234,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 8d316da..321e94b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -927,8 +927,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -943,6 +977,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     a709f6f074833015469f77d2a3c9a93dfccbc57b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a709f6f0

EAPI 6: unpack matches filename extensions case-insensitively.

Bug: 476730

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b8a260a..c5d2435 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -228,6 +228,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -349,6 +352,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bd1268e..8d316da 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -885,16 +885,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     3db77f714583d4cf393869f4683cb8504a9f5e3c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:35:39 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3db77f71

EAPI 6 has eapply.

Bug: 463768

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 7ee3191..b910b76 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -172,6 +172,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{die -n} & \compactfeatureref{nonfatal-die} &
     No & No & No & No & Yes \\
 
+\t{eapply} & \compactfeatureref{eapply} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -324,6 +327,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{eapply} support, \featureref{eapply}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4ce6e57..4d80684 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -143,6 +143,36 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
+\subsubsection{Patch commands}
+These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+Ebuilds must not run any of these commands once the current phase function has returned.
+
+\begin{description}
+\item[eapply] \featurelabel{eapply}
+    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\end{description}
+
+\begin{algorithm}
+\caption{\t{eapply} logic} \label{alg:eapply}
+\begin{algorithmic}[1]
+\STATE \COMMENT{WORK IN PROGRESS}
+\end{algorithmic}
+\end{algorithm}
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Patch commands for EAPIs}
+    \label{tab:patch-commands}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     343e2c45310e7569f2f2bc4e045f54c2a96f5131
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=343e2c45

EAPI 6 has get_libdir.

Bug: 463586

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 51a21d1..704fb35 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -237,6 +237,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -358,6 +361,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 321e94b..3240b3d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -933,6 +933,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -963,6 +967,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -991,6 +1009,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     44996b2672f7bbfb463f80dcf924317093bf5beb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=44996b26

EAPI 6 has eapply_user.

Bug: 475288

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b910b76..74014df 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -175,6 +175,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -328,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index df5289a..a55e064 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,6 +153,13 @@ Ebuilds must not run any of these commands once the current phase function has r
     according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the command as a no-op. Only available in EAPIs listed in
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
+    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
 \end{description}
 
 \begin{algorithm}
@@ -195,13 +202,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ l l }
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     2b0bdf2c6acab1ee721e6e4303f32cc6e139e375
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2b0bdf2c

EAPI 6: unpack supports txz.

Bug: 458102

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index ab98df2..b8a260a 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -222,9 +222,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -345,6 +348,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 83287ae..bd1268e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -877,9 +877,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -901,13 +902,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ l l }
+        \begin{tabular}{ l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     3884b813eed661fd54ffb52ff815a91a682ea4bf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3884b813

EAPI 6: econf adds --docdir and --htmldir.

Bug: 468202

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a95fa6a..3832254 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,7 +184,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -336,6 +336,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 892b8b6..1c97256 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -236,6 +236,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -249,15 +255,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l l }
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     b752eab3ebf26b6c8b9631246d0bb3c589f02696
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b752eab3

EAPI 6 has in_iuse.

Bug: 449862

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3832254..5346d6d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -216,6 +216,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -337,6 +340,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1c97256..f5f9289 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -723,8 +723,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. It is an error if an ebuild calls any
 of these functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -750,6 +751,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -794,6 +798,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ l l }
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     844710dbbc7eb4858fcdc351d8bf92fd421b12a6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=844710db

EAPI 6: unpack supports absolute and relative paths.

Bug: 483244

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 5346d6d..ab98df2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -219,6 +219,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -341,6 +344,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f5f9289..83287ae 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -841,9 +841,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -879,6 +885,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ l l }
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ l l }


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     50cbba810d7cdb1b69c24c4ae6f1eb48ac3cb84e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=50cbba81

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 3240b3d..51f6ebf 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -750,10 +750,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -785,29 +785,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ l l }
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{ l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -926,16 +914,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -982,42 +970,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ l l }
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ l l }
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{ l l l l }
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     84cd01c201607c7f5e2f0ad795fb2ba82fc943ed
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 17 08:52:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=84cd01c2

Cheat sheet: Update for EAPI 6.

 eapi-cheatsheet.tex | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 76 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index d15bb7d..99de04e 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -15,7 +15,7 @@
 \usepackage[scaled=.90]{helvet}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
-\newcommand{\version}{5.0}
+\newcommand{\version}{6.0}
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
@@ -324,6 +324,81 @@ differences between these previous EAPIs.
     would be merged due to a stable keyword.
     See \featureref{stablemask}.
 \end{description}
+
+\section{EAPI 6}
+\label{sec:cs:eapi6}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi6-additions}
+\begin{description}
+    \item[Bash version] Ebuilds can use features of Bash version 4.2
+    (was 3.2 before).
+    See \featureref{bash-version}.
+    \item[\code{failglob}] The \code{failglob} option of Bash is set
+    in global scope, so that unintentional pattern expansion will be
+    caught as an error.
+    See \featureref{failglob}.
+    \item[\code{src\_prepare}] This phase function has a default now,
+    which applies patches from the \code{PATCHES} variable with the
+    new \code{eapply} command, and user-provided patches with
+    \code{eapply\_user}.
+    See \featureref{src-prepare-6}.
+    \item[\code{src\_install}] The default implementation uses the new
+    \code{einstalldocs} function for installing documentation.
+    See \featureref{src-install-6}.
+    \item[\code{unpack} changes] \code{unpack} has been extended:
+    \begin{description}
+        \item[Pathnames] Both absolute paths and paths relative to the
+        working directory are accepted as arguments.
+        See \featureref{unpack-absolute}.
+        \item[\code{.txz} files] Unpacking of \code{.txz} files is now
+        supported.
+        See \featureref{unpack-extensions}.
+        \item[Filename case] Character case of filename extensions is
+        ignored.
+        See \featureref{unpack-ignore-case}.
+    \end{description}
+    \item[\code{econf} changes] Options \code{-{}-docdir} and
+    \code{-{}-htmldir} are passed to \code{configure}, in addition to
+    the existing options.
+    See \featureref{econf-options}.
+    \item[\code{nonfatal die}] When \code{die} or \code{assert} are
+    called under the \code{nonfatal} command and with the \code{-n}
+    option, they will not abort the build process but return with an
+    error.
+    See \featureref{nonfatal-die}.
+    \item[\code{eapply}] The \code{eapply} command is a simplified
+    substitute for \code{epatch}, implemented in the package manager.
+    The patches from its file or directory arguments are applied using
+    \code{patch -p1}.
+    See \featureref{eapply}.
+    \item[\code{eapply\_user}] The \code{eapply\_user} command permits
+    the package manager to apply user-provided patches. It must be
+    called from every \code{src\_prepare} function.
+    See \featureref{eapply-user}.
+    \item[\code{einstalldocs}] The \code{einstalldocs} function will
+    install the files specified by the \code{DOCS} variable (or a
+    default set of files if \code{DOCS} is unset) and by the
+    \code{HTML\_DOCS} variable.
+    See \featureref{einstalldocs}.
+    \item[\code{in\_iuse}] The \code{in\_iuse} function returns
+    true if the USE flag given as its argument is available in the
+    ebuild for USE queries.
+    See \featureref{in-iuse}.
+    \item[\code{get\_libdir}] The \code{get\_libdir} command outputs
+    the \code{lib*} directory basename suitable for the current ABI.
+    See \featureref{get-libdir}.
+    \item[\code{package*} and \code{use*} in profiles] Instead of
+    regular files, these may optionally be directories containing
+    files of the named type.
+    See \featureref{profile-file-dirs}.
+\end{description}
+\subsection{Removals/Bans}
+\label{sec:cs:eapi6-removalsbans}
+\begin{description}
+    \item[\code{einstall}] No longer allowed. Use \code{emake install}
+    as replacement.
+    See \featureref{banned-commands}.
+\end{description}
 \end{document}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     b0aaad3a4fec7ae8b343d44e65d30f416dc8beb0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 15 16:49:26 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b0aaad3a

Cheat sheet: Remove EAPIs 0, 1, and 2 to make room for EAPI 6.

Also some rearrangement of items and one minor wording change, in
order to fit the EAPI 4 section in two (small) pages.

 eapi-cheatsheet.tex | 162 ++++++++++++++++++++++++++--------------------------
 1 file changed, 82 insertions(+), 80 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b7e4e0f..422f7ed 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -68,82 +68,84 @@
     Attribution-Share Alike 3.0
     Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
 \end{abstract}
-\section{EAPI 0}
-\label{sec:cs:eapi0}
-If there is no EAPI explicitly specified, EAPI 0 is assumed.
-% Currently there is no full specification what EAPI 0 includes.
-% Portage, official ebuild documentation and existing ebuilds set the
-% standard.  If you think you found a bug, you should file a bug report
-% nonetheless.
 
-\section{EAPI 1}
-\label{sec:cs:eapi1}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi1-additions}
-\begin{description}
-    \item[IUSE defaults] A USE flag can be marked as mandatory (if
-    not disabled explicitly by user configuration) with a \code{+}
-    sign in front.  See \featureref{iuse-defaults}.
-    \item[Named slot dependencies] Dependencies can explicitly request
-    a specific slot by using the
-    \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
-    See \featureref{slot-deps}.
-\end{description}
+\section{EAPIs 0, 1, and 2}
+\label{sec:cs:eapi0-2}
+Omitted for lack of space. See version~5.0 of this document for
+differences between these previous EAPIs.
 
-\section{EAPI 2 (2008-09-25)}
-\label{sec:cs:eapi2}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi2-additions}
-\begin{description}
-    \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
-    naming scheme.  By using
-    \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
-    saved as \code{foo} in DISTDIR\@.
-    See \featureref{src-uri-arrows}.
-    \item[USE dependencies] Dependencies can specify USE flag
-    requirements on their target, removing the need for
-    \code{built\_with\_use} checks.
-    \begin{description}
-        \item[{[opt]}] The flag must be enabled.
-        \item[{[opt=]}] The flag must be enabled if it is
-        enabled for the package with the dependency, or disabled
-        otherwise.
-        \item[{[!opt=]}] The flag must be disabled if it is
-        enabled for the package with the dependency, or enabled
-        otherwise.
-        \item[{[opt?]}] The flag must be enabled if it is
-        enabled for the package with the dependency.
-        \item[{[!opt?]}] The flag must be disabled if it is
-        disabled for the package with the dependency.
-        \item[{[-opt]}] The flag must be disabled.
-    \end{description}
-    See \featureref{use-deps}.
-    \item[Blocker syntax] A single exclamation mark as a blocker may
-    be ignored by the package manager as long as the stated package is
-    uninstalled later on.  Two exclamation marks are a strong blocker
-    and will always be respected.  See \featureref{bang-strength}.
-    \item[\code{src\_configure, src\_prepare}] Both new phases provide
-    finer granularity in the ebuild's structure.  Configure calls
-    should be moved from \code{src\_compile} to \code{src\_configure}.
-    Patching and similar preparation must now be done in
-    \code{src\_prepare}, not \code{src\_unpack}.  See
-    \featureref{src-prepare} and \featureref{src-configure}.
-    \item[Default phase functions] The default functions for
-    phases \code{pkg\_nofetch}, \code{src\_unpack},
-    \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
-    and \code{src\_test} can be called via
-    \code{default\_}\emph{phasename}, so duplicating the standard
-    implementation is no longer necessary for small additions.  The
-    short-hand \code{default} function calls the current phase's
-    \code{default\_} function automatically, so any small additions
-    you need will not be accompanied by a complete reimplementation of
-    the phase.  See \featureref{default-phase-funcs} and
-    \featureref{default-func}.
-    \item[\code{doman} language support] The \code{doman} installation
-    function recognizes language specific man page extensions and
-    behaves accordingly.  This behaviour can be inhibited by the
-    \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
-\end{description}
+% \section{EAPI 0}
+% \label{sec:cs:eapi0}
+% If there is no EAPI explicitly specified, EAPI 0 is assumed.
+
+% \section{EAPI 1}
+% \label{sec:cs:eapi1}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi1-additions}
+% \begin{description}
+%     \item[IUSE defaults] A USE flag can be marked as mandatory (if
+%     not disabled explicitly by user configuration) with a \code{+}
+%     sign in front.  See \featureref{iuse-defaults}.
+%     \item[Named slot dependencies] Dependencies can explicitly request
+%     a specific slot by using the
+%     \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
+%     See \featureref{slot-deps}.
+% \end{description}
+
+% \section{EAPI 2 (2008-09-25)}
+% \label{sec:cs:eapi2}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi2-additions}
+% \begin{description}
+%     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
+%     naming scheme.  By using
+%     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
+%     saved as \code{foo} in DISTDIR\@.
+%     See \featureref{src-uri-arrows}.
+%     \item[USE dependencies] Dependencies can specify USE flag
+%     requirements on their target, removing the need for
+%     \code{built\_with\_use} checks.
+%     \begin{description}
+%         \item[{[opt]}] The flag must be enabled.
+%         \item[{[opt=]}] The flag must be enabled if it is
+%         enabled for the package with the dependency, or disabled
+%         otherwise.
+%         \item[{[!opt=]}] The flag must be disabled if it is
+%         enabled for the package with the dependency, or enabled
+%         otherwise.
+%         \item[{[opt?]}] The flag must be enabled if it is
+%         enabled for the package with the dependency.
+%         \item[{[!opt?]}] The flag must be disabled if it is
+%         disabled for the package with the dependency.
+%         \item[{[-opt]}] The flag must be disabled.
+%     \end{description}
+%     See \featureref{use-deps}.
+%     \item[Blocker syntax] A single exclamation mark as a blocker may
+%     be ignored by the package manager as long as the stated package is
+%     uninstalled later on.  Two exclamation marks are a strong blocker
+%     and will always be respected.  See \featureref{bang-strength}.
+%     \item[\code{src\_configure, src\_prepare}] Both new phases provide
+%     finer granularity in the ebuild's structure.  Configure calls
+%     should be moved from \code{src\_compile} to \code{src\_configure}.
+%     Patching and similar preparation must now be done in
+%     \code{src\_prepare}, not \code{src\_unpack}.  See
+%     \featureref{src-prepare} and \featureref{src-configure}.
+%     \item[Default phase functions] The default functions for
+%     phases \code{pkg\_nofetch}, \code{src\_unpack},
+%     \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
+%     and \code{src\_test} can be called via
+%     \code{default\_}\emph{phasename}, so duplicating the standard
+%     implementation is no longer necessary for small additions.  The
+%     short-hand \code{default} function calls the current phase's
+%     \code{default\_} function automatically, so any small additions
+%     you need will not be accompanied by a complete reimplementation of
+%     the phase.  See \featureref{default-phase-funcs} and
+%     \featureref{default-func}.
+%     \item[\code{doman} language support] The \code{doman} installation
+%     function recognizes language specific man page extensions and
+%     behaves accordingly.  This behaviour can be inhibited by the
+%     \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
+% \end{description}
 
 \section{EAPI 3 (2010-01-18)}
 \label{sec:cs:eapi3}
@@ -192,17 +194,17 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     adds paths to the inclusion list for compression.
     \code{docompress -x path \dots} adds paths to the exclusion list.
     See \featureref{docompress}.
+    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
+    the command given as argument will not abort the build process in
+    case of a failure (as is the default) but will return non-zero on
+    failure.
+    See \featureref{nonfatal}.
     \item[\code{dodoc} recursion] If the \code{-r} switch is given as
     first argument and followed by directories, files from there are
     installed recursively.  See \featureref{dodoc}.
     \item[\code{doins} symlink support] Symbolic links are now
     properly installed when using recursion (\code{-r} switch).
     See \featureref{doins}.
-    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
-    the command given as argument will not abort the build process in
-    case of a failure (as is the default) but will return non-zero on
-    failure.
-    See \featureref{nonfatal}.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
     \item[\code{REQUIRED\_USE}] This variable can be used similar to
@@ -210,7 +212,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     combinations that are not allowed.  All elements can be further
     nested to achieve more functionality.
     \begin{description}
-        \item[Forbidden combination] To prevent activation of
+        \item[Illegal combination] To prevent activation of
         \code{flag1} if \code{flag2} is enabled use
         "\code{flag2?\ ( !flag1 )}".
         \item[OR] If at least one USE flag out of many must be


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-23 17:30 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-23 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     9f7f4d4374d8030e4ab33ad0fd37f63bd475bf2a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 15:51:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 23 17:25:39 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9f7f4d43

Cheat sheet: Authors' names.

"PMS team" isn't a good attribution because team members may change.
Therefore list the two sole contributors as authors, according to
git blame and git log.

Also slightly reword the licence notice and adjust the footnotes.

 eapi-cheatsheet.tex | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 422f7ed..d15bb7d 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -22,8 +22,13 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{%
-    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
+\author{%
+    Christian Faulhammer \\
+    \href{mailto:fauli@gentoo.org}{fauli@gentoo.org}
+    \and
+    Ulrich Müller \\
+    \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
+}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}
@@ -40,7 +45,7 @@
     citecolor=black,
     linkcolor=black,
     pdftitle={EAPI Desk Reference},
-    pdfauthor={Christian Faulhammer},
+    pdfauthor={Christian Faulhammer, Ulrich Müller},
     pdfsubject={Making look-up faster for EAPI features},
     pdflang={en},
     pdfkeywords={Gentoo, package manager, reference},
@@ -52,8 +57,9 @@
 \begin{abstract}
     An overview of the main EAPI changes in Gentoo, for ebuild
     authors.  For full details, consult the Package Manager
-    Specification found on the project page; this is
-    an incomplete summary only.
+    Specification found on the project page;\footnote{%
+    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}
+    this is an incomplete summary only.
 
     Official Gentoo EAPIs are consecutively numbered integers (0, 1,
     2, \dots).  Except where otherwise noted, an EAPI is the same as
@@ -64,9 +70,9 @@
     % Gentoo bug tracking system\footnote{\url{https://bugs.gentoo.org/}}
     % to the original author or the PMS team.
 
-    This document is released under the Creative Commons
-    Attribution-Share Alike 3.0
-    Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
+    This work is released under the Creative Commons
+    Attribution-Share Alike 3.0 Licence.%
+    \footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
 \end{abstract}
 
 \section{EAPIs 0, 1, and 2}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-10-30 16:01 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-10-30 16:01 UTC (permalink / raw
  To: gentoo-commits

commit:     cad46e884d84bacbd7763ea7cec69b59f5031acb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 30 00:37:00 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 30 07:56:36 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cad46e88

EAPI 6: Specify return status for eapply_user.

 pkg-mgr-commands.tex | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 51f6ebf..b9d53bd 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -157,10 +157,12 @@ Ebuilds must not run any of these commands once the current phase function has r
 \item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
     is implementation defined and beyond the scope of this specification. Package managers not
-    supporting it must implement the command as a no-op. Only available in EAPIs listed in
-    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
-    \t{eapply\_user} must be called once in the \t{src\_prepare} phase; for any subsequent calls
-    the command will do nothing.
+    supporting it must implement the command as a no-op. Returns shell true (0) if patches applied
+    successfully, or if no patches were provided. Otherwise, aborts the build process, unless run
+    using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs
+    listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is
+    supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase; for any
+    subsequent calls, the command will do nothing and return~0.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-03  8:03 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-03  8:03 UTC (permalink / raw
  To: gentoo-commits

commit:     d3962ce8280c33716d88bd65eb321bfaa9293619
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  3 08:01:16 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Nov  3 08:02:36 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d3962ce8

fixup! Cheat sheet: Update for EAPI 6.

 eapi-cheatsheet.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 99de04e..7792d5c 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -350,8 +350,8 @@ differences between these previous EAPIs.
         \item[Pathnames] Both absolute paths and paths relative to the
         working directory are accepted as arguments.
         See \featureref{unpack-absolute}.
-        \item[\code{.txz} files] Unpacking of \code{.txz} files is now
-        supported.
+        \item[\code{.txz} files] Suffix \code{.txz} for xz compressed
+        tarballs is recognised.
         See \featureref{unpack-extensions}.
         \item[Filename case] Character case of filename extensions is
         ignored.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-04  6:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-04  6:08 UTC (permalink / raw
  To: gentoo-commits

commit:     16165052ae2135d499ccd4f353c867ccd03ae849
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  3 20:31:59 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Nov  3 20:32:45 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=16165052

fixup! EAPI 6 has einstalldocs.

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b9d53bd..a548b9e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -933,7 +933,7 @@ has returned.
 \caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
 \begin{algorithmic}[1]
 \STATE save the value of the install directory for \t{dodoc}
-\STATE call \t{docinto .} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}}}
+\STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}}
 \IF{the DOCS variable is a non-empty array}
     \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
 \ELSIF{the DOCS variable is a non-empty scalar}
@@ -946,7 +946,7 @@ has returned.
         \ENDIF
     \ENDFOR
 \ENDIF
-\STATE call \t{docinto html} \COMMENT{sets the directory to \t{/usr/share/doc/\$\{PF\}/html}}
+\STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}/html}
 \IF{the HTML\_DOCS variable is a non-empty array}
     \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
 \ELSIF{the HTML\_DOCS variable is a non-empty scalar}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-05 16:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:08 UTC (permalink / raw
  To: gentoo-commits

commit:     d720e2511754b4dd51826b27a1c081391afde8e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  5 05:53:20 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  5 06:04:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d720e251

fixup! EAPI 6 has a default src_prepare.

 ebuild-functions.tex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index bf16f9e..10560b2 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -131,6 +131,8 @@ section~\ref{sec:s-to-workdir-fallback}.
 6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_prepare, format~6} \label{lst:src-prepare-6}
 \begin{verbatim}
 src_prepare() {
     if declare -p PATCHES | grep -q "^declare -a "; then
@@ -141,6 +143,7 @@ src_prepare() {
     eapply_user
 }
 \end{verbatim}
+\end{listing}
 
 For other EAPIs supporting \t{src\_prepare}, the default implementation used when the ebuild lacks
 the \t{src\_prepare} function is a no-op.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-05 16:08 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:08 UTC (permalink / raw
  To: gentoo-commits

commit:     658c96d0f74dd2888d821dce63d70705e9f5b412
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  5 05:54:58 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  5 06:04:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=658c96d0

fixup! EAPI 6 has a different src_install implementation.

 ebuild-functions.tex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 10560b2..77ef59e 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -333,6 +333,8 @@ src_install() {
 6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_install, format~6} \label{lst:src-install-6}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -342,6 +344,7 @@ src_install() {
     einstalldocs
 }
 \end{verbatim}
+\end{listing}
 
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-06  8:12 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-06  8:12 UTC (permalink / raw
  To: gentoo-commits

commit:     2711c8849e7c3f2d50d3daae64a3ee0cc98853e6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov  5 22:23:06 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov  5 22:23:06 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2711c884

EAPI 6: Clarify behaviour for package.* and use.* directories.

Files are to be sorted by their names and .* are to be ignored.
Recursion into subdirectories does not take place.

 profiles.tex | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/profiles.tex b/profiles.tex
index a0e3c57..db96b37 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -72,7 +72,9 @@ removed from the list. Once again, blank lines and those beginning with a \# are
 
 \featurelabel{profile-file-dirs} For EAPIs listed as supported in table~\ref{tab:profile-file-dirs},
 simple line-based files described in the following sections may optionally be directories containing
-files of the named type.
+files of the named type. These files, unless their name begins with a dot, will be sorted by their
+filename in the POSIX locale and their concatenation will be processed as if it were a single file.
+Subdirectories will not be descended into.
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Profile support for directories of simple line-based files}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a8196cb8791b2eba41e27e9adae2c591fcefa04c
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 14 16:44:02 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a8196cb8

EAPI 6: Explain eapply behavior.

Bug: 463768

 pkg-mgr-commands.tex | 37 +++++++++++++++++++++++++++++++++++--
 1 file changed, 35 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 28a96b0..89c00ff 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -148,14 +148,47 @@ These commands are used during the \t{src\_prepare} phase to apply patches to th
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
-\item[eapply] \featurelabel{eapply}
+\item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
+    file or directory paths. Processes options and applies all patches found in specified locations
+    according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+    using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 \end{description}
 
 \begin{algorithm}
 \caption{eapply logic} \label{alg:eapply}
 \begin{algorithmic}[1]
-\STATE \COMMENT{WORK IN PROGRESS}
+\IF{any parameter is equal to \t{"-{}-"}}
+    \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array
+    \STATE collect all parameters after the first \t{"-{}-"} in the \t{files} array
+\ELSIF{any parameter that begins with a hyphen follows one that does not}
+    \STATE abort the build process with an error
+\ELSE
+    \STATE collect all parameters beginning with a hyphen in the \t{options} array
+    \STATE collect all remaining parameters in the \t{files} array
+\ENDIF
+\IF{the \t{files} array is empty}
+    \STATE abort the build process with an error
+\ENDIF
+\FORALL{\t{x} in the \t{files} array}
+    \IF{\t{\$x} is a directory}
+        \IF{\NOT any files match \t{\$x/*.diff} or \t{\$x/*.patch}}
+            \STATE abort the build process with an error
+        \ENDIF
+        \FORALL{files \t{f} matching \t{\$x/*.diff} or \t{\$x/*.patch}, sorted in POSIX locale}
+            \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$f"}
+            \IF{child process returned with non-zero exit status}
+                \RETURN immediately with that status
+            \ENDIF
+        \ENDFOR
+    \ELSE
+        \STATE call \t{patch -p1 -f -g0 -{}-no-backup-if-mismatch "\$\{options[@]\}" < "\$x"}
+        \IF{child process returned with non-zero exit status}
+            \RETURN immediately with that status
+        \ENDIF
+    \ENDIF
+\ENDFOR
+\RETURN shell true (0)
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     01346659dfaf4057107dacc38bbeb7e7b0fc5e4f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 21 16:47:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=01346659

Recommend setting the bash compatibility level.

 ebuild-format.tex | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 61e3437..db6d7a1 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -3,7 +3,10 @@
 
 \featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
 a bash script. The interpreter is assumed to be GNU bash, version as listed in
-table~\ref{tab:bash-version}, or any later version.
+table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set
+the shell's compatibility level to the exact version specified. It must ensure that any such
+compatibility settings (e.g. the \t{BASH\_COMPAT} variable) are not exported to external programs.
+
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
 for specific information), and must not call any external programs, write anything to standard


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     440b0ee22c50bfd1c7f0b1038213a282c8bbbfa8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:35:39 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=440b0ee2

EAPI 6 has eapply.

Bug: 463768

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 30 ++++++++++++++++++++++++++++++
 2 files changed, 34 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 17b6aa9..2fb41d2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -168,6 +168,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{die -n} & \compactfeatureref{nonfatal-die} &
     No & No & No & No & Yes \\
 
+\t{eapply} & \compactfeatureref{eapply} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -319,6 +322,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
+\item \t{eapply} support, \featureref{eapply}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 49402e7..28a96b0 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -143,6 +143,36 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
+\subsubsection{Patch commands}
+These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+Ebuilds must not run any of these commands once the current phase function has returned.
+
+\begin{description}
+\item[eapply] \featurelabel{eapply}
+    Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+\end{description}
+
+\begin{algorithm}
+\caption{eapply logic} \label{alg:eapply}
+\begin{algorithmic}[1]
+\STATE \COMMENT{WORK IN PROGRESS}
+\end{algorithmic}
+\end{algorithm}
+
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{Patch commands for EAPIs}
+    \label{tab:patch-commands}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     c399c49b71762ed969e29146f5f85d071905296d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 30 00:37:00 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c399c49b

EAPI 6: Specify return status for eapply_user.

 pkg-mgr-commands.tex | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 994e4c6..2266660 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -157,10 +157,12 @@ Ebuilds must not run any of these commands once the current phase function has r
 \item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
     is implementation defined and beyond the scope of this specification. Package managers not
-    supporting it must implement the command as a no-op. Only available in EAPIs listed in
-    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
-    \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any subsequent calls
-    the command will do nothing.
+    supporting it must implement the command as a no-op. Returns shell true (0) if patches applied
+    successfully, or if no patches were provided. Otherwise, aborts the build process, unless run
+    using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs
+    listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is
+    supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any
+    subsequent calls, the command will do nothing and return~0.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     628de448c6a0a7e9b6bac8d206d4288f5bb6933b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:41:28 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=628de448

EAPI 6 has a default src_prepare.

This adds support for the PATCHES array and for user patches.

Bug: 463692

 eapi-differences.tex |  4 ++++
 ebuild-functions.tex | 39 ++++++++++++++++++++++++++++++---------
 2 files changed, 34 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 576e3e2..df05c41 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -91,6 +91,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+    * & no-op & no-op & no-op & 6 \\
+
 \t{src\_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -322,6 +325,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
+\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index dcab29e..34a6a3c 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -124,24 +124,45 @@ src_unpack() {
 \label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it.
-
-The \t{src\_prepare} function can be used for post-unpack source preparation. The default
-implementation does nothing.
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+as:
+
+\begin{listing}[H]
+\caption{src\_prepare, format~6} \label{lst:src-prepare-6}
+\begin{verbatim}
+src_prepare() {
+    if declare -p PATCHES | grep -q "^declare -a "; then
+        [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+    else
+        [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+    fi
+    eapply_user
+}
+\end{verbatim}
+\end{listing}
+
+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{6}
-\begin{centertable}{EAPIs supporting \t{src\_prepare}}
+\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
-    \begin{tabular}{ll}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
+      0, 1              & No  & Not applicable \\
+      2, 3, 4, 5        & Yes & no-op          \\
+      6                 & Yes & 6              \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     aa7ce7631a20c0a1369c32f8e207f4fb40edb33c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 18:38:37 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=aa7ce763

EAPI 6 has eapply_user.

Bug: 475288

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 16 ++++++++++++----
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2fb41d2..576e3e2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -171,6 +171,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
+\t{eapply\_user} & \compactfeatureref{eapply-user} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -323,6 +326,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
+\item \t{eapply\_user} support, \featureref{eapply-user}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 89c00ff..c6b4806 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,6 +153,13 @@ Ebuilds must not run any of these commands once the current phase function has r
     according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
+
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the command as a no-op. Only available in EAPIs listed in
+    table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
+    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
 \end{description}
 
 \begin{algorithm}
@@ -195,13 +202,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
-    \begin{tabular}{ll}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
+      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4, 5  & No  & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     6ce8e8258e0d05965b32c927025d9afc308a61cd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:47:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6ce8e825

EAPI 6: econf adds --docdir and --htmldir.

Bug: 468202

 eapi-differences.tex |  3 ++-
 pkg-mgr-commands.tex | 21 +++++++++++++++------
 2 files changed, 17 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index df05c41..2b079d0 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -180,7 +180,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules \\
+    disable dependency tracking, disable silent rules, docdir, htmldir \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & Yes & Yes & Yes \\
@@ -331,6 +331,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 2266660..816ce00 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -238,6 +238,12 @@ current phase function has returned.
     \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
     \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
     \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
+    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
+        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
@@ -251,15 +257,18 @@ current phase function has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}
-        \begin{tabular}{lll}
+        \begin{tabular}{lllll}
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking?}} &
-          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules?}} \\
+          \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}} &
+          \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}} &
+          \multicolumn{1}{c}{\textbf{-{}-docdir}} &
+          \multicolumn{1}{c}{\textbf{-{}-htmldir}} \\
           \midrule
-          0, 1, 2, 3        & No  & No  \\
-          4                 & Yes & No  \\
-          5, 6              & Yes & Yes \\
+          0, 1, 2, 3        & No  & No  & No  & No  \\
+          4                 & Yes & No  & No  & No  \\
+          5                 & Yes & Yes & No  & No  \\
+          6                 & Yes & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     77d7254e8da2ada7520619f0ffcc81d5ef52b420
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Feb 17 15:02:45 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=77d7254e

Delete redundant sentence in the list of defined EAPIs.

 eapis.tex | 18 ++++++------------
 1 file changed, 6 insertions(+), 12 deletions(-)

diff --git a/eapis.tex b/eapis.tex
index bb860f4..7178e5a 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -22,18 +22,12 @@ The following EAPIs are defined by this specification:
 \ChangeWhenAddingAnEAPI{6}
 \begin{description}
 \item[0] The `original' base EAPI.
-\item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `0'.
-\item[2] EAPI `2' contains a number of extensions to EAPI `1'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `1'.
-\item[3] EAPI `3' contains a number of extensions to EAPI `2'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `2'.
-\item[4] EAPI `4' contains a number of extensions to EAPI `3'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `3'.
-\item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `4'.
-\item[6] EAPI `6' contains a number of extensions to EAPI `5'. Except where explicitly noted, it is
-    in all other ways identical to EAPI `5'.
+\item[1] EAPI `1' contains a number of extensions to EAPI `0'.
+\item[2] EAPI `2' contains a number of extensions to EAPI `1'.
+\item[3] EAPI `3' contains a number of extensions to EAPI `2'.
+\item[4] EAPI `4' contains a number of extensions to EAPI `3'.
+\item[5] EAPI `5' contains a number of extensions to EAPI `4'.
+\item[6] EAPI `6' contains a number of extensions to EAPI `5'.
 \end{description}
 
 Except where explicitly noted, everything in this specification


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     35e05d2690ae23cf061165ddfbf5a852dc3bfe35
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 14:42:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=35e05d26

EAPI 6: die and assert called with -n respect nonfatal.

Bug: 451938

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 33 ++++++++++++++++++++++++++-------
 2 files changed, 30 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index d45947d..17b6aa9 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -165,6 +165,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
+\t{die -n} & \compactfeatureref{nonfatal-die} &
+    No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  & disable dependency tracking &
     disable dependency tracking, disable silent rules &
@@ -315,6 +318,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
+\item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e946a1b..49402e7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -18,9 +18,11 @@ The following commands affect this behaviour:
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
     preserving the exit status. If this results in a command being called that would normally abort
-    the build process due to a failure (but not due to an explicit \t{die} or \t{assert} call),
-    instead a non-zero exit status shall be returned. Only in EAPIs listed in
-    table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+    the build process due to a failure, instead a non-zero exit status shall be returned. Only in
+    EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
+
+    Explicit \t{die} or \t{assert} commands only respect \t{nonfatal} when called with the \t{-n}
+    option and in EAPIs supporting this option, see table~\ref{tab:nonfatal-die}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -117,13 +119,30 @@ stderr or some other appropriate facility.
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[die] Displays a failure message provided in its first and only argument, and then aborts the
-    build process. \t{die} is \e{not} guaranteed to work correctly if called from a subshell
-    environment.
+\item[die] \featurelabel{nonfatal-die} If called under the \t{nonfatal} command (as per
+    section~\ref{sec:failure-behaviour}) and with \t{-n} as its first parameter, displays a failure
+    message provided in its following argument and then returns a non-zero exit status. Only in
+    EAPIs listed in table~\ref{tab:nonfatal-die} as supporting option~\t{-n}. Otherwise, displays
+    a failure message provided in its first and only argument, and then aborts the build process.
+    \t{die} is \e{not} guaranteed to work correctly if called from a subshell environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
-    (indicating failure), calls \t{die} with its first argument as a failure message.
+    (indicating failure), calls \t{die}, passing any parameters to it.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-n} for \t{die} and \t{assert} commands}
+    \label{tab:nonfatal-die}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{die} and \t{assert} support \t{-n}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Build commands}
 These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     5e5b02033ff3f2a8fa0783668c11960277aa68bd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 12:46:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5e5b0203

EAPI 6 enables failglob in global scope.

Bug: 463822

 eapi-differences.tex    |  4 ++++
 ebuild-env-commands.tex | 18 +++++++++++++-----
 2 files changed, 17 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 71826c4..f5b9530 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -141,6 +141,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -307,6 +310,7 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index f6bc3f6..72228da 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -33,16 +33,24 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\subsubsection{Shell options}
+
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
+\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
+during filename expansion result in an error when the ebuild is being sourced.
+
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{find} implementation for EAPIs}
+\begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{ll}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined \\
-      5, 6              & Yes       \\
+      0, 1, 2, 3, 4     & Undefined & No  \\
+      5                 & Yes       & No  \\
+      6                 & Yes       & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     d0471958f3a9b1396cfbe8b54dd53747d32ffaba
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 11:22:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d0471958

EAPI 6: Bash version is 4.2.

Bug: 431340

 eapi-differences.tex    |  5 ++++-
 ebuild-env-commands.tex |  6 ++----
 ebuild-format.tex       | 27 +++++++++++++++++++++------
 3 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b039e9f..71826c4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -43,6 +43,9 @@ of this document for a complete table of previous EAPIs.
 Stable use masking/forcing & \compactfeatureref{stablemask} &
     No & No & No & Yes & Yes \\
 
+Bash version & \compactfeatureref{bash-version} &
+    3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
+
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -303,7 +306,7 @@ EAPI 5 is EAPI 4 with the following changes:
 EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
-\item None
+\item Bash version is 4.2, \featureref{bash-version}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 35f2eff..f6bc3f6 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,10 +23,8 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
-    retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://projects.gentoo.org/council/meeting-logs/20091109.txt}).%
-    \label{fn:bash3.2}}.
+\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version} on
+    page~\pageref{tab:bash-version}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/ebuild-format.tex b/ebuild-format.tex
index b623b97..61e3437 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -1,12 +1,27 @@
 \chapter{Ebuild File Format}
 \label{sec:ebuild-format}
 
-The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
-page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
-the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
-and~\ref{sec:ebuild-functions} 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.
+\featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
+a bash script. The interpreter is assumed to be GNU bash, version as listed in
+table~\ref{tab:bash-version}, or any later version.
+The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
+certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
+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{6}
+\begin{centertable}{Bash version}
+    \label{tab:bash-version}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Bash version}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & 3.2 \\
+      6                 & 4.2 \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     0d2ad45e5083cea349f4c4e4a596e6b03396f24b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 19 16:38:00 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0d2ad45e

EAPI 6: eapply_user should be idempotent.

 pkg-mgr-commands.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c6b4806..994e4c6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -159,7 +159,8 @@ Ebuilds must not run any of these commands once the current phase function has r
     is implementation defined and beyond the scope of this specification. Package managers not
     supporting it must implement the command as a no-op. Only available in EAPIs listed in
     table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is supported,
-    \t{eapply\_user} must be called exactly once in the \t{src\_prepare} phase.
+    \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any subsequent calls
+    the command will do nothing.
 \end{description}
 
 \begin{algorithm}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     e43e6aac9178f1364d9d5b265dcd7de0bd859c6e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 13:11:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:19 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e43e6aac

EAPI 6: einstall banned.

Bug: 524112

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 14 +++++++++-----
 2 files changed, 13 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index f5b9530..d45947d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -159,6 +159,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Banned & Banned & Banned \\
 
+\t{einstall} & \compactfeatureref{banned-commands} &
+    Yes & Yes & Yes & Yes & Banned \\
+
 Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
     No & No & No & Yes & Yes \\
 
@@ -311,6 +314,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
+\item \t{einstall} banned, \featureref{banned-commands}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 2fcc51e..e946a1b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -47,16 +47,18 @@ called, the package manager must abort the build process indicating an error.
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Banned commands}
     \label{tab:banned-commands-table}
-    \begin{tabular}{lll}
+    \begin{tabular}{llll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{2}{c}{\textbf{Command banned?}} \\
+      \multicolumn{3}{c}{\textbf{Command banned?}} \\
       \multicolumn{1}{c}{} &
       \multicolumn{1}{c}{\textbf{\t{dohard}}} &
-      \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
+      \multicolumn{1}{c}{\textbf{\t{dosed}}} &
+      \multicolumn{1}{c}{\textbf{\t{einstall}}} \\
       \midrule
-      0, 1, 2, 3        & No  & No  \\
-      4, 5, 6           & Yes & Yes \\
+      0, 1, 2, 3        & No  & No  & No  \\
+      4, 5              & Yes & Yes & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -208,6 +210,8 @@ current phase function has returned.
 \item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
+    In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+    section~\ref{sec:banned-commands}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     978ae12b7594022c23154203c3181afb61d2fb99
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 15:51:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=978ae12b

Cheat sheet: Authors' names.

"PMS team" isn't a good attribution because team members may change.
Therefore list the two sole contributors as authors, according to
git blame and git log.

Also slightly reword the licence notice and adjust the footnotes.

 eapi-cheatsheet.tex | 22 ++++++++++++++--------
 1 file changed, 14 insertions(+), 8 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index a8171a3..cc192d8 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -21,8 +21,13 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{%
-    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
+\author{%
+    Christian Faulhammer \\
+    \href{mailto:fauli@gentoo.org}{fauli@gentoo.org}
+    \and
+    Ulrich Müller \\
+    \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
+}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}
@@ -39,7 +44,7 @@
     citecolor=black,
     linkcolor=black,
     pdftitle={EAPI Desk Reference},
-    pdfauthor={Christian Faulhammer},
+    pdfauthor={Christian Faulhammer, Ulrich Müller},
     pdfsubject={Making look-up faster for EAPI features},
     pdflang={en},
     pdfkeywords={Gentoo, package manager, reference},
@@ -51,8 +56,9 @@
 \begin{abstract}
     An overview of the main EAPI changes in Gentoo, for ebuild
     authors.  For full details, consult the Package Manager
-    Specification found on the project page; this is
-    an incomplete summary only.
+    Specification found on the project page;\footnote{%
+    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}
+    this is an incomplete summary only.
 
     Official Gentoo EAPIs are consecutively numbered integers (0, 1,
     2, \dots).  Except where otherwise noted, an EAPI is the same as
@@ -63,9 +69,9 @@
     % Gentoo bug tracking system\footnote{\url{https://bugs.gentoo.org/}}
     % to the original author or the PMS team.
 
-    This document is released under the Creative Commons
-    Attribution-Share Alike 3.0
-    Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
+    This work is released under the Creative Commons
+    Attribution-Share Alike 3.0 Licence.%
+    \footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
 \end{abstract}
 
 \section{EAPIs 0, 1, and 2}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     2b3637b42a5cdd911e6508213dee143c98406477
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 12:56:19 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2b3637b4

EAPI 6 has in_iuse.

Bug: 449862

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 22 ++++++++++++++++++++--
 2 files changed, 24 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2b079d0..630fd86 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -212,6 +212,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
+\t{in\_iuse} & \compactfeatureref{in-iuse} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -332,6 +335,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply} support, \featureref{eapply}.
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
+\item \t{in\_iuse} support, \featureref{in-iuse}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 816ce00..e951d3b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -726,8 +726,9 @@ These functions provide behaviour based upon set or unset use flags. Ebuilds mus
 these commands once the current phase function has returned. It is an error if an ebuild calls any
 of these functions in global scope.
 
-If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
-either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.
+Unless otherwise noted, if any of these functions is called with a flag value that is not included
+in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+table~\ref{tab:use-list-strictness}.
 
 \begin{description}
 \item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
@@ -753,6 +754,9 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -797,6 +801,20 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{in\_iuse}}
+    \label{tab:in-iuse}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     828b7750f46055953617acfd8dd95e71c9b1381c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:37:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=828b7750

EAPI 6 has a different src_install implementation.

 eapi-differences.tex |  3 ++-
 ebuild-functions.tex | 19 ++++++++++++++++++-
 2 files changed, 20 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index b9734e4..adf2615 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -104,7 +104,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & 4 & 4 & 4 \\
+    no-op & no-op & 4 & 4 & 6 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
@@ -341,6 +341,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
 \item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src\_install} implementation, \featureref{src-install-6}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 34a6a3c..6983ddb 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -347,6 +347,22 @@ src_install() {
 \end{verbatim}
 \end{listing}
 
+\featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
+6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+as:
+
+\begin{listing}[H]
+\caption{src\_install, format~6} \label{lst:src-install-6}
+\begin{verbatim}
+src_install() {
+    if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
+        emake DESTDIR="${D}" install
+    fi
+    einstalldocs
+}
+\end{verbatim}
+\end{listing}
+
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
@@ -359,7 +375,8 @@ is a no-op.
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1, 2, 3        & no-op \\
-      4, 5, 6           & 4     \\
+      4, 5              & 4     \\
+      6                 & 6     \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     1d699b5c40d334adc62fdb2e079851d8814b384b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 11:28:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1d699b5c

EAPI 6 has einstalldocs.

This also adds support for an empty DOCS variable and for directories
in DOCS.

Bug: 459692
Bug: 463736
Bug: 481980

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 52 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 0756581..b9734e4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -230,6 +230,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
+\t{einstalldocs} & \compactfeatureref{einstalldocs} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -348,6 +351,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
+\item \t{einstalldocs} support, \featureref{einstalldocs}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6b4ecb9..6d08673 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -930,8 +930,42 @@ has returned.
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
+
+\item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
+    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    returns a non-zero exit status, returns immediately with the same exit status. Only available
+    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
 \end{description}
 
+\begin{algorithm}
+\caption{einstalldocs logic} \label{alg:einstalldocs}
+\begin{algorithmic}[1]
+\STATE save the value of the install directory for \t{dodoc}
+\STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}}
+\IF{the DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{DOCS[@]\}"}
+\ELSIF{the DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{DOCS\}}
+\ELSIF{the DOCS variable is unset}
+    \FORALL{$d$ matching the filename expansion of \t{README*} \t{ChangeLog} \t{AUTHORS} \t{NEWS}
+            \t{TODO} \t{CHANGES} \t{THANKS} \t{BUGS} \t{FAQ} \t{CREDITS} \t{CHANGELOG}}
+        \IF{file $d$ exists and has a size greater than zero}
+            \STATE call \t{dodoc} with $d$ as argument
+        \ENDIF
+    \ENDFOR
+\ENDIF
+\STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}/html}
+\IF{the HTML\_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
+\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\ENDIF
+\STATE restore the value of the install directory for \t{dodoc}
+\RETURN shell true (0)
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -946,6 +980,20 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{einstalldocs}}
+    \label{tab:einstalldocs}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a16308ff92bdc7bb6cf2e672873b5ab0d7190e4c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:13:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a16308ff

EAPI 6: unpack supports txz.

Bug: 458102

 eapi-differences.tex |  6 +++++-
 pkg-mgr-commands.tex | 18 +++++++++++-------
 2 files changed, 16 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4106754..14947a1 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -218,9 +218,12 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
     No & No & No & No & Yes \\
 
-\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
+\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
+\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -340,6 +343,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
+\item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c7ffcb3..d6701a7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -880,9 +880,10 @@ has returned.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
         GNU tar are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
-        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
-    \item xz-compressed tar files (\t{*.tar.xz}). Ebuilds must ensure that XZ Utils and GNU tar are
-        installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting xz.
+        EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
+    \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and
+        GNU tar are installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as
+        supporting \t{.tar.xz} or \t{.txz}.
     \end{itemize}
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
@@ -904,13 +905,16 @@ has returned.
     \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
-        \begin{tabular}{ll}
+        \begin{tabular}{llll}
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{\t{.xz} and \t{.tar.xz}?}} \\
+          \multicolumn{1}{c}{\textbf{\t{.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
+          \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
           \midrule
-          0, 1, 2           & No  \\
-          3, 4, 5, 6        & Yes \\
+          0, 1, 2           & No  & No  & No  \\
+          3, 4, 5           & Yes & Yes & No  \\
+          6                 & Yes & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     288893d980dbcbf09ea02239c8c1160db73754de
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 15 16:49:26 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=288893d9

Cheat sheet: Remove EAPIs 0, 1, and 2 to make room for EAPI 6.

Also some rearrangement of items and one minor wording change, in
order to fit the EAPI 4 section in two (small) pages.

 eapi-cheatsheet.tex | 162 ++++++++++++++++++++++++++--------------------------
 1 file changed, 82 insertions(+), 80 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 136ac5f..a8171a3 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -67,82 +67,84 @@
     Attribution-Share Alike 3.0
     Licence\footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}.
 \end{abstract}
-\section{EAPI 0}
-\label{sec:cs:eapi0}
-If there is no EAPI explicitly specified, EAPI 0 is assumed.
-% Currently there is no full specification what EAPI 0 includes.
-% Portage, official ebuild documentation and existing ebuilds set the
-% standard.  If you think you found a bug, you should file a bug report
-% nonetheless.
 
-\section{EAPI 1}
-\label{sec:cs:eapi1}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi1-additions}
-\begin{description}
-    \item[IUSE defaults] A USE flag can be marked as mandatory (if
-    not disabled explicitly by user configuration) with a \code{+}
-    sign in front.  See \featureref{iuse-defaults}.
-    \item[Named slot dependencies] Dependencies can explicitly request
-    a specific slot by using the
-    \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
-    See \featureref{slot-deps}.
-\end{description}
+\section{EAPIs 0, 1, and 2}
+\label{sec:cs:eapi0-2}
+Omitted for lack of space. See version~5.0 of this document for
+differences between these previous EAPIs.
 
-\section{EAPI 2 (2008-09-25)}
-\label{sec:cs:eapi2}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi2-additions}
-\begin{description}
-    \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
-    naming scheme.  By using
-    \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
-    saved as \code{foo} in DISTDIR\@.
-    See \featureref{src-uri-arrows}.
-    \item[USE dependencies] Dependencies can specify USE flag
-    requirements on their target, removing the need for
-    \code{built\_with\_use} checks.
-    \begin{description}
-        \item[{[opt]}] The flag must be enabled.
-        \item[{[opt=]}] The flag must be enabled if it is
-        enabled for the package with the dependency, or disabled
-        otherwise.
-        \item[{[!opt=]}] The flag must be disabled if it is
-        enabled for the package with the dependency, or enabled
-        otherwise.
-        \item[{[opt?]}] The flag must be enabled if it is
-        enabled for the package with the dependency.
-        \item[{[!opt?]}] The flag must be disabled if it is
-        disabled for the package with the dependency.
-        \item[{[-opt]}] The flag must be disabled.
-    \end{description}
-    See \featureref{use-deps}.
-    \item[Blocker syntax] A single exclamation mark as a blocker may
-    be ignored by the package manager as long as the stated package is
-    uninstalled later on.  Two exclamation marks are a strong blocker
-    and will always be respected.  See \featureref{bang-strength}.
-    \item[\code{src\_configure, src\_prepare}] Both new phases provide
-    finer granularity in the ebuild's structure.  Configure calls
-    should be moved from \code{src\_compile} to \code{src\_configure}.
-    Patching and similar preparation must now be done in
-    \code{src\_prepare}, not \code{src\_unpack}.  See
-    \featureref{src-prepare} and \featureref{src-configure}.
-    \item[Default phase functions] The default functions for
-    phases \code{pkg\_nofetch}, \code{src\_unpack},
-    \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
-    and \code{src\_test} can be called via
-    \code{default\_}\emph{phasename}, so duplicating the standard
-    implementation is no longer necessary for small additions.  The
-    short-hand \code{default} function calls the current phase's
-    \code{default\_} function automatically, so any small additions
-    you need will not be accompanied by a complete reimplementation of
-    the phase.  See \featureref{default-phase-funcs} and
-    \featureref{default-func}.
-    \item[\code{doman} language support] The \code{doman} installation
-    function recognizes language specific man page extensions and
-    behaves accordingly.  This behaviour can be inhibited by the
-    \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
-\end{description}
+% \section{EAPI 0}
+% \label{sec:cs:eapi0}
+% If there is no EAPI explicitly specified, EAPI 0 is assumed.
+
+% \section{EAPI 1}
+% \label{sec:cs:eapi1}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi1-additions}
+% \begin{description}
+%     \item[IUSE defaults] A USE flag can be marked as mandatory (if
+%     not disabled explicitly by user configuration) with a \code{+}
+%     sign in front.  See \featureref{iuse-defaults}.
+%     \item[Named slot dependencies] Dependencies can explicitly request
+%     a specific slot by using the
+%     \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
+%     See \featureref{slot-deps}.
+% \end{description}
+
+% \section{EAPI 2 (2008-09-25)}
+% \label{sec:cs:eapi2}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi2-additions}
+% \begin{description}
+%     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
+%     naming scheme.  By using
+%     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
+%     saved as \code{foo} in DISTDIR\@.
+%     See \featureref{src-uri-arrows}.
+%     \item[USE dependencies] Dependencies can specify USE flag
+%     requirements on their target, removing the need for
+%     \code{built\_with\_use} checks.
+%     \begin{description}
+%         \item[{[opt]}] The flag must be enabled.
+%         \item[{[opt=]}] The flag must be enabled if it is
+%         enabled for the package with the dependency, or disabled
+%         otherwise.
+%         \item[{[!opt=]}] The flag must be disabled if it is
+%         enabled for the package with the dependency, or enabled
+%         otherwise.
+%         \item[{[opt?]}] The flag must be enabled if it is
+%         enabled for the package with the dependency.
+%         \item[{[!opt?]}] The flag must be disabled if it is
+%         disabled for the package with the dependency.
+%         \item[{[-opt]}] The flag must be disabled.
+%     \end{description}
+%     See \featureref{use-deps}.
+%     \item[Blocker syntax] A single exclamation mark as a blocker may
+%     be ignored by the package manager as long as the stated package is
+%     uninstalled later on.  Two exclamation marks are a strong blocker
+%     and will always be respected.  See \featureref{bang-strength}.
+%     \item[\code{src\_configure, src\_prepare}] Both new phases provide
+%     finer granularity in the ebuild's structure.  Configure calls
+%     should be moved from \code{src\_compile} to \code{src\_configure}.
+%     Patching and similar preparation must now be done in
+%     \code{src\_prepare}, not \code{src\_unpack}.  See
+%     \featureref{src-prepare} and \featureref{src-configure}.
+%     \item[Default phase functions] The default functions for
+%     phases \code{pkg\_nofetch}, \code{src\_unpack},
+%     \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
+%     and \code{src\_test} can be called via
+%     \code{default\_}\emph{phasename}, so duplicating the standard
+%     implementation is no longer necessary for small additions.  The
+%     short-hand \code{default} function calls the current phase's
+%     \code{default\_} function automatically, so any small additions
+%     you need will not be accompanied by a complete reimplementation of
+%     the phase.  See \featureref{default-phase-funcs} and
+%     \featureref{default-func}.
+%     \item[\code{doman} language support] The \code{doman} installation
+%     function recognizes language specific man page extensions and
+%     behaves accordingly.  This behaviour can be inhibited by the
+%     \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
+% \end{description}
 
 \section{EAPI 3 (2010-01-18)}
 \label{sec:cs:eapi3}
@@ -191,17 +193,17 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     adds paths to the inclusion list for compression.
     \code{docompress -x path \dots} adds paths to the exclusion list.
     See \featureref{docompress}.
+    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
+    the command given as argument will not abort the build process in
+    case of a failure (as is the default) but will return non-zero on
+    failure.
+    See \featureref{nonfatal}.
     \item[\code{dodoc} recursion] If the \code{-r} switch is given as
     first argument and followed by directories, files from there are
     installed recursively.  See \featureref{dodoc}.
     \item[\code{doins} symlink support] Symbolic links are now
     properly installed when using recursion (\code{-r} switch).
     See \featureref{doins}.
-    \item[\code{nonfatal} for commands] If you call \code{nonfatal}
-    the command given as argument will not abort the build process in
-    case of a failure (as is the default) but will return non-zero on
-    failure.
-    See \featureref{nonfatal}.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
     \item[\code{REQUIRED\_USE}] This variable can be used similar to
@@ -209,7 +211,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     combinations that are not allowed.  All elements can be further
     nested to achieve more functionality.
     \begin{description}
-        \item[Forbidden combination] To prevent activation of
+        \item[Illegal combination] To prevent activation of
         \code{flag1} if \code{flag2} is enabled use
         "\code{flag2?\ ( !flag1 )}".
         \item[OR] If at least one USE flag out of many must be


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     a4eab188ea5086a581ad80b34c47601f6553f4ca
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 16:11:30 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a4eab188

EAPI 6: unpack matches filename extensions case-insensitively.

Bug: 476730

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 12 ++++++++----
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 14947a1..0756581 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -224,6 +224,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
     No & No & No & No & Yes \\
 
+\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
+    No & No & No & No & Yes \\
+
 \t{default} function & \compactfeatureref{default-func} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -344,6 +347,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{in\_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
+\item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index d6701a7..6b4ecb9 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -888,16 +888,20 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+    \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{6}
     \begin{centertable}{\t{unpack} behaviour for EAPIs}
         \label{tab:unpack-behaviour}
-        \begin{tabular}{ll}
+        \begin{tabular}{lll}
           \toprule
           \multicolumn{1}{c}{\textbf{EAPI}} &
-          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} &
+          \multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
           \midrule
-          0, 1, 2, 3, 4, 5  & No  \\
-          6                 & Yes \\
+          0, 1, 2, 3, 4, 5  & No  & No  \\
+          6                 & Yes & Yes \\
           \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     7736749b9a468e364461073e3b997bb97f7932a6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 23 13:21:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7736749b

Merge several EAPI feature tables.

Merges the three tables for misc functions (default, einstalldocs,
and get_libdir), as well as the two tables for usex and in_iuse.

 pkg-mgr-commands.tex | 80 +++++++++++++++-------------------------------------
 1 file changed, 22 insertions(+), 58 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a0b7967..aace888 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -753,10 +753,10 @@ table~\ref{tab:use-list-strictness}.
     respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
-    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
+    Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
 \item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
     name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:in-iuse} as supporting \t{in\_iuse}.
+    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -788,29 +788,17 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex}}
-    \label{tab:usex-table}
-    \begin{tabular}{ll}
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{in\_iuse}}
-    \label{tab:in-iuse}
-    \begin{tabular}{ll}
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+    \label{tab:use-list-functions}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{usex}?}} &
+      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1, 2, 3, 4     & No  & No  \\
+      5                 & Yes & No  \\
+      6                 & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -929,16 +917,16 @@ has returned.
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
     section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
-    table~\ref{tab:default-function-table}.
+    table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
-    in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+    in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
 \item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get\_libdir}.
 \end{description}
 
@@ -985,42 +973,18 @@ has returned.
 \end{algorithm}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting the \t{default} function}
-    \label{tab:default-function-table}
-    \begin{tabular}{ll}
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default} function?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6     & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{einstalldocs}}
-    \label{tab:einstalldocs}
-    \begin{tabular}{ll}
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{einstalldocs}?}} \\
-      \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
-\begin{centertable}{EAPIs supporting \t{get\_libdir}}
-    \label{tab:get-libdir}
-    \begin{tabular}{ll}
+\begin{centertable}{Misc commands for EAPIs}
+    \label{tab:misc-commands}
+    \begin{tabular}{llll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{default}?}} &
+      \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
+      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & No  \\
-      6                 & Yes \\
+      0, 1              & No  & No  & No  \\
+      2, 3, 4, 5        & Yes & No  & No  \\
+      6                 & Yes & Yes & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     2377e8895cbf0787220c1468e8d8cec50b65b714
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 15:51:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2377e889

EAPI 6 has get_libdir.

Bug: 463586

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 31 +++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index adf2615..d4a90e0 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -233,6 +233,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
+\t{get\_libdir} & \compactfeatureref{get-libdir} &
+    No & No & No & No & Yes \\
+
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
     Undefined & Yes & Yes & Yes & Yes \\
 
@@ -353,6 +356,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
+\item \t{get\_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6d08673..a0b7967 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -936,6 +936,10 @@ has returned.
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:einstalldocs} as supporting \t{einstalldocs}.
+
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:get-libdir}
+    as supporting \t{get\_libdir}.
 \end{description}
 
 \begin{algorithm}
@@ -966,6 +970,20 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\begin{algorithm}
+\caption{get\_libdir logic} \label{alg:get-libdir}
+\begin{algorithmic}[1]
+\STATE let libdir=lib
+\IF{the ABI environment variable is set}
+    \STATE let libvar=LIBDIR\_\$ABI
+    \IF{the environment variable named by libvar is set}
+        \STATE let libdir=the value of the variable named by libvar
+    \ENDIF
+\ENDIF
+\STATE print the value of libdir
+\end{algorithmic}
+\end{algorithm}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting the \t{default} function}
     \label{tab:default-function-table}
@@ -994,6 +1012,19 @@ has returned.
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{EAPIs supporting \t{get\_libdir}}
+    \label{tab:get-libdir}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{get\_libdir}?}} \\
+      \midrule
+      0, 1, 2, 3, 4, 5  & No  \\
+      6                 & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Debug Commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     71fdf8fc2e02ea02542e33ec28bf4aa284b28861
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  8 19:30:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:30:13 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=71fdf8fc

EAPI 6 has been approved by the Council.

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 2eb5be0..97860d6 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -324,7 +324,7 @@ differences between these previous EAPIs.
     See \featureref{stablemask}.
 \end{description}
 
-\section{EAPI 6}
+\section{EAPI 6 (2015-11-08)}
 \label{sec:cs:eapi6}
 \subsection{Additions/Changes}
 \label{sec:cs:eapi6-additions}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     164be16d929765a849e476a4318ea38d592b672a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Oct 17 08:52:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=164be16d

Cheat sheet: Update for EAPI 6.

 eapi-cheatsheet.tex | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 72 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index cc192d8..2eb5be0 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -14,7 +14,7 @@
 \usepackage[scaled=.90]{helvet}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
-\newcommand{\version}{5.0}
+\newcommand{\version}{6.0}
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
@@ -323,6 +323,77 @@ differences between these previous EAPIs.
     would be merged due to a stable keyword.
     See \featureref{stablemask}.
 \end{description}
+
+\section{EAPI 6}
+\label{sec:cs:eapi6}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi6-additions}
+\begin{description}
+    \item[Bash version] Ebuilds can use features of Bash version 4.2
+    (was 3.2 before).
+    See \featureref{bash-version}.
+    \item[\code{failglob}] The \code{failglob} option of Bash is set
+    in global scope, so that unintentional pattern expansion will be
+    caught as an error.
+    See \featureref{failglob}.
+    \item[\code{src\_prepare}] This phase function has a default now,
+    which applies patches from the \code{PATCHES} variable with the
+    new \code{eapply} command, and user-provided patches with
+    \code{eapply\_user}.
+    See \featureref{src-prepare-6}.
+    \item[\code{src\_install}] The default implementation uses the new
+    \code{einstalldocs} function for installing documentation.
+    See \featureref{src-install-6}.
+    \item[\code{unpack} changes] \code{unpack} has been extended:
+    \begin{description}
+        \item[Pathnames] Both absolute paths and paths relative to the
+        working directory are accepted as arguments.
+        See \featureref{unpack-absolute}.
+        \item[\code{.txz} files] Suffix \code{.txz} for xz compressed
+        tarballs is recognised.
+        See \featureref{unpack-extensions}.
+        \item[Filename case] Character case of filename extensions is
+        ignored.
+        See \featureref{unpack-ignore-case}.
+    \end{description}
+    \item[\code{econf} changes] Options \code{-{}-docdir} and
+    \code{-{}-htmldir} are passed to \code{configure}, in addition to
+    the existing options.
+    See \featureref{econf-options}.
+    \item[\code{nonfatal die}] When \code{die} or \code{assert} are
+    called under the \code{nonfatal} command and with the \code{-n}
+    option, they will not abort the build process but return with an
+    error.
+    See \featureref{nonfatal-die}.
+    \item[\code{eapply}] The \code{eapply} command is a simplified
+    substitute for \code{epatch}, implemented in the package manager.
+    The patches from its file or directory arguments are applied using
+    \code{patch -p1}.
+    See \featureref{eapply}.
+    \item[\code{eapply\_user}] The \code{eapply\_user} command permits
+    the package manager to apply user-provided patches. It must be
+    called from every \code{src\_prepare} function.
+    See \featureref{eapply-user}.
+    \item[\code{einstalldocs}] The \code{einstalldocs} function will
+    install the files specified by the \code{DOCS} variable (or a
+    default set of files if \code{DOCS} is unset) and by the
+    \code{HTML\_DOCS} variable.
+    See \featureref{einstalldocs}.
+    \item[\code{in\_iuse}] The \code{in\_iuse} function returns
+    true if the USE flag given as its argument is available in the
+    ebuild for USE queries.
+    See \featureref{in-iuse}.
+    \item[\code{get\_libdir}] The \code{get\_libdir} command outputs
+    the \code{lib*} directory basename suitable for the current ABI.
+    See \featureref{get-libdir}.
+\end{description}
+\subsection{Removals/Bans}
+\label{sec:cs:eapi6-removalsbans}
+\begin{description}
+    \item[\code{einstall}] No longer allowed. Use \code{emake install}
+    as replacement.
+    See \featureref{banned-commands}.
+\end{description}
 \end{document}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-08 19:36 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-08 19:36 UTC (permalink / raw
  To: gentoo-commits

commit:     217e63be1592ae258ac4761c634414036252e60c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:06:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:29:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=217e63be

EAPI 6: unpack supports absolute and relative paths.

Bug: 483244

 eapi-differences.tex |  4 ++++
 pkg-mgr-commands.tex | 26 +++++++++++++++++++++++---
 2 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 630fd86..4106754 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -215,6 +215,9 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{in\_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
+\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
+    No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & Yes & Yes & Yes & Yes \\
 
@@ -336,6 +339,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{eapply\_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
 \item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e951d3b..c7ffcb3 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -844,9 +844,15 @@ has returned.
     the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
     under the current working directory additionally have permissions \t{a+x}.
 
-    All arguments to \t{unpack} must be either a filename without path, in which case \t{unpack}
-    looks in \t{DISTDIR} for the file, or start with the string \t{./}, in which case \t{unpack}
-    uses the argument as a path relative to the working directory.
+    Arguments to \t{unpack} are interpreted as follows:
+    \begin{itemize}
+    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item An argument starting with the string \t{./} is a path relative to the working directory.
+    \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
+        table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
+        interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
+        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+    \end{itemize}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.
@@ -882,6 +888,20 @@ has returned.
     being in the system set or via dependencies.
 
     \ChangeWhenAddingAnEAPI{6}
+    \begin{centertable}{\t{unpack} behaviour for EAPIs}
+        \label{tab:unpack-behaviour}
+        \begin{tabular}{ll}
+          \toprule
+          \multicolumn{1}{c}{\textbf{EAPI}} &
+          \multicolumn{1}{c}{\textbf{Supports absolute and relative paths?}} \\
+          \midrule
+          0, 1, 2, 3, 4, 5  & No  \\
+          6                 & Yes \\
+          \bottomrule
+        \end{tabular}
+    \end{centertable}
+
+    \ChangeWhenAddingAnEAPI{6}
     \begin{centertable}{\t{unpack} extensions for EAPIs}
         \label{tab:unpack-extensions-table}
         \begin{tabular}{ll}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

* [gentoo-commits] proj/pms:eapi-6 commit in: /
@ 2015-11-13 20:19 Ulrich Müller
  0 siblings, 0 replies; 212+ messages in thread
From: Ulrich Müller @ 2015-11-13 20:19 UTC (permalink / raw
  To: gentoo-commits

commit:     8f8f9cddbfe892ab76aa91b2b80310a97f312f4e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 13 20:19:14 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 13 20:19:14 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8f8f9cdd

EAPI 6 has been reapproved by the Council.

Bug: 565700

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index c0a29c4..250df41 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -324,7 +324,7 @@ differences between these previous EAPIs.
     See \featureref{stablemask}.
 \end{description}
 
-\section{EAPI 6 (2015-11-08)}
+\section{EAPI 6 (2015-11-13)}
 \label{sec:cs:eapi6}
 \subsection{Additions/Changes}
 \label{sec:cs:eapi6-additions}


^ permalink raw reply related	[flat|nested] 212+ messages in thread

end of thread, other threads:[~2015-11-13 20:20 UTC | newest]

Thread overview: 212+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 commit in: / Ulrich Müller
2015-10-11 19:13 ` [gentoo-commits] proj/pms:master " Ulrich Müller
  -- strict thread matches above, loose matches on Subject: below --
2015-11-13 20:19 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-08 19:36 Ulrich Müller
2015-11-06  8:12 Ulrich Müller
2015-11-05 16:08 Ulrich Müller
2015-11-05 16:08 Ulrich Müller
2015-11-04  6:08 Ulrich Müller
2015-11-03  8:03 Ulrich Müller
2015-10-30 16:01 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-23 17:30 Ulrich Müller
2015-10-21 17:13 Ulrich Müller
2015-10-20  7:19 Ulrich Müller
2015-10-19 16:39 Ulrich Müller
2015-10-19  8:44 Ulrich Müller
2015-10-18 20:16 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-18 11:24 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15 10:43 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-15  6:23 Ulrich Müller
2015-10-14 20:52 Michał Górny
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 19:03 Ulrich Müller
2015-08-30 18:55 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-08-30 19:03 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-04-13 22:34 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-08-30 19:03 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-04-02 16:10 Ulrich Müller
2015-03-28 19:29 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-04-02 16:10 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-03-28 19:29 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-04-02 16:10 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-03-16  9:11 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-04-02 16:10 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 git@oystercatcher mirror+tproxy
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-03-03  6:18 Ulrich Müller
2015-02-21 12:19 [gentoo-commits] proj/pms:master " Ulrich Müller
2015-03-03  6:18 ` [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-02-16 20:07 Ulrich Müller
2015-02-16 19:44 Ulrich Müller
2015-02-16 19:44 Ulrich Müller
2015-02-16 18:59 Ulrich Müller
2015-02-16 16:43 Ulrich Müller
2015-02-16 16:43 Ulrich Müller
2015-02-16 16:43 Ulrich Müller
2015-02-16 15:08 Ulrich Müller
2015-02-16 15:08 Ulrich Müller
2015-02-16 15:08 Ulrich Müller
2015-02-16 15:08 Ulrich Müller
2015-02-16 14:36 Ulrich Müller
2015-02-16 13:06 Ulrich Müller
2015-02-16 12:43 Ulrich Müller
2015-02-16 12:43 Ulrich Müller
2015-02-16 11:16 Ulrich Müller
2015-02-16 10:39 Ulrich Müller
2015-02-16 10:39 Ulrich Müller
2015-02-16 10:39 Ulrich Müller
2015-01-01 20:10 Ulrich Müller
2015-01-01 20:10 Ulrich Müller
2015-01-01 20:10 Ulrich Müller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox