summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'eapi-differences.tex')
-rw-r--r--eapi-differences.tex239
1 files changed, 155 insertions, 84 deletions
diff --git a/eapi-differences.tex b/eapi-differences.tex
index bc49a33..900f415 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,12 +1,12 @@
\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{7}
+\ChangeWhenAddingAnEAPI{8}
\begin{landscape}
\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
\caption{Features in EAPIs}\\
@@ -16,11 +16,11 @@ of this document for a complete table of previous 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} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
\midrule
\endfirsthead
\midrule
@@ -29,11 +29,11 @@ of this document for a complete table of previous 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} \\
+\multicolumn{1}{c}{7} &
+\multicolumn{1}{c}{8} \\
\midrule
\endhead
\midrule
@@ -42,56 +42,65 @@ of this document for a complete table of previous EAPIs.}
\endlastfoot
\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 & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{package.provided} & \compactfeatureref{package-provided} &
- Optional & Optional & Optional & Optional & No \\
+ Optional & Optional & Optional & No & No \\
Stable use masking/forcing & \compactfeatureref{stablemask} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Bash version & \compactfeatureref{bash-version} &
- 3.2 & 3.2 & 3.2 & 4.2 & 4.2 \\
+ 3.2 & 3.2 & 4.2 & 4.2 & 5.0 \\
\t{failglob} in global scope & \compactfeatureref{failglob} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
* & Yes & Yes & Yes & Yes \\
\t{REQUIRED_USE} & \compactfeatureref{required-use} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{PROPERTIES} & \compactfeatureref{properties} &
- Optionally & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\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} &
- Yes & No & No & No & No \\
+ * & No & No & No & No \\
\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
- Optionally & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\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 & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
\compactfeatureref{empty-dep-groups} &
- Yes & Yes & Yes & Yes & 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 \\
Sub-slots & \compactfeatureref{sub-slot} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
Use dependencies & \compactfeatureref{use-deps} &
* & 4-style & 4-style & 4-style & 4-style \\
@@ -102,17 +111,20 @@ 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} &
- Always & Conditional & Conditional & Conditional & Conditional \\
+ * & Conditional & Conditional & Conditional & Conditional \\
\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{src_prepare} & \compactfeatureref{src-prepare} &
* & Yes & Yes & Yes & Yes \\
\t{src_prepare} style & \compactfeatureref{src-prepare} &
- * & no-op & no-op & 6 & 6 \\
+ * & no-op & 6 & 6 & 8 \\
\t{src_configure} & \compactfeatureref{src-configure} &
* & Yes & Yes & Yes & Yes \\
@@ -121,13 +133,13 @@ Use dependencies & \compactfeatureref{use-deps} &
* & 2 & 2 & 2 & 2 \\
Parallel tests & \compactfeatureref{parallel-tests} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{src_install} style & \compactfeatureref{src-install} &
- no-op & 4 & 4 & 6 & 6 \\
+ * & 4 & 6 & 6 & 6 \\
\t{pkg_info} & \compactfeatureref{pkg-info} &
- Installed & Both & Both & Both & Both \\
+ * & Both & Both & Both & Both \\
\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
* &
@@ -140,122 +152,137 @@ 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} &
- Yes & No & No & No & No \\
+ * & No & No & No & No \\
\t{PORTDIR} & \compactfeatureref{portdir} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & No & No \\
\t{ECLASSDIR} & \compactfeatureref{eclassdir} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & No & No \\
\t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{BROOT} & \compactfeatureref{broot} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{DESTTREE} & \compactfeatureref{desttree} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & No & No \\
\t{INSDESTTREE} & \compactfeatureref{insdesttree} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & No & No \\
\t{KV} & \compactfeatureref{kv} &
- Yes & No & No & No & No \\
+ * & No & No & No & No \\
\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{ENV_UNSET} & \compactfeatureref{env-unset} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
Sane locale settings & \compactfeatureref{locale-settings} &
- Undefined & Undefined & Undefined & Yes & Yes \\
+ Undefined & Undefined & Yes & Yes & Yes \\
Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
- No & 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 \\
\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
* & Yes & Yes & Yes & Yes \\
Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
- Yes & Yes & Yes & Yes & No \\
+ Yes & Yes & Yes & No & No \\
GNU \t{patch} version & \compactfeatureref{gnu-patch} &
- Any & Any & Any & Any & 2.7 \\
+ Any & Any & Any & 2.7 & 2.7 \\
\t{find} is GNU? & \compactfeatureref{gnu-find} &
- Undefined & Undefined & Yes & Yes & Yes \\
+ Undefined & Yes & Yes & Yes & Yes \\
Most utilities die & \compactfeatureref{die-on-failure} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{nonfatal} & \compactfeatureref{nonfatal} &
- No & Yes & Yes & Yes & Function / external \\
+ * & Yes & Yes & Function / external & Function / external \\
\t{dohard} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned \\
+ * & Banned & Banned & Banned & Banned \\
\t{dosed} & \compactfeatureref{banned-commands} &
- Yes & Banned & Banned & Banned & Banned \\
+ * & Banned & Banned & Banned & Banned \\
\t{einstall} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Banned & Banned \\
+ Yes & Yes & Banned & Banned & Banned \\
\t{dohtml} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned \\
+ Yes & Yes & Yes & Banned & Banned \\
\t{dolib} & \compactfeatureref{banned-commands} &
- Yes & Yes & Yes & Yes & Banned \\
+ Yes & Yes & Yes & Banned & Banned \\
\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 & 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 \\
+ Yes & Yes & Yes & No & No \\
\t{eqawarn} & \compactfeatureref{eqawarn} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{die -n} & \compactfeatureref{nonfatal-die} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{die} in subshell & \compactfeatureref{subshell-die} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{eapply} & \compactfeatureref{eapply} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{eapply_user} & \compactfeatureref{eapply-user} &
- No & No & No & 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 &
+ disable dependency tracking, disable silent rules, disable static,
+ datarootdir, docdir, htmldir, with sysroot \\
\t{dodoc -r} & \compactfeatureref{dodoc} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{doheader} & \compactfeatureref{doheader} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{doins} handles symlinks & \compactfeatureref{doins} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{doman} languages & \compactfeatureref{doman-langs} &
* & Yes & Yes & Yes & Yes \\
@@ -264,55 +291,76 @@ Output commands use stdout & \compactfeatureref{output-no-stdout} &
* & 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{/usr} & \t{/usr} \\
+
+\t{dosym -r} & \compactfeatureref{dosym-relative} &
+ No & No & No & No & Yes \\
\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
- No & No & Yes & Yes & Yes \\
+ 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} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{docompress} & \compactfeatureref{docompress} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
Controllable stripping & \compactfeatureref{dostrip} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\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} &
- No & Yes & Yes & Yes & Yes \\
+ * & Yes & Yes & Yes & Yes \\
\t{usex} & \compactfeatureref{usex} &
- No & No & Yes & Yes & Yes \\
+ No & Yes & Yes & Yes & Yes \\
\t{in_iuse} & \compactfeatureref{in-iuse} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{ver_*} commands & \compactfeatureref{ver-commands} &
- No & No & No & No & Yes \\
+ No & No & No & Yes & Yes \\
\t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
* & Yes & Yes & Yes & Yes \\
\t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
- No & No & No & Yes & Yes \\
+ 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 & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{default} function & \compactfeatureref{default-func} &
* & Yes & Yes & Yes & Yes \\
\t{einstalldocs} & \compactfeatureref{einstalldocs} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
\t{get_libdir} & \compactfeatureref{get-libdir} &
- No & No & No & Yes & Yes \\
+ No & No & Yes & Yes & Yes \\
File mtimes preserved & \compactfeatureref{mtime-preserve} &
* & Yes & Yes & Yes & Yes \\
@@ -335,7 +383,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}
@@ -348,7 +396,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}.
@@ -377,7 +425,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}.
@@ -422,8 +470,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}.
@@ -474,7 +522,30 @@ 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 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}.
+\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}.
+\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}.
+\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}
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :