commit:     ef2c813cba5812475426562cc8080581e94e090f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  8 16:41:33 2025 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec  2 19:05:25 2025 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ef2c813c

Cheat sheet: Update for EAPI 9

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

 eapi-cheatsheet.tex | 48 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 47 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 60bea45..920557c 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -15,7 +15,7 @@
 \usepackage[local]{gitinfo2}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
-\newcommand{\version}{8.0}
+\newcommand{\version}{9.0}
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
@@ -577,6 +577,52 @@ differences between these EAPIs.
     and LHA archives. See \featureref{unpack-extensions}.
 \end{description}
 
+\section{EAPI 9}
+\label{sec:cs:eapi9}
+\subsection{Additions/changes}
+\label{sec:cs:eapi9-additions}
+\begin{description}
+    \item[Default EAPI for profiles] Profile directories without their
+    own \code{eapi} file no longer default to EAPI 0, but to the EAPI
+    specified in the top-level \code{profiles} directory.
+    See \featureref{profile-eapi-default}.
+    \item[\code{use.stable} and \code{package.use.stable}]
+    Profile dirs may contain two new files. They can be used to
+    override the USE flags specified by \code{make.defaults}, but act
+    only on packages that would be merged due to a stable keyword.
+    See \featureref{use-stable}.
+    \item[Bash version] Ebuilds can use features of Bash version 5.3
+    (was 5.0 before). See \featureref{bash-version}.
+    \item[Variables are no longer exported] The package manager no
+    longer exports its defined shell variables (exceptions are
+    \code{TMPDIR} and \code{HOME}) to the environment. The same
+    applies to variables defined in \code{make.defaults} that have
+    specific meanings. See \featureref{export-vars}.
+    \item[\code{pipestatus}] Checks if all commands in the last
+    executed pipeline have returned an exit status of zero. When the
+    \code{-v} option is specified, also prints the shell's pipe status
+    array. See \featureref{pipestatus}.
+    \item[\code{ver_replacing} \emph{op v2}] Checks if the relation
+    \emph{v1 op v2} is true for any element \emph{v1} of
+    \code{REPLACING_VERSIONS}\@. \emph{op} can be any operator that is
+    accepted by \code{ver_test}. See \featureref{ver-replacing}.
+    \item[\code{edo}] Outputs its entire argument list as an
+    informational message, then executes it as a simple shell command,
+    with standard failure behaviour. See \featureref{edo}.
+    \item[Merging of symlinks] When merging \code{D} to \code{ROOT},
+    absolute symlinks are now merged as-is. The package manager will
+    no longer strip a leading \code{D} from their link targets.
+    See \featureref{symlink-rewrite}.
+\end{description}
+\subsection{Removals/bans}
+\label{sec:cs:eapi9-removalsbans}
+\begin{description}
+    \item[\code{assert}] No longer allowed. Use \code{pipestatus}
+    instead. See \featureref{banned-commands}.
+    \item[\code{domo}] No longer allowed. Use \code{insinto} and
+    \code{newins} as replacement. See \featureref{banned-commands}.
+\end{description}
+
 \end{document}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :

Reply via email to