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 |