* [gentoo-pms] EAPI cheat sheet for review
@ 2021-06-03 8:30 Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 1/3] Cheat sheet: Fix cross references Ulrich Müller
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-06-03 8:30 UTC (permalink / raw
To: gentoo-pms
The following series of patches will update the EAPI cheat sheet
for EAPI 8.
The rendered PDF version can be found here:
https://dev.gentoo.org/~ulm/pms/8-draft/eapi-cheatsheet.pdf
Ulrich
^ permalink raw reply [flat|nested] 4+ messages in thread
* [gentoo-pms] [PATCH 1/3] Cheat sheet: Fix cross references
2021-06-03 8:30 [gentoo-pms] EAPI cheat sheet for review Ulrich Müller
@ 2021-06-03 8:30 ` Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 2/3] Cheat sheet: Remove EAPI 5 to make room for EAPI 8 Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 3/3] Cheat sheet: Update " Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-06-03 8:30 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-cheatsheet.tex | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 83ddfa7..fb62827 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -348,10 +348,10 @@ differences between these previous EAPIs.
which applies patches from the \code{PATCHES} variable with the
new \code{eapply} command, and user-provided patches with
\code{eapply_user}.
- See \featureref{src-prepare-6}.
+ See \featureref{src-prepare}.
\item[\code{src_install}] The default implementation uses the new
\code{einstalldocs} function for installing documentation.
- See \featureref{src-install-6}.
+ See \featureref{src-install}.
\item[\code{nonfatal die}] When \code{die} or \code{assert} are
called under the \code{nonfatal} command and with the \code{-n}
option, they will not abort the build process but return with an
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-pms] [PATCH 2/3] Cheat sheet: Remove EAPI 5 to make room for EAPI 8
2021-06-03 8:30 [gentoo-pms] EAPI cheat sheet for review Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 1/3] Cheat sheet: Fix cross references Ulrich Müller
@ 2021-06-03 8:30 ` Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 3/3] Cheat sheet: Update " Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-06-03 8:30 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-cheatsheet.tex | 140 ++++++++++++++++++++++----------------------
1 file changed, 70 insertions(+), 70 deletions(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index fb62827..82602f2 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -77,7 +77,7 @@
\footnote{\url{https://creativecommons.org/licenses/by-sa/4.0/}}
\end{abstract}
-\section{EAPIs 0, 1, 2, 3, and 4}
+\section{EAPIs 0, 1, 2, 3, 4, and 5}
\label{sec:cs:eapi0-2}
Omitted for lack of space. See version~5.0 of this document for
differences between these previous EAPIs.
@@ -257,75 +257,75 @@ differences between these previous EAPIs.
% any more. See \featureref{aa} and \featureref{kv}.
% \end{description}
-\section{EAPI 5 (2012-09-20)}
-\label{sec:cs:eapi5}
-\subsection{Additions/Changes}
-\label{sec:cs:eapi5-additions}
-\begin{description}
- \item[Sub-slots] The \code{SLOT} variable and slot dependencies
- may contain an optional sub-slot part that follows the regular
- slot, delimited by a \code{/} character; for example
- \code{2/2.30}. The sub-slot is used to represent cases in which
- an upgrade to a new version of a package with a different sub-slot
- may require dependent packages to be rebuilt. If the sub-slot is
- not specified in \code{SLOT}, it defaults to the regular slot.
- See \featureref{sub-slot}.
- \item[Slot operator dependencies] Package dependencies can specify
- one of the following operators as a suffix, which will affect
- updates of runtime dependencies:
- \begin{description}
- \item[\code{:*}] Any slot value is acceptable. The package
- will not break when its dependency is updated.
- \item[\code{:=}] Any slot value is acceptable, but the package
- can break when its dependency is updated to a different slot
- (or sub-slot).
- \end{description}
- See \featureref{slot-operator-deps}.
- \item[Profile \code{IUSE} injection] Apart from the USE flags
- explicitly listed in \code{IUSE}, additional flags can be
- implicitly provided by profiles.
- See \featureref{profile-iuse-inject}.
- \item[At-most-one-of groups] In \code{REQUIRED_USE} you can use
- "\code{??\ ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
- out of many.
- See \featureref{at-most-one-of}.
- \item[Parallel tests] The default for \code{src_test} runs
- \code{emake} without \code{-j1} now.
- See \featureref{parallel-tests}.
- \item[\code{econf} changes] The \code{econf} function now always
- passes \code{-{}-disable-silent-rules} to \code{configure}.
- See \featureref{econf-options}.
- \item[\code{has_version} and \code{best_version} changes]
- The two helpers support a \code{-{}-host-root} option that causes
- the query to apply to the host root instead of \code{ROOT}.
- See~\featureref{pm-query-options}.
- \item[\code{usex}] Usage for this helper function is
- \code{usex} \emph{<USE flag> [true1] [false1] [true2] [false2]}.
- If the USE flag is set, outputs \emph{[true1][true2]}
- (defaults to \code{yes}), otherwise outputs
- \emph{[false1][false2]} (defaults to \code{no}).
- See \featureref{usex}.
- \item[\code{doheader} and \code{newheader}] These new helper
- functions install the given header file(s) into
- \code{/usr/include}. The \code{-r} option enables recursion for
- \code{doheader}, similar to \code{doins}.
- See \featureref{doheader}.
- \item[\code{new*} standard input] The \code{newins} etc.\ commands
- read from standard input if the first argument is \code{-}
- (a hyphen).
- See \featureref{newfoo-stdin}.
- \item[\code{EBUILD_PHASE_FUNC}] This variable is very similar to
- \code{EBUILD_PHASE}, but contains the name of the current ebuild
- function.
- See \featureref{ebuild-phase-func}.
- \item[Stable use masking/forcing] New files
- \code{use.stable.\allowbreak\{mask,force\}} and
- \code{package.use.stable.\allowbreak\{mask,force\}}
- are supported in profile directories. They are similar to their
- non-\code{stable} counterparts, but act only on packages that
- would be merged due to a stable keyword.
- See \featureref{stablemask}.
-\end{description}
+% \section{EAPI 5 (2012-09-20)}
+% \label{sec:cs:eapi5}
+% \subsection{Additions/Changes}
+% \label{sec:cs:eapi5-additions}
+% \begin{description}
+% \item[Sub-slots] The \code{SLOT} variable and slot dependencies
+% may contain an optional sub-slot part that follows the regular
+% slot, delimited by a \code{/} character; for example
+% \code{2/2.30}. The sub-slot is used to represent cases in which
+% an upgrade to a new version of a package with a different sub-slot
+% may require dependent packages to be rebuilt. If the sub-slot is
+% not specified in \code{SLOT}, it defaults to the regular slot.
+% See \featureref{sub-slot}.
+% \item[Slot operator dependencies] Package dependencies can specify
+% one of the following operators as a suffix, which will affect
+% updates of runtime dependencies:
+% \begin{description}
+% \item[\code{:*}] Any slot value is acceptable. The package
+% will not break when its dependency is updated.
+% \item[\code{:=}] Any slot value is acceptable, but the package
+% can break when its dependency is updated to a different slot
+% (or sub-slot).
+% \end{description}
+% See \featureref{slot-operator-deps}.
+% \item[Profile \code{IUSE} injection] Apart from the USE flags
+% explicitly listed in \code{IUSE}, additional flags can be
+% implicitly provided by profiles.
+% See \featureref{profile-iuse-inject}.
+% \item[At-most-one-of groups] In \code{REQUIRED_USE} you can use
+% "\code{??\ ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
+% out of many.
+% See \featureref{at-most-one-of}.
+% \item[Parallel tests] The default for \code{src_test} runs
+% \code{emake} without \code{-j1} now.
+% See \featureref{parallel-tests}.
+% \item[\code{econf} changes] The \code{econf} function now always
+% passes \code{-{}-disable-silent-rules} to \code{configure}.
+% See \featureref{econf-options}.
+% \item[\code{has_version} and \code{best_version} changes]
+% The two helpers support a \code{-{}-host-root} option that causes
+% the query to apply to the host root instead of \code{ROOT}.
+% See~\featureref{pm-query-options}.
+% \item[\code{usex}] Usage for this helper function is
+% \code{usex} \emph{<USE flag> [true1] [false1] [true2] [false2]}.
+% If the USE flag is set, outputs \emph{[true1][true2]}
+% (defaults to \code{yes}), otherwise outputs
+% \emph{[false1][false2]} (defaults to \code{no}).
+% See \featureref{usex}.
+% \item[\code{doheader} and \code{newheader}] These new helper
+% functions install the given header file(s) into
+% \code{/usr/include}. The \code{-r} option enables recursion for
+% \code{doheader}, similar to \code{doins}.
+% See \featureref{doheader}.
+% \item[\code{new*} standard input] The \code{newins} etc.\ commands
+% read from standard input if the first argument is \code{-}
+% (a hyphen).
+% See \featureref{newfoo-stdin}.
+% \item[\code{EBUILD_PHASE_FUNC}] This variable is very similar to
+% \code{EBUILD_PHASE}, but contains the name of the current ebuild
+% function.
+% See \featureref{ebuild-phase-func}.
+% \item[Stable use masking/forcing] New files
+% \code{use.stable.\allowbreak\{mask,force\}} and
+% \code{package.use.stable.\allowbreak\{mask,force\}}
+% are supported in profile directories. They are similar to their
+% non-\code{stable} counterparts, but act only on packages that
+% would be merged due to a stable keyword.
+% See \featureref{stablemask}.
+% \end{description}
\section{EAPI 6 (2015-11-13)}
\label{sec:cs:eapi6}
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [gentoo-pms] [PATCH 3/3] Cheat sheet: Update for EAPI 8
2021-06-03 8:30 [gentoo-pms] EAPI cheat sheet for review Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 1/3] Cheat sheet: Fix cross references Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 2/3] Cheat sheet: Remove EAPI 5 to make room for EAPI 8 Ulrich Müller
@ 2021-06-03 8:30 ` Ulrich Müller
2 siblings, 0 replies; 4+ messages in thread
From: Ulrich Müller @ 2021-06-03 8:30 UTC (permalink / raw
To: gentoo-pms; +Cc: Ulrich Müller
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
---
eapi-cheatsheet.tex | 62 ++++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 82602f2..451ab85 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}{7.0}
+\newcommand{\version}{8.0}
\newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
\renewcommand{\familydefault}{\sfdefault}
\urlstyle{sf}
@@ -517,6 +517,66 @@ differences between these previous EAPIs.
used as replacement.
See \featureref{banned-commands}.
\end{description}
+
+\section{EAPI 8}
+\label{sec:cs:eapi8}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi8-additions}
+\begin{description}
+ \item[\code{profiles/updates} directory] Arbitrary filenames
+ are now allowed, instead of strict naming by quarters
+ (like \code{2Q-2021}). See \featureref{updates-filenames}.
+ \item[Bash version] Ebuilds can use features of Bash version 5.0
+ (was 4.2 before). See \featureref{bash-version}.
+ \item[Selective fetch/mirror restriction] In \code{SRC_URI},
+ adding a \code{fetch+} or \code{mirror+} prefix to an individual
+ URI means that the file may be fetched or mirrored. This overrides
+ the corresponding global settings in the \code{RESTRICT} variable.
+ See \featureref{uri-restrict}.
+ \item[\code{IDEPEND}] This variable specifies install-time
+ dependencies on packages used in (e.\,g.) \code{pkg_postinst}.
+ In a cross-compilation environment, these are dependencies for
+ native tools (\code{CBUILD}). See \featureref{idepend}.
+ \item[\code{pkg_*} phases] The initial working directory is
+ guaranteed to be empty. See \featureref{phase-function-dir}.
+ \item[\code{src_prepare}] Items in the \code{PATCHES} variable are
+ interpreted as files, even if their name begins with a hyphen.
+ See \featureref{src-prepare}.
+ \item[\code{PROPERTIES} and \code{RESTRICT}] These variables are
+ accumulated across the ebuild and inherited eclasses, like
+ \code{IUSE}, \code{REQUIRED\_USE}, and \code{*DEPEND} were before.
+ See \featureref{accumulate-vars}.
+ \item[\code{econf}] If supported, options
+ \code{-{}-disable-static} and
+ \code{-{}-datarootdir=\$\{EPREFIX\}/usr/share} are passed
+ to configure, respectively. See \featureref{econf-options}.
+ \item[\code{dosym}] With the new option \code{-r}, an absolute
+ path specified for the link target will be converted to a path
+ relative to the link location. See \featureref{dosym-relative}.
+ \item[\code{insopts}] Commands \code{doconfd}, \code{doenvd},
+ \code{doheader} install files with fixed mode 0644, i.\,e.,
+ they are no longer affected by \code{insopts}.
+ See \featureref{insopts}.
+ \item[\code{exeopts}] Command \code{doinitd} installs files
+ with fixed mode 0755, i.\,e., it is no longer affected by
+ \code{exeopts}. See \featureref{exeopts}.
+ \item[\code{usev}] This helper has an optional second argument
+ now: \code{usev} \emph{<flag> [true]}. If the flag is set,
+ outputs \emph{[true]}, or the flag's name if called with only one
+ argument. Otherwise outputs nothing. See \featureref{usev}.
+\end{description}
+\subsection{Removals/Bans}
+\label{sec:cs:eapi8-removalsbans}
+\begin{description}
+ \item[\code{useq}] No longer allowed. Use regular \code{use} as
+ a drop-in replacement. See \featureref{banned-commands}.
+ \item[\code{hasv} and \code{hasq}] No longer allowed. Regular
+ \code{has} should be used instead.
+ See \featureref{banned-commands}.
+ \item[\code{unpack}] No longer supports unpacking of 7-Zip, RAR,
+ and LHA archives. See \featureref{unpack-extensions}.
+\end{description}
+
\end{document}
% vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :
--
2.31.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-06-03 8:31 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-06-03 8:30 [gentoo-pms] EAPI cheat sheet for review Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 1/3] Cheat sheet: Fix cross references Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 2/3] Cheat sheet: Remove EAPI 5 to make room for EAPI 8 Ulrich Müller
2021-06-03 8:30 ` [gentoo-pms] [PATCH 3/3] Cheat sheet: Update " 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