Gentoo Archives: gentoo-pms

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-pms@l.g.o
Subject: [gentoo-pms] [PATCH 2/2] Promote "Available commands" from section to chapter.
Date: Fri, 29 Sep 2017 15:33:33
Message-Id: 22990.26567.452801.243178@a1i15.kph.uni-mainz.de
In Reply to: [gentoo-pms] Re: RFC: Promote 11.3.3 "Ebuild-specific commands" to a section by Ulrich Mueller
1 "The ebuild environment" is the largest chapter by far with 23 pages,
2 mainly due to section "Available commands" which alone has 15 pages.
3 Therefore, promote this section to a chapter of its own (which will
4 still be the largest chapter of the document).
5 ---
6 ebuild-env-commands.tex => commands.tex | 10 +++++-----
7 ebuild-environment.tex | 2 --
8 pkg-mgr-commands.tex | 34 ++++++++++++++++-----------------
9 pms.tex | 2 ++
10 4 files changed, 24 insertions(+), 24 deletions(-)
11 rename ebuild-env-commands.tex => commands.tex (92%)
12
13 diff --git a/ebuild-env-commands.tex b/commands.tex
14 similarity index 92%
15 rename from ebuild-env-commands.tex
16 rename to commands.tex
17 index 650d200..5f6fe7a 100644
18 --- a/ebuild-env-commands.tex
19 +++ b/commands.tex
20 @@ -1,13 +1,13 @@
21 -\section{Available Commands}
22 +\chapter{Available Commands}
23
24 -This section documents the commands available to an ebuild. Unless otherwise specified, they may be
25 +This chapter documents the commands available to an ebuild. Unless otherwise specified, they may be
26 aliases, shell functions, or executables in the ebuild's \t{PATH}.
27
28 When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
29 when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may
30 be executed. The package manager may take steps to enforce this.
31
32 -\subsection{System commands}
33 +\section{System Commands}
34
35 Any ebuild not listed in the system set for the active profile(s) may assume the presence of every
36 command that is always provided by the system set for that profile. However, it must target the
37 @@ -17,7 +17,7 @@ equivalent, which is inherited by all available profiles. If an ebuild requires
38 provided by the system profile, or that are provided conditionally based on USE flags, appropriate
39 dependencies must be used to ensure their presence.
40
41 -\subsubsection{Guaranteed system commands}
42 +\subsection{Guaranteed system commands}
43 \label{sec:guaranteed-system-commands}
44
45 The following commands must always be available in the ebuild environment:
46 @@ -46,7 +46,7 @@ The following commands must always be available in the ebuild environment:
47 \end{tabular}
48 \end{centertable}
49
50 -\subsection{Commands provided by package dependencies}
51 +\section{Commands Provided by Package Dependencies}
52
53 In some cases a package's build process will require the availability of executables not provided by
54 the core system, a common example being autotools. The availability of commands provided by the
55 diff --git a/ebuild-environment.tex b/ebuild-environment.tex
56 index 99e7967..82c036c 100644
57 --- a/ebuild-environment.tex
58 +++ b/ebuild-environment.tex
59 @@ -4,8 +4,6 @@
60
61 \input{ebuild-env-state.tex}
62
63 -\input{ebuild-env-commands.tex}
64 -
65 \input{ebuild-env-invariancy.tex}
66
67 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
68 diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
69 index 6fd35ae..ab9c586 100644
70 --- a/pkg-mgr-commands.tex
71 +++ b/pkg-mgr-commands.tex
72 @@ -1,4 +1,4 @@
73 -\subsection{Ebuild-specific commands}
74 +\section{Ebuild-specific Commands}
75 \label{sec:pkg-mgr-commands}
76
77 The following commands will always be available in the ebuild environment, provided by the package
78 @@ -8,7 +8,7 @@ behaviour.
79
80 Unless otherwise noted, any output of these commands ends with a newline.
81
82 -\subsubsection{Failure behaviour and related commands}
83 +\subsection{Failure behaviour and related commands}
84 \label{sec:failure-behaviour}
85
86 \featurelabel{die-on-failure} Where a command is listed as having EAPI dependent failure behaviour,
87 @@ -41,7 +41,7 @@ The following commands affect this behaviour:
88 \end{tabular}
89 \end{centertable}
90
91 -\subsubsection{Banned commands}
92 +\subsection{Banned commands}
93 \label{sec:banned-commands}
94
95 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
96 @@ -66,7 +66,7 @@ called, the package manager must abort the build process indicating an error.
97 \end{tabular}
98 \end{centertable}
99
100 -\subsubsection{Sandbox commands}
101 +\subsection{Sandbox commands}
102 These commands affect the behaviour of the sandbox. Each command takes a single directory as
103 argument. Ebuilds must not run any of these commands once the current phase function has returned.
104 \begin{description}
105 @@ -77,7 +77,7 @@ argument. Ebuilds must not run any of these commands once the current phase func
106 \item[adddeny] Add a directory to the deny list.
107 \end{description}
108
109 -\subsubsection{Package manager query commands}
110 +\subsection{Package manager query commands}
111 These commands are used to extract information about the system. Ebuilds must not run any of
112 these commands in parallel with any other package manager command. Ebuilds must not run any of
113 these commands once the current phase function has returned.
114 @@ -107,7 +107,7 @@ to the host root instead of \t{ROOT}.
115 \end{tabular}
116 \end{centertable}
117
118 -\subsubsection{Output commands}
119 +\subsection{Output commands}
120 These commands display messages to the user. Unless otherwise stated, the entire argument list is
121 used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of
122 bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} for a new line, and
123 @@ -130,7 +130,7 @@ stderr or some other appropriate facility.
124 message followed by a failure indicator. Returns its first argument as exit status.
125 \end{description}
126
127 -\subsubsection{Error commands}
128 +\subsection{Error commands}
129 These commands are used when an error is detected that will prevent the build process from
130 completing. Ebuilds must not run any of these commands once the current phase function has returned.
131 \begin{description}
132 @@ -158,7 +158,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
133 \end{tabular}
134 \end{centertable}
135
136 -\subsubsection{Patch commands}
137 +\subsection{Patch commands}
138 These commands are used during the \t{src_prepare} phase to apply patches to the package's sources.
139 Ebuilds must not run any of these commands once the current phase function has returned.
140
141 @@ -232,7 +232,7 @@ Ebuilds must not run any of these commands once the current phase function has r
142 \end{tabular}
143 \end{centertable}
144
145 -\subsubsection{Build commands}
146 +\subsection{Build commands}
147 These commands are used during the \t{src_configure}, \t{src_compile}, and \t{src_install}
148 phases to run the package's build commands. Ebuilds must not run any of these commands once the
149 current phase function has returned.
150 @@ -356,7 +356,7 @@ emake \
151
152 \end{description}
153
154 -\subsubsection{Installation commands}
155 +\subsection{Installation commands}
156 These commands are used to install files into the staging area, in cases where the package's \t{make
157 install} target cannot be used or does not install all needed files. Except where otherwise stated,
158 all filenames created or modified are relative to the staging directory including the offset-prefix
159 @@ -624,7 +624,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
160 \end{tabular}
161 \end{centertable}
162
163 -\subsubsection{Commands affecting install destinations}
164 +\subsection{Commands affecting install destinations}
165 The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
166 offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the
167 above installation commands. They must be shell functions or aliases, due to the need to set variables
168 @@ -659,7 +659,7 @@ has returned.
169
170 \end{description}
171
172 -\subsubsection{Commands affecting install compression}
173 +\subsection{Commands affecting install compression}
174
175 \featurelabel{docompress} In EAPIs listed in table~\ref{tab:compression-table} as supporting
176 controllable compression, the package manager may optionally compress a subset of the files under
177 @@ -721,7 +721,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
178 \end{tabular}
179 \end{centertable}
180
181 -\subsubsection{USE list functions}
182 +\subsection{USE list functions}
183 These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
184 these commands once the current phase function has returned. It is an error if an ebuild calls any
185 of these functions in global scope.
186 @@ -803,7 +803,7 @@ table~\ref{tab:use-list-strictness}.
187 \end{tabular}
188 \end{centertable}
189
190 -\subsubsection{Text list functions}
191 +\subsection{Text list functions}
192 These functions check whitespace-separated lists for a particular value.
193
194 \begin{description}
195 @@ -813,7 +813,7 @@ These functions check whitespace-separated lists for a particular value.
196 \item[hasq] Deprecated synonym for \t{has}.
197 \end{description}
198
199 -\subsubsection{Misc commands}
200 +\subsection{Misc commands}
201 The following commands are always available in the ebuild environment, but don't really fit in any
202 of the above categories. Ebuilds must not run any of these commands once the current phase function
203 has returned.
204 @@ -992,7 +992,7 @@ has returned.
205 \end{tabular}
206 \end{centertable}
207
208 -\subsubsection{Debug commands}
209 +\subsection{Debug commands}
210 The following commands are available for debugging. Normally all of these commands should be no ops;
211 a package manager may provide a special debug mode where these commands instead do something.
212 Ebuilds must not run any of these commands once the current phase function has returned.
213 @@ -1005,7 +1005,7 @@ Ebuilds must not run any of these commands once the current phase function has r
214 \item[debug-print-section] Calls \t{debug-print} with \t{now in section \$*}.
215 \end{description}
216
217 -\subsubsection{Reserved commands and variables}
218 +\subsection{Reserved commands and variables}
219
220 Except where documented otherwise, all functions and variables that contain any of the following
221 strings (ignoring case) are reserved for package manager use and may not be used or relied upon by
222 diff --git a/pms.tex b/pms.tex
223 index 3f338fb..4d2cd99 100644
224 --- a/pms.tex
225 +++ b/pms.tex
226 @@ -68,6 +68,8 @@
227
228 \include{ebuild-environment}
229
230 +\include{commands}
231 +
232 \include{merge}
233
234 \include{metadata-cache}
235 --
236 2.14.2