Gentoo Archives: gentoo-commits

From: "Ulrich Müller" <ulm@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] proj/pms:master commit in: /
Date: Thu, 28 Mar 2019 07:23:07
Message-Id: 1553442964.4761fe1f5f5b9ba75abcf7f974e2ebf3f8966cec.ulm@gentoo
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 :