1 |
commit: 4761fe1f5f5b9ba75abcf7f974e2ebf3f8966cec |
2 |
Author: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
3 |
AuthorDate: Sat Mar 23 21:30:07 2019 +0000 |
4 |
Commit: Ulrich Müller <ulm <AT> gentoo <DOT> org> |
5 |
CommitDate: Sun Mar 24 15:56:04 2019 +0000 |
6 |
URL: https://gitweb.gentoo.org/proj/pms.git/commit/?id=4761fe1f |
7 |
|
8 |
Refer to chapters as chapters. |
9 |
|
10 |
Also rename label prefixes, "ch:" for chapters, "sec:" for sections, |
11 |
as suggested by Michael Orlitzky. |
12 |
|
13 |
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org> |
14 |
|
15 |
appendices.tex | 2 +- |
16 |
dependencies.tex | 2 +- |
17 |
ebuild-env-vars.tex | 3 +-- |
18 |
ebuild-format.tex | 4 ++-- |
19 |
ebuild-functions.tex | 4 ++-- |
20 |
ebuild-vars.tex | 14 +++++++------- |
21 |
eclasses.tex | 2 +- |
22 |
glossary.tex | 4 ++-- |
23 |
introduction.tex | 4 ++-- |
24 |
metadata-cache.tex | 2 +- |
25 |
profile-variables.tex | 6 +++--- |
26 |
profiles.tex | 4 ++-- |
27 |
tree-layout.tex | 38 +++++++++++++++++--------------------- |
28 |
13 files changed, 42 insertions(+), 47 deletions(-) |
29 |
|
30 |
diff --git a/appendices.tex b/appendices.tex |
31 |
index 434aa3f..ee537f7 100644 |
32 |
--- a/appendices.tex |
33 |
+++ b/appendices.tex |
34 |
@@ -1,5 +1,5 @@ |
35 |
\chapter{metadata.xml} |
36 |
-\label{sec:metadata-xml} |
37 |
+\label{ch:metadata-xml} |
38 |
|
39 |
The \t{metadata.xml} file is used to contain extra package- or category-level information beyond |
40 |
what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document, |
41 |
|
42 |
diff --git a/dependencies.tex b/dependencies.tex |
43 |
index 09becdb..89d1405 100644 |
44 |
--- a/dependencies.tex |
45 |
+++ b/dependencies.tex |
46 |
@@ -1,5 +1,5 @@ |
47 |
\chapter{Dependencies} |
48 |
-\label{sec:dependencies} |
49 |
+\label{ch:dependencies} |
50 |
|
51 |
\section{Dependency Classes} |
52 |
\label{sec:dependency-classes} |
53 |
|
54 |
diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex |
55 |
index 1b53f20..56f959c 100644 |
56 |
--- a/ebuild-env-vars.tex |
57 |
+++ b/ebuild-env-vars.tex |
58 |
@@ -98,8 +98,7 @@ variable. |
59 |
\t{WORKDIR} & |
60 |
Ditto & |
61 |
Yes & |
62 |
- The full path to the ebuild's working directory, where all build data should be contained.% |
63 |
- \label{env-var-WORKDIR} \\ |
64 |
+ The full path to the ebuild's working directory, where all build data should be contained. \\ |
65 |
\t{S} & |
66 |
\t{src_*} & |
67 |
Yes & |
68 |
|
69 |
diff --git a/ebuild-format.tex b/ebuild-format.tex |
70 |
index e7b8133..d53d773 100644 |
71 |
--- a/ebuild-format.tex |
72 |
+++ b/ebuild-format.tex |
73 |
@@ -1,5 +1,5 @@ |
74 |
\chapter{Ebuild File Format} |
75 |
-\label{sec:ebuild-format} |
76 |
+\label{ch:ebuild-format} |
77 |
|
78 |
\featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of |
79 |
a bash script. The interpreter is assumed to be GNU bash, version as listed in |
80 |
@@ -12,7 +12,7 @@ option of bash is set in the global scope of ebuilds. If set, failed pattern mat |
81 |
filename expansion result in an error when the ebuild is being sourced. |
82 |
|
83 |
The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define |
84 |
-certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions} |
85 |
+certain variables and functions (see chapters~\ref{ch:ebuild-vars} and~\ref{ch:ebuild-functions} |
86 |
for specific information), and must not call any external programs, write anything to standard |
87 |
output or standard error, or modify the state of the system in any way. |
88 |
|
89 |
|
90 |
diff --git a/ebuild-functions.tex b/ebuild-functions.tex |
91 |
index 5c675ab..10247a8 100644 |
92 |
--- a/ebuild-functions.tex |
93 |
+++ b/ebuild-functions.tex |
94 |
@@ -1,5 +1,5 @@ |
95 |
\chapter{Ebuild-defined Functions} |
96 |
-\label{sec:ebuild-functions} |
97 |
+\label{ch:ebuild-functions} |
98 |
|
99 |
\section{List of Functions} |
100 |
|
101 |
@@ -7,7 +7,7 @@ The following is a list of functions that an ebuild, or eclass, may define, and |
102 |
by the package manager as part of the build and/or install process. In all cases the package manager |
103 |
must provide a default implementation of these functions; unless otherwise stated this must be a |
104 |
no-op. Most functions must assume only that they have write access to the package's working |
105 |
-directory (the \t{WORKDIR} environment variable; see section~\ref{env-var-WORKDIR}), and the |
106 |
+directory (the \t{WORKDIR} environment variable; see section~\ref{sec:ebuild-env-vars}), and the |
107 |
temporary directory \t{T}; exceptions are noted below. All functions may assume that they have read |
108 |
access to all system libraries, binaries and configuration files that are accessible to normal |
109 |
users. |
110 |
|
111 |
diff --git a/ebuild-vars.tex b/ebuild-vars.tex |
112 |
index c1b8b73..2ca30f2 100644 |
113 |
--- a/ebuild-vars.tex |
114 |
+++ b/ebuild-vars.tex |
115 |
@@ -1,7 +1,7 @@ |
116 |
\chapter{Ebuild-defined Variables} |
117 |
-\label{sec:ebuild-vars} |
118 |
+\label{ch:ebuild-vars} |
119 |
|
120 |
-\note{This section describes variables that may or must be defined by ebuilds. For variables that |
121 |
+\note{This chapter describes variables that may or must be defined by ebuilds. For variables that |
122 |
are passed from the package manager to the ebuild, see section~\ref{sec:ebuild-env-vars}.} |
123 |
|
124 |
If any of these variables are set to invalid values, or if any of the mandatory variables are |
125 |
@@ -41,6 +41,7 @@ All ebuilds must define at least the following variables: |
126 |
\end{description} |
127 |
|
128 |
\section{Optional Ebuild-defined Variables} |
129 |
+\label{sec:optional-vars} |
130 |
|
131 |
Ebuilds may define any of the following variables: |
132 |
|
133 |
@@ -56,7 +57,6 @@ Ebuilds may define any of the following variables: |
134 |
\item[LICENSE] The package's license. Each text token must be a valid license name, as per |
135 |
section~\ref{sec:license-names}, and must correspond to a tree ``licenses/'' entry |
136 |
(see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependency-spec} for full syntax. |
137 |
- \label{ebuild-var-LICENSE} |
138 |
\item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid |
139 |
keyword name, as per section~\ref{sec:keyword-names}. See section~\ref{sec:keywords} for full |
140 |
syntax. |
141 |
@@ -80,12 +80,12 @@ Ebuilds may define any of the following variables: |
142 |
any way. |
143 |
\item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict} |
144 |
for value meanings and section~\ref{sec:dependency-spec} for full syntax. |
145 |
-\item[DEPEND] See section~\ref{sec:dependencies}. |
146 |
-\item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour |
147 |
+\item[DEPEND] See chapter~\ref{ch:dependencies}. |
148 |
+\item[RDEPEND] See chapter~\ref{ch:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour |
149 |
for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for |
150 |
details. |
151 |
-\item[PDEPEND] See section~\ref{sec:dependencies}. |
152 |
-\item[BDEPEND] See section~\ref{sec:dependencies}. |
153 |
+\item[PDEPEND] See chapter~\ref{ch:dependencies}. |
154 |
+\item[BDEPEND] See chapter~\ref{ch:dependencies}. |
155 |
\end{description} |
156 |
|
157 |
\ChangeWhenAddingAnEAPI{7} |
158 |
|
159 |
diff --git a/eclasses.tex b/eclasses.tex |
160 |
index 8305504..bf0007b 100644 |
161 |
--- a/eclasses.tex |
162 |
+++ b/eclasses.tex |
163 |
@@ -1,5 +1,5 @@ |
164 |
\chapter{Eclasses} |
165 |
-\label{sec:eclasses} |
166 |
+\label{ch:eclasses} |
167 |
|
168 |
Eclasses serve to store common code that is used by more than one ebuild, which greatly aids |
169 |
maintainability and reduces the tree size. However, due to metadata cache issues, care must be taken |
170 |
|
171 |
diff --git a/glossary.tex b/glossary.tex |
172 |
index 100c09a..5666aa2 100644 |
173 |
--- a/glossary.tex |
174 |
+++ b/glossary.tex |
175 |
@@ -1,7 +1,7 @@ |
176 |
\chapter{Glossary} |
177 |
-\label{sec:glossary} |
178 |
+\label{ch:glossary} |
179 |
|
180 |
-This section contains explanations of some of the terms used in this document whose meaning may not |
181 |
+This chapter contains explanations of some of the terms used in this document whose meaning may not |
182 |
be immediately obvious. |
183 |
|
184 |
\begin{description} |
185 |
|
186 |
diff --git a/introduction.tex b/introduction.tex |
187 |
index b5b63c6..8d1f793 100644 |
188 |
--- a/introduction.tex |
189 |
+++ b/introduction.tex |
190 |
@@ -7,7 +7,7 @@ well as certain aspects of package manager behaviour required to support such a |
191 |
|
192 |
This document is \e{not} designed to be an introduction to ebuild development. Prior knowledge of |
193 |
ebuild creation and an understanding of how the package management system works is assumed; certain |
194 |
-less familiar terms are explained in the Glossary in chapter~\ref{sec:glossary}. |
195 |
+less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}. |
196 |
|
197 |
This document does not specify any user or package manager configuration information. |
198 |
|
199 |
@@ -60,7 +60,7 @@ applicable to tools or other applications that interact with ebuilds or ebuild r |
200 |
\section{Acknowledgements} |
201 |
|
202 |
Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}), |
203 |
-Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various |
204 |
+Danny van Dyk (ebuild functions, chapter~\ref{ch:ebuild-functions}), David Leverton (various |
205 |
sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}), Michał Górny |
206 |
(various sections), Andreas K. Hüttel (stable use masking, section~\ref{sec:use-masking}), |
207 |
Zac Medico (sub-slots, section~\ref{sec:mandatory-vars}) and James Le Cuirot (build dependencies, |
208 |
|
209 |
diff --git a/metadata-cache.tex b/metadata-cache.tex |
210 |
index 3ac64a6..33574c4 100644 |
211 |
--- a/metadata-cache.tex |
212 |
+++ b/metadata-cache.tex |
213 |
@@ -1,5 +1,5 @@ |
214 |
\chapter{Metadata Cache} |
215 |
-\label{sec:metadata-cache} |
216 |
+\label{ch:metadata-cache} |
217 |
|
218 |
\section{Directory Contents} |
219 |
|
220 |
|
221 |
diff --git a/profile-variables.tex b/profile-variables.tex |
222 |
index 6cd770c..f34c7c5 100644 |
223 |
--- a/profile-variables.tex |
224 |
+++ b/profile-variables.tex |
225 |
@@ -72,10 +72,10 @@ completely override those in parent profiles. |
226 |
The following variables have specific meanings when set in profiles. |
227 |
\begin{description} |
228 |
\item[ARCH] The system's architecture. Must be a value listed in \t{profiles/arch.list}; see |
229 |
- section~\ref{arch.list} for more information. Must be equal to the primary \t{KEYWORD} for this |
230 |
- profile. |
231 |
+ section~\ref{sec:profiles-dir} for more information. Must be equal to the primary \t{KEYWORD} |
232 |
+ for this profile. |
233 |
\item[CONFIG_PROTECT, CONFIG_PROTECT_MASK] Contain whitespace-delimited lists used to control the |
234 |
- configuration file protection. Described more fully in chapter~\ref{sec:config-protect}. |
235 |
+ configuration file protection. Described more fully in section~\ref{sec:config-protect}. |
236 |
\item[USE] Defines the list of default USE flags for this profile. Flags may be added or removed by |
237 |
the user's configuration. \t{USE_EXPAND} values must not be specified in this way. |
238 |
\item[USE_EXPAND] Defines a list of variables which are to be treated incrementally and whose |
239 |
|
240 |
diff --git a/profiles.tex b/profiles.tex |
241 |
index b423697..38e1be1 100644 |
242 |
--- a/profiles.tex |
243 |
+++ b/profiles.tex |
244 |
@@ -1,5 +1,5 @@ |
245 |
\chapter{Profiles} |
246 |
-\label{sec:profiles} |
247 |
+\label{ch:profiles} |
248 |
|
249 |
\section{General Principles} |
250 |
Generally, a profile defines information specific to a certain `type' of system---it lies somewhere |
251 |
@@ -111,7 +111,7 @@ installed unless unmasked by the user's configuration. In some EAPIs, \t{package |
252 |
directory instead of a regular file as per section~\ref{sec:line-stacking}. |
253 |
|
254 |
Note that the \t{-spec} syntax can be used to remove a mask in a parent profile, but not |
255 |
-necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles-package.mask}). |
256 |
+necessarily a global mask (from \t{profiles/package.mask}, section~\ref{sec:profiles-dir}). |
257 |
|
258 |
\note{Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the |
259 |
inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.} |
260 |
|
261 |
diff --git a/tree-layout.tex b/tree-layout.tex |
262 |
index 9397e4b..0ff1ec9 100644 |
263 |
--- a/tree-layout.tex |
264 |
+++ b/tree-layout.tex |
265 |
@@ -24,12 +24,11 @@ An ebuild repository shall occupy one directory on disk, with the following subd |
266 |
\section{Category Directories} |
267 |
\label{sec:category-dirs} |
268 |
|
269 |
-Each category provided by the repository (see also: the |
270 |
-\t{profiles/categories} file, section~\ref{profiles-categories}) shall |
271 |
-be contained in one directory, whose name shall be that of the |
272 |
-category. Each category directory shall contain: |
273 |
+Each category provided by the repository (see also: the \t{profiles/categories} file, |
274 |
+section~\ref{sec:profiles-dir}) shall be contained in one directory, whose name shall be that of |
275 |
+the category. Each category directory shall contain: |
276 |
\begin{compactitem} |
277 |
-\item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional. |
278 |
+\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional. |
279 |
\item Zero or more package directories, one for each package in the category, as described in |
280 |
section~\ref{sec:package-dirs}. The name of the package directory shall be the corresponding |
281 |
package name. |
282 |
@@ -49,8 +48,8 @@ a package manager may treat an empty category as a category that does not exist) |
283 |
|
284 |
A package directory contains the following: |
285 |
\begin{compactitem} |
286 |
-\item Zero or more ebuilds. These are as described in section~\ref{sec:ebuild-format} and others. |
287 |
-\item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional only for |
288 |
+\item Zero or more ebuilds. These are as described in chapter~\ref{ch:ebuild-format} and others. |
289 |
+\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for |
290 |
legacy support. |
291 |
\item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional. |
292 |
\item A \t{Manifest} file, whose format is described in~\cite{Glep44}. Can be omitted if the file |
293 |
@@ -73,12 +72,10 @@ this specification. |
294 |
\section{The Profiles Directory} |
295 |
\label{sec:profiles-dir} |
296 |
|
297 |
-The profiles directory shall contain zero or more profile directories |
298 |
-as described in section~\ref{sec:profiles}, as well as the following files |
299 |
-and directories. In any line-based file, lines beginning with a \# |
300 |
-character are treated as comments, whilst blank lines are ignored. All |
301 |
-contents of this directory, with the exception of \t{repo_name}, are |
302 |
-optional. |
303 |
+The profiles directory shall contain zero or more profile directories as described in |
304 |
+chapter~\ref{ch:profiles}, as well as the following files and directories. In any line-based file, |
305 |
+lines beginning with a \# character are treated as comments, whilst blank lines are ignored. |
306 |
+All contents of this directory, with the exception of \t{repo_name}, are optional. |
307 |
|
308 |
The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single |
309 |
line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles |
310 |
@@ -92,10 +89,9 @@ Other files not described by this specification may exist, but may not be relied |
311 |
manager must ignore any files in this directory that it does not recognise. |
312 |
|
313 |
\begin{description} |
314 |
-\item[arch.list] \label{arch.list} Contains a list, one entry per line, of permissible values for |
315 |
- the \t{ARCH} variable, and hence permissible keywords for packages in this repository. |
316 |
-\item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories |
317 |
- provided by this repository. |
318 |
+\item[arch.list] Contains a list, one entry per line, of permissible values for the \t{ARCH} |
319 |
+ variable, and hence permissible keywords for packages in this repository. |
320 |
+\item[categories] Contains a list, one entry per line, of categories provided by this repository. |
321 |
\item[eapi] See above. |
322 |
\item[info_pkgs] Contains a list, one entry per line, of qualified package names. Any package |
323 |
matching one of these is to be listed when a package manager displays a `system information' |
324 |
@@ -103,7 +99,7 @@ manager must ignore any files in this directory that it does not recognise. |
325 |
\item[info_vars] Contains a list, one entry per line, of profile, configuration, and environment |
326 |
variables which are considered to be of interest. The value of each of these variables may be |
327 |
shown when the package manager displays a `system information' listing. |
328 |
-\item[package.mask] \label{profiles-package.mask} |
329 |
+\item[package.mask] |
330 |
Contains a list, one entry per line, of package dependency specifications (using the directory's |
331 |
EAPI). Any package version matching one of these is considered to be masked, and will not be |
332 |
installed regardless of profile unless it is unmasked by the user configuration. |
333 |
@@ -234,14 +230,14 @@ that slot move in the future. |
334 |
|
335 |
The \t{licenses} directory shall contain copies of the licenses used by packages in the |
336 |
repository. Each file will be named according to the name used in the \t{LICENSE} variable as |
337 |
-described in section~\ref{ebuild-var-LICENSE}, and will contain the complete text of the license in |
338 |
+described in section~\ref{sec:optional-vars}, and will contain the complete text of the license in |
339 |
human-readable form. Plain text format is strongly preferred but not required. |
340 |
|
341 |
\section{The Eclass Directory} |
342 |
\label{sec:eclass-dir} |
343 |
|
344 |
The \t{eclass} directory shall contain copies of the eclasses provided by this repository. The |
345 |
-format of these files is described in section~\ref{sec:eclasses}. It may also contain, in their own |
346 |
+format of these files is described in chapter~\ref{ch:eclasses}. It may also contain, in their own |
347 |
directory, support files needed by these eclasses. |
348 |
|
349 |
\section{The Metadata Directory} |
350 |
@@ -255,7 +251,7 @@ various XML files used in the repository, and repository timestamps. |
351 |
\subsection{The metadata cache} |
352 |
|
353 |
The \t{metadata/cache} directory may contain a cached form of all important ebuild metadata |
354 |
-variables. The contents of this directory are described in chapter~\ref{sec:metadata-cache}. |
355 |
+variables. The contents of this directory are described in chapter~\ref{ch:metadata-cache}. |
356 |
|
357 |
% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : |