1 |
commit: 49fa11cf4db1d10f311ff738531e5477cfeb4dbc |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Wed Apr 25 17:10:23 2018 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Thu Apr 26 04:59:26 2018 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=49fa11cf |
7 |
|
8 |
Cheat sheet: Update for EAPI 7. |
9 |
|
10 |
eapi-cheatsheet.tex | 118 +++++++++++++++++++++++++++++++++++++++++++++++++++- |
11 |
1 file changed, 117 insertions(+), 1 deletion(-) |
12 |
|
13 |
diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex |
14 |
index cce3218..7095705 100644 |
15 |
--- a/eapi-cheatsheet.tex |
16 |
+++ b/eapi-cheatsheet.tex |
17 |
@@ -14,7 +14,7 @@ |
18 |
\usepackage[nohyphen]{underscore} |
19 |
\newcommand{\code}[1]{\texttt{#1}} |
20 |
% This should reflect the latest approved EAPI version |
21 |
-\newcommand{\version}{6.0} |
22 |
+\newcommand{\version}{7.0} |
23 |
\newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}} |
24 |
\renewcommand{\familydefault}{\sfdefault} |
25 |
\urlstyle{sf} |
26 |
@@ -401,6 +401,122 @@ differences between these previous EAPIs. |
27 |
as replacement. |
28 |
See \featureref{banned-commands}. |
29 |
\end{description} |
30 |
+ |
31 |
+\section{EAPI 7} |
32 |
+\label{sec:cs:eapi7} |
33 |
+\subsection{Additions/Changes} |
34 |
+\label{sec:cs:eapi7-additions} |
35 |
+\begin{description} |
36 |
+ \item[\code{package.*} and \code{use.*}] These profile files can |
37 |
+ be directories instead of regular files. This is intended to be |
38 |
+ used in overlays only. |
39 |
+ See \featureref{package-mask-dir} and \featureref{profile-file-dirs}. |
40 |
+ \item[\code{||} and \code{\textasciicircum\textasciicircum} |
41 |
+ dependency groups] These groups now evaluate to false when they |
42 |
+ are empty (for example, if there are only unmatched use |
43 |
+ dependencies inside of them). |
44 |
+ See \featureref{empty-dep-groups}. |
45 |
+ \item[No trailing slash] The paths specified by \code{ROOT}, |
46 |
+ \code{EROOT}, \code{D}, and \code{ED} no longer end with a slash. |
47 |
+ Thus, default \code{ROOT} is empty now. |
48 |
+ See \featureref{trailing-slash}. |
49 |
+ \item[Cross compilation support] Several variables have been added |
50 |
+ and some commands have been extended for better cross compilation |
51 |
+ support: |
52 |
+ \begin{description} |
53 |
+ \item[\code{BDEPEND}] Build dependencies are divided into two |
54 |
+ classes: \code{BDEPEND} for native build tools (\code{CBUILD}); |
55 |
+ \code{DEPEND} for dependencies compatible with the system |
56 |
+ being built (\code{CHOST}). |
57 |
+ See \featureref{bdepend}. |
58 |
+ \item[\code{SYSROOT}] The path to the root directory for |
59 |
+ \code{DEPEND} type dependencies. |
60 |
+ See \featureref{sysroot}. |
61 |
+ \item[\code{ESYSROOT}] The concatenation of the \code{SYSROOT} |
62 |
+ and \code{EPREFIX} paths, for convenience. |
63 |
+ \item[\code{BROOT}] The prefixed root directory path for |
64 |
+ \code{BDEPEND} type dependencies, typically executable build |
65 |
+ tools. |
66 |
+ See \featureref{broot}. |
67 |
+ \item[\code{econf}] |
68 |
+ Option \code{-{}-with-sysroot=\$\{ESYSROOT\}} is passed to |
69 |
+ configure, if this option is supported. |
70 |
+ See \featureref{econf-options}. |
71 |
+ \item[\code{has_version} and \code{best_version}] These |
72 |
+ helpers support \code{-b}, \code{-d} or \code{-r} options, |
73 |
+ causing the query to apply to \code{BDEPEND}, \code{DEPEND} |
74 |
+ or \code{RDEPEND} (the default). This replaces the |
75 |
+ \code{-{}-host-root} option. |
76 |
+ See \featureref{pm-query-options}. |
77 |
+ \end{description} |
78 |
+ \item[Environment blacklist] Any environment variable listed in |
79 |
+ the profile-defined \code{ENV_UNSET} variable will be unset by the |
80 |
+ package manager. |
81 |
+ See \featureref{env-unset}. |
82 |
+ \item[\code{patch}] All inputs valid for GNU patch version 2.7 |
83 |
+ are supported. Especially, this includes support for git-formatted |
84 |
+ patches. |
85 |
+ See \featureref{gnu-patch}. |
86 |
+ \item[\code{nonfatal}] In addition to its definition as a shell |
87 |
+ function, the \code{nonfatal} wrapper has now a fallback |
88 |
+ implementation as an external command. Thus, it can be called |
89 |
+ from other commands. |
90 |
+ See \featureref{nonfatal}. |
91 |
+ \item[Output commands] \code{einfo} and friends no longer use |
92 |
+ stdout, so inside of command substitution their output won't be |
93 |
+ caught. |
94 |
+ See \featureref{output-no-stdout}. |
95 |
+ \item[\code{eqawarn}] The \code{eqawarn} output command is |
96 |
+ supported in the package manager itself. |
97 |
+ See \featureref{eqawarn}. |
98 |
+ \item[\code{die} in subshell] The \code{die} command is guaranteed |
99 |
+ to work in a subshell context. |
100 |
+ See \featureref{subshell-die}. |
101 |
+ \item[\code{domo} destination] \code{domo} installs the specified |
102 |
+ files under \code{/usr/share/locale} instead of |
103 |
+ \code{\$\{DESTTREE\}/\allowbreak share/locale}. |
104 |
+ See \featureref{domo-path}. |
105 |
+ \item[Controllable stripping] The \code{dostrip -x} command can be |
106 |
+ used to add paths to an exclusion list for stripping of debug |
107 |
+ symbols, to allow more fine-grained control than with |
108 |
+ \code{RESTRICT="strip"}. |
109 |
+ See \featureref{dostrip}. |
110 |
+ \item[Version manipulation and comparison commands] \mbox{} |
111 |
+ \begin{description} |
112 |
+ \item[\code{ver_cut} \emph{range} {[\emph{version}]}] |
113 |
+ Print the version substring specified by \emph{range}. |
114 |
+ \emph{version} defaults to \code{PV}. |
115 |
+ \item[\code{ver_rs} \emph{range repl} \dots\ {[\emph{version}]}] |
116 |
+ Replace all version separators in \emph{range} by string |
117 |
+ \emph{repl}. Multiple \emph{range repl} pairs are allowed. |
118 |
+ \emph{version} defaults to \code{PV}. |
119 |
+ \item[\code{ver_test} {[\emph{v1}]} \emph{op v2}] |
120 |
+ Check if the relation \emph{v1 op v2} is true. |
121 |
+ \emph{v1} defaults to \code{PVR}; \emph{op} can be \code{-eq}, |
122 |
+ \code{-ne}, \code{-gt}, \code{-ge}, \code{-lt} or \code{-le}. |
123 |
+ \end{description} |
124 |
+ See \featureref{ver-commands}. |
125 |
+\end{description} |
126 |
+\subsection{Removals/Bans} |
127 |
+\label{sec:cs:eapi7-removalsbans} |
128 |
+\begin{description} |
129 |
+ \item[\code{package.provided}] Deprecated since a long time and |
130 |
+ finally dropped. |
131 |
+ See \featureref{package-provided}. |
132 |
+ \item[\code{PORTDIR} and \code{ECLASSDIR}] No longer defined, |
133 |
+ because ebuilds should not directly access files in the repository. |
134 |
+ See \featureref{portdir} and \featureref{eclassdir}. |
135 |
+ \item[\code{DESTTREE} and \code{INSDESTTREE}] Not defined any |
136 |
+ more. Use the \code{into} and \code{insinto} commands instead. |
137 |
+ See \featureref{desttree} and \featureref{insdesttree}. |
138 |
+ \item[\code{dohtml}] No longer allowed. \code{doins -r} can be |
139 |
+ used as a replacement. |
140 |
+ See \featureref{banned-commands}. |
141 |
+ \item[\code{dolib} and \code{libopts}] No longer allowed. |
142 |
+ The specific \code{dolib.a} or \code{dolib.so} commands should be |
143 |
+ used as replacement. |
144 |
+ See \featureref{banned-commands}. |
145 |
+\end{description} |
146 |
\end{document} |
147 |
|
148 |
% vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en : |