Gentoo Archives: gentoo-dev

From: Ulrich Mueller <ulm@g.o>
To: gentoo-dev@l.g.o
Cc: pms-bugs@g.o
Subject: [gentoo-dev] EAPI Cheat Sheet for review
Date: Sat, 17 Oct 2015 19:52:47
Message-Id: 22050.42745.779525.578767@a1i15.kph.uni-mainz.de
1 In addition to the EAPI 6 specification, a draft of the "EAPI Cheat
2 Sheet" is ready.
3
4 http://dev.gentoo.org/~ulm/pms/6-draft/eapi-cheatsheet.pdf
5 http://dev.gentoo.org/~ulm/pms/6-draft/eapi-cheatsheet-nocombine.pdf
6
7 The second version doesn't combine the leaflet pages and may be better
8 suited for online viewing. EAPI 6 is on pages 5 and 6. I also include
9 the patch for the LaTeX source below.
10
11 Please review.
12
13 Ulrich
14
15
16 From: =?UTF-8?q?Ulrich=20M=C3=BCller?= <ulm@g.o>
17 Date: Sat, 17 Oct 2015 10:52:01 +0200
18 Subject: [PATCH] Cheat sheet: Update for EAPI 6.
19
20 ---
21 eapi-cheatsheet.tex | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
22 1 file changed, 76 insertions(+), 1 deletion(-)
23
24 diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
25 index d15bb7d..fa4b326 100644
26 --- a/eapi-cheatsheet.tex
27 +++ b/eapi-cheatsheet.tex
28 @@ -15,7 +15,7 @@
29 \usepackage[scaled=.90]{helvet}
30 \newcommand{\code}[1]{\texttt{#1}}
31 % This should reflect the latest approved EAPI version
32 -\newcommand{\version}{5.0}
33 +\newcommand{\version}{6.0}
34 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
35 \renewcommand{\familydefault}{\sfdefault}
36 \urlstyle{sf}
37 @@ -324,6 +324,81 @@ differences between these previous EAPIs.
38 would be merged due to a stable keyword.
39 See \featureref{stablemask}.
40 \end{description}
41 +
42 +\section{EAPI 6}
43 +\label{sec:cs:eapi6}
44 +\subsection{Additions/Changes}
45 +\label{sec:cs:eapi6-additions}
46 +\begin{description}
47 + \item[Bash version] Ebuilds can use features of Bash version 4.2
48 + (was 3.2 before).
49 + See \featureref{bash-version}.
50 + \item[\code{failglob}] The \code{failglob} option of Bash is set
51 + in global scope, so that unintentional pattern expansion will be
52 + caught as an error.
53 + See \featureref{failglob}.
54 + \item[\code{src\_prepare}] This phase function has a default now,
55 + which applies patches from the \code{PATCHES} variable with the
56 + new \code{eapply} command, and user-provided patches with
57 + \code{eapply\_user}.
58 + See \featureref{src-prepare-6}.
59 + \item[\code{src\_install}] The default implementation uses the new
60 + \code{einstalldocs} function for installing documentation.
61 + See \featureref{src-install-6}.
62 + \item[\code{unpack} changes] \code{unpack} has been extended:
63 + \begin{description}
64 + \item[Pathnames] Both absolute paths and paths relative to the
65 + working directory are accepted as arguments.
66 + See \featureref{unpack-absolute}.
67 + \item[\code{.txz} files] Unpacking of \code{.txz} files is now
68 + supported.
69 + See \featureref{unpack-extensions}.
70 + \item[Filename case] Character case of filename extensions is
71 + ignored.
72 + See \featureref{unpack-ignore-case}.
73 + \end{description}
74 + \item[\code{econf} changes] Options \code{-{}-docdir} and
75 + \code{-{}-htmldir} are passed to \code{configure}, in addition to
76 + the existing options.
77 + See \featureref{econf-options}.
78 + \item[\code{nonfatal die}] When \code{die} or \code{assert} are
79 + called under the \code{nonfatal} command and with the \code{-n}
80 + option, they will not abort the build process but return with an
81 + error.
82 + See \featureref{nonfatal-die}.
83 + \item[\code{eapply}] The \code{eapply} command is a simplified
84 + substitute for \code{epatch}, implemented in the package manager.
85 + The patches from its file or directory arguments are applied using
86 + \code{patch -p1}.
87 + See \featureref{eapply}.
88 + \item[\code{eapply\_user}] The \code{eapply\_user} command permits
89 + the package manager to apply user-provided patches. It should be
90 + called from every \code{src\_prepare} function.
91 + See \featureref{eapply-user}.
92 + \item[\code{einstalldocs}] The \code{einstalldocs} function will
93 + install the files specified by the \code{DOCS} variable (or a
94 + default set of files if \code{DOCS} is unset) and by the
95 + \code{HTML\_DOCS} variable.
96 + See \featureref{einstalldocs}.
97 + \item[\code{in\_iuse}] The \code{in\_iuse} function returns
98 + true if the USE flag given as its argument is available in the
99 + ebuild for USE queries.
100 + See \featureref{in-iuse}.
101 + \item[\code{get\_libdir}] The \code{get\_libdir} function outputs
102 + the \code{lib*} directory basename suitable for the current ABI.
103 + See \featureref{get-libdir}.
104 + \item[\code{package*} and \code{use*} in profiles] Instead of
105 + regular files, these may optionally be directories containing
106 + files of the named type.
107 + See \featureref{profile-file-dirs}.
108 +\end{description}
109 +\subsection{Removals/Bans}
110 +\label{sec:cs:eapi6-removalsbans}
111 +\begin{description}
112 + \item[\code{einstall}] No longer allowed. Use \code{emake install}
113 + as replacement.
114 + See \featureref{banned-commands}.
115 +\end{description}
116 \end{document}
117
118 % vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :
119 --
120 2.6.2

Replies

Subject Author
Re: [gentoo-dev] EAPI Cheat Sheet for review Ultrabug <ultrabug@g.o>
Re: [gentoo-dev] EAPI Cheat Sheet for review Aaron Bauman <bman@g.o>