public inbox for gentoo-pms@lists.gentoo.org
 help / color / mirror / Atom feed
* [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