* [gentoo-pms] EAPI 8 draft for review
@ 2021-05-27 20:25 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 01/21] Add an EAPI 8 identical to EAPI 7 Ulrich Müller
` (20 more replies)
0 siblings, 21 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms
Here is the series of EAPI 8 patches for review. They include the
pre-approved items from the 2020-11-08 Council meeting, with two
modifications:
- "Empty working directory in pkg_* phase functions" added
- "Variant of || ( ) with defined runtime behaviour" dropped,
because the implementation is not ready
The complete list of features is:
- Less strict naming rules for files in updates directory
- Bash version is 5.0
- Selective fetch/mirror restriction
- IDEPEND
- Empty working directory in pkg_* phase functions
- Different src_prepare implementation
- PROPERTIES and RESTRICT accumulated across eclasses
- useq banned
- hasv and hasq banned
- econf adds --datarootdir
- econf adds --disable-static
- dosym can create relative paths
- insopts no longer affects doconfd, doenvd and doheader
- exeopts no longer affects doinitd
- usev supports an optional second argument
- unpack no longer supports .7z, .rar, .lha
The rendered version of the spec can be found:
PDF: https://dev.gentoo.org/~ulm/pms/8-draft/pms.pdf
HTML: https://dev.gentoo.org/~ulm/pms/8-draft/pms.html
Status of implementation in Portage and Pkgcore can be traced here:
https://wiki.gentoo.org/wiki/Future_EAPI/EAPI_8_tentative_features
Thanks to Michał Górny for contributing patches for some of the more
complicated features.
Ulrich
^ permalink raw reply [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 01/21] Add an EAPI 8 identical to EAPI 7
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 02/21] EAPI feature table: Consolidate EAPIs 0 to 4 Ulrich Müller
` (19 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
commands.tex | 4 +-
dependencies.tex | 26 +++---
eapi-differences.tex | 201 +++++++++++++++++++++++-------------------
eapis.tex | 3 +-
ebuild-env-vars.tex | 24 ++---
ebuild-format.tex | 4 +-
ebuild-functions.tex | 42 ++++-----
ebuild-vars.tex | 24 ++---
merge.tex | 4 +-
pkg-mgr-commands.tex | 84 +++++++++---------
pms.tex | 4 +-
profile-variables.tex | 8 +-
profiles.tex | 12 +--
tree-layout.tex | 4 +-
14 files changed, 230 insertions(+), 214 deletions(-)
diff --git a/commands.tex b/commands.tex
index 799a20c..d0ad87d 100644
--- a/commands.tex
+++ b/commands.tex
@@ -33,7 +33,7 @@ The following commands must always be available in the ebuild environment:
table~\ref{tab:system-commands-table} as requiring GNU find.
\end{compactitem}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{System commands for EAPIs}
\label{tab:system-commands-table}
\begin{tabular}{lll}
@@ -44,7 +44,7 @@ The following commands must always be available in the ebuild environment:
\midrule
0, 1, 2, 3, 4 & Undefined & Any \\
5, 6 & Yes & Any \\
- 7 & Yes & 2.7 \\
+ 7, 8 & Yes & 2.7 \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/dependencies.tex b/dependencies.tex
index 67855f5..3ef6fa6 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -82,7 +82,7 @@ as supporting \t{BDEPEND}, the build dependencies are split into two subclasses:
dependency.
\end{compactitem}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting additional dependency types}
\label{tab:depend-table}
\begin{tabular}{ll}
@@ -91,7 +91,7 @@ as supporting \t{BDEPEND}, the build dependencies are split into two subclasses:
\multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & No \\
- 7 & Yes \\
+ 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -146,7 +146,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
In particular, note that whitespace is not optional.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
\label{tab:at-most-one-of-table}
\begin{tabular}{ll}
@@ -155,7 +155,7 @@ In particular, note that whitespace is not optional.
\multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE ??}\ groups?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -195,7 +195,7 @@ In an exactly-one-of group, exactly one immediate child element must be matched.
In EAPIs specified in table~\ref{tab:empty-dep-groups}, an empty exactly-one-of group counts as
being matched.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Matching of empty dependency groups in EAPIs}
\label{tab:empty-dep-groups}
\begin{tabular}{ll}
@@ -205,7 +205,7 @@ being matched.
are matched?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & Yes \\
- 7 & No \\
+ 7, 8 & No \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -241,7 +241,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
\note{Order is important. The slot restriction must come before use dependencies.}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
\label{tab:slot-deps-table}
\begin{tabular}{lll}
@@ -252,12 +252,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
\midrule
0 & No & No \\
1, 2, 3, 4 & Named only & No \\
- 5, 6, 7 & Named and operator & Yes \\
+ 5, 6, 7, 8 & Named and operator & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{USE} dependencies}
\label{tab:use-deps-table}
\begin{tabular}{ll}
@@ -267,7 +267,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
\midrule
0, 1 & No \\
2, 3 & 2-style \\
- 4, 5, 6, 7 & 4-style \\
+ 4, 5, 6, 7, 8 & 4-style \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -301,7 +301,7 @@ ignored by the package manager, so long as any blocked package will be uninstall
strong block must not be ignored. The mapping from one or two exclamation marks to strength is
described in table~\ref{tab:bang-strength-table}.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Exclamation mark strengths for EAPIs}
\label{tab:bang-strength-table}
\begin{tabular}{lll}
@@ -310,8 +310,8 @@ described in table~\ref{tab:bang-strength-table}.
\multicolumn{1}{c}{\textbf{\t{!}}} &
\multicolumn{1}{c}{\textbf{\t{!!}}} \\
\midrule
- 0, 1 & Unspecified & Forbidden \\
- 2, 3, 4, 5, 6, 7 & Weak & Strong \\
+ 0, 1 & Unspecified & Forbidden \\
+ 2, 3, 4, 5, 6, 7, 8 & Weak & Strong \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/eapi-differences.tex b/eapi-differences.tex
index bc49a33..d5513c3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -6,34 +6,36 @@ below; entries marked with an asterisk differ between these EAPIs. See the 2012-
of this document for a complete table of previous EAPIs.}
% 2012-09-20 (EAPI 5) edition has a table of EAPIs 0 to 5
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{landscape}
-\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
\caption{Features in EAPIs}\\
\toprule
\multicolumn{1}{c}{\textbf{Feature}} &
\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
+\multicolumn{6}{c}{\textbf{EAPIs}} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{0, 1, 2, 3} &
\multicolumn{1}{c}{4} &
\multicolumn{1}{c}{5} &
\multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
\midrule
\endfirsthead
\midrule
\multicolumn{1}{c}{\textbf{Feature}} &
\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
+\multicolumn{6}{c}{\textbf{EAPIs}} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{0, 1, 2, 3} &
\multicolumn{1}{c}{4} &
\multicolumn{1}{c}{5} &
\multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
\midrule
\endhead
\midrule
@@ -42,92 +44,92 @@ of this document for a complete table of previous EAPIs.}
\endlastfoot
\t{package.mask} directory & \compactfeatureref{package-mask-dir} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
Profile files as directories & \compactfeatureref{profile-file-dirs} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{package.provided} & \compactfeatureref{package-provided} &
- Optional & Optional & Optional & Optional & No \\
+ Optional & Optional & Optional & Optional & No & No \\
Stable use masking/forcing & \compactfeatureref{stablemask} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
Bash version & \compactfeatureref{bash-version} &
- 3.2 & 3.2 & 3.2 & 4.2 & 4.2 \\
+ 3.2 & 3.2 & 3.2 & 4.2 & 4.2 & 4.2 \\
\t{failglob} in global scope & \compactfeatureref{failglob} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{REQUIRED_USE} & \compactfeatureref{required-use} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{PROPERTIES} & \compactfeatureref{properties} &
- Optionally & Yes & Yes & Yes & Yes \\
+ Optionally & Yes & Yes & Yes & Yes & Yes \\
\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
- Yes & No & No & No & No \\
+ Yes & No & No & No & No & No \\
\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
- Optionally & Yes & Yes & Yes & Yes \\
+ Optionally & Yes & Yes & Yes & Yes & Yes \\
\t{BDEPEND} & \compactfeatureref{bdepend} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
\compactfeatureref{empty-dep-groups} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
Slot dependencies & \compactfeatureref{slot-deps} &
- * & Named & Named and Operator & Named and Operator & Named and Operator \\
+ * & Named & Named and Operator & Named and Operator & Named and Operator & Named and Operator \\
Sub-slots & \compactfeatureref{sub-slot} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
Use dependencies & \compactfeatureref{use-deps} &
- * & 4-style & 4-style & 4-style & 4-style \\
+ * & 4-style & 4-style & 4-style & 4-style & 4-style \\
\t{!}\ blockers & \compactfeatureref{bang-strength} &
- * & Weak & Weak & Weak & Weak \\
+ * & Weak & Weak & Weak & Weak & Weak \\
\t{!!}\ blockers & \compactfeatureref{bang-strength} &
- * & Strong & Strong & Strong & Strong \\
+ * & Strong & Strong & Strong & Strong & Strong \\
\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
- Always & Conditional & Conditional & Conditional & Conditional \\
+ Always & Conditional & Conditional & Conditional & Conditional & Conditional \\
\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{src_prepare} & \compactfeatureref{src-prepare} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{src_prepare} style & \compactfeatureref{src-prepare} &
- * & no-op & no-op & 6 & 6 \\
+ * & no-op & no-op & 6 & 6 & 6 \\
\t{src_configure} & \compactfeatureref{src-configure} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{src_compile} style & \compactfeatureref{src-compile} &
- * & 2 & 2 & 2 & 2 \\
+ * & 2 & 2 & 2 & 2 & 2 \\
Parallel tests & \compactfeatureref{parallel-tests} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
\t{src_install} style & \compactfeatureref{src-install} &
- no-op & 4 & 4 & 6 & 6 \\
+ no-op & 4 & 4 & 6 & 6 & 6 \\
\t{pkg_info} & \compactfeatureref{pkg-info} &
- Installed & Both & Both & Both & Both \\
+ Installed & Both & Both & Both & Both & Both \\
\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
* &
@@ -137,185 +139,190 @@ Parallel tests & \compactfeatureref{parallel-tests} &
\t{src_compile}, \t{src_test}, \t{src_install} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} &
+ \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ \t{src_compile}, \t{src_test}, \t{src_install} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} \\
\t{AA} & \compactfeatureref{aa} &
- Yes & No & No & No & No \\
+ Yes & No & No & No & No & No \\
\t{PORTDIR} & \compactfeatureref{portdir} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
\t{ECLASSDIR} & \compactfeatureref{eclassdir} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
\t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{BROOT} & \compactfeatureref{broot} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{DESTTREE} & \compactfeatureref{desttree} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
\t{INSDESTTREE} & \compactfeatureref{insdesttree} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
\t{KV} & \compactfeatureref{kv} &
- Yes & No & No & No & No \\
+ Yes & No & No & No & No & No \\
\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{ENV_UNSET} & \compactfeatureref{env-unset} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
Sane locale settings & \compactfeatureref{locale-settings} &
- Undefined & Undefined & Undefined & Yes & Yes \\
+ Undefined & Undefined & Undefined & Yes & Yes & Yes \\
Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
GNU \t{patch} version & \compactfeatureref{gnu-patch} &
- Any & Any & Any & Any & 2.7 \\
+ Any & Any & Any & Any & 2.7 & 2.7 \\
\t{find} is GNU? & \compactfeatureref{gnu-find} &
- Undefined & Undefined & Yes & Yes & Yes \\
+ Undefined & Undefined & Yes & Yes & Yes & Yes \\
Most utilities die & \compactfeatureref{die-on-failure} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{nonfatal} & \compactfeatureref{nonfatal} &
- No & Yes & Yes & Yes & Function / external \\
+ No & Yes & Yes & Yes & Function / external & Function / external \\
\t{dohard} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned \\
+ Yes & Banned & Banned & Banned & Banned & Banned \\
\t{dosed} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned \\
+ Yes & Banned & Banned & Banned & Banned & Banned \\
\t{einstall} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Banned & Banned \\
+ Yes & Yes & Yes & Banned & Banned & Banned \\
\t{dohtml} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned \\
+ Yes & Yes & Yes & Yes & Banned & Banned \\
\t{dolib} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned \\
+ Yes & Yes & Yes & Yes & Banned & Banned \\
\t{libopts} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned \\
+ Yes & Yes & Yes & Yes & Banned & Banned \\
Query command options & \compactfeatureref{pm-query-options} &
- None & None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} \\
+ None & None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} &
+ \t{-b}, \t{-d}, \t{-r} \\
Output commands use stdout & \compactfeatureref{output-no-stdout} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & Yes & No & No \\
\t{eqawarn} & \compactfeatureref{eqawarn} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{die -n} & \compactfeatureref{nonfatal-die} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{die} in subshell & \compactfeatureref{subshell-die} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{eapply} & \compactfeatureref{eapply} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{eapply_user} & \compactfeatureref{eapply-user} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{econf} arguments & \compactfeatureref{econf-options} &
None & disable dependency tracking &
disable dependency tracking, disable silent rules &
disable dependency tracking, disable silent rules, docdir, htmldir &
+ disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot &
disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot \\
\t{dodoc -r} & \compactfeatureref{dodoc} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{doheader} & \compactfeatureref{doheader} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
\t{doins} handles symlinks & \compactfeatureref{doins} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{doman} languages & \compactfeatureref{doman-langs} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{domo} destination path & \compactfeatureref{domo-path} &
- \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} \\
+ \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} &
+ \t{/usr} \\
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
Controllable compression & \compactfeatureref{docompress} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{docompress} & \compactfeatureref{docompress} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
Controllable stripping & \compactfeatureref{dostrip} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{dostrip} & \compactfeatureref{dostrip} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{use_with} empty third arg & \compactfeatureref{use-with} &
- No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes & Yes \\
\t{usex} & \compactfeatureref{usex} &
- No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes & Yes \\
\t{in_iuse} & \compactfeatureref{in-iuse} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{ver_*} commands & \compactfeatureref{ver-commands} &
- No & No & No & No & Yes \\
+ No & No & No & No & Yes & Yes \\
\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{default} function & \compactfeatureref{default-func} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\t{einstalldocs} & \compactfeatureref{einstalldocs} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
\t{get_libdir} & \compactfeatureref{get-libdir} &
- No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes & Yes \\
File mtimes preserved & \compactfeatureref{mtime-preserve} &
- * & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes & Yes \\
\end{longtable}
\end{landscape}
@@ -474,7 +481,15 @@ EAPI 7 is EAPI 6 with the following changes:
\item Version manipulation and comparison commands, \featureref{ver-commands}.
\end{compactitem}
-\ChangeWhenAddingAnEAPI{7}
+\section{EAPI 8}
+
+EAPI 8 is EAPI 7 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{8}
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
diff --git a/eapis.tex b/eapis.tex
index 6c015a2..746decf 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -19,7 +19,7 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
The following EAPIs are defined by this specification:
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{compactdesc}
\item[0] The `original' base EAPI.
\item[1] EAPI `1' contains a number of extensions to EAPI `0'.
@@ -29,6 +29,7 @@ The following EAPIs are defined by this specification:
\item[5] EAPI `5' contains a number of extensions to EAPI `4'.
\item[6] EAPI `6' contains a number of extensions to EAPI `5'.
\item[7] EAPI `7' contains a number of extensions to EAPI `6'.
+\item[8] EAPI `8' contains a number of extensions to EAPI `7'.
\end{compactdesc}
Except where explicitly noted, everything in this specification
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 006b8e4..2e562d6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -262,7 +262,7 @@ variable.
\end{longtable}
\end{landscape}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting various added env variables}
\label{tab:added-env-vars-table}
\begin{tabular}{lllllll}
@@ -278,12 +278,12 @@ variable.
0, 1, 2, 3 & No & No & No & No & No & No \\
4 & Yes & Yes & Yes & No & No & No \\
5, 6 & Yes & Yes & Yes & Yes & No & No \\
- 7 & Yes & Yes & Yes & Yes & Yes & Yes \\
+ 7, 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting various removed env variables}
\label{tab:removed-env-vars-table}
\begin{tabular}{lllllll}
@@ -298,12 +298,12 @@ variable.
\midrule
0, 1, 2, 3 & Yes & Yes & Yes & Yes & Yes & Yes \\
4, 5, 6 & No & No & Yes & Yes & Yes & Yes \\
- 7 & No & No & No & No & No & No \\
+ 7, 8 & No & No & No & No & No & No \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting offset-prefix env variables}
\label{tab:offset-env-vars-table}
\begin{tabular}{lllll}
@@ -316,7 +316,7 @@ variable.
\midrule
0, 1, 2 & No & No & No & No \\
3, 4, 5, 6 & Yes & Yes & Yes & No \\
- 7 & Yes & Yes & Yes & Yes \\
+ 7, 8 & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -340,7 +340,7 @@ must be unset, for EAPIs listed in table~\ref{tab:profile-env-unset} as supporti
ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in
table~\ref{tab:locale-settings}.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Locale settings for EAPIs}
\label{tab:locale-settings}
\begin{tabular}{ll}
@@ -349,7 +349,7 @@ table~\ref{tab:locale-settings}.
\multicolumn{1}{c}{\textbf{Sane \t{LC_CTYPE} and \t{LC_COLLATE}?}} \\
\midrule
0, 1, 2, 3, 4, 5 & Undefined \\
- 6, 7 & Yes \\
+ 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -435,7 +435,7 @@ contain at most one value.
\subsection{Offset-prefix variables}
\label{sec:offset-vars}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting offset-prefix}
\label{tab:offset-support-table}
\begin{tabular}{ll}
@@ -444,7 +444,7 @@ contain at most one value.
\multicolumn{1}{c}{\textbf{Supports offset-prefix?}}\\
\midrule
0, 1, 2 & No \\
- 3, 4, 5, 6, 7 & Yes \\
+ 3, 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -475,7 +475,7 @@ specifies the system root directory, it will consist of a single slash (\t{/}).
a trailing slash, the package manager guarantees that a trailing slash will never be present.
If the path specifies the system root directory, it will be empty.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Variables that always or never end with a trailing slash}
\label{tab:trailing-slash}
\begin{tabular}{lll}
@@ -487,7 +487,7 @@ If the path specifies the system root directory, it will be empty.
\t{D}, \t{ED} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & always & always \\
- 7 & never & never \\
+ 7, 8 & never & never \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/ebuild-format.tex b/ebuild-format.tex
index d53d773..c2224bf 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -16,7 +16,7 @@ certain variables and functions (see chapters~\ref{ch:ebuild-vars} and~\ref{ch:e
for specific information), and must not call any external programs, write anything to standard
output or standard error, or modify the state of the system in any way.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Bash version and options}
\label{tab:bash-version}
\begin{tabular}{lll}
@@ -26,7 +26,7 @@ output or standard error, or modify the state of the system in any way.
\multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
\midrule
0, 1, 2, 3, 4, 5 & 3.2 & No \\
- 6, 7 & 4.2 & Yes \\
+ 6, 7, 8 & 4.2 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 4e691c5..ffdea16 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
executed, are in \t{DEFINED_PHASES}.
\end{compactitem}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
\label{tab:s-fallback-table}
\begin{tabular}{ll}
@@ -53,7 +53,7 @@ fallback to \t{WORKDIR} is used:
\multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\
\midrule
0, 1, 2, 3 & Always \\
- 4, 5, 6, 7 & Conditional error \\
+ 4, 5, 6, 7, 8 & Conditional error \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -75,7 +75,7 @@ before the next phase is executed.
\t{pkg_pretend} must not write to the filesystem.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{pkg_pretend}}
\label{tab:pkg-pretend-table}
\begin{tabular}{ll}
@@ -84,7 +84,7 @@ before the next phase is executed.
\multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\
\midrule
0, 1, 2, 3 & No \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -147,7 +147,7 @@ src_prepare() {
For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks
the \t{src_prepare} function is a no-op.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{src_prepare} support and behaviour for EAPIs}
\label{tab:src-prepare-table}
\begin{tabular}{lll}
@@ -158,7 +158,7 @@ the \t{src_prepare} function is a no-op.
\midrule
0, 1 & No & Not applicable \\
2, 3, 4, 5 & Yes & no-op \\
- 6, 7 & Yes & 6 \\
+ 6, 7, 8 & Yes & 6 \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -185,7 +185,7 @@ src_configure() {
\end{verbatim}
\end{listing}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{src_configure}}
\label{tab:src-configure-table}
\begin{tabular}{ll}
@@ -193,8 +193,8 @@ src_configure() {
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\
\midrule
- 0, 1 & No \\
- 2, 3, 4, 5, 6, 7 & Yes \\
+ 0, 1 & No \\
+ 2, 3, 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -258,7 +258,7 @@ src_compile() {
\end{verbatim}
\end{listing}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{src_compile} behaviour for EAPIs}
\label{tab:src-compile-table}
\begin{tabular}{ll}
@@ -266,9 +266,9 @@ src_compile() {
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{Format}} \\
\midrule
- 0 & 0 \\
- 1 & 1 \\
- 2, 3, 4, 5, 6, 7 & 2 \\
+ 0 & 0 \\
+ 1 & 1 \\
+ 2, 3, 4, 5, 6, 7, 8 & 2 \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -292,7 +292,7 @@ parallel tests, the \t{emake} command must be called with option \t{-j1}.
The \t{src_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may
be disabled by user too, using a PM-specific mechanism.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{src_test} behaviour for EAPIs}
\label{tab:src-test-table}
\begin{tabular}{ll}
@@ -301,7 +301,7 @@ be disabled by user too, using a PM-specific mechanism.
\multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -360,7 +360,7 @@ src_install() {
For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
is a no-op.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{src_install} behaviour for EAPIs}
\label{tab:src-install-table}
\begin{tabular}{ll}
@@ -370,7 +370,7 @@ is a no-op.
\midrule
0, 1, 2, 3 & no-op \\
4, 5 & 4 \\
- 6, 7 & 6 \\
+ 6, 7, 8 & 6 \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -428,7 +428,7 @@ that dependencies may not be installed.
\t{pkg_info} must not write to the filesystem.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{pkg_info} on non-installed packages}
\label{tab:pkg-info-table}
\begin{tabular}{ll}
@@ -437,7 +437,7 @@ that dependencies may not be installed.
\multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed packages?}} \\
\midrule
0, 1, 2, 3 & No \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -459,7 +459,7 @@ named \t{default_}(phase) that behaves as the default implementation for that EA
when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
when in the phase in question.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{default_} phase functions}
\label{tab:default-phase-function-table}
\begin{tabular}{l P{26em}}
@@ -470,7 +470,7 @@ when in the phase in question.
0, 1 & None \\
2, 3 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test} \\
- 4, 5, 6, 7 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+ 4, 5, 6, 7, 8 & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} \\
\bottomrule
\end{tabular}
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index bbd286f..040b02a 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -88,7 +88,7 @@ Ebuilds may define any of the following variables:
\item[PDEPEND] See chapter~\ref{ch:dependencies}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{IUSE} defaults}
\label{tab:iuse-defaults-table}
\begin{tabular}{ll}
@@ -96,13 +96,13 @@ Ebuilds may define any of the following variables:
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\
\midrule
- 0 & No \\
- 1, 2, 3, 4, 5, 6, 7 & Yes \\
+ 0 & No \\
+ 1, 2, 3, 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting various ebuild-defined variables}
\label{tab:optional-vars-table}
\begin{tabular}{lll}
@@ -112,7 +112,7 @@ Ebuilds may define any of the following variables:
\multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\
\midrule
0, 1, 2, 3 & Optionally & No \\
- 4, 5, 6, 7 & Yes & Yes \\
+ 4, 5, 6, 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -169,7 +169,7 @@ on the right of the arrow. When consulting mirrors (except for those explicitly
of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested
instead of the filename in the URI.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
\label{tab:uri-arrows-table}
\begin{tabular}{ll}
@@ -177,8 +177,8 @@ instead of the filename in the URI.
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
\midrule
- 0, 1 & No \\
- 2, 3, 4, 5, 6, 7 & Yes \\
+ 0, 1 & No \\
+ 2, 3, 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -263,7 +263,7 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{R
the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treated as being part of
\t{RDEPEND}.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} default}
\label{tab:rdepend-depend-table}
\begin{tabular}{ll}
@@ -272,7 +272,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
\multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\
\midrule
0, 1, 2, 3 & Yes \\
- 4, 5, 6, 7 & No \\
+ 4, 5, 6, 7, 8 & No \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -307,7 +307,7 @@ not be exported to the ebuild environment:
\note{Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be
defined based upon any variant condition.}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}}
\label{tab:defined-phases-table}
\begin{tabular}{ll}
@@ -316,7 +316,7 @@ defined based upon any variant condition.}
\multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\
\midrule
0, 1, 2, 3 & Optionally \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/merge.tex b/merge.tex
index 6649d35..0e6738d 100644
--- a/merge.tex
+++ b/merge.tex
@@ -86,7 +86,7 @@ held under the original image directory.
In other EAPIs, the behaviour with respect to file modification times
is undefined.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Preservation of file modification times (mtimes)}
\label{tab:mtime-preserve}
\begin{tabular}{ll}
@@ -95,7 +95,7 @@ is undefined.
\multicolumn{1}{c}{\textbf{mtimes preserved?}} \\
\midrule
0, 1, 2 & Undefined \\
- 3, 4, 5, 6, 7 & Yes \\
+ 3, 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bc6d1ac..71d1e89 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -31,7 +31,7 @@ The following commands affect this behaviour:
option and in EAPIs supporting this option, see table~\ref{tab:die-properties}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPI command failure behaviour}
\label{tab:commands-die-table}
\begin{tabular}{llll}
@@ -43,7 +43,7 @@ The following commands affect this behaviour:
\midrule
0, 1, 2, 3 & Non-zero exit & No & n/a \\
4, 5, 6 & Aborts & Yes & No \\
- 7 & Aborts & Yes & Yes \\
+ 7, 8 & Aborts & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -54,7 +54,7 @@ The following commands affect this behaviour:
\featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
called, the package manager must abort the build process indicating an error.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Banned commands}
\label{tab:banned-commands-table}
\begin{tabular}{lllllll}
@@ -72,7 +72,7 @@ called, the package manager must abort the build process indicating an error.
0, 1, 2, 3 & No & No & No & No & No & No \\
4, 5 & Yes & Yes & No & No & No & No \\
6 & Yes & Yes & Yes & No & No & No \\
- 7 & Yes & Yes & Yes & Yes & Yes & Yes \\
+ 7, 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -110,7 +110,7 @@ are given, \t{-r} is assumed.
otherwise, prints an empty string. The exit code is unspecified.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Package manager query command options supported by EAPIs}
\label{tab:pm-query-options}
\begin{tabular}{lllll}
@@ -123,7 +123,7 @@ are given, \t{-r} is assumed.
\midrule
0, 1, 2, 3, 4 & No & No & No & No \\
5, 6 & Yes & No & No & No \\
- 7 & No & Yes & Yes & Yes \\
+ 7, 8 & No & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -159,7 +159,7 @@ output, using stdout as an output facility is forbidden.
message followed by a failure indicator. Returns its first argument as exit status.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Output commands for EAPIs}
\label{tab:output-commands}
\begin{tabular}{lll}
@@ -169,7 +169,7 @@ output, using stdout as an output facility is forbidden.
\multicolumn{1}{c}{\textbf{Supports \t{eqawarn}?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & Yes & No \\
- 7 & No & Yes \\
+ 7, 8 & No & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -191,7 +191,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
(indicating failure), calls \t{die}, passing any parameters to it.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Properties of \t{die} and \t{assert} commands in EAPIs}
\label{tab:die-properties}
\begin{tabular}{lll}
@@ -204,7 +204,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
\midrule
0, 1, 2, 3, 4, 5 & No & No \\
6 & Yes & No \\
- 7 & Yes & Yes \\
+ 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -268,7 +268,7 @@ Ebuilds must not run any of these commands once the current phase function has r
subsequent calls, the command will do nothing and return~0.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Patch commands for EAPIs}
\label{tab:patch-commands}
\begin{tabular}{lll}
@@ -278,7 +278,7 @@ Ebuilds must not run any of these commands once the current phase function has r
\multicolumn{1}{c}{\textbf{\t{eapply_user}?}} \\
\midrule
0, 1, 2, 3, 4, 5 & No & No \\
- 6, 7 & Yes & Yes \\
+ 6, 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -327,7 +327,7 @@ commands once the current phase function has returned.
occurs in the output of \t{configure -{}-help}.
\end{itemize}
- \ChangeWhenAddingAnEAPI{7}
+ \ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Extra \t{econf} arguments for EAPIs}
\label{tab:econf-options-table}
\begin{tabular}{llllll}
@@ -343,7 +343,7 @@ commands once the current phase function has returned.
4 & Yes & No & No & No & No \\
5 & Yes & Yes & No & No & No \\
6 & Yes & Yes & Yes & Yes & No \\
- 7 & Yes & Yes & Yes & Yes & Yes \\
+ 7, 8 & Yes & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -619,7 +619,7 @@ the current phase function has returned.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{dodoc -r}}
\label{tab:dodoc-table}
\begin{tabular}{ll}
@@ -628,12 +628,12 @@ the current phase function has returned.
\multicolumn{1}{c}{\textbf{Supports \t{dodoc -r}?}} \\
\midrule
0, 1, 2, 3 & No \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}}
\label{tab:doheader-table}
\begin{tabular}{ll}
@@ -642,12 +642,12 @@ the current phase function has returned.
\multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting symlinks for \t{doins}}
\label{tab:doins-table}
\begin{tabular}{ll}
@@ -656,12 +656,12 @@ the current phase function has returned.
\multicolumn{1}{c}{\textbf{\t{doins} supports symlinks?}} \\
\midrule
0, 1, 2, 3 & No \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{doman} language support options for EAPIs}
\label{tab:doman-table}
\begin{tabular}{lll}
@@ -672,12 +672,12 @@ the current phase function has returned.
\midrule
0, 1 & No & Not applicable \\
2, 3 & Yes & No \\
- 4, 5, 6, 7 & Yes & Yes \\
+ 4, 5, 6, 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting stdin for \t{new*} commands}
\label{tab:newfoo-stdin-table}
\begin{tabular}{ll}
@@ -686,12 +686,12 @@ the current phase function has returned.
\multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{domo} destination path in EAPIs}
\label{tab:domo-path}
\begin{tabular}{ll}
@@ -700,7 +700,7 @@ the current phase function has returned.
\multicolumn{1}{c}{\textbf{Destination path}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & \t{\$\{DESTTREE\}/share/locale} \\
- 7 & \t{/usr/share/locale} \\
+ 7, 8 & \t{/usr/share/locale} \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -810,7 +810,7 @@ any of these functions from any other phase.
supporting \t{dostrip}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Commands controlling manipulation of files in the staging area in EAPIs}
\label{tab:staging-area-commands}
\begin{tabular}{lll}
@@ -821,7 +821,7 @@ any of these functions from any other phase.
\midrule
0, 1, 2, 3 & No & No \\
4, 5, 6 & Yes & No \\
- 7 & Yes & Yes \\
+ 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -865,7 +865,7 @@ table~\ref{tab:use-list-strictness}.
table~\ref{tab:use-list-functions} as supporting \t{in_iuse}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE_EFFECTIVE}}
\label{tab:use-list-strictness}
\begin{tabular}{ll}
@@ -874,12 +874,12 @@ table~\ref{tab:use-list-strictness}.
\multicolumn{1}{c}{\textbf{Behaviour}} \\
\midrule
0, 1, 2, 3 & Undefined \\
- 4, 5, 6, 7 & Error \\
+ 4, 5, 6, 7, 8 & Error \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and \t{use_enable}}
\label{tab:use-with-third-arg}
\begin{tabular}{ll}
@@ -888,12 +888,12 @@ table~\ref{tab:use-list-strictness}.
\multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
\midrule
0, 1, 2, 3 & No \\
- 4, 5, 6, 7 & Yes \\
+ 4, 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{usex} and \t{in_iuse}}
\label{tab:use-list-functions}
\begin{tabular}{lll}
@@ -904,7 +904,7 @@ table~\ref{tab:use-list-strictness}.
\midrule
0, 1, 2, 3, 4 & No & No \\
5 & Yes & No \\
- 6, 7 & Yes & Yes \\
+ 6, 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -984,7 +984,7 @@ the second, inclusively.
section~\ref{sec:version-spec}. Comparison is done using algorithm~\ref{alg:version-comparison}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting version manipulation commands}
\label{tab:version-commands}
\begin{tabular}{llll}
@@ -995,7 +995,7 @@ the second, inclusively.
\multicolumn{1}{c}{\textbf{\t{ver_test}?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & No & No & No \\
- 7 & Yes & Yes & Yes \\
+ 7, 8 & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -1069,7 +1069,7 @@ has returned.
\featurelabel{unpack-ignore-case} \t{unpack} matches filename extensions in a case-insensitive
manner, for EAPIs listed such in table~\ref{tab:unpack-behaviour}.
- \ChangeWhenAddingAnEAPI{7}
+ \ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{unpack} behaviour for EAPIs}
\label{tab:unpack-behaviour}
\begin{tabular}{lll}
@@ -1079,12 +1079,12 @@ has returned.
\multicolumn{1}{c}{\textbf{Case-insensitive matching?}} \\
\midrule
0, 1, 2, 3, 4, 5 & No & No \\
- 6, 7 & Yes & Yes \\
+ 6, 7, 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
- \ChangeWhenAddingAnEAPI{7}
+ \ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{unpack} extensions for EAPIs}
\label{tab:unpack-extensions-table}
\begin{tabular}{llll}
@@ -1096,7 +1096,7 @@ has returned.
\midrule
0, 1, 2 & No & No & No \\
3, 4, 5 & Yes & Yes & No \\
- 6, 7 & Yes & Yes & Yes \\
+ 6, 7, 8 & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -1163,7 +1163,7 @@ has returned.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Misc commands for EAPIs}
\label{tab:misc-commands}
\begin{tabular}{llll}
@@ -1175,7 +1175,7 @@ has returned.
\midrule
0, 1 & No & No & No \\
2, 3, 4, 5 & Yes & No & No \\
- 6, 7 & Yes & Yes & Yes \\
+ 6, 7, 8 & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/pms.tex b/pms.tex
index 7840252..f54b1a0 100644
--- a/pms.tex
+++ b/pms.tex
@@ -21,8 +21,8 @@
pdfkeywords={Gentoo, package manager, specification},
}
-\CurrentEAPIIs{7}
-\ChangeWhenAddingAnEAPI{7}
+\CurrentEAPIIs{8}
+\ChangeWhenAddingAnEAPI{8}
\begin{document}
\maketitle
diff --git a/profile-variables.tex b/profile-variables.tex
index f34c7c5..ba40bf4 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -40,7 +40,7 @@ Other variables, except where they affect only package-manager-specific function
Portage's \t{FEATURES} variable), must not be treated incrementally---later definitions shall
completely override those in parent profiles.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs}
\label{tab:profile-iuse-injection-table}
\begin{tabular}{ll}
@@ -49,12 +49,12 @@ completely override those in parent profiles.
\multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Profile-defined unsetting of variables in EAPIs}
\label{tab:profile-env-unset}
\begin{tabular}{ll}
@@ -63,7 +63,7 @@ completely override those in parent profiles.
\multicolumn{1}{c}{\textbf{Supports \t{ENV_UNSET}?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & No \\
- 7 & Yes \\
+ 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/profiles.tex b/profiles.tex
index a3e666e..d6e8649 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -78,7 +78,7 @@ in that directory, unless their name begins with a dot, will be concatenated in
filename in the POSIX locale and the result will be processed as if it were a single file.
Any subdirectories will be ignored.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting directories for profile files}
\label{tab:profile-file-dirs}
\begin{tabular}{ll}
@@ -87,7 +87,7 @@ Any subdirectories will be ignored.
\multicolumn{1}{c}{\textbf{Supports directories for profile files?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & No \\
- 7 & Yes \\
+ 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -123,7 +123,7 @@ it is actually installed. Because it has severe adverse effects on USE-based and
dependencies, its use is strongly deprecated and package manager support must be regarded as purely
optional. Supported in EAPIs as per table~\ref{tab:package-provided}.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{package.provided} in profiles}
\label{tab:package-provided}
\begin{tabular}{ll}
@@ -132,7 +132,7 @@ optional. Supported in EAPIs as per table~\ref{tab:package-provided}.
\multicolumn{1}{c}{\textbf{Supports \t{package.provided}?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & Optionally \\
- 7 & No \\
+ 7, 8 & No \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -165,7 +165,7 @@ only act on packages that are merged due to a stable keyword in the sense of
subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the feature set deemed
stable in a package.
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Profile directory support for masking/forcing use flags in stable versions only}
\label{tab:profile-stablemask}
\begin{tabular}{ll}
@@ -174,7 +174,7 @@ stable in a package.
\multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
\midrule
0, 1, 2, 3, 4 & No \\
- 5, 6, 7 & Yes \\
+ 5, 6, 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
diff --git a/tree-layout.tex b/tree-layout.tex
index fdf4b65..81599a9 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -127,7 +127,7 @@ manager must ignore any files in this directory that it does not recognise.
\item[updates/] This directory is described in section~\ref{sec:updates-dir}.
\end{description}
-\ChangeWhenAddingAnEAPI{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting a directory for \t{package.mask}}
\label{tab:package-mask-dir}
\begin{tabular}{ll}
@@ -136,7 +136,7 @@ manager must ignore any files in this directory that it does not recognise.
\multicolumn{1}{c}{\textbf{\t{package.mask} can be a directory?}} \\
\midrule
0, 1, 2, 3, 4, 5, 6 & No \\
- 7 & Yes \\
+ 7, 8 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 02/21] EAPI feature table: Consolidate EAPIs 0 to 4
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 01/21] Add an EAPI 8 identical to EAPI 7 Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 03/21] eapis.tex: Merge redundant descriptions Ulrich Müller
` (18 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 191 +++++++++++++++++++++----------------------
1 file changed, 93 insertions(+), 98 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index d5513c3..38109ec 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,23 +1,22 @@
\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, 2, and~3 have been consolidated into a single column in the table
+For lack of space, EAPIs 0, 1, 2, 3, and~4 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.}
% 2012-09-20 (EAPI 5) edition has a table of EAPIs 0 to 5
\ChangeWhenAddingAnEAPI{8}
\begin{landscape}
-\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
+\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
\caption{Features in EAPIs}\\
\toprule
\multicolumn{1}{c}{\textbf{Feature}} &
\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{6}{c}{\textbf{EAPIs}} \\
+\multicolumn{5}{c}{\textbf{EAPIs}} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0, 1, 2, 3} &
-\multicolumn{1}{c}{4} &
+\multicolumn{1}{c}{0, 1, 2, 3, 4} &
\multicolumn{1}{c}{5} &
\multicolumn{1}{c}{6} &
\multicolumn{1}{c}{7} &
@@ -27,11 +26,10 @@ of this document for a complete table of previous EAPIs.}
\midrule
\multicolumn{1}{c}{\textbf{Feature}} &
\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{6}{c}{\textbf{EAPIs}} \\
+\multicolumn{5}{c}{\textbf{EAPIs}} \\
\multicolumn{1}{c}{} &
\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0, 1, 2, 3} &
-\multicolumn{1}{c}{4} &
+\multicolumn{1}{c}{0, 1, 2, 3, 4} &
\multicolumn{1}{c}{5} &
\multicolumn{1}{c}{6} &
\multicolumn{1}{c}{7} &
@@ -44,92 +42,92 @@ of this document for a complete table of previous EAPIs.}
\endlastfoot
\t{package.mask} directory & \compactfeatureref{package-mask-dir} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
Profile files as directories & \compactfeatureref{profile-file-dirs} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{package.provided} & \compactfeatureref{package-provided} &
- Optional & Optional & Optional & Optional & No & No \\
+ Optional & Optional & Optional & No & No \\
Stable use masking/forcing & \compactfeatureref{stablemask} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Bash version & \compactfeatureref{bash-version} &
- 3.2 & 3.2 & 3.2 & 4.2 & 4.2 & 4.2 \\
+ 3.2 & 3.2 & 4.2 & 4.2 & 4.2 \\
\t{failglob} in global scope & \compactfeatureref{failglob} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{REQUIRED_USE} & \compactfeatureref{required-use} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{PROPERTIES} & \compactfeatureref{properties} &
- Optionally & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
- Yes & No & No & No & No & No \\
+ * & No & No & No & No \\
\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
- Optionally & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{BDEPEND} & \compactfeatureref{bdepend} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
\compactfeatureref{empty-dep-groups} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
Slot dependencies & \compactfeatureref{slot-deps} &
- * & Named & Named and Operator & Named and Operator & Named and Operator & Named and Operator \\
+ * & Named and Operator & Named and Operator & Named and Operator & Named and Operator \\
Sub-slots & \compactfeatureref{sub-slot} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Use dependencies & \compactfeatureref{use-deps} &
- * & 4-style & 4-style & 4-style & 4-style & 4-style \\
+ * & 4-style & 4-style & 4-style & 4-style \\
\t{!}\ blockers & \compactfeatureref{bang-strength} &
- * & Weak & Weak & Weak & Weak & Weak \\
+ * & Weak & Weak & Weak & Weak \\
\t{!!}\ blockers & \compactfeatureref{bang-strength} &
- * & Strong & Strong & Strong & Strong & Strong \\
+ * & Strong & Strong & Strong & Strong \\
\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
- Always & Conditional & Conditional & Conditional & Conditional & Conditional \\
+ * & Conditional & Conditional & Conditional & Conditional \\
\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{src_prepare} & \compactfeatureref{src-prepare} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{src_prepare} style & \compactfeatureref{src-prepare} &
- * & no-op & no-op & 6 & 6 & 6 \\
+ * & no-op & 6 & 6 & 6 \\
\t{src_configure} & \compactfeatureref{src-configure} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{src_compile} style & \compactfeatureref{src-compile} &
- * & 2 & 2 & 2 & 2 & 2 \\
+ * & 2 & 2 & 2 & 2 \\
Parallel tests & \compactfeatureref{parallel-tests} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{src_install} style & \compactfeatureref{src-install} &
- no-op & 4 & 4 & 6 & 6 & 6 \\
+ * & 4 & 6 & 6 & 6 \\
\t{pkg_info} & \compactfeatureref{pkg-info} &
- Installed & Both & Both & Both & Both & Both \\
+ * & Both & Both & Both & Both \\
\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
* &
@@ -139,190 +137,187 @@ Parallel tests & \compactfeatureref{parallel-tests} &
\t{src_compile}, \t{src_test}, \t{src_install} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} &
- \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
- \t{src_compile}, \t{src_test}, \t{src_install} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} \\
\t{AA} & \compactfeatureref{aa} &
- Yes & No & No & No & No & No \\
+ * & No & No & No & No \\
\t{PORTDIR} & \compactfeatureref{portdir} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
\t{ECLASSDIR} & \compactfeatureref{eclassdir} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
\t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{BROOT} & \compactfeatureref{broot} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{DESTTREE} & \compactfeatureref{desttree} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
\t{INSDESTTREE} & \compactfeatureref{insdesttree} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
\t{KV} & \compactfeatureref{kv} &
- Yes & No & No & No & No & No \\
+ * & No & No & No & No \\
\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{ENV_UNSET} & \compactfeatureref{env-unset} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
Sane locale settings & \compactfeatureref{locale-settings} &
- Undefined & Undefined & Undefined & Yes & Yes & Yes \\
+ Undefined & Undefined & Yes & Yes & Yes \\
Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
GNU \t{patch} version & \compactfeatureref{gnu-patch} &
- Any & Any & Any & Any & 2.7 & 2.7 \\
+ Any & Any & Any & 2.7 & 2.7 \\
\t{find} is GNU? & \compactfeatureref{gnu-find} &
- Undefined & Undefined & Yes & Yes & Yes & Yes \\
+ Undefined & Yes & Yes & Yes & Yes \\
Most utilities die & \compactfeatureref{die-on-failure} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{nonfatal} & \compactfeatureref{nonfatal} &
- No & Yes & Yes & Yes & Function / external & Function / external \\
+ * & Yes & Yes & Function / external & Function / external \\
\t{dohard} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned & Banned \\
+ * & Banned & Banned & Banned & Banned \\
\t{dosed} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned & Banned \\
+ * & Banned & Banned & Banned & Banned \\
\t{einstall} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Banned & Banned & Banned \\
+ Yes & Yes & Banned & Banned & Banned \\
\t{dohtml} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned & Banned \\
+ Yes & Yes & Yes & Banned & Banned \\
\t{dolib} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned & Banned \\
+ Yes & Yes & Yes & Banned & Banned \\
\t{libopts} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned & Banned \\
+ Yes & Yes & Yes & Banned & Banned \\
Query command options & \compactfeatureref{pm-query-options} &
- None & None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} &
+ None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} &
\t{-b}, \t{-d}, \t{-r} \\
Output commands use stdout & \compactfeatureref{output-no-stdout} &
- Yes & Yes & Yes & Yes & No & No \\
+ Yes & Yes & Yes & No & No \\
\t{eqawarn} & \compactfeatureref{eqawarn} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{die -n} & \compactfeatureref{nonfatal-die} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{die} in subshell & \compactfeatureref{subshell-die} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{eapply} & \compactfeatureref{eapply} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{eapply_user} & \compactfeatureref{eapply-user} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{econf} arguments & \compactfeatureref{econf-options} &
- None & disable dependency tracking &
+ * &
disable dependency tracking, disable silent rules &
disable dependency tracking, disable silent rules, docdir, htmldir &
disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot &
disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot \\
\t{dodoc -r} & \compactfeatureref{dodoc} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{doheader} & \compactfeatureref{doheader} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{doins} handles symlinks & \compactfeatureref{doins} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{doman} languages & \compactfeatureref{doman-langs} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{domo} destination path & \compactfeatureref{domo-path} &
- \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} &
- \t{/usr} \\
+ \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Controllable compression & \compactfeatureref{docompress} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{docompress} & \compactfeatureref{docompress} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
Controllable stripping & \compactfeatureref{dostrip} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{dostrip} & \compactfeatureref{dostrip} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{use_with} empty third arg & \compactfeatureref{use-with} &
- No & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{usex} & \compactfeatureref{usex} &
- No & No & Yes & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{in_iuse} & \compactfeatureref{in-iuse} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{ver_*} commands & \compactfeatureref{ver-commands} &
- No & No & No & No & Yes & Yes \\
+ No & No & No & Yes & Yes \\
\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{default} function & \compactfeatureref{default-func} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{einstalldocs} & \compactfeatureref{einstalldocs} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{get_libdir} & \compactfeatureref{get-libdir} &
- No & No & No & Yes & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
File mtimes preserved & \compactfeatureref{mtime-preserve} &
- * & Yes & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\end{longtable}
\end{landscape}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 03/21] eapis.tex: Merge redundant descriptions
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 01/21] Add an EAPI 8 identical to EAPI 7 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 02/21] EAPI feature table: Consolidate EAPIs 0 to 4 Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-06-05 10:04 ` [gentoo-pms] [PATCH 03/21 v2] " Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 04/21] Relicense from CC-BY-SA-3.0 to CC-BY-SA-4.0 Ulrich Müller
` (17 subsequent siblings)
20 siblings, 1 reply; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapis.tex | 16 +++-------------
1 file changed, 3 insertions(+), 13 deletions(-)
diff --git a/eapis.tex b/eapis.tex
index 746decf..f902869 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -17,20 +17,10 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
\section{Defined EAPIs}
-The following EAPIs are defined by this specification:
-
\ChangeWhenAddingAnEAPI{8}
-\begin{compactdesc}
-\item[0] The `original' base EAPI.
-\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'.
-\item[7] EAPI `7' contains a number of extensions to EAPI `6'.
-\item[8] EAPI `8' contains a number of extensions to EAPI `7'.
-\end{compactdesc}
+This specification defines EAPIs `0', `1', `2', `3', `4', `5', `6', `7', and~`8'.
+EAPI~`0' is the `original' base EAPI\@. Each of the later EAPIs contains a number of extensions
+to its predecessor.
Except where explicitly noted, everything in this specification
applies to all of the above EAPIs.%
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 04/21] Relicense from CC-BY-SA-3.0 to CC-BY-SA-4.0
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (2 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 03/21] eapis.tex: Merge redundant descriptions Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 05/21] EAPI 8 has less strict naming rules in the updates directory Ulrich Müller
` (16 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller, Michał Górny
Acked-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-cheatsheet.tex | 4 ++--
pms.tex | 5 +++--
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index d4abb1a..83ddfa7 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -73,8 +73,8 @@
% to the original author or the PMS team.
This work is released under the Creative Commons
- Attribution-Share Alike 3.0 Licence.%
- \footnote{\url{https://creativecommons.org/licenses/by-sa/3.0/}}
+ Attribution-ShareAlike 4.0 International Licence.%
+ \footnote{\url{https://creativecommons.org/licenses/by-sa/4.0/}}
\end{abstract}
\section{EAPIs 0, 1, 2, 3, and 4}
diff --git a/pms.tex b/pms.tex
index f54b1a0..8bbd037 100644
--- a/pms.tex
+++ b/pms.tex
@@ -34,8 +34,9 @@
\textcopyright{} 2007--2021 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
by their respective authors, and may have been changed substantially before inclusion.
- This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The
- full text of this licence can be found at \url{https://creativecommons.org/licenses/by-sa/3.0/}.
+ This work is released under the Creative Commons Attribution-ShareAlike 4.0 International
+ Licence. To~view a copy of this licence, visit
+ \url{https://creativecommons.org/licenses/by-sa/4.0/}.
\commitinfo
}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 05/21] EAPI 8 has less strict naming rules in the updates directory
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (3 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 04/21] Relicense from CC-BY-SA-3.0 to CC-BY-SA-4.0 Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 06/21] EAPI 8: Bash version is 5.0 Ulrich Müller
` (15 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/692774
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 5 ++++-
tree-layout.tex | 25 +++++++++++++++++++++----
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 38109ec..b89ede0 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -44,6 +44,9 @@ of this document for a complete table of previous EAPIs.}
\t{package.mask} directory & \compactfeatureref{package-mask-dir} &
No & No & No & Yes & Yes \\
+Less strict filenames in \t{updates} & \compactfeatureref{updates-filenames} &
+ No & No & No & No & Yes \\
+
Profile files as directories & \compactfeatureref{profile-file-dirs} &
No & No & No & Yes & Yes \\
@@ -481,7 +484,7 @@ EAPI 7 is EAPI 6 with the following changes:
EAPI 8 is EAPI 7 with the following changes:
\begin{compactitem}
-\item None
+\item Less strict naming rules for files in \t{updates} directory, \featureref{updates-filenames}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/tree-layout.tex b/tree-layout.tex
index 81599a9..aa04d3d 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -207,11 +207,14 @@ 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
+\featurelabel{updates-filenames} 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\@. For EAPIs
+so specified by table~\ref{tab:updates-filenames}, 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:
+\t{3Q-2006}. For other EAPIs, all regular files in this directory will be processed, unless their
+name begins with a dot.
+
+The format of each file is again line-based, with each line having one of the following formats:
\begin{verbatim}
move <qpn1> <qpn2>
slotmove <spec> <slot1> <slot2>
@@ -230,6 +233,20 @@ Any name that has appeared as the origin of a move must not be reused in the fut
that has appeared as the origin of a slot move may not be used by packages matching the spec of
that slot move in the future.
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Naming rules for files in \t{updates} directory for EAPIs}
+ \label{tab:updates-filenames}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Files per quarter year?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & Yes \\
+ 8 & No \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\section{The Licenses Directory}
\label{sec:licenses-dir}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 06/21] EAPI 8: Bash version is 5.0
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (4 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 05/21] EAPI 8 has less strict naming rules in the updates directory Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 07/21] Ban nameref variables from exported and default scope Ulrich Müller
` (14 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/636652
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 3 ++-
ebuild-format.tex | 3 ++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index b89ede0..a334881 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -57,7 +57,7 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
No & Yes & Yes & Yes & Yes \\
Bash version & \compactfeatureref{bash-version} &
- 3.2 & 3.2 & 4.2 & 4.2 & 4.2 \\
+ 3.2 & 3.2 & 4.2 & 4.2 & 5.0 \\
\t{failglob} in global scope & \compactfeatureref{failglob} &
No & No & Yes & Yes & Yes \\
@@ -485,6 +485,7 @@ EAPI 8 is EAPI 7 with the following changes:
\begin{compactitem}
\item Less strict naming rules for files in \t{updates} directory, \featureref{updates-filenames}.
+\item Bash version is 5.0, \featureref{bash-version}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/ebuild-format.tex b/ebuild-format.tex
index c2224bf..4929ba4 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -26,7 +26,8 @@ output or standard error, or modify the state of the system in any way.
\multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
\midrule
0, 1, 2, 3, 4, 5 & 3.2 & No \\
- 6, 7, 8 & 4.2 & Yes \\
+ 6, 7 & 4.2 & Yes \\
+ 8 & 5.0 & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 07/21] Ban nameref variables from exported and default scope
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (5 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 06/21] EAPI 8: Bash version is 5.0 Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 08/21] EAPI 8 has selective URI restrictions Ulrich Müller
` (13 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/636652
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
ebuild-format.tex | 2 ++
1 file changed, 2 insertions(+)
diff --git a/ebuild-format.tex b/ebuild-format.tex
index 4929ba4..25ba28e 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -11,6 +11,8 @@ compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported t
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.
+Name reference variables (introduced in bash version~4.3) must not be used, except in local scope.
+
The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
certain variables and functions (see chapters~\ref{ch:ebuild-vars} and~\ref{ch:ebuild-functions}
for specific information), and must not call any external programs, write anything to standard
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 08/21] EAPI 8 has selective URI restrictions
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (6 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 07/21] Ban nameref variables from exported and default scope Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 09/21] EAPI 8 has install-time dependencies (IDEPEND) Ulrich Müller
` (12 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Michał Górny, Ulrich Müller
From: Michał Górny <mgorny@gentoo.org>
Bug: https://bugs.gentoo.org/371413
Signed-off-by: Michał Górny <mgorny@gentoo.org>
[Shortened "selective-uri-restrict" label to make it fit in the margin]
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 ++++
ebuild-vars.tex | 18 +++++++++++++-----
2 files changed, 17 insertions(+), 5 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index a334881..22f99e2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -74,6 +74,9 @@ Bash version & \compactfeatureref{bash-version} &
\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
* & Yes & Yes & Yes & Yes \\
+Selective URI restrictions & \compactfeatureref{uri-restrict} &
+ No & No & No & No & Yes \\
+
\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
* & No & No & No & No \\
@@ -486,6 +489,7 @@ EAPI 8 is EAPI 7 with the following changes:
\begin{compactitem}
\item Less strict naming rules for files in \t{updates} directory, \featureref{updates-filenames}.
\item Bash version is 5.0, \featureref{bash-version}.
+\item Selective fetch/mirror restriction, \featureref{uri-restrict}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 040b02a..f6b1c26 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -169,16 +169,24 @@ on the right of the arrow. When consulting mirrors (except for those explicitly
of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested
instead of the filename in the URI.
+\featurelabel{uri-restrict} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting
+selective URI restrictions, the URI protocol can be prefixed by an additional \t{fetch+} or
+\t{mirror+} term. If the ebuild is fetch restricted, the \t{fetch+} prefix undoes the fetch
+restriction for the URI (but not the implied mirror restriction). If the ebuild is fetch or mirror
+restricted, the \t{mirror+} prefix undoes both fetch and mirror restrictions for the URI.
+
\ChangeWhenAddingAnEAPI{8}
-\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
+\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows and selective URI restrictions}
\label{tab:uri-arrows-table}
- \begin{tabular}{ll}
+ \begin{tabular}{lll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} &
+ \multicolumn{1}{c}{\textbf{Supports selective URI restrictions?}} \\
\midrule
- 0, 1 & No \\
- 2, 3, 4, 5, 6, 7, 8 & Yes \\
+ 0, 1 & No & No \\
+ 2, 3, 4, 5, 6, 7 & Yes & No \\
+ 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 09/21] EAPI 8 has install-time dependencies (IDEPEND)
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (7 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 08/21] EAPI 8 has selective URI restrictions Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 10/21] EAPI 8 has an empty working directory in pkg_* phases Ulrich Müller
` (11 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Michał Górny, Ulrich Müller
From: Michał Górny <mgorny@gentoo.org>
Bug: https://bugs.gentoo.org/660306
Signed-off-by: Michał Górny <mgorny@gentoo.org>
[Updated as discussed in -pms mailing list]
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
dependencies.tex | 25 +++++++++++++++++--------
eapi-differences.tex | 4 ++++
ebuild-env-vars.tex | 5 +++--
ebuild-vars.tex | 1 +
eclasses.tex | 10 +++++-----
metadata-cache.tex | 2 ++
6 files changed, 32 insertions(+), 15 deletions(-)
diff --git a/dependencies.tex b/dependencies.tex
index 3ef6fa6..f14a08c 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -21,7 +21,7 @@
\t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
\addlinespace
\t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
- \t{RDEPEND} \\
+ \t{RDEPEND}, \t{IDEPEND} \\
\addlinespace
\t{pkg_config} & \t{RDEPEND}, \t{PDEPEND} \\
\bottomrule
@@ -32,7 +32,7 @@
\label{tab:dep-class-api}
\begin{tabular}{llll}
\toprule
- & \t{BDEPEND} & \t{DEPEND} & \t{RDEPEND}, \t{PDEPEND} \\
+ & \t{BDEPEND}, \t{IDEPEND} & \t{DEPEND} & \t{RDEPEND}, \t{PDEPEND} \\
\midrule
Binary compatible with & \t{CBUILD} & \t{CHOST} & \t{CHOST} \\
Base unprefixed path & \t{/} & \t{\$\{SYSROOT\}} & \t{\$\{ROOT\}} \\
@@ -82,16 +82,24 @@ as supporting \t{BDEPEND}, the build dependencies are split into two subclasses:
dependency.
\end{compactitem}
+\featurelabel{idepend} Additionally, in EAPIs listed in table~\ref{tab:depend-table} as supporting
+\t{IDEPEND}, install-time dependencies can be specified. These dependencies are binary compatible
+with the native build system (\t{CBUILD}). Ebuilds are allowed to call them in \t{pkg_preinst} and
+\t{pkg_postinst}. Ebuilds may also call them in \t{pkg_prerm} and \t{pkg_postrm} but must not rely
+on them being available.
+
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting additional dependency types}
\label{tab:depend-table}
- \begin{tabular}{ll}
+ \begin{tabular}{lll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} \\
+ \multicolumn{1}{c}{\textbf{Supports \t{BDEPEND}?}} &
+ \multicolumn{1}{c}{\textbf{Supports \t{IDEPEND}?}} \\
\midrule
- 0, 1, 2, 3, 4, 5, 6 & No \\
- 7, 8 & Yes \\
+ 0, 1, 2, 3, 4, 5, 6 & No & No \\
+ 7 & Yes & No \\
+ 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -111,7 +119,7 @@ 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{BDEPEND}, \t{RDEPEND},
- \t{PDEPEND}.
+ \t{PDEPEND}, \t{IDEPEND}.
\item A URI, in the form \t{proto://host/path}. Permitted in \t{HOMEPAGE} and \t{SRC_URI}\@.
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
@@ -129,7 +137,8 @@ be surrounded on both sides by whitespace, except at the start and end of the st
followed by an open parenthesis, followed by whitespace, followed by one or more
of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)+ ')'}.
- Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
+ Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{IDEPEND}, \t{LICENSE},
+ \t{REQUIRED_USE}.
\item An exactly-one-of group, which has the same format as the any-of group, but begins with the
string \t{\textasciicircum\textasciicircum} instead. Permitted in \t{REQUIRED_USE}.
\item \featurelabel{at-most-one-of} An at-most-one-of group, which has the same format as the
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 22f99e2..f3af563 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -86,6 +86,9 @@ Selective URI restrictions & \compactfeatureref{uri-restrict} &
\t{BDEPEND} & \compactfeatureref{bdepend} &
No & No & No & Yes & Yes \\
+\t{IDEPEND} & \compactfeatureref{idepend} &
+ No & No & No & No & Yes \\
+
\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
No & Yes & Yes & Yes & Yes \\
@@ -490,6 +493,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item Less strict naming rules for files in \t{updates} directory, \featureref{updates-filenames}.
\item Bash version is 5.0, \featureref{bash-version}.
\item Selective fetch/mirror restriction, \featureref{uri-restrict}.
+\item \t{IDEPEND}, \featureref{idepend}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 2e562d6..ddea935 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -148,8 +148,9 @@ variable.
Ditto &
No &
\featurelabel{broot} The absolute path to the root directory containing build dependencies
- satisfied by \t{BDEPEND}, typically executable build tools. This includes any applicable offset
- prefix. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as supporting \t{BROOT}.
+ satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any
+ applicable offset prefix. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
+ supporting \t{BROOT}.
\\
\t{T} &
All &
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index f6b1c26..d07cca4 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -86,6 +86,7 @@ Ebuilds may define any of the following variables:
for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
details.
\item[PDEPEND] See chapter~\ref{ch:dependencies}.
+\item[IDEPEND] See chapter~\ref{ch:dependencies}.
\end{description}
\ChangeWhenAddingAnEAPI{8}
diff --git a/eclasses.tex b/eclasses.tex
index bf0007b..7f4ba67 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -34,11 +34,11 @@ The \t{inherit} command must also ensure that:
\section{Eclass-defined Metadata Keys}
-The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND} and \t{PDEPEND} variables
-are handled specially when set by an eclass. They must be accumulated across eclasses, appending
-the value set by each eclass to the resulting value after the previous one is loaded. Then the
-eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this
-is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND} and \t{IDEPEND}
+variables are handled specially when set by an eclass. They must be accumulated across eclasses,
+appending the value set by each eclass to the resulting value after the previous one is loaded.
+Then the eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND},
+this is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
\section{EXPORT_FUNCTIONS}
diff --git a/metadata-cache.tex b/metadata-cache.tex
index 33574c4..d69ecdd 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -36,6 +36,8 @@ order. Other lines may be present following these; their meanings are not define
metadata; see table~\ref{tab:optional-vars-table}.
\item Defined phases (\t{DEFINED_PHASES}). In some EAPIs, may optionally be blank, regardless of
ebuild metadata; see table~\ref{tab:defined-phases-table}.
+\item Install-time dependencies (\t{IDEPEND}).
+ Blank in some EAPIs; see table~\ref{tab:depend-table}.
\item Blank lines to pad the file to 22 lines long
\end{compactenum}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 10/21] EAPI 8 has an empty working directory in pkg_* phases
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (8 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 09/21] EAPI 8 has install-time dependencies (IDEPEND) Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 11/21] Rearrange listings of phase functions Ulrich Müller
` (10 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
https://bugs.gentoo.org/595030
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 ++++
ebuild-functions.tex | 26 +++++++++++++++++++++-----
2 files changed, 25 insertions(+), 5 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index f3af563..08c4e9f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -111,6 +111,9 @@ Use dependencies & \compactfeatureref{use-deps} &
\t{!!}\ blockers & \compactfeatureref{bang-strength} &
* & Strong & Strong & Strong & Strong \\
+Working directory in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
+ Any & Any & Any & Any & Empty \\
+
\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
* & Conditional & Conditional & Conditional & Conditional \\
@@ -494,6 +497,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item Bash version is 5.0, \featureref{bash-version}.
\item Selective fetch/mirror restriction, \featureref{uri-restrict}.
\item \t{IDEPEND}, \featureref{idepend}.
+\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index ffdea16..00fd259 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -22,11 +22,13 @@ Ebuilds must not call nor assume the existence of any phase functions.
\subsection{Initial working directories}
\label{sec:s-to-workdir-fallback}
-Some functions may assume that their initial working directory is set to a particular location;
-these are noted below. If no initial working directory is mandated, it may be set to anything and
-the ebuild must not rely upon a particular location for it. The ebuild \emph{may} assume that the
-initial working directory for any phase is a trusted location that may only be written to by a
-privileged user and group.
+\featurelabel{phase-function-dir} Some functions may assume that their initial working directory is
+set to a particular location; these are noted below. If no initial working directory is mandated,
+then for EAPIs listed in table~\ref{tab:function-dirs} as having an empty directory, it must be set
+to a dedicated directory that is empty at the start of the function and may be read-only. For other
+EAPIs, it may be set to anything. The ebuild must not rely upon a particular location for it.
+The ebuild \emph{may} assume that the initial working directory for any phase is a trusted location
+that may only be written to by a 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
@@ -44,6 +46,20 @@ fallback to \t{WORKDIR} is used:
executed, are in \t{DEFINED_PHASES}.
\end{compactitem}
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Initial working directory in \t{pkg_*} phase functions for EAPIs}
+ \label{tab:function-dirs}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Initial working directory?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & Any \\
+ 8 & Empty \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks}
\label{tab:s-fallback-table}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 11/21] Rearrange listings of phase functions
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (9 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 10/21] EAPI 8 has an empty working directory in pkg_* phases Ulrich Müller
@ 2021-05-27 20:25 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 12/21] EAPI 8: Default src_prepare doesn't accept options in PATCHES Ulrich Müller
` (9 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:25 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 10 +--
ebuild-functions.tex | 164 ++++++++++++++++++++-----------------------
2 files changed, 82 insertions(+), 92 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 08c4e9f..842e09f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -349,7 +349,7 @@ EAPI 1 is EAPI 0 with the following changes:
\begin{compactitem}
\item \t{IUSE} defaults, \featureref{iuse-defaults}.
\item Slot dependencies, \featureref{slot-deps}.
-\item Different \t{src_compile} implementation, \featureref{src-compile-1}.
+\item Different \t{src_compile} implementation, \featureref{src-compile}.
\end{compactitem}
\section{EAPI 2}
@@ -362,7 +362,7 @@ EAPI 2 is EAPI 1 with the following changes:
\item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}.
\item \t{src_prepare}, \featureref{src-prepare}.
\item \t{src_configure}, \featureref{src-configure}.
-\item Different \t{src_compile} implementation, \featureref{src-compile-2}.
+\item Different \t{src_compile} implementation, \featureref{src-compile}.
\item \t{default_} phase functions for phases \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare},
\t{src_configure}, \t{src_compile} and \t{src_test}; \featureref{default-phase-funcs}.
\item \t{doman} language detection by filename, \featureref{doman-langs}.
@@ -391,7 +391,7 @@ EAPI 4 is EAPI 3 with the following changes:
\item Use dependency defaults, \featureref{use-dep-defaults}.
\item \t{S} to \t{WORKDIR} fallback restricted, \featureref{s-workdir-fallback}.
\item \t{pkg_pretend}, \featureref{pkg-pretend}.
-\item Default \t{src_install} no longer a no-op, \featureref{src-install-4}.
+\item Default \t{src_install} no longer a no-op, \featureref{src-install}.
\item \t{pkg_info} can run on non-installed packages, \featureref{pkg-info}.
\item \t{AA} is gone, \featureref{aa}.
\item \t{KV} is gone, \featureref{kv}.
@@ -436,8 +436,8 @@ 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 Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}.
-\item Different \t{src_install} implementation, \featureref{src-install-6}.
+\item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare}.
+\item Different \t{src_install} implementation, \featureref{src-install}.
\item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
\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 00fd259..b224e0b 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -120,10 +120,10 @@ The \t{src_unpack} function extracts all of the package's sources. In EAPIs lack
\t{src_prepare}, it may also apply patches and set up the package's build system for further use.
The initial working directory must be \t{WORKDIR}, and the default implementation used when
-the ebuild lacks the \t{src_unpack} function shall behave as:
+the ebuild lacks the \t{src_unpack} function shall behave as in listing~\ref{lst:src-unpack-0}.
\begin{listing}[H]
-\caption{\t{src_unpack}}
+\caption{\t{src_unpack}} \label{lst:src-unpack-0}
\begin{verbatim}
src_unpack() {
if [[ -n ${A} ]]; then
@@ -142,23 +142,9 @@ 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{\t{src_prepare}, format~6}
-\begin{verbatim}
-src_prepare() {
- if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then
- [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
- else
- [[ -n ${PATCHES} ]] && eapply ${PATCHES}
- fi
- eapply_user
-}
-\end{verbatim}
-\end{listing}
+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 in
+listing~\ref{lst:src-prepare-6}.
For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks
the \t{src_prepare} function is a no-op.
@@ -179,6 +165,20 @@ the \t{src_prepare} function is a no-op.
\end{tabular}
\end{centertable}
+\begin{listing}[H]
+\caption{\t{src_prepare}, format~6} \label{lst:src-prepare-6}
+\begin{verbatim}
+src_prepare() {
+ if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then
+ [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
+ else
+ [[ -n ${PATCHES} ]] && eapply ${PATCHES}
+ fi
+ eapply_user
+}
+\end{verbatim}
+\end{listing}
+
\subsection{src_configure}
\featurelabel{src-configure} The \t{src_configure} function is only called for EAPIs listed in
@@ -188,18 +188,8 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR}
section~\ref{sec:s-to-workdir-fallback}.
The \t{src_configure} function configures the package's build environment. The default
-implementation used when the ebuild lacks the \t{src_configure} function shall behave as:
-
-\begin{listing}[H]
-\caption{\t{src_configure}}
-\begin{verbatim}
-src_configure() {
- if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
- econf
- fi
-}
-\end{verbatim}
-\end{listing}
+implementation used when the ebuild lacks the \t{src_configure} function shall behave as in
+listing~\ref{lst:src-configure-2}.
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{EAPIs supporting \t{src_configure}}
@@ -215,6 +205,17 @@ src_configure() {
\end{tabular}
\end{centertable}
+\begin{listing}[H]
+\caption{\t{src_configure}} \label{lst:src-configure-2}
+\begin{verbatim}
+src_configure() {
+ if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
+ econf
+ fi
+}
+\end{verbatim}
+\end{listing}
+
\subsection{src_compile}
\featurelabel{src-compile} The \t{src_compile} function configures the package's build environment
@@ -223,12 +224,28 @@ in EAPIs lacking \t{src_configure}, and builds the package in all EAPIs.
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-compile-0} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-0, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
-as:
+For EAPIs listed in table~\ref{tab:src-compile-table} as using format 0, 1 or~2, the default
+implementation used when the ebuild lacks the \t{src_prepare} function shall behave as in
+listing~\ref{lst:src-compile-0}, listing~\ref{lst:src-compile-1} or listing~\ref{lst:src-compile-2},
+respectively.
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{\t{src_compile} behaviour for EAPIs}
+ \label{tab:src-compile-table}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Format}} \\
+ \midrule
+ 0 & 0 \\
+ 1 & 1 \\
+ 2, 3, 4, 5, 6, 7, 8 & 2 \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
\begin{listing}[H]
-\caption{\t{src_compile}, format~0}
+\caption{\t{src_compile}, format~0} \label{lst:src-compile-0}
\begin{verbatim}
src_compile() {
if [[ -x ./configure ]]; then
@@ -241,12 +258,8 @@ src_compile() {
\end{verbatim}
\end{listing}
-\featurelabel{src-compile-1} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-1, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
-as:
-
\begin{listing}[H]
-\caption{\t{src_compile}, format~1}
+\caption{\t{src_compile}, format~1} \label{lst:src-compile-1}
\begin{verbatim}
src_compile() {
if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -259,12 +272,8 @@ src_compile() {
\end{verbatim}
\end{listing}
-\featurelabel{src-compile-2} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-2, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
-as:
-
\begin{listing}[H]
-\caption{\t{src_compile}, format~2}
+\caption{\t{src_compile}, format~2} \label{lst:src-compile-2}
\begin{verbatim}
src_compile() {
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -274,21 +283,6 @@ src_compile() {
\end{verbatim}
\end{listing}
-\ChangeWhenAddingAnEAPI{8}
-\begin{centertable}{\t{src_compile} behaviour for EAPIs}
- \label{tab:src-compile-table}
- \begin{tabular}{ll}
- \toprule
- \multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Format}} \\
- \midrule
- 0 & 0 \\
- 1 & 1 \\
- 2, 3, 4, 5, 6, 7, 8 & 2 \\
- \bottomrule
- \end{tabular}
-\end{centertable}
-
\subsection{src_test}
The \t{src_test} function runs unit tests for the newly built but not yet installed package as
@@ -330,12 +324,30 @@ directory specified in \t{D}.
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-install-4} For EAPIs listed in table~\ref{tab:src-install-table} as using format
-4, the default implementation used when the ebuild lacks the \t{src_install} function shall behave
-as:
+For EAPIs listed in table~\ref{tab:src-install-table} as using format 4 or~6, the default
+implementation used when the ebuild lacks the \t{src_prepare} function shall behave as in
+listing~\ref{lst:src-install-4} or listing~\ref{lst:src-install-6}, respectively.
+
+For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
+is a no-op.
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{\t{src_install} behaviour for EAPIs}
+ \label{tab:src-install-table}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Format}} \\
+ \midrule
+ 0, 1, 2, 3 & no-op \\
+ 4, 5 & 4 \\
+ 6, 7, 8 & 6 \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
\begin{listing}[H]
-\caption{\t{src_install}, format~4}
+\caption{\t{src_install}, format~4} \label{lst:src-install-4}
\begin{verbatim}
src_install() {
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -357,12 +369,8 @@ 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{\t{src_install}, format~6}
+\caption{\t{src_install}, format~6} \label{lst:src-install-6}
\begin{verbatim}
src_install() {
if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -373,24 +381,6 @@ src_install() {
\end{verbatim}
\end{listing}
-For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
-is a no-op.
-
-\ChangeWhenAddingAnEAPI{8}
-\begin{centertable}{\t{src_install} behaviour for EAPIs}
- \label{tab:src-install-table}
- \begin{tabular}{ll}
- \toprule
- \multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Format}} \\
- \midrule
- 0, 1, 2, 3 & no-op \\
- 4, 5 & 4 \\
- 6, 7, 8 & 6 \\
- \bottomrule
- \end{tabular}
-\end{centertable}
-
\subsection{pkg_preinst}
The \t{pkg_preinst} function performs any special tasks that are required immediately before
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 12/21] EAPI 8: Default src_prepare doesn't accept options in PATCHES
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (10 preceding siblings ...)
2021-05-27 20:25 ` [gentoo-pms] [PATCH 11/21] Rearrange listings of phase functions Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 13/21] EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses Ulrich Müller
` (8 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Also simplify array detection by using the @a operator in parameter
expansion. This feature was introduced in bash-4.4.
Bug: https://bugs.gentoo.org/752486
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 3 ++-
ebuild-functions.tex | 21 ++++++++++++++++++---
2 files changed, 20 insertions(+), 4 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 842e09f..aeddb6e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -124,7 +124,7 @@ Working directory in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
* & Yes & Yes & Yes & Yes \\
\t{src_prepare} style & \compactfeatureref{src-prepare} &
- * & no-op & 6 & 6 & 6 \\
+ * & no-op & 6 & 6 & 8 \\
\t{src_configure} & \compactfeatureref{src-configure} &
* & Yes & Yes & Yes & Yes \\
@@ -498,6 +498,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item Selective fetch/mirror restriction, \featureref{uri-restrict}.
\item \t{IDEPEND}, \featureref{idepend}.
\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}.
+\item Different \t{src_prepare} implementation, \featureref{src-prepare}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index b224e0b..0c745c3 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -142,9 +142,9 @@ 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}.
-For EAPIs listed in table~\ref{tab:src-prepare-table} as using format~6, the default
+For EAPIs listed in table~\ref{tab:src-prepare-table} as using format 6 or~8, the default
implementation used when the ebuild lacks the \t{src_prepare} function shall behave as in
-listing~\ref{lst:src-prepare-6}.
+listing~\ref{lst:src-prepare-6} or listing~\ref{lst:src-prepare-8}, respectively.
For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks
the \t{src_prepare} function is a no-op.
@@ -160,7 +160,8 @@ the \t{src_prepare} function is a no-op.
\midrule
0, 1 & No & Not applicable \\
2, 3, 4, 5 & Yes & no-op \\
- 6, 7, 8 & Yes & 6 \\
+ 6, 7 & Yes & 6 \\
+ 8 & Yes & 8 \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -179,6 +180,20 @@ src_prepare() {
\end{verbatim}
\end{listing}
+\begin{listing}[H]
+\caption{\t{src_prepare}, format~8} \label{lst:src-prepare-8}
+\begin{verbatim}
+src_prepare() {
+ if [[ ${PATCHES@a} == *a* ]]; then
+ [[ -n ${PATCHES[@]} ]] && eapply -- "${PATCHES[@]}"
+ else
+ [[ -n ${PATCHES} ]] && eapply -- ${PATCHES}
+ fi
+ eapply_user
+}
+\end{verbatim}
+\end{listing}
+
\subsection{src_configure}
\featurelabel{src-configure} The \t{src_configure} function is only called for EAPIs listed in
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 13/21] EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (11 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 12/21] EAPI 8: Default src_prepare doesn't accept options in PATCHES Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 14/21] EAPI 8: useq, hasv and hasq are banned Ulrich Müller
` (7 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/701132
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 ++++
eclasses.tex | 27 ++++++++++++++++++++++-----
2 files changed, 26 insertions(+), 5 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index aeddb6e..c7af2b3 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -152,6 +152,9 @@ Parallel tests & \compactfeatureref{parallel-tests} &
\t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
\t{src_compile}, \t{src_test}, \t{src_install} \\
+Accumulate \t{RESTRICT} etc. & \compactfeatureref{accumulate-vars} &
+ No & No & No & No & Yes \\
+
\t{AA} & \compactfeatureref{aa} &
* & No & No & No & No \\
@@ -499,6 +502,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{IDEPEND}, \featureref{idepend}.
\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}.
\item Different \t{src_prepare} implementation, \featureref{src-prepare}.
+\item \t{PROPERTIES} and \t{RESTRICT} accumulated across eclasses, \featureref{accumulate-vars}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/eclasses.tex b/eclasses.tex
index 7f4ba67..a92ce1f 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -34,11 +34,28 @@ The \t{inherit} command must also ensure that:
\section{Eclass-defined Metadata Keys}
-The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND}, \t{PDEPEND} and \t{IDEPEND}
-variables are handled specially when set by an eclass. They must be accumulated across eclasses,
-appending the value set by each eclass to the resulting value after the previous one is loaded.
-Then the eclass-defined value is appended to that defined by the ebuild. In the case of \t{RDEPEND},
-this is done after the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+\featurelabel{accumulate-vars} The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
+\t{PDEPEND} and \t{IDEPEND} variables are handled specially when set by an eclass. They must be
+accumulated across eclasses, appending the value set by each eclass to the resulting value after
+the previous one is loaded. For EAPIs listed in table~\ref{tab:accumulate-vars} as accumulating
+\t{PROPERTIES} and \t{RESTRICT}, the same is true for these variables. Then the eclass-defined
+value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after
+the implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{EAPIs accumulating \t{PROPERTIES} and \t{RESTRICT} across eclasses}
+ \label{tab:accumulate-vars}
+ \begin{tabular}{lll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{Accumulates \t{PROPERTIES}?}} &
+ \multicolumn{1}{c}{\textbf{Accumulates \t{RESTRICT}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & No & No \\
+ 8 & Yes & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
\section{EXPORT_FUNCTIONS}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 14/21] EAPI 8: useq, hasv and hasq are banned
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (12 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 13/21] EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 15/21] EAPI 8 has econf passing --datarootdir Ulrich Müller
` (6 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/199722
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 11 +++++++++++
pkg-mgr-commands.tex | 16 ++++++++++++++++
2 files changed, 27 insertions(+)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index c7af2b3..a2a74b8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -236,6 +236,15 @@ Most utilities die & \compactfeatureref{die-on-failure} &
\t{libopts} & \compactfeatureref{banned-commands} &
Yes & Yes & Yes & Banned & Banned \\
+\t{useq} & \compactfeatureref{banned-commands} &
+ Yes & Yes & Yes & Yes & Banned \\
+
+\t{hasv} & \compactfeatureref{banned-commands} &
+ Yes & Yes & Yes & Yes & Banned \\
+
+\t{hasq} & \compactfeatureref{banned-commands} &
+ Yes & Yes & Yes & Yes & Banned \\
+
Query command options & \compactfeatureref{pm-query-options} &
None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} &
\t{-b}, \t{-d}, \t{-r} \\
@@ -503,6 +512,8 @@ EAPI 8 is EAPI 7 with the following changes:
\item Empty working directory in \t{pkg_*} phase functions, \featureref{phase-function-dir}.
\item Different \t{src_prepare} implementation, \featureref{src-prepare}.
\item \t{PROPERTIES} and \t{RESTRICT} accumulated across eclasses, \featureref{accumulate-vars}.
+\item \t{useq} banned, \featureref{banned-commands}.
+\item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 71d1e89..c56e592 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -73,6 +73,16 @@ called, the package manager must abort the build process indicating an error.
4, 5 & Yes & Yes & No & No & No & No \\
6 & Yes & Yes & Yes & No & No & No \\
7, 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
+ \midrule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{6}{c}{\textbf{Command banned?}} \\
+ \multicolumn{1}{c}{} &
+ \multicolumn{1}{c}{\textbf{\t{useq}}} &
+ \multicolumn{1}{c}{\textbf{\t{hasv}}} &
+ \multicolumn{1}{c}{\textbf{\t{hasq}}} & & & \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & No & No & No & & & \\
+ 8 & Yes & Yes & Yes & & & \\
\bottomrule
\end{tabular}
\end{centertable}
@@ -842,6 +852,8 @@ table~\ref{tab:use-list-strictness}.
\item[usev] The same as \t{use}, but also prints the flag name if the condition
is met.
\item[useq] Deprecated synonym for \t{use}.
+ In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+ section~\ref{sec:banned-commands}.
\item[use_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first
argument is a USE flag name, the second a \t{configure} option name (\t{\$\{opt\}}), defaulting
to the same as the first argument if not provided, and the third is a string value
@@ -916,7 +928,11 @@ These functions check whitespace-separated lists for a particular value.
\item[has] Returns shell true (0) if the first argument (a word) is found in the list of subsequent
arguments, false otherwise. Guaranteed quiet.
\item[hasv] The same as \t{has}, but also prints the first argument if found.
+ In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+ section~\ref{sec:banned-commands}.
\item[hasq] Deprecated synonym for \t{has}.
+ In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+ section~\ref{sec:banned-commands}.
\end{description}
\subsection{Version manipulation and comparison commands}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 15/21] EAPI 8 has econf passing --datarootdir
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (13 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 14/21] EAPI 8: useq, hasv and hasq are banned Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 16/21] EAPI 8: econf adds --disable-static Ulrich Müller
` (5 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Michał Górny, Ulrich Müller
From: Michał Górny <mgorny@gentoo.org>
Bug: https://bugs.gentoo.org/651958
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 3 ++-
pkg-mgr-commands.tex | 17 +++++++++++------
2 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index a2a74b8..32f4a66 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -272,7 +272,7 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
disable dependency tracking, disable silent rules &
disable dependency tracking, disable silent rules, docdir, htmldir &
disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot &
- disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot \\
+ disable dependency tracking, disable silent rules, datarootdir, docdir, htmldir, with sysroot \\
\t{dodoc -r} & \compactfeatureref{dodoc} &
* & Yes & Yes & Yes & Yes \\
@@ -514,6 +514,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{PROPERTIES} and \t{RESTRICT} accumulated across eclasses, \featureref{accumulate-vars}.
\item \t{useq} banned, \featureref{banned-commands}.
\item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}.
+\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c56e592..7909bdd 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -312,6 +312,9 @@ commands once the current phase function has returned.
\item \t{-{}-mandir} must be \t{\$\{EPREFIX\}/usr/share/man}
\item \t{-{}-infodir} must be \t{\$\{EPREFIX\}/usr/share/info}
\item \t{-{}-datadir} must be \t{\$\{EPREFIX\}/usr/share}
+ \item \t{-{}-datarootdir} must be \t{\$\{EPREFIX\}/usr/share}, 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{-{}-datarootdir} occurs in the output of \t{configure -{}-help}.
\item \t{-{}-sysconfdir} must be \t{\$\{EPREFIX\}/etc}
\item \t{-{}-localstatedir} must be \t{\$\{EPREFIX\}/var/lib}
\item \t{-{}-docdir} must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
@@ -340,20 +343,22 @@ commands once the current phase function has returned.
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Extra \t{econf} arguments for EAPIs}
\label{tab:econf-options-table}
- \begin{tabular}{llllll}
+ \begin{tabular}{lllllll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{P{9em}}{\textbf{-{}-disable-dependency-tracking}} &
\multicolumn{1}{P{5em}}{\textbf{-{}-disable-silent-rules}} &
+ \multicolumn{1}{c}{\textbf{-{}-datarootdir}} &
\multicolumn{1}{c}{\textbf{-{}-docdir}} &
\multicolumn{1}{c}{\textbf{-{}-htmldir}} &
\multicolumn{1}{c}{\textbf{-{}-with-sysroot}} \\
\midrule
- 0, 1, 2, 3 & No & No & No & No & No \\
- 4 & Yes & No & No & No & No \\
- 5 & Yes & Yes & No & No & No \\
- 6 & Yes & Yes & Yes & Yes & No \\
- 7, 8 & Yes & Yes & Yes & Yes & Yes \\
+ 0, 1, 2, 3 & No & No & No & No & No & No \\
+ 4 & Yes & No & No & No & No & No \\
+ 5 & Yes & Yes & No & No & No & No \\
+ 6 & Yes & Yes & No & Yes & Yes & No \\
+ 7 & Yes & Yes & No & Yes & Yes & Yes \\
+ 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 16/21] EAPI 8: econf adds --disable-static
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (14 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 15/21] EAPI 8 has econf passing --datarootdir Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 17/21] Split the econf options table because it has become too wide Ulrich Müller
` (4 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/744871
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 +++-
pkg-mgr-commands.tex | 18 +++++++++++-------
2 files changed, 14 insertions(+), 8 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 32f4a66..bbb8957 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -272,7 +272,8 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
disable dependency tracking, disable silent rules &
disable dependency tracking, disable silent rules, docdir, htmldir &
disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot &
- disable dependency tracking, disable silent rules, datarootdir, docdir, htmldir, with sysroot \\
+ disable dependency tracking, disable silent rules, disable static,
+ datarootdir, docdir, htmldir, with sysroot \\
\t{dodoc -r} & \compactfeatureref{dodoc} &
* & Yes & Yes & Yes & Yes \\
@@ -515,6 +516,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{useq} banned, \featureref{banned-commands}.
\item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}.
\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}.
+\item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7909bdd..e74f730 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -338,27 +338,31 @@ commands once the current phase function has returned.
\item \t{-{}-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}.
+ \item \t{-{}-disable-static}, 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-static} occurs
+ in the output of \t{configure -{}-help}.
\end{itemize}
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Extra \t{econf} arguments for EAPIs}
\label{tab:econf-options-table}
- \begin{tabular}{lllllll}
+ \begin{tabular}{llllllll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{P{9em}}{\textbf{-{}-disable-dependency-tracking}} &
\multicolumn{1}{P{5em}}{\textbf{-{}-disable-silent-rules}} &
+ \multicolumn{1}{c}{\textbf{-{}-disable-static}} &
\multicolumn{1}{c}{\textbf{-{}-datarootdir}} &
\multicolumn{1}{c}{\textbf{-{}-docdir}} &
\multicolumn{1}{c}{\textbf{-{}-htmldir}} &
\multicolumn{1}{c}{\textbf{-{}-with-sysroot}} \\
\midrule
- 0, 1, 2, 3 & No & No & No & No & No & No \\
- 4 & Yes & No & No & No & No & No \\
- 5 & Yes & Yes & No & No & No & No \\
- 6 & Yes & Yes & No & Yes & Yes & No \\
- 7 & Yes & Yes & No & Yes & Yes & Yes \\
- 8 & Yes & Yes & Yes & Yes & Yes & Yes \\
+ 0, 1, 2, 3 & No & No & No & No & No & No & No \\
+ 4 & Yes & No & No & No & No & No & No \\
+ 5 & Yes & Yes & No & No & No & No & No \\
+ 6 & Yes & Yes & No & No & Yes & Yes & No \\
+ 7 & Yes & Yes & No & No & Yes & Yes & Yes \\
+ 8 & Yes & Yes & Yes & Yes & Yes & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 17/21] Split the econf options table because it has become too wide
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (15 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 16/21] EAPI 8: econf adds --disable-static Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 18/21] EAPI 8 has dosym -r Ulrich Müller
` (3 subsequent siblings)
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
pkg-mgr-commands.tex | 25 +++++++++++++++----------
1 file changed, 15 insertions(+), 10 deletions(-)
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e74f730..817b52b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -346,23 +346,28 @@ commands once the current phase function has returned.
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{Extra \t{econf} arguments for EAPIs}
\label{tab:econf-options-table}
- \begin{tabular}{llllllll}
+ \begin{tabular}{lllll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{P{9em}}{\textbf{-{}-disable-dependency-tracking}} &
- \multicolumn{1}{P{5em}}{\textbf{-{}-disable-silent-rules}} &
- \multicolumn{1}{c}{\textbf{-{}-disable-static}} &
\multicolumn{1}{c}{\textbf{-{}-datarootdir}} &
\multicolumn{1}{c}{\textbf{-{}-docdir}} &
\multicolumn{1}{c}{\textbf{-{}-htmldir}} &
\multicolumn{1}{c}{\textbf{-{}-with-sysroot}} \\
\midrule
- 0, 1, 2, 3 & No & No & No & No & No & No & No \\
- 4 & Yes & No & No & No & No & No & No \\
- 5 & Yes & Yes & No & No & No & No & No \\
- 6 & Yes & Yes & No & No & Yes & Yes & No \\
- 7 & Yes & Yes & No & No & Yes & Yes & Yes \\
- 8 & Yes & Yes & Yes & Yes & Yes & Yes & Yes \\
+ 0, 1, 2, 3, 4, 5 & No & No & No & No \\
+ 6 & No & Yes & Yes & No \\
+ 7 & No & Yes & Yes & Yes \\
+ 8 & Yes & Yes & Yes & Yes \\
+ \midrule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{P{5.5em}}{\textbf{-{}-disable-dependency-tracking}} &
+ \multicolumn{1}{P{5em}}{\textbf{-{}-disable-silent-rules}} &
+ \multicolumn{1}{c}{\textbf{-{}-disable-static}} & \\
+ \midrule
+ 0, 1, 2, 3 & No & No & No & \\
+ 4 & Yes & No & No & \\
+ 5, 6, 7 & Yes & Yes & No & \\
+ 8 & Yes & Yes & Yes & \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 18/21] EAPI 8 has dosym -r
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (16 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 17/21] Split the econf options table because it has become too wide Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-06-03 8:24 ` [gentoo-pms] [PATCH 18/21 v2] " Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 19/21] EAPI 8: insopts and exeopts affect only doins and doexe Ulrich Müller
` (2 subsequent siblings)
20 siblings, 1 reply; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/708360
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 ++++
pkg-mgr-commands.tex | 39 ++++++++++++++++++++++++++++++++++++---
2 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index bbb8957..8cfc442 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -293,6 +293,9 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
\t{domo} destination path & \compactfeatureref{domo-path} &
\t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
+\t{dosym -r} & \compactfeatureref{dosym-relative} &
+ No & No & No & No & Yes \\
+
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
No & Yes & Yes & Yes & Yes \\
@@ -517,6 +520,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}.
\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}.
\item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}.
+\item \t{dosym} can create relative paths, \featureref{dosym-relative}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 817b52b..dd286a6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -599,9 +599,28 @@ the current phase function has returned.
\item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.
-\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. If
- the directory containing the new link does not exist, creates it. Failure behaviour is EAPI
- dependent as per section~\ref{sec:failure-behaviour}.
+\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first.
+ If the directory containing the new link does not exist, creates it.
+
+ \featurelabel{dosym-relative} In EAPIs listed in table~\ref{tab:dosym-r} as supporting creation
+ of relative paths, when called with option \t{-r}, expands the first parameter relative to the
+ directory part of the second parameter. The algorithm must return a result identical to the one
+ returned by the function in listing~\ref{lst:dosym-r}, with \t{realpath} and \t{dirname} from
+ GNU coreutils version~8.32. Specifying option \t{-r} together with a relative path as first
+ (target) parameter is an error.
+
+ Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+
+\begin{listing}[h]
+\caption{Create a relative path for \t{dosym -r}} \label{lst:dosym-r}
+\begin{verbatim}
+dosym_relative_path() {
+ local link=$(realpath -m -s "/${2#/}")
+ local linkdir=$(dirname "${link}")
+ realpath -m -s --relative-to="${linkdir}" "$1"
+}
+\end{verbatim}
+\end{listing}
\item[fowners] Acts as for \t{chown}, but takes paths relative to the image directory. Failure
behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -729,6 +748,20 @@ the current phase function has returned.
\end{tabular}
\end{centertable}
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{EAPIs supporting \t{dosym -r}}
+ \label{tab:dosym-r}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{\t{dosym} supports creation of relative paths?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & No \\
+ 8 & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\subsection{Commands affecting install destinations}
The following commands are used to set the various destination trees and options used by the above
installation commands. They must be shell functions or aliases, due to the need to set variables
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 19/21] EAPI 8: insopts and exeopts affect only doins and doexe
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (17 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 18/21] EAPI 8 has dosym -r Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 20/21] EAPI 8: usev has an optional second argument Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 21/21] EAPI 8 removes .7z, .rar, .lha unpack support Ulrich Müller
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/657580
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 8 ++++++
pkg-mgr-commands.tex | 64 +++++++++++++++++++++++++++++++++++---------
2 files changed, 60 insertions(+), 12 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 8cfc442..d263cbc 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -299,6 +299,12 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
No & Yes & Yes & Yes & Yes \\
+\t{insopts} affects misc.\ commands & \compactfeatureref{insopts} &
+ Yes & Yes & Yes & Yes & No \\
+
+\t{exeopts} affects \t{doinitd} & \compactfeatureref{exeopts} &
+ Yes & Yes & Yes & Yes & No \\
+
Controllable compression & \compactfeatureref{docompress} &
* & Yes & Yes & Yes & Yes \\
@@ -521,6 +527,8 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}.
\item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}.
\item \t{dosym} can create relative paths, \featureref{dosym-relative}.
+\item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}.
+\item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index dd286a6..58254fa 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -460,8 +460,9 @@ the current phase function has returned.
\t{joe:users}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode
- \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+ \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+ in \t{doconfd}, the \t{install} options set by the most recent \t{insopts} call override
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[dodir] Creates the given directories, by default with file mode \t{0755}, or with the
\t{install} options set by the most recent \t{diropts} call. Failure behaviour is EAPI
@@ -478,8 +479,9 @@ the current phase function has returned.
section~\ref{sec:failure-behaviour}.
\item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode
- \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+ \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+ in \t{doenvd}, the \t{install} options set by the most recent \t{insopts} call override
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[doexe] Installs the given files into the directory specified by the most recent \t{exeinto}
call. If \t{exeinto} has not yet been called, behaviour is undefined. Files are installed by
@@ -494,9 +496,10 @@ the current phase function has returned.
section~\ref{sec:banned-commands}.
\item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},
- by default with file mode \t{0644}, or with the \t{install} options set by the most recent
- \t{insopts} call. If the first argument is \t{-r}, then operates recursively, descending
- into any directories given.
+ by default with file mode \t{0644}. For EAPIs listed in table~\ref{tab:insopts-commands}
+ as respecting \t{insopts} in \t{doheader}, the \t{install} options set by the most recent
+ \t{insopts} call override the default. If the first argument is \t{-r}, then operates
+ recursively, descending into any directories given.
Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -529,8 +532,9 @@ the current phase function has returned.
\t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode
- \t{0755}, or with the \t{install} options set by the most recent \t{exeopts} call.
- Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+ \t{0755}. For EAPIs listed in table~\ref{tab:insopts-commands} as respecting \t{insopts}
+ in \t{doinitd}, the \t{install} options set by the most recent \t{exeopts} call override
+ the default. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
\item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into
\t{INSDESTTREE}, by default with file mode \t{0644}, or with the \t{install} options set by
@@ -782,12 +786,16 @@ function has returned.
\item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al.
-\item[insopts] Takes one or more arguments, and sets the options passed by \t{doins} et al.\
- to the \t{install} command to them. Behaviour upon encountering empty arguments is undefined.
+\item[insopts] \featurelabel{insopts} Takes one or more arguments, and sets the options passed by
+ \t{doins} et al.\ to the \t{install} command to them. Behaviour upon encountering empty
+ arguments is undefined. Depending on EAPI, affects only those commands that are specified
+ by table~\ref{tab:insopts-commands} as respecting \t{insopts}.
\item[diropts] As \t{insopts}, for \t{dodir} et al.
-\item[exeopts] As \t{insopts}, for \t{doexe} et al.
+\item[exeopts] \featurelabel{exeopts} As \t{insopts}, for \t{doexe} et al. Depending on EAPI,
+ affects only those commands that are specified by table~\ref{tab:exeopts-commands}
+ as respecting \t{exeopts}.
\item[libopts] As \t{insopts}, for \t{dolib} et al.
In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as
@@ -795,6 +803,38 @@ function has returned.
\end{description}
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Commands respecting \t{insopts} for EAPIs}
+ \label{tab:insopts-commands}
+ \begin{tabular}{lllll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{\t{doins}?}} &
+ \multicolumn{1}{c}{\textbf{\t{doconfd}?}} &
+ \multicolumn{1}{c}{\textbf{\t{doenvd}?}} &
+ \multicolumn{1}{c}{\textbf{\t{doheader}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes & Yes & Yes \\
+ 8 & Yes & No & No & No \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{Commands respecting \t{exeopts} for EAPIs}
+ \label{tab:exeopts-commands}
+ \begin{tabular}{lll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{\t{doexe}?}} &
+ \multicolumn{1}{c}{\textbf{\t{doinitd}?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & Yes & Yes \\
+ 8 & Yes & No \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\subsection{Commands controlling manipulation of files in the staging area}
These commands are used to control optional manipulations that the package manager may perform on
files in the staging directory \t{ED}, like compressing files or stripping symbols from object
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 20/21] EAPI 8: usev has an optional second argument
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (18 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 19/21] EAPI 8: insopts and exeopts affect only doins and doexe Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 21/21] EAPI 8 removes .7z, .rar, .lha unpack support Ulrich Müller
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Bug: https://bugs.gentoo.org/744868
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 4 ++++
pkg-mgr-commands.tex | 23 ++++++++++++++---------
2 files changed, 18 insertions(+), 9 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index d263cbc..5609de6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -317,6 +317,9 @@ Controllable stripping & \compactfeatureref{dostrip} &
\t{dostrip} & \compactfeatureref{dostrip} &
No & No & No & Yes & Yes \\
+\t{usev} second arg & \compactfeatureref{usev} &
+ No & No & No & No & Yes \\
+
\t{use_with} empty third arg & \compactfeatureref{use-with} &
* & Yes & Yes & Yes & Yes \\
@@ -529,6 +532,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{dosym} can create relative paths, \featureref{dosym-relative}.
\item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}.
\item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}.
+\item \t{usev} supports an optional second argument, \featureref{usev}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 58254fa..eac17de 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -936,15 +936,17 @@ table~\ref{tab:use-list-strictness}.
\item[use] Returns shell true (0) if the first argument (a \t{USE} flag name) is enabled, false
otherwise. If the flag name is prefixed with \t{!}, returns true if the flag is disabled, and
false if it is enabled. It is guaranteed that this command is quiet.
-\item[usev] The same as \t{use}, but also prints the flag name if the condition
- is met.
+\item[usev] \featurelabel{usev} The same as \t{use}, but also prints the flag name if the condition
+ is met. In EAPIs listed in table~\ref{tab:use-list-args} as supporting an optional second
+ argument for \t{usev}, prints the second argument instead, if it is specified and if the
+ condition is met.
\item[useq] Deprecated synonym for \t{use}.
In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
section~\ref{sec:banned-commands}.
\item[use_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first
argument is a USE flag name, the second a \t{configure} option name (\t{\$\{opt\}}), defaulting
to the same as the first argument if not provided, and the third is a string value
- (\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-with-third-arg} as not supporting it,
+ (\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-list-args} as not supporting it,
an empty third argument is treated as if it weren't provided. If the USE flag is set, outputs
\t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
\t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
@@ -979,15 +981,18 @@ table~\ref{tab:use-list-strictness}.
\end{centertable}
\ChangeWhenAddingAnEAPI{8}
-\begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and \t{use_enable}}
- \label{tab:use-with-third-arg}
- \begin{tabular}{ll}
+\begin{centertable}{\t{usev}, \t{use_with} and \t{use_enable} arguments for EAPIs}
+ \label{tab:use-list-args}
+ \begin{tabular}{lll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
- \multicolumn{1}{c}{\textbf{Supports empty third argument?}} \\
+ \multicolumn{1}{P{8em}}{\textbf{\t{usev} has optional second argument?}} &
+ \multicolumn{1}{P{14em}}{\textbf{\t{use_with} and \t{use_enable} support empty third
+ argument?}} \\
\midrule
- 0, 1, 2, 3 & No \\
- 4, 5, 6, 7, 8 & Yes \\
+ 0, 1, 2, 3 & No & No \\
+ 4, 5, 6, 7 & No & Yes \\
+ 8 & Yes & Yes \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 21/21] EAPI 8 removes .7z, .rar, .lha unpack support
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
` (19 preceding siblings ...)
2021-05-27 20:26 ` [gentoo-pms] [PATCH 20/21] EAPI 8: usev has an optional second argument Ulrich Müller
@ 2021-05-27 20:26 ` Ulrich Müller
20 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-05-27 20:26 UTC (permalink / raw
To: gentoo-pms; +Cc: Michał Górny, Ulrich Müller
From: Michał Górny <mgorny@gentoo.org>
Bug: https://bugs.gentoo.org/690968
Signed-off-by: Michał Górny <mgorny@gentoo.org>
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-differences.tex | 10 ++++++++++
pkg-mgr-commands.tex | 21 ++++++++++++++-------
2 files changed, 24 insertions(+), 7 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index 5609de6..900f415 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -341,6 +341,15 @@ Controllable stripping & \compactfeatureref{dostrip} &
\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
No & No & Yes & Yes & Yes \\
+\t{unpack} support for \t{7z} & \compactfeatureref{unpack-extensions} &
+ Yes & Yes & Yes & Yes & No \\
+
+\t{unpack} support for \t{lha} & \compactfeatureref{unpack-extensions} &
+ Yes & Yes & Yes & Yes & No \\
+
+\t{unpack} support for \t{rar} & \compactfeatureref{unpack-extensions} &
+ Yes & Yes & Yes & Yes & No \\
+
\t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
No & No & Yes & Yes & Yes \\
@@ -533,6 +542,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{insopts} no longer affects \t{doconfd}, \t{doenvd} and \t{doheader}, \featureref{insopts}.
\item \t{exeopts} no longer affects \t{doinitd}, \featureref{exeopts}.
\item \t{usev} supports an optional second argument, \featureref{usev}.
+\item \t{unpack} no longer supports \t{.7z}, \t{.rar}, \t{.lha}, \featureref{unpack-extensions}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index eac17de..848c8da 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1153,10 +1153,13 @@ has returned.
\item bzip2-compressed tar files (\t{*.tar.bz2, *.tbz2, *.tar.bz, *.tbz}). Ebuilds must ensure
that bzip2 and GNU tar are installed.
\item zip files (\t{*.zip, *.ZIP, *.jar}). Ebuilds must ensure that Info-ZIP Unzip is installed.
- \item 7zip files (\t{*.7z, *.7Z}). Ebuilds must ensure that P7ZIP is installed.
+ \item 7zip files (\t{*.7z, *.7Z}). Ebuilds must ensure that P7ZIP is installed. Only for EAPIs
+ listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.7z}.
\item rar files (\t{*.rar, *.RAR}). Ebuilds must ensure that RARLAB's unrar is installed.
+ Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.rar}.
\item LHA archives (\t{*.LHA, *.LHa, *.lha, *.lzh}). Ebuilds must ensure that the lha program is
- installed.
+ installed. Only for EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting
+ \t{.lha}.
\item ar archives (\t{*.a}). Ebuilds must ensure that GNU binutils is installed.
\item deb packages (\t{*.deb}). Ebuilds must ensure that the deb2targz program is installed on
those platforms where the GNU binutils ar program is not available and the installed ar
@@ -1195,16 +1198,20 @@ has returned.
\ChangeWhenAddingAnEAPI{8}
\begin{centertable}{\t{unpack} extensions for EAPIs}
\label{tab:unpack-extensions-table}
- \begin{tabular}{llll}
+ \begin{tabular}{llllllll}
\toprule
\multicolumn{1}{c}{\textbf{EAPI}} &
\multicolumn{1}{c}{\textbf{\t{.xz}?}} &
\multicolumn{1}{c}{\textbf{\t{.tar.xz}?}} &
- \multicolumn{1}{c}{\textbf{\t{.txz}?}} \\
+ \multicolumn{1}{c}{\textbf{\t{.txz}?}} &
+ \multicolumn{1}{c}{\textbf{\t{.7z}?}} &
+ \multicolumn{1}{c}{\textbf{\t{.rar}?}} &
+ \multicolumn{1}{c}{\textbf{\t{.lha}?}} \\
\midrule
- 0, 1, 2 & No & No & No \\
- 3, 4, 5 & Yes & Yes & No \\
- 6, 7, 8 & Yes & Yes & Yes \\
+ 0, 1, 2 & No & No & No & Yes & Yes & Yes \\
+ 3, 4, 5 & Yes & Yes & No & Yes & Yes & Yes \\
+ 6, 7 & Yes & Yes & Yes & Yes & Yes & Yes \\
+ 8 & Yes & Yes & Yes & No & No & No \\
\bottomrule
\end{tabular}
\end{centertable}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 18/21 v2] EAPI 8 has dosym -r
2021-05-27 20:26 ` [gentoo-pms] [PATCH 18/21] EAPI 8 has dosym -r Ulrich Müller
@ 2021-06-03 8:24 ` Ulrich Müller
0 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-06-03 8:24 UTC (permalink / raw
To: gentoo-pms
Bug: https://bugs.gentoo.org/708360
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
[v2] Updated wording in dosym -r description
eapi-differences.tex | 4 ++++
pkg-mgr-commands.tex | 39 ++++++++++++++++++++++++++++++++++++---
2 files changed, 40 insertions(+), 3 deletions(-)
diff --git a/eapi-differences.tex b/eapi-differences.tex
index bbb8957..8cfc442 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -293,6 +293,9 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
\t{domo} destination path & \compactfeatureref{domo-path} &
\t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
+\t{dosym -r} & \compactfeatureref{dosym-relative} &
+ No & No & No & No & Yes \\
+
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
No & Yes & Yes & Yes & Yes \\
@@ -517,6 +520,7 @@ EAPI 8 is EAPI 7 with the following changes:
\item \t{hasv} and \t{hasq} banned, \featureref{banned-commands}.
\item \t{econf} adds \t{-{}-datarootdir}, \featureref{econf-options}.
\item \t{econf} adds \t{-{}-disable-static}, \featureref{econf-options}.
+\item \t{dosym} can create relative paths, \featureref{dosym-relative}.
\end{compactitem}
\ChangeWhenAddingAnEAPI{8}
diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 817b52b..4e43c69 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -599,9 +599,28 @@ the current phase function has returned.
\item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.
-\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first. If
- the directory containing the new link does not exist, creates it. Failure behaviour is EAPI
- dependent as per section~\ref{sec:failure-behaviour}.
+\item[dosym] Creates a symbolic link named as for its second parameter, pointing to the first.
+ If the directory containing the new link does not exist, creates it.
+
+ \featurelabel{dosym-relative} In EAPIs listed in table~\ref{tab:dosym-r} as supporting creation
+ of relative paths, when called with option \t{-r}, the first parameter (the link target) is
+ converted from an absolute path to a path relative to the the second parameter (the link name).
+ The algorithm must return a result identical to the one returned by the function in
+ listing~\ref{lst:dosym-r}, with \t{realpath} and \t{dirname} from GNU coreutils version~8.32.
+ Specifying option \t{-r} together with a relative path as first (target) parameter is an error.
+
+ Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+
+\begin{listing}[h]
+\caption{Create a relative path for \t{dosym -r}} \label{lst:dosym-r}
+\begin{verbatim}
+dosym_relative_path() {
+ local link=$(realpath -m -s "/${2#/}")
+ local linkdir=$(dirname "${link}")
+ realpath -m -s --relative-to="${linkdir}" "$1"
+}
+\end{verbatim}
+\end{listing}
\item[fowners] Acts as for \t{chown}, but takes paths relative to the image directory. Failure
behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -729,6 +748,20 @@ the current phase function has returned.
\end{tabular}
\end{centertable}
+\ChangeWhenAddingAnEAPI{8}
+\begin{centertable}{EAPIs supporting \t{dosym -r}}
+ \label{tab:dosym-r}
+ \begin{tabular}{ll}
+ \toprule
+ \multicolumn{1}{c}{\textbf{EAPI}} &
+ \multicolumn{1}{c}{\textbf{\t{dosym} supports creation of relative paths?}} \\
+ \midrule
+ 0, 1, 2, 3, 4, 5, 6, 7 & No \\
+ 8 & Yes \\
+ \bottomrule
+ \end{tabular}
+\end{centertable}
+
\subsection{Commands affecting install destinations}
The following commands are used to set the various destination trees and options used by the above
installation commands. They must be shell functions or aliases, due to the need to set variables
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
* [gentoo-pms] [PATCH 03/21 v2] eapis.tex: Merge redundant descriptions
2021-05-27 20:25 ` [gentoo-pms] [PATCH 03/21] eapis.tex: Merge redundant descriptions Ulrich Müller
@ 2021-06-05 10:04 ` Ulrich Müller
0 siblings, 0 replies; 24+ messages in thread
From: Ulrich Müller @ 2021-06-05 10:04 UTC (permalink / raw
To: gentoo-pms
Drop footnote about EAPI kdebuild-1.
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
[v2] Drop footnote
eapis.tex | 21 ++++-----------------
1 file changed, 4 insertions(+), 17 deletions(-)
diff --git a/eapis.tex b/eapis.tex
index 746decf..a6c8109 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -17,26 +17,13 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
\section{Defined EAPIs}
-The following EAPIs are defined by this specification:
-
\ChangeWhenAddingAnEAPI{8}
-\begin{compactdesc}
-\item[0] The `original' base EAPI.
-\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'.
-\item[7] EAPI `7' contains a number of extensions to EAPI `6'.
-\item[8] EAPI `8' contains a number of extensions to EAPI `7'.
-\end{compactdesc}
+This specification defines EAPIs `0', `1', `2', `3', `4', `5', `6', `7', and~`8'.
+EAPI~`0' is the `original' base EAPI\@. Each of the later EAPIs contains a number of extensions
+to its predecessor.
Except where explicitly noted, everything in this specification
-applies to all of the above EAPIs.%
-\footnote{Another unofficial EAPI `kdebuild-1' was a series of
- extensions to EAPI `1' formerly used by the Gentoo KDE project.
- Some of its features have been included in EAPI `2' or later.}
+applies to all of the above EAPIs.
\section{Reserved EAPIs}
--
2.31.1
^ permalink raw reply related [flat|nested] 24+ messages in thread
end of thread, other threads:[~2021-06-05 10:04 UTC | newest]
Thread overview: 24+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-27 20:25 [gentoo-pms] EAPI 8 draft for review Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 01/21] Add an EAPI 8 identical to EAPI 7 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 02/21] EAPI feature table: Consolidate EAPIs 0 to 4 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 03/21] eapis.tex: Merge redundant descriptions Ulrich Müller
2021-06-05 10:04 ` [gentoo-pms] [PATCH 03/21 v2] " Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 04/21] Relicense from CC-BY-SA-3.0 to CC-BY-SA-4.0 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 05/21] EAPI 8 has less strict naming rules in the updates directory Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 06/21] EAPI 8: Bash version is 5.0 Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 07/21] Ban nameref variables from exported and default scope Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 08/21] EAPI 8 has selective URI restrictions Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 09/21] EAPI 8 has install-time dependencies (IDEPEND) Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 10/21] EAPI 8 has an empty working directory in pkg_* phases Ulrich Müller
2021-05-27 20:25 ` [gentoo-pms] [PATCH 11/21] Rearrange listings of phase functions Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 12/21] EAPI 8: Default src_prepare doesn't accept options in PATCHES Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 13/21] EAPI 8 accumulates PROPERTIES and RESTRICT across eclasses Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 14/21] EAPI 8: useq, hasv and hasq are banned Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 15/21] EAPI 8 has econf passing --datarootdir Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 16/21] EAPI 8: econf adds --disable-static Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 17/21] Split the econf options table because it has become too wide Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 18/21] EAPI 8 has dosym -r Ulrich Müller
2021-06-03 8:24 ` [gentoo-pms] [PATCH 18/21 v2] " Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 19/21] EAPI 8: insopts and exeopts affect only doins and doexe Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 20/21] EAPI 8: usev has an optional second argument Ulrich Müller
2021-05-27 20:26 ` [gentoo-pms] [PATCH 21/21] EAPI 8 removes .7z, .rar, .lha unpack support 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