public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
* [gentoo-commits] proj/pms:master commit in: /
@ 2011-02-10  8:42 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-02-10  8:42 UTC (permalink / raw
  To: gentoo-commits

commit:     fb9fa675a61e3a549437e45b2eff2b883cad5f55
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  3 06:43:51 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb  3 06:43:51 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=fb9fa675

New make target for cheat sheet without combined pages.

---
 Makefile |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/Makefile b/Makefile
index 1904238..00c2e4d 100644
--- a/Makefile
+++ b/Makefile
@@ -40,6 +40,11 @@ pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
 eapi-cheatsheet.pdf: vc.tex
 	pdflatex eapi-cheatsheet
 
+eapi-cheatsheet-nocombine.pdf: vc.tex
+	@# cheat sheet with separate pages, for proofreading
+	pdflatex -jobname eapi-cheatsheet-nocombine \
+	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
+
 vc.tex: pms.tex vc-git.awk
 	/bin/sh ./vc
 



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-02-10  8:42 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-02-10  8:42 UTC (permalink / raw
  To: gentoo-commits

commit:     1b84ba616660adca11ba996aac2944f666a1ab5d
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb  5 21:32:42 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb  5 21:32:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=1b84ba61

Cheat sheet: Clarify wording for REPLACING_VERSIONS and REPLACED_BY_VERSION.

---
 eapi-cheatsheet.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 3d63332..927c5f3 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -205,9 +205,9 @@ nonetheless.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
     \item[\code{REPLACING\_VERSIONS}, \code{REPLACED\_BY\_VERSION}]
-    For corner cases in upgrade paths those variables can be defined
-    in \code{pkg\_*} functions to define a package version that is
-    replaced by or is the replacement for the current one.
+    These variables, valid in \code{pkg\_*}, contain a list of all
+    versions (\code{PVR}) of this package that we are replacing, and
+    the version that is replacing the current one, respectively.
     See \featureref{replace-version-vars}.
     \item[\code{MERGE\_TYPE}] This variable contains one of three
     possible values to allow checks if it is normal merge with



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-03-31 10:36 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-03-31 10:36 UTC (permalink / raw
  To: gentoo-commits

commit:     61e2b5c49c66ce518ea9689a433fab5a4ebc88b5
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 31 10:22:08 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 31 10:22:08 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=61e2b5c4

Remove spurious line break in optional-vars-table.

---
 ebuild-vars.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 00e7779..8df94e9 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -101,7 +101,7 @@ Ebuilds may define any of the following variables:
     \begin{tabular}{ l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} \\
+        \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
         \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
         \midrule
     \t{0} & Optionally & No \\



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-05-22  0:41 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-05-22  0:41 UTC (permalink / raw
  To: gentoo-commits

commit:     5935aa87d46a97a72c8c032728f50a6ecbdf864d
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 26 17:10:51 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 26 18:11:20 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5935aa87

Clarify wording on self-blockers.

---
 dependencies.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 362f6cc..f6318d8 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -187,7 +187,7 @@ following exceptions:
 
 \begin{compactitem}
 \item Blocks on a package provided exclusively by the ebuild do not count. \label{provided-blocks}
-\item Blocks on the ebuild itself do not count.
+\item Weak blocks on the package version of the ebuild itself do not count.
 \end{compactitem}
 
 \featurelabel{bang-strength} There are two strengths of block: weak and strong. A weak block may be



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-05-22  0:41 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-05-22  0:41 UTC (permalink / raw
  To: gentoo-commits

commit:     08e1db61cd75bad2bbcc4bad828c778af15bd78d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat May 14 19:47:58 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 22 00:39:51 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=08e1db61

Denote that src_test() can be disabled by user as well.

Right now, the section on phase functions could suggest that src_test()
will be run always unless RESTRICT=test is specified. Try to clear that
up.

---
 ebuild-functions.tex |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index a035fd4..51d9263 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -259,7 +259,8 @@ enabled, run \t{make check} if and only if such a target is available, or if not
 if and only such a target is available. In both cases, if make returns non-zero the build must be
 aborted.
 
-The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}.
+The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}. It may
+be disabled by user too, using a PM-specific mechanism.
 
 \subsection{src\_install}
 \label{sec:src-install-function}
@@ -434,7 +435,7 @@ The call order for installing a package is:
 \item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
 \item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
 \item \t{src\_compile}
-\item \t{src\_test} (except if \t{RESTRICT=test})
+\item \t{src\_test} (except if \t{RESTRICT=test} or disabled by user)
 \item \t{src\_install}
 \item \t{pkg\_preinst}
 \item \t{pkg\_postinst}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-06 15:52 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-06-06 15:52 UTC (permalink / raw
  To: gentoo-commits

commit:     a88d6476e8173dd0183ff1a08280ac7f8664fa63
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 28 14:18:42 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 28 14:18:42 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a88d6476

List EMERGE_ as unspecified variables.

See bug 368865.

---
 appendices.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index a604a3f..9e91ede 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -13,7 +13,7 @@ been abused in the past.
 
 \begin{compactitem}
 \item The \t{FEATURES} variable. This is Portage specific.
-\item Similarly, any \t{PORTAGE\_} variable not explicitly listed.
+\item Similarly, any \t{EMERGE\_} variable and any \t{PORTAGE\_} variable not explicitly listed.
 \item Any Portage configuration file.
 \item The VDB (\t{/var/db/pkg}). Ebuilds must not access this or rely upon it existing or being
     in any particular format.



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-19 15:36 Ciaran McCreesh
  0 siblings, 0 replies; 385+ messages in thread
From: Ciaran McCreesh @ 2011-06-19 15:36 UTC (permalink / raw
  To: gentoo-commits

commit:     c8ab6b99bffa85bcd686284ba60a30f53c31c8b0
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sat Jun 11 20:04:34 2011 +0000
Commit:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
CommitDate: Sat Jun 11 21:01:23 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c8ab6b99

Ding dong, old-style virtuals are dead

---
 appendices.tex     |    9 +++++++++
 dependencies.tex   |    4 +---
 ebuild-vars.tex    |    3 ---
 glossary.tex       |    8 +++-----
 metadata-cache.tex |    2 +-
 pms.tex            |    2 --
 profiles.tex       |   13 -------------
 virtuals.tex       |   45 ---------------------------------------------
 8 files changed, 14 insertions(+), 72 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 9e91ede..46503bc 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -56,6 +56,15 @@ The \t{use.defaults} file in the profile directory was used to implement `autous
 flags on or off depending upon which packages are installed. It was deprecated long ago and finally
 removed in 2009.
 
+\section{Old-style Virtuals}
+
+Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
+the \t{PROVIDE} metadata that it supplied certain virtuals, and the package manager had to bear this
+in mind when handling dependencies.
+
+Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}, and were phased out
+via GLEP 37.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/dependencies.tex b/dependencies.tex
index f6318d8..45081fe 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -13,7 +13,7 @@ There are three classes of dependencies supported by ebuilds:
 \item Post dependencies (\t{PDEPEND}). These must be installed at some point.
 \end{compactitem}
 
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{PROVIDE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
+In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their values.
 
 \section{Dependency Specification Format}
@@ -23,8 +23,6 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
-\item A simple qualified package name. Permitted in \t{PROVIDE} (and inside \t{DEPEND} etc
-    via the previous item).
 \item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}. In EAPIs
     listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may optionally be
     followed by whitespace, then \t{->}, then whitespace, then a simple filename when in

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 8df94e9..d183305 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -77,9 +77,6 @@ Ebuilds may define any of the following variables:
 \item[DEPEND] See section~\ref{sec:dependencies}.
 \item[EAPI] The EAPI. See below for defaults.
 \item[PDEPEND] See section~\ref{sec:dependencies}.
-\item[PROVIDE] Zero or more qualified package names of any \i{old style}
-    virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax.
-    \label{ebuild-var-provide}
 \item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
     details.

diff --git a/glossary.tex b/glossary.tex
index 2acbeb1..03ecace 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -7,12 +7,10 @@ be immediately obvious.
 \begin{description}
 \item[qualified package name] A package name along with its associated category. For example,
     \t{app-editors/vim} is a qualified package name.
-\item[old-style virtual] An old-style virtual is a pseudo-package which exists if it is listed in an
-    ebuild's \t{PROVIDE} variable. See chapter~\ref{sec:old-virtuals}.
 \item[new-style virtual] A new-style virtual is a normal package in the \t{virtual} category which
-    installs no files and uses its dependency requirements to pull in a `provider'. This is more
-    flexible than the old-style virtuals described above, and requires no special package manager
-    code.
+    installs no files and uses its dependency requirements to pull in a `provider'. Historically,
+    old-style virtuals required special handling from the package manager; new-style virtuals do
+    not.
 \item[stand-alone repository] An (ebuild) repository which is intended to function on its own as the
     only, or primary, repository on a system. Contrast with \i{slave repository} below.
 \item[slave repository, non-stand-alone repository] An (ebuild) repository which is not complete

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 8e7a09d..52c0aee 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -29,7 +29,7 @@ order. Other lines may be present following these; their meanings are not define
 \item Use flags that this package requires (\t{REQUIRED\_USE}).
     Blank in some EAPIs; see table~\ref{tab:optional-vars-table}.
 \item Post dependencies (\t{PDEPEND})
-\item Old-style virtuals provided by this package (\t{PROVIDE})
+\item Unused; previously used for old-style virtual \t{PROVIDE}.
 \item The ebuild API version to which this package conforms (\t{EAPI})
 \item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blank, regardless of ebuild
     metadata; see table~\ref{tab:optional-vars-table}.

diff --git a/pms.tex b/pms.tex
index efa50de..4ada8ec 100644
--- a/pms.tex
+++ b/pms.tex
@@ -20,8 +20,6 @@
 
 \include{profiles}
 
-\include{virtuals}
-
 \include{ebuild-format}
 
 \include{ebuild-vars}

diff --git a/profiles.tex b/profiles.tex
index 2dba163..8246431 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -63,19 +63,6 @@ bash syntax, is allowed as follows:
 \item Backslashes, except for line continuations, are not allowed.
 \end{compactitem}
 
-\subsection{virtuals}
-\label{sec:profiles-virtuals}
-The \t{virtuals} file defines default providers for ``old-style'' virtual packages. It is a simple
-line-based file, with each line containing two whitespace-delimited tokens. The first is a virtual
-package name (for example, \t{virtual/alsa}) and the second is a qualified package name. Blank lines
-and those beginning with a \# character are ignored. When attempting to resolve a virtual name to a
-concrete package, the specification defined in the active profile's \t{virtuals} list should be used if no
-provider is already installed.
-
-The \t{virtuals} file is inherited in the simplest manner: all entries from the parent profile are
-loaded, then entries from the current profile. If a virtual package name appears in both, the entry
-in the parent profile is discarded.
-
 \subsection{Simple line-based files}
 \label{sec:line-stacking}
 These files are a simple one-item-per-line list, which is inherited in the following manner: the

diff --git a/virtuals.tex b/virtuals.tex
deleted file mode 100644
index 8ac05aa..0000000
--- a/virtuals.tex
+++ /dev/null
@@ -1,45 +0,0 @@
-\chapter{Old-Style Virtual Packages}
-\label{sec:old-virtuals}
-
-Old-style virtuals are pseudo-packages---they can be depended upon or
-installed, but do not exist in the ebuild repository.  An old-style
-virtual requires several things in the repository: at least one ebuild
-must list the virtual in its \t{PROVIDE} variable, and there must be
-at least one entry in a profiles \t{virtuals} file listing the default
-provider for each profile---see sections~\ref{ebuild-var-provide} and
-\ref{sec:profiles-virtuals} for specifics on these two. Old-style virtuals
-require special handling as regards dependencies; this is described
-below.
-
-All old-style virtuals must use the category \t{virtual}. Not all packages using the \t{virtual}
-category may be assumed to be old style virtuals.
-
-\note A \i{new-style} virtual is simply an ebuild which install no files and use its dependency
-strings to select providers. By convention, and to ease migration, these are also placed in the
-\t{virtual} category.
-
-\section{Dependencies on virtual packages}
-
-When a dependency on a virtual package is encountered, it must be
-resolved into a real package before it can be satisfied. There are two
-factors that affect this process: whether a package providing the
-virtual is installed, and the \t{virtuals} file in the active profile
-(section~\ref{sec:profiles-virtuals}). If a package is already installed
-which satisfies the virtual requirement (via \t{PROVIDE}), then it
-should be used to satisfy the dependency. Otherwise, the profiles
-\t{virtuals} file (section~\ref{sec:profiles-virtuals}) should be
-consulted to choose an appropriate provider.
-
-Dependencies on old style virtuals must not use any kind of version restriction.
-
-Blocks on provided virtuals have special behaviour documented in section~\ref{provided-blocks}.
-
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pms"
-%%% LaTeX-indent-level: 4
-%%% LaTeX-item-indent: 0
-%%% TeX-brace-indent-level: 4
-%%% End:



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-22 21:18 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-06-22 21:18 UTC (permalink / raw
  To: gentoo-commits

commit:     c7e5b7ea06327107a679f5eef032b8824765079a
Author:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 19 16:03:09 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 19 16:05:59 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c7e5b7ea

Add GLEP 37 to bibliography.

---
 appendices.tex |    2 +-
 pms.bib        |    8 ++++++++
 2 files changed, 9 insertions(+), 1 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 46503bc..fcadf21 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -63,7 +63,7 @@ the \t{PROVIDE} metadata that it supplied certain virtuals, and the package mana
 in mind when handling dependencies.
 
 Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}, and were phased out
-via GLEP 37.
+via GLEP 37~\cite{Glep37}.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/pms.bib b/pms.bib
index e6bddef..68388a8 100644
--- a/pms.bib
+++ b/pms.bib
@@ -1,3 +1,11 @@
+@misc{Glep37,
+    author = {Jason Stubbs},
+    title = {{GLEP} 37: Virtuals deprecation},
+    year = 2005,
+    month = Apr,
+    howpublished = "\url{http://glep.gentoo.org/glep-0037.html}"
+}
+
 @misc{Glep44,
     author = {Marius Mauch},
     title = {{GLEP} 44: Manifest2 format},



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-26 13:55 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-06-26 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     6e6d67873e91eb5faeac7a9e8054fc47b0e89b01
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 22 12:53:47 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 26 13:59:13 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6e6d6787

Disallow starting category, package and slot names with +.

Currently, PMS disallows starting those with a hyphen or a dot. The plus
sign should be added to those restrictions for consistency.

---
 names.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/names.tex b/names.tex
index 53fed20..67054c1 100644
--- a/names.tex
+++ b/names.tex
@@ -7,14 +7,14 @@ name. A package manager should indicate or reject any name that is invalid accor
 
 \subsection{Category Names}
 A category name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with
-a hyphen or a dot.
+a hyphen, a dot or a plus sign.
 
 \note A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
 names will contain a hyphen.
 
 \subsection{Package Names}
 A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a
-hyphen, and must not end in a hyphen followed by one or more digits.
+hyphen or a plus sign, and must not end in a hyphen followed by one or more digits.
 
 \note A package name does not include the category. The term \i{qualified package name} is used
 where a \t{category/package} pair is meant.
@@ -22,7 +22,7 @@ where a \t{category/package} pair is meant.
 \subsection{Slot Names}
 \label{sec:slot-names}
 A slot name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
-hyphen or a dot.
+hyphen, a dot or a plus sign.
 
 \subsection{USE Flag Names}
 A USE flag name may contain any of the characters [\t{A-Za-z0-9+\_@-}]. It must begin with an



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-26 13:55 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-06-26 13:55 UTC (permalink / raw
  To: gentoo-commits

commit:     2f0989d0b6ee10d60593f4d800a1cf5b662f450f
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 11 07:32:03 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 26 13:58:25 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2f0989d0

Rephrase *DEPEND to state when and whether they are installed.

---
 dependencies.tex |   28 +++++++++++++++++++++++-----
 1 files changed, 23 insertions(+), 5 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 45081fe..5bdad39 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -3,16 +3,34 @@
 
 \section{Dependency Classes}
 
+\begin{centertable}{Dependency classes required to be satisfied for a particular phase function} \label{tab:phase-function-dependency-classes}
+    \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }
+        \toprule
+        \multicolumn{1}{c}{\textbf{Phase function}} &
+        \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
+        \midrule
+	\t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
+    \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
+    \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
+	\t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 There are three classes of dependencies supported by ebuilds:
 
 \begin{compactitem}
-\item Build dependencies (\t{DEPEND}). These must be installed and usable before the ebuild
-    is installed.
-\item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before the ebuild
-    is treated as usable.
-\item Post dependencies (\t{PDEPEND}). These must be installed at some point.
+\item Build dependencies (\t{DEPEND}). These must be installed and usable before any of
+	the ebuild \t{src\_*} phase functions is executed. These may not be installed at all
+	if a binary package is being merged.
+\item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before
+	the results of an ebuild merging are treated as usable.
+\item Post dependencies (\t{PDEPEND}). These must be installed at some point before
+	the package manager finishes the batch of installs.
 \end{compactitem}
 
+Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before a particular phase function is executed.
+
 In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their values.
 



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-06-28  7:31 Ciaran McCreesh
  0 siblings, 0 replies; 385+ messages in thread
From: Ciaran McCreesh @ 2011-06-28  7:31 UTC (permalink / raw
  To: gentoo-commits

commit:     b1bda8eeff28d1547a689a549a9f7b20d653a087
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Wed Jun 22 19:59:22 2011 +0000
Commit:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
CommitDate: Tue Jun 28 07:28:14 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b1bda8ee

Clarify RDEPEND=DEPEND wording

As worded, it could be taken to imply that ebuilds could grep RDEPEND in
a phase function and expect DEPEND-specified values (and possibly not
eclass-specified values) to appear in there.  This goes against the
general rules for globally specified variables.

---
 ebuild-vars.tex |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d183305..d971234 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -129,11 +129,13 @@ ideally, an error in one ebuild should not prevent operations upon other ebuilds
 
 \featurelabel{rdepend-depend} In EAPIs listed in table~\ref{tab:rdepend-depend-table} as having
 \t{RDEPEND=DEPEND}, if \t{RDEPEND} is unset (but not if it is set to an empty string) in an ebuild,
-the package manager must set its value to be equal to the value of \t{DEPEND}.
+when generating metadata the package manager must treat its value as being equal to the value of
+\t{DEPEND}.
 
 When dealing with eclasses, only values set in the ebuild itself are considered for this behaviour;
 any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{RDEPEND=DEPEND} for
-the ebuild portion, and any \t{DEPEND} value set in an eclass does not get added to \t{RDEPEND}.
+the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treated as being part of
+\t{RDEPEND}.
 
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-07-07 17:22 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-07-07 17:22 UTC (permalink / raw
  To: gentoo-commits

commit:     f3bee097f90f506c81c7f5c2fc67654fabb60d92
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 26 14:57:42 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 09:09:40 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=f3bee097

Replace contradicting dep info in 'Avail commands' with ref.

Right now, the 'Commands provided by package dependencies' section
contradicts the changes done in 'Dependency classes' lately. Remove
the contradicting (and not really useful) information with a reference
to the latter section.

---
 dependencies.tex        |    1 +
 ebuild-env-commands.tex |   12 ++----------
 2 files changed, 3 insertions(+), 10 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 5bdad39..abcb820 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -2,6 +2,7 @@
 \label{sec:dependencies}
 
 \section{Dependency Classes}
+\label{sec:dependency-classes}
 
 \begin{centertable}{Dependency classes required to be satisfied for a particular phase function} \label{tab:phase-function-dependency-classes}
     \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index cad0bda..78e33a2 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -34,16 +34,8 @@ The following commands must always be available in the ebuild environment:
 \subsection{Commands provided by package dependencies}
 
 In some cases a package's build process will require the availability of executables not provided by
-the core system, a common example being autotools. Commands provided by dependencies are available
-in the following cases:
-\begin{compactitem}
-\item In the \t{src} phases, any command provided by a package listed in \t{DEPEND} is available.
-\item In the \t{pkg} phases, at least one of the following conditions must be met:
-    \begin{compactitem}
-    \item Any command provided by a package listed in \t{DEPEND} is available.
-    \item Any command provided by a package listed in \t{RDEPEND} is available.
-    \end{compactitem}
-\end{compactitem}
+the core system, a common example being autotools. The availability of commands provided by the
+particular types of dependencies is explained in section~\ref{sec:dependency-classes}.
 
 \subsection{Ebuild-specific Commands}
 \input{pkg-mgr-commands.tex}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-07-07 17:22 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-07-07 17:22 UTC (permalink / raw
  To: gentoo-commits

commit:     01b2381546d9ca3beec167848e58bbd282ce8133
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 25 18:24:39 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 09:09:40 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=01b23815

Drop redundant failure behaviour info from dohard/dosed.

As both of these functions are banned in EAPI 4, the failure behaviour
is consistent across all non-banned EAPIs.

---
 pkg-mgr-commands.tex |    6 ++----
 1 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6b53737..10566fa 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -266,8 +266,7 @@ function has returned.
 
 \item[dohard] Takes two parameters. Creates a hardlink from the second to the first. In EAPIs
     listed in table~\ref{tab:banned-commands-table}, this command is banned as per
-    section~\ref{sec:banned-commands}. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+    section~\ref{sec:banned-commands}.
 
 \item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
 The subdirectory is \t{html} by default, but this can be overridden by setting the \t{DOCDESTTREE}
@@ -630,8 +629,7 @@ has returned.
     the current expression is set to the text of the argument. The initial value of the expression is
     \t{s:\$\{ED\}::g} in offset-prefix aware EAPIs and \t{s:\$\{D\}::g} in offset-prefix agnostic
     EAPIs. In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
-    section~\ref{sec:banned-commands}. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+    section~\ref{sec:banned-commands}.
 
 \item[unpack] Unpacks one or more source archives, in order, into the current directory. After
     unpacking, must ensure that all filesystem objects inside the current working directory (but not



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-07-07 17:22 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-07-07 17:22 UTC (permalink / raw
  To: gentoo-commits

commit:     fc038c03a3186612ba0fbd168ba238c529b8fdef
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 15:56:24 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 09:09:40 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=fc038c03

Mention EAPI offset-prefix table in E* vars.

For the sake of consistency, mention that offset-prefix variable
availability per EAPI is listed in that table.

---
 ebuild-env-vars.tex |    9 ++++++---
 1 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 6817d7d..640547c 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -108,7 +108,8 @@ variable.
     \t{pkg\_*} &
     No &
     Like \t{ROOT}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
-    \t{EPREFIX} variable. \\
+    \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
+    supporting \t{EROOT}. \\
 \t{T} &
     All &
     Partially\footnote{Consistent and preserved across a single connected sequence of install or
@@ -132,7 +133,8 @@ variable.
     calling environment, \t{EPREFIX} defaults to the built-in offset-prefix that was set during
     installation of the package manager. When a different \t{EPREFIX} value than the built-in value is set
     in the calling environment, a cross-prefix build is performed where using the existing utilities, a
-    package is built for the given \t{EPREFIX}, akin to \t{ROOT}. See also~\ref{sec:offset-vars}. \\
+    package is built for the given \t{EPREFIX}, akin to \t{ROOT}. See also~\ref{sec:offset-vars}. Only
+    for EAPIs listed in table~\ref{tab:offset-env-vars-table} as supporting \t{EPREFIX}. \\
 \t{D} &
     \t{src\_install} &
     No &
@@ -147,7 +149,8 @@ variable.
     \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst} &
     See \t{D} &
     Like \t{D}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
-    \t{EPREFIX} variable. \\
+    \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
+    supporting \t{ED}. \\
 \t{IMAGE}\footnote{Deprecated in favour of \t{D}.} &
     \t{pkg\_preinst}, \t{pkg\_postinst} &
     Yes &



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-07-07 17:22 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-07-07 17:22 UTC (permalink / raw
  To: gentoo-commits

commit:     51566fb4514f2fdbfbb9b6365e747f7d1c670a56
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue Jun 28 13:49:18 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul  7 09:09:40 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=51566fb4

Clarify that AA will be set only in EAPI < 4.

Right now, the footnote about AA could mean that PMs will still set it
for EAPIs >= 4.

---
 ebuild-env-vars.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index c871902..6817d7d 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -68,9 +68,9 @@ variable.
     \t{SRC\_URI}\@. Does not include any that are disabled because of USE conditionals. The value is
     calculated from the base names of each element of the \t{SRC\_URI} ebuild metadata variable. \\
 \t{AA}\footnote{This variable is generally considered deprecated. However, ebuilds must still
-    assume that the package manager sets it. For example, a few configure scripts use this variable
-    to find the \t{aalib} package; ebuilds calling such configure scripts must thus work around
-    this.} &
+    assume that the package manager sets it in the EAPIs supporting it. For example, a few
+    configure scripts use this variable to find the \t{aalib} package; ebuilds calling such
+    configure scripts must thus work around this.} &
     \t{src\_*} &
     Yes &
     \featurelabel{aa} All source files that could be available for the package, including any that



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-08-02 15:23 Ciaran McCreesh
  0 siblings, 0 replies; 385+ messages in thread
From: Ciaran McCreesh @ 2011-08-02 15:23 UTC (permalink / raw
  To: gentoo-commits

commit:     87c0398d6dd0bd11ac166f9c4a79666393e7ccbe
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Thu Jul 14 15:51:06 2011 +0000
Commit:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
CommitDate: Thu Jul 14 15:51:06 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=87c0398d

Tighten repository name requirements

By requiring repository names to also be valid package names, a package
mangler may treat repositories as packages. This then allows, for
example, a user to 'install' a repository, which would instruct the
package manager to perform the relevant configuration (including
installing any masters) and syncing.

---
 names.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/names.tex b/names.tex
index 67054c1..c99ed0f 100644
--- a/names.tex
+++ b/names.tex
@@ -34,7 +34,7 @@ described in section~\ref{sec:use-iuse-handling}.
 \subsection{Repository Names}
 \label{sec:repository-names}
 A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
-hyphen.
+hyphen. In addition, every repository name must also be a valid package name.
 
 \subsection{Keyword Names}
 \label{sec:keyword-names}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2011-08-12 18:16 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2011-08-12 18:16 UTC (permalink / raw
  To: gentoo-commits

commit:     1467f30d2e1579b7628fbcd36e3fc6bf7049d3f5
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 10 10:00:10 2011 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Aug 12 18:18:43 2011 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=1467f30d

Note that eend() should return the passed exit status.

This is quite useful, and paludis, pkgcore & portage all do that.

---
 pkg-mgr-commands.tex |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 10566fa..724281d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -103,8 +103,8 @@ stderr or some other appropriate facility.
     lengthy process, and followed by a call to \t{eend}.
 \item[eend] Indicates that the process begun with an \t{ebegin} message has completed. Takes one
     fixed argument, which is a numeric return code, and an optional message in all subsequent
-    arguments.  If the first argument is 0, print a success indicator; otherwise, print the message
-    followed by a failure indicator.
+    arguments. If the first argument is 0, prints a success indicator; otherwise, prints the
+    message followed by a failure indicator. Returns its first argument as exit status.
 \end{description}
 
 \subsubsection{Error commands}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-01-15  6:09 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-01-15  6:09 UTC (permalink / raw
  To: gentoo-commits

commit:     3c2730e1cc1cc31df61ed7fe4598a68dbd375444
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  5 17:52:32 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan  5 17:52:32 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=3c2730e1

dolib: Mention DESTTREE.

dolib installs the libraries listed in its arguments in a subdirectory
of DESTTREE.

---
 pkg-mgr-commands.tex |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 724281d..f278e19 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -306,11 +306,11 @@ that can be passed to \t{dohtml} are as follows:
     for other EAPIs, behaviour is undefined if any symlink is encountered. Failure
     behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dolib] For each argument, installs it into the appropriate library directory as determined by
-    Algorithm~\ref{alg:ebuild-libdir}, by default with file mode \t{0644}. This can be overridden by
-    setting \t{LIBOPTIONS} with the \t{libopts} function. Any symlinks are installed into the same
-    directory as relative links to their original target. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+\item[dolib] For each argument, installs it into the appropriate library subdirectory under
+    \t{DESTTREE}, as determined by Algorithm~\ref{alg:ebuild-libdir}. The file mode is \t{0644}
+    by default. This can be overridden by setting \t{LIBOPTIONS} with the \t{libopts} function.
+    Any symlinks are installed into the same directory as relative links to their original target.
+    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dolib.so] As for dolib except each file is installed with mode \t{0755}.
 



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-03-01 10:52 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-03-01 10:52 UTC (permalink / raw
  To: gentoo-commits

commit:     5832fde90ba6872ae7e5dec9bc7a71642c04771f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar  1 10:51:53 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar  1 10:51:53 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5832fde9

Fix some misspellings in pms.cls.

---
 pms.cls |    5 ++---
 1 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/pms.cls b/pms.cls
index ff78b1b..88e8571 100644
--- a/pms.cls
+++ b/pms.cls
@@ -33,7 +33,7 @@
     lscape,	% Rotating pages
     marginnote, % Typeset a paragraph in the page margin
     paralist,	% Additional list environments
-    parskip,	% Space between paragraps instead of intendation
+    parskip,	% Space between paragraphs instead of indentation
     verbatim	% Extend the print-as-is functionality
 }
 
@@ -97,8 +97,7 @@
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\paragraph{Note:} #1}
 
-% Because we are lazy, we define a table environment to fullfil our
-% needs
+% Because we are lazy, we define a table environment to fulfil our needs
 \newenvironment{centertable}[1]%
 {
   \begin{table}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-03-17 15:23 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-03-17 15:23 UTC (permalink / raw
  To: gentoo-commits

commit:     742f67c913e3bb2c79dc4a18ebb83392ba9b9eea
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 15 17:48:01 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 15 17:48:01 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=742f67c9

Specify characters allowed for an EAPI value.

---
 eapis.tex |    2 +-
 names.tex |    5 +++++
 2 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/eapis.tex b/eapis.tex
index 05bf4d7..5839768 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -3,7 +3,7 @@
 \section{Definition}
 
 An EAPI can be thought of as a `version' of this specification to which a package conforms. An EAPI
-value is a string, and is part of an ebuild's metadata.
+value is a string as per section~\ref{sec:eapi-names}, and is part of an ebuild's metadata.
 
 If a package manager encounters a package version with an unrecognised EAPI, it must not attempt to
 perform any operations upon it. It could, for example, ignore the package version entirely (although

diff --git a/names.tex b/names.tex
index c99ed0f..fd9731c 100644
--- a/names.tex
+++ b/names.tex
@@ -48,6 +48,11 @@ assumed that any user accepting keyword \t{\textasciitilde{}foo} will also accep
 
 The exact meaning of any keywords value is beyond the scope of this specification.
 
+\subsection{EAPI Names}
+\label{sec:eapi-names}
+An EAPI name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+hyphen, a dot or a plus sign.
+
 \section{Version Specifications}
 The package manager must not impose fixed limits upon the number of version components. Package
 managers should indicate or reject any version that is invalid according to these rules.



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-03-23  8:08 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-03-23  8:08 UTC (permalink / raw
  To: gentoo-commits

commit:     d8ced362c3b2fb1024ccc8251ec430948f3e1ccf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 18 17:22:37 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 18 18:42:32 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d8ced362

Fix listing for einstall, bug 340347.

---
 pkg-mgr-commands.tex |    8 +++++++-
 1 files changed, 7 insertions(+), 1 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f278e19..37c1b13 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -205,14 +205,20 @@ has returned.
     available in EAPIs that support offset-prefix installations as listed in
     Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use \t{D}
     instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
+    Variable \t{libdir} is an auxiliary local variable whose value is determined by
+    Algorithm~\ref{alg:ebuild-libdir}.
 \begin{listing}[H]
   \caption{einstall command}\label{lst:einstall}
   \begin{verbatim}
 emake \
    prefix="${ED}"/usr \
+   datadir="${ED}"/usr/share \
    mandir="${ED}"/usr/share/man \
    infodir="${ED}"/usr/share/info \
-   libdir="${ED}"/usr/$(get_libdir) \
+   libdir="${ED}"/usr/${libdir} \
+   localstatedir="${ED}"/var/lib \
+   sysconfdir="${ED}"/etc \
+   -j1 \
    "$@" \
    install
   \end{verbatim}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-04-07 22:18 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-04-07 22:18 UTC (permalink / raw
  To: gentoo-commits

commit:     31de3a098beb8f7bc25ac2f427c2b916e4ced811
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  5 14:31:21 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  5 14:48:30 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=31de3a09

Remove unused LaTeX packages from pms.cls.

---
 pms.cls |    3 ---
 1 files changed, 0 insertions(+), 3 deletions(-)

diff --git a/pms.cls b/pms.cls
index 88e8571..db2fd48 100644
--- a/pms.cls
+++ b/pms.cls
@@ -24,9 +24,6 @@
     inputenc,	% Allow input methods apart from ASCII
     booktabs,	% Nicer formatting of tables
     color,	% Support more than black&white
-    enumitem,
-    fullpage,
-    graphicx,	% Image support
     ifthen,	% Comfortable conditional routines
     longtable,	% Extend tables over more than one page
     array,	% Extended tabular environments



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-05-06 15:38 Ciaran McCreesh
  0 siblings, 0 replies; 385+ messages in thread
From: Ciaran McCreesh @ 2012-05-06 15:38 UTC (permalink / raw
  To: gentoo-commits

commit:     c432d47212cfabab5c8d9d8b6ae475b6349a48de
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 15:16:56 2012 +0000
Commit:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
CommitDate: Sun May  6 15:35:34 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c432d472

Fix indenting for consistency

---
 dependencies.tex |   16 ++++++++--------
 1 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index abcb820..0f74b3b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -10,10 +10,10 @@
         \multicolumn{1}{c}{\textbf{Phase function}} &
         \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
         \midrule
-	\t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
-    \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
-    \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
-	\t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+        \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
+        \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
+        \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
+        \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -22,12 +22,12 @@ There are three classes of dependencies supported by ebuilds:
 
 \begin{compactitem}
 \item Build dependencies (\t{DEPEND}). These must be installed and usable before any of
-	the ebuild \t{src\_*} phase functions is executed. These may not be installed at all
-	if a binary package is being merged.
+    the ebuild \t{src\_*} phase functions is executed. These may not be installed at all
+    if a binary package is being merged.
 \item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before
-	the results of an ebuild merging are treated as usable.
+    the results of an ebuild merging are treated as usable.
 \item Post dependencies (\t{PDEPEND}). These must be installed at some point before
-	the package manager finishes the batch of installs.
+    the package manager finishes the batch of installs.
 \end{compactitem}
 
 Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before a particular phase function is executed.



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-05-08 19:10 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-05-08 19:10 UTC (permalink / raw
  To: gentoo-commits

commit:     5ef86ba1e5962154db37d2af806e45de6027884b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 15 10:15:46 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May  6 23:50:31 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=5ef86ba1

Specify syntax of EAPI assignment for parsing by package managers.

---
 ebuild-vars.tex |   16 +++++++++++++++-
 1 files changed, 15 insertions(+), 1 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d971234..f3b72bf 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -75,7 +75,7 @@ Ebuilds may define any of the following variables:
 
 \begin{description}
 \item[DEPEND] See section~\ref{sec:dependencies}.
-\item[EAPI] The EAPI. See below for defaults.
+\item[EAPI] The EAPI. See below.
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
@@ -124,6 +124,20 @@ ensure that it is unset.
 If any of these variables are set to invalid values, the package manager's behaviour is undefined;
 ideally, an error in one ebuild should not prevent operations upon other ebuilds or packages.
 
+If the EAPI is to be specified in an ebuild, the \t{EAPI} variable must be assigned to precisely
+once. The assignment must not be preceded by any lines other than blank lines or those that start
+with optional whitespace (spaces or tabs) followed by a \t{\#} character, and the line containing
+the assignment statement must match the following regular expression:
+\begin{verbatim}
+^[ \t]*EAPI=(['"]?)([A-Za-z0-9+_.-]*)\1[ \t]*(#.*)?$
+\end{verbatim}
+
+The package manager may optionally determine the EAPI of an ebuild by parsing its first non-blank
+and non-comment line, using above regular expression. If a recognised EAPI has been determined
+such, then the package manager must make sure that the \t{EAPI} value obtained by sourcing the
+ebuild with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as
+invalid if these values are different.
+
 \subsection{\t{RDEPEND} value}
 \label{sec:rdepend-depend}
 



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-05-13  7:30 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-05-13  7:30 UTC (permalink / raw
  To: gentoo-commits

commit:     38ed6197b08bb6214ce170bf8cb03c9c3495c8ca
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May 11 15:55:19 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May 11 16:00:48 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=38ed6197

src_test really calls emake -j1, not make.

---
 ebuild-functions.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 51d9263..fe32004 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -255,9 +255,9 @@ provided.
 
 The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise.
 The default implementation used when the ebuild lacks the \t{src\_test} function must, if tests are
-enabled, run \t{make check} if and only if such a target is available, or if not run \t{make test},
-if and only such a target is available. In both cases, if make returns non-zero the build must be
-aborted.
+enabled, run \t{emake -j1 check} if and only if such a target is available, or if not run
+\t{emake -j1 test} if and only if such a target is available. In both cases, if \t{emake} returns
+non-zero the build must be aborted.
 
 The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}. It may
 be disabled by user too, using a PM-specific mechanism.



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-05-17 10:13 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-05-17 10:13 UTC (permalink / raw
  To: gentoo-commits

commit:     86fae0e02d7b21f085ef0a3d4308b6be29332d48
Author:     David Leverton <levertond <AT> googlemail <DOT> com>
AuthorDate: Sun May 13 19:11:39 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 13 21:15:14 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=86fae0e0

Clarify wording for EAPI parsing.

Clarify wording. Require a space before the trailing comment.

---
 ebuild-vars.tex |   11 ++++++-----
 1 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index f3b72bf..29b9dfa 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -129,14 +129,15 @@ once. The assignment must not be preceded by any lines other than blank lines or
 with optional whitespace (spaces or tabs) followed by a \t{\#} character, and the line containing
 the assignment statement must match the following regular expression:
 \begin{verbatim}
-^[ \t]*EAPI=(['"]?)([A-Za-z0-9+_.-]*)\1[ \t]*(#.*)?$
+^[ \t]*EAPI=(['"]?)([A-Za-z0-9+_.-]*)\1[ \t]*([ \t]#.*)?$
 \end{verbatim}
 
 The package manager may optionally determine the EAPI of an ebuild by parsing its first non-blank
-and non-comment line, using above regular expression. If a recognised EAPI has been determined
-such, then the package manager must make sure that the \t{EAPI} value obtained by sourcing the
-ebuild with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as
-invalid if these values are different.
+and non-comment line, using the above regular expression. If it matches, the EAPI is the substring
+matched by the capturing parentheses (\t{0} if empty), otherwise it is \t{0}. For a recognised
+EAPI, the package manager must make sure that the \t{EAPI} value obtained by sourcing the ebuild
+with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
+these values are different.
 
 \subsection{\t{RDEPEND} value}
 \label{sec:rdepend-depend}



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-07-06 19:21 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-07-06 19:21 UTC (permalink / raw
  To: gentoo-commits

commit:     28c65e6205d369d25555fa9f7a673c0c2ad30a1a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul  4 07:39:49 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jul  4 07:39:49 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=28c65e62

Move some metadata information from style file to main TeX source.

---
 pms.cls |   17 ++---------------
 pms.tex |   15 +++++++++++++++
 2 files changed, 17 insertions(+), 15 deletions(-)

diff --git a/pms.cls b/pms.cls
index db2fd48..dcce924 100644
--- a/pms.cls
+++ b/pms.cls
@@ -113,22 +113,11 @@
         colorlinks=true,
         citecolor=black,
         linkcolor=black,
-        pdftitle={Package Manager Specification},
-        pdfauthor={Stephen P. Bennett, Ciaran McCreesh},
-        pdfcreator={pdfLaTeX and hyperref},
-        pdfsubject={Defining a feature set for package managers in the
-            Gentoo world},
         pdflang={en},
-        pdfkeywords={Gentoo, package manager, specification},
+        pdfcreator={pdfLaTeX and hyperref},
         pdfproducer={pdfLaTeX and hyperref},
     }
 }
-% Some metadata needed for the title page generation
-\title{Package Manager Specification}
-\author{Stephen P. Bennett \\
-    \href{mailto:spb@exherbo.org}{spb@exherbo.org} \and Ciaran
-    McCreesh \\
-    \href{mailto:ciaran.mccreesh@googlemail.com}{ciaran.mccreesh@googlemail.com}}
 % Reads the last commit date from the Git repository and even succeeds
 % when none is available
 \ifthenelse{\equal{\VCDateISO}{}}
@@ -139,9 +128,7 @@
 }
 
 % Set page title
-\pagestyle{myheadings}
-\markboth{\scshape Package Manager Specification}{\scshape Package
-    Manager Specification}
+\pagestyle{headings}
 % This is some kind of hack.  We set the proportions of the text area
 % and then move it 30mm to the left to increase the right (outer)
 % margin.

diff --git a/pms.tex b/pms.tex
index 4ada8ec..dd60225 100644
--- a/pms.tex
+++ b/pms.tex
@@ -1,5 +1,20 @@
 \documentclass{pms}
 
+\title{Package Manager Specification}
+\author{%
+    Stephen P. Bennett \\
+    \href{mailto:spb@exherbo.org}{spb@exherbo.org}
+    \and
+    Ciaran McCreesh \\
+    \href{mailto:ciaran.mccreesh@googlemail.com}{ciaran.mccreesh@googlemail.com}
+}
+\hypersetup{%
+    pdftitle={Package Manager Specification},
+    pdfauthor={Stephen P. Bennett, Ciaran McCreesh},
+    pdfsubject={Defining a feature set for package managers in the Gentoo world},
+    pdfkeywords={Gentoo, package manager, specification},
+}
+
 \begin{document}
 \maketitle
 



^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-07-26 19:05 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-07-26 19:05 UTC (permalink / raw
  To: gentoo-commits

commit:     6e1e4b025c797ecda1927e883d2deef8119847da
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 22 20:50:38 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 26 19:11:02 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6e1e4b02

Close parenthesis in definition of doman command.

---
 pkg-mgr-commands.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 37c1b13..6847a1a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -345,7 +345,7 @@ that can be passed to \t{dohtml} are as follows:
 \end{algorithm}
 
 \item[doman] Installs a man page into the appropriate subdirectory of \t{/usr/share/man} depending
-    upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to \t{/usr/share/man/man1/foo.1} with
+    upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to \t{/usr/share/man/man1/foo.1}) with
     file mode \t{0644}.
 
     \featurelabel{doman-langs} In EAPIs listed in table~\ref{tab:doman-table} as supporting


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-07-26 19:05 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-07-26 19:05 UTC (permalink / raw
  To: gentoo-commits

commit:     a3042e70c704441e1f67019f4fa6ec0f61d42a6b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 20 19:04:27 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jul 20 19:04:27 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a3042e70

Update author information.

---
 credits.tex |   14 +++++---------
 pms.tex     |    8 +++++++-
 2 files changed, 12 insertions(+), 10 deletions(-)

diff --git a/credits.tex b/credits.tex
index 459fc1b..b1668ef 100644
--- a/credits.tex
+++ b/credits.tex
@@ -1,14 +1,10 @@
 \section*{Acknowledgements}
 
-Thanks to Mike Kelly (package manager provided utilities,
-section~\ref{sec:pkg-mgr-commands}), Danny van Dyk (ebuild functions,
-section~\ref{sec:ebuild-functions}), David Leverton (various
-sections), Petteri Räty (environment state,
-section~\ref{sec:ebuild-env-state}) and Ulrich Müller (various
-sections) for contributions. Thanks to Christian Faulhammer for fixing
-some of the more horrible formatting screwups and providing the EAPI
-cheat sheet. Thanks also to Mike Frysinger and Brian Harring for
-proof-reading and suggestions for fixes and/or clarification.
+Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
+Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
+sections) and Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) for
+contributions. Thanks also to Mike Frysinger and Brian Harring for proof-reading and suggestions
+for fixes and/or clarification.
 
 \section*{Copyright and Licence}
 

diff --git a/pms.tex b/pms.tex
index dd60225..7244be9 100644
--- a/pms.tex
+++ b/pms.tex
@@ -5,12 +5,18 @@
     Stephen P. Bennett \\
     \href{mailto:spb@exherbo.org}{spb@exherbo.org}
     \and
+    Christian Faulhammer \\
+    \href{mailto:fauli@gentoo.org}{fauli@gentoo.org}
+    \and
     Ciaran McCreesh \\
     \href{mailto:ciaran.mccreesh@googlemail.com}{ciaran.mccreesh@googlemail.com}
+    \and
+    Ulrich Müller \\
+    \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
 }
 \hypersetup{%
     pdftitle={Package Manager Specification},
-    pdfauthor={Stephen P. Bennett, Ciaran McCreesh},
+    pdfauthor={Stephen P. Bennett, Christian Faulhammer, Ciaran McCreesh, Ulrich Müller},
     pdfsubject={Defining a feature set for package managers in the Gentoo world},
     pdfkeywords={Gentoo, package manager, specification},
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-07-26 19:05 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-07-26 19:05 UTC (permalink / raw
  To: gentoo-commits

commit:     d99d0fe7c4fef5b541604020642255de291e4dbd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 20 21:12:24 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jul 26 19:11:02 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d99d0fe7

Some ebuild-defined variables are optional.

Move HOMEPAGE, SRC_URI, LICENSE, KEYWORDS, and IUSE from the mandatory
to the optional variables list. Sort variables in canonical order.

---
 ebuild-vars.tex |   92 +++++++++++++++++++++++++++---------------------------
 1 files changed, 46 insertions(+), 46 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 29b9dfa..1dadc35 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -4,6 +4,10 @@
 \note This section describes variables that may or must be defined by ebuilds. For
 variables that are passed from the package manager to the ebuild, see section~\ref{sec:ebuild-env-vars}.
 
+If any of these variables are set to invalid values, or if any of the mandatory variables are
+undefined, the package manager's behaviour is undefined; ideally, an error in one ebuild should not
+prevent operations upon other ebuilds or packages.
+
 \section{Metadata invariance}
 \label{sec:metadata-invariance}
 
@@ -23,10 +27,32 @@ All ebuilds must define at least the following variables:
 \begin{description}
 \item[DESCRIPTION] A short human-readable description of the package's purpose. May be defined by an
     eclass. Must not be empty.
-\item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols. May be defined by an
-    eclass. See section~\ref{sec:dependencies} for full syntax.
-\item[IUSE] The \t{USE} flags used by the ebuild. Any eclass that works with \t{USE} flags
-    must also set \t{IUSE}, listing only the variables used by that eclass. The package manager is
+\item[SLOT] The package's slot. Must be a valid slot name, as per section~\ref{sec:slot-names}.
+    May be defined by an eclass. Must not be empty.
+\end{description}
+
+\section{Optional Ebuild-defined Variables}
+
+Ebuilds may define any of the following variables:
+
+\begin{description}
+\item[EAPI] The EAPI. See below.
+\item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
+    See section~\ref{sec:dependencies} for full syntax.
+\item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://},
+    \t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror
+    behaviour). Fetch restricted packages may include URL parts consisting of just a filename.
+    See section~\ref{sec:dependencies} for full syntax.
+\item[LICENSE] The package's license. Each text token must correspond to a tree ``licenses/'' entry
+    (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependencies} for full syntax.
+    \label{ebuild-var-LICENSE}
+\item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid
+    keyword name, as per section~\ref{sec:keyword-names}. May include \t{-*}, which indicates that
+    the package will only work on explicitly listed archs. May include \t{-arch}, which indicates
+    that the package will not work on the specified arch. May be empty, which indicates uncertain
+    functionality on any architecture.
+\item[IUSE] The \t{USE} flags used by the ebuild. Any eclass that works with \t{USE} flags must
+    also set \t{IUSE}, listing only the variables used by that eclass. The package manager is
     responsible for merging these values. See section~\ref{sec:use-iuse-handling} for discussion on
     which values must be listed this variable.
 
@@ -34,26 +60,24 @@ All ebuilds must define at least the following variables:
     \t{IUSE} defaults, any use flag name in \t{IUSE} may be prefixed by at most one of a plus or a
     minus sign. If such a prefix is present, the package manager may use it as a suggestion as to
     the default value of the use flag if no other configuration overrides it.
-\item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a
-    valid keyword name, as per section~\ref{sec:keyword-names}. May include \t{-*}, which
-    indicates that the package will only work on explicitly listed archs. May include \t{-arch},
-    which indicates that the package will not work on the specified arch. May be empty, which
-    indicates uncertain functionality on any architecture. May be defined in an eclass.
-\item[LICENSE] The package's license. Each text token must correspond to a tree ``licenses/'' entry
-    (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependencies} for full syntax.
-    May be defined by an eclass. \label{ebuild-var-LICENSE}
-\item[SLOT] The package's slot. Must be a valid slot name, as per section~\ref{sec:slot-names}. May
-    be defined by an eclass. Must not be empty.
-\item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://},
-    \t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror
-    behaviour). Fetch restricted packages may include URL parts consisting of just a filename.
-    May be defined by an eclass. See section~\ref{sec:dependencies} for full syntax.
+\item[REQUIRED\_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
+    configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use}
+    for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in
+    table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED\_USE}.
+\item[PROPERTIES] \featurelabel{properties} Zero or more properties for this package.
+    See section~\ref{sec:properties} for value meanings and section~\ref{sec:dependencies} for full
+    syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support,
+    ebuilds must not rely upon the package manager recognising or understanding this variable in
+    any way.
+\item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict}
+    for value meanings and section~\ref{sec:dependencies} for full syntax.
+\item[DEPEND] See section~\ref{sec:dependencies}.
+\item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
+    for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
+    details.
+\item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-If any of these variables are undefined, or if any of these variables are set to invalid values,
-the package manager's behaviour is undefined; ideally, an error in one ebuild should not prevent
-operations upon other ebuilds or packages.
-
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -69,30 +93,6 @@ operations upon other ebuilds or packages.
     \end{tabular}
 \end{centertable}
 
-\section{Optional Ebuild-defined Variables}
-
-Ebuilds may define any of the following variables:
-
-\begin{description}
-\item[DEPEND] See section~\ref{sec:dependencies}.
-\item[EAPI] The EAPI. See below.
-\item[PDEPEND] See section~\ref{sec:dependencies}.
-\item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
-    for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
-    details.
-\item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict}
-    for value meanings and section~\ref{sec:dependencies} for full syntax.
-\item[PROPERTIES] \featurelabel{properties} Zero or more properties for this package. See
-    section~\ref{sec:properties} for value meanings and section~\ref{sec:dependencies} for full
-    syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support,
-    ebuilds must not rely upon the package manager recognising or understanding this variable in
-    any way.
-\item[REQUIRED\_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
-    configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use}
-    for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in
-    table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED\_USE}.
-\end{description}
-
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-08-29 12:03 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-08-29 12:03 UTC (permalink / raw
  To: gentoo-commits

commit:     53f20bd07688440b9e8fb660c5e06819ca6b63b3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 28 04:27:49 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 29 05:26:48 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=53f20bd0

Remove IMAGE (again), bug 170671.

---
 ebuild-env-vars.tex |    4 ----
 1 files changed, 0 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 640547c..c59fb0f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -151,10 +151,6 @@ variable.
     Like \t{D}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
     supporting \t{ED}. \\
-\t{IMAGE}\footnote{Deprecated in favour of \t{D}.} &
-    \t{pkg\_preinst}, \t{pkg\_postinst} &
-    Yes &
-    Equal to \t{D}. \\
 \t{INSDESTTREE} &
     \t{src\_install} &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-09 19:54 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-09 19:54 UTC (permalink / raw
  To: gentoo-commits

commit:     16c2ba7a2cf128b5334d2626ed8a3f1d3ad7509d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  7 21:33:42 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep  7 21:33:42 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=16c2ba7a

Fix definition of EROOT and ED.

---
 ebuild-env-vars.tex |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index c59fb0f..47b23e7 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -107,7 +107,7 @@ variable.
 \t{EROOT} &
     \t{pkg\_*} &
     No &
-    Like \t{ROOT}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
+    Contains the path \t{\$\{ROOT\%/\}\$\{EPREFIX\}/} for convenience. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
     supporting \t{EROOT}. \\
 \t{T} &
@@ -148,7 +148,7 @@ variable.
 \t{ED} &
     \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst} &
     See \t{D} &
-    Like \t{D}, but with \t{EPREFIX} appended. This is a convenience variable. See also the
+    Contains the path \t{\$\{D\%/\}\$\{EPREFIX\}/} for convenience. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
     supporting \t{ED}. \\
 \t{INSDESTTREE} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-13  6:27 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-13  6:27 UTC (permalink / raw
  To: gentoo-commits

commit:     de5749534bb537c2256be6e7e6f01667d237322c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 10 14:14:02 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:01:14 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=de574953

Note that output of ebuild-specific commands generally ends with a newline.

---
 pkg-mgr-commands.tex |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6847a1a..29702c6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -5,6 +5,8 @@ manager. Except where otherwise noted, they may be internal (shell functions or
 commands available in \t{PATH}; where this is not specified, ebuilds may not rely upon either
 behaviour.
 
+Unless otherwise noted, any output of these commands ends with a newline.
+
 \subsubsection{Failure behaviour and related commands}
 \label{sec:failure-behaviour}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-13  6:27 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-13  6:27 UTC (permalink / raw
  To: gentoo-commits

commit:     9257fdd8110df40d75cd8a04291466eabe62f63b
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 10 13:01:29 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:04:46 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=9257fdd8

best_version: make failure behavior clear.

---
 pkg-mgr-commands.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 29702c6..8888335 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -83,7 +83,7 @@ these commands once the current phase function has returned.
     true if a package matching the atom is installed in \t{ROOT}, and false otherwise.
 \item[best\_version] Takes exactly one package dependency specification as an argument. If a
     matching package is installed, prints the category, package name and version of the highest
-    matching version.
+    matching version; otherwise, prints an empty string. The exit code is unspecified.
 \end{description}
 
 \subsubsection{Output commands}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-13 21:12 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-13 21:12 UTC (permalink / raw
  To: gentoo-commits

commit:     aec91834b24c5b77ccb5038dbdeb5e91f314f38a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 12 08:41:22 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:27:54 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=aec91834

Add mgorny to credits.

---
 credits.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/credits.tex b/credits.tex
index b1668ef..1482a24 100644
--- a/credits.tex
+++ b/credits.tex
@@ -2,9 +2,9 @@
 
 Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
 Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
-sections) and Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) for
-contributions. Thanks also to Mike Frysinger and Brian Harring for proof-reading and suggestions
-for fixes and/or clarification.
+sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) and Michał Górny
+(various sections) for contributions. Thanks also to Mike Frysinger and Brian Harring for
+proof-reading and suggestions for fixes and/or clarification.
 
 \section*{Copyright and Licence}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     8cb5b817424a921d010f2c18f7b9822031308422
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 16:03:49 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:15 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8cb5b817

Add \ChangeWhenAddingAnEAPI command.

This gives us an easy way to grep and find every place that needs
updating when we add a new EAPI.

---
 dependencies.tex     |    4 ++++
 eapi-differences.tex |    3 +++
 eapis.tex            |    1 +
 ebuild-env-vars.tex  |    3 +++
 ebuild-functions.tex |    8 ++++++++
 ebuild-vars.tex      |    4 ++++
 merge.tex            |    1 +
 pkg-mgr-commands.tex |   11 +++++++++++
 pms.cls              |    5 +++++
 pms.tex              |    3 +++
 10 files changed, 43 insertions(+), 0 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 0f74b3b..54305c5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -76,6 +76,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 In particular, note that whitespace is not optional.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -147,6 +148,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 
 \note Order is important. The slot restriction must come before use dependencies.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -162,6 +164,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -212,6 +215,7 @@ ignored by the package manager, so long as any blocked package will be uninstall
 strong block must not be ignored. The mapping from one or two exclamation marks to strength is
 described in table~\ref{tab:bang-strength-table}.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a451db1..33381e7 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,6 +2,7 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
 \begin{longtable}{llP{5em}P{5em}P{8em}P{8em}P{8em}}
@@ -235,6 +236,8 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
+\ChangeWhenAddingAnEAPI{4}
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/eapis.tex b/eapis.tex
index 5839768..5543988 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -19,6 +19,7 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
 
 The following EAPIs are defined by this specification:
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 47b23e7..ccf7311 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -210,6 +210,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table}
     \begin{tabular}{ l l l l l l }
         \toprule
@@ -229,6 +230,7 @@ variable.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -313,6 +315,7 @@ variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contai
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index fe32004..24f7d69 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,6 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -77,6 +78,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -131,6 +133,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -166,6 +169,7 @@ src_configure() {
 }
 \end{verbatim}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -232,6 +236,7 @@ src_compile() {
 }
 \end{verbatim}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -298,6 +303,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -372,6 +378,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -405,6 +412,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 1dadc35..cf19721 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -78,6 +78,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -93,6 +94,7 @@ Ebuilds may define any of the following variables:
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -152,6 +154,7 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{R
 the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treated as being part of
 \t{RDEPEND}.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -196,6 +199,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule

diff --git a/merge.tex b/merge.tex
index 8b2648d..846e876 100644
--- a/merge.tex
+++ b/merge.tex
@@ -86,6 +86,7 @@ held under the original image directory.
 In other EAPIs, the behaviour with respect to file modification times
 is undefined.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 8888335..348d4be 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,6 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -45,6 +46,7 @@ The following commands affect this behaviour:
 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
 called, the package manager must abort the build process indicating an error.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l l }
         \toprule
@@ -147,6 +149,7 @@ has returned.
         string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
+    \ChangeWhenAddingAnEAPI{4}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -409,6 +412,7 @@ that can be passed to \t{dohtml} are as follows:
 
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -424,6 +428,7 @@ that can be passed to \t{dohtml} are as follows:
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -439,6 +444,7 @@ that can be passed to \t{dohtml} are as follows:
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -541,6 +547,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -584,6 +591,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 instead of \t{-{}-with-} or \t{-{}-without-}.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -599,6 +607,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -681,6 +690,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -705,6 +715,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{4}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule

diff --git a/pms.cls b/pms.cls
index dcce924..ed16f6b 100644
--- a/pms.cls
+++ b/pms.cls
@@ -134,6 +134,11 @@
 % margin.
 \areaset[-30mm]{400pt}{700pt}
 
+% To find everywhere that needs updating when we add an EAPI
+\newcommand{\CurrentEAPIIs}[1]{\def\TheCurrentEAPI{#1}}
+\newcommand{\ChangeWhenAddingAnEAPI}[1]{\ifthenelse{\equal{\TheCurrentEAPI}{#1}}{}{\errmessage{This
+needs to be updated for EAPI \TheCurrentEAPI}}}
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/pms.tex b/pms.tex
index 7244be9..a64bdcd 100644
--- a/pms.tex
+++ b/pms.tex
@@ -21,6 +21,9 @@
     pdfkeywords={Gentoo, package manager, specification},
 }
 
+\CurrentEAPIIs{4}
+\ChangeWhenAddingAnEAPI{4}
+
 \begin{document}
 \maketitle
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     20480994f059dc0b3be04ae0f94e9f0be728f3a2
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 16:12:14 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:15 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=20480994

Add an EAPI 5 identical to EAPI 4

---
 dependencies.tex     |   12 ++++--
 eapi-differences.tex |   98 ++++++++++++++++++++++++++++----------------------
 eapis.tex            |    4 ++-
 ebuild-env-vars.tex  |    9 +++--
 ebuild-functions.tex |   25 +++++++++----
 ebuild-vars.tex      |   12 ++++--
 merge.tex            |    3 +-
 pkg-mgr-commands.tex |   33 +++++++++++------
 pms.tex              |    4 +-
 9 files changed, 123 insertions(+), 77 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 54305c5..4b4300c 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -76,7 +76,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 In particular, note that whitespace is not optional.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table}
     \begin{tabular}{ l l }
         \toprule
@@ -88,6 +88,7 @@ In particular, note that whitespace is not optional.
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -148,7 +149,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 
 \note Order is important. The slot restriction must come before use dependencies.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -160,11 +161,12 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table}
     \begin{tabular}{ l l }
         \toprule
@@ -176,6 +178,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \t{2} & 2-style \\
     \t{3} & 2-style \\
     \t{4} & 4-style \\
+    \t{5} & 4-style \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -215,7 +218,7 @@ ignored by the package manager, so long as any blocked package will be uninstall
 strong block must not be ignored. The mapping from one or two exclamation marks to strength is
 described in table~\ref{tab:bang-strength-table}.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -228,6 +231,7 @@ described in table~\ref{tab:bang-strength-table}.
     \t{2} & Weak & Strong \\
     \t{3} & Weak & Strong \\
     \t{4} & Weak & Strong \\
+    \t{5} & Weak & Strong \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 33381e7..92d369e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -2,10 +2,10 @@
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{landscape}
 \newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
-\begin{longtable}{llP{5em}P{5em}P{8em}P{8em}P{8em}}
+\begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
@@ -17,7 +17,8 @@
 \multicolumn{1}{c}{1} &
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
-\multicolumn{1}{c}{4} \\
+\multicolumn{1}{c}{4} &
+\multicolumn{1}{c}{5} \\
 \midrule
 \endfirsthead
 \midrule
@@ -30,7 +31,8 @@
 \multicolumn{1}{c}{1} &
 \multicolumn{1}{c}{2} &
 \multicolumn{1}{c}{3} &
-\multicolumn{1}{c}{4} \\
+\multicolumn{1}{c}{4} &
+\multicolumn{1}{c}{5} \\
 \midrule
 \endhead
 \midrule
@@ -39,125 +41,127 @@
 \endlastfoot
 
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 \t{REQUIRED\_USE} & \compactfeatureref{required-use} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
-    Optionally & Optionally & Optionally & Optionally & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
-    Optionally & Optionally & Optionally & Optionally & Yes \\
+    Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes & Yes & Yes \\
 
 Use dependencies & \compactfeatureref{use-deps} &
-    No & No & 2-style & 2-style & 4-style \\
+    No & No & 2-style & 2-style & 4-style & 4-style \\
 
 \t{!} blockers & \compactfeatureref{bang-strength} &
-    Unspecified & Unspecified & Weak & Weak & Weak \\
+    Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
 
 \t{!!} blockers & \compactfeatureref{bang-strength} &
-    Forbidden & Forbidden & Strong & Strong & Strong \\
+    Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    Always & Always & Always & Always & Conditional \\
+    Always & Always & Always & Always & Conditional & Conditional \\
 
 \t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{src\_prepare} & \compactfeatureref{src-prepare} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{src\_configure} & \compactfeatureref{src-configure} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{src\_compile} style & \compactfeatureref{src-compile} &
-    0 & 1 & 2 & 2 & 2 \\
+    0 & 1 & 2 & 2 & 2 & 2 \\
 
 \t{src\_install} style & \compactfeatureref{src-install} &
-    no-op & no-op & no-op & no-op & 4 \\
+    no-op & no-op & no-op & no-op & 4 & 4 \\
 
 \t{pkg\_info} & \compactfeatureref{pkg-info} &
-    Installed & Installed & Installed & Installed & Both \\
+    Installed & Installed & Installed & Installed & Both & Both \\
 
 \t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
     None & None &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test} &
     \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{KV} & \compactfeatureref{kv} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & Yes & No & No \\
 
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 Most utilities die & \compactfeatureref{die-on-failure} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{nonfatal} & \compactfeatureref{nonfatal} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{dohard} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned \\
 
 \t{dosed} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Yes & Banned & Banned \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking \\
+    &  &  &  & disable dependency tracking & disable dependency tracking \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{doins} handles symlinks & \compactfeatureref{doins} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{doman} languages & \compactfeatureref{doman-langs} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    N/A & N/A & No & No & Yes \\
+    N/A & N/A & No & No & Yes & Yes \\
 
 Controllable compression & \compactfeatureref{controllable-compress} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{docompress} & \compactfeatureref{controllable-compress} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
-    No & No & No & No & Yes \\
+    No & No & No & No & Yes & Yes \\
 
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
-    No & No & No & Yes & Yes \\
+    No & No & No & Yes & Yes & Yes \\
 
 \t{default} function & \compactfeatureref{default-func} &
-    No & No & Yes & Yes & Yes \\
+    No & No & Yes & Yes & Yes & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    Undefined & Undefined & Undefined & Yes & Yes \\
+    Undefined & Undefined & Undefined & Yes & Yes & Yes \\
 
 \end{longtable}
 \end{landscape}
@@ -236,7 +240,15 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{4}
+\section*{EAPI 5}
+
+EAPI 5 is EAPI 4 with the following changes:
+
+\begin{compactitem}
+\item None
+\end{compactitem}
+
+\ChangeWhenAddingAnEAPI{5}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/eapis.tex b/eapis.tex
index 5543988..48d28fd 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -19,7 +19,7 @@ EAPIs are also used for profile directories, as described in section~\ref{sec:pr
 
 The following EAPIs are defined by this specification:
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{description}
 \item[0] The `original' base EAPI.
 \item[1] EAPI `1' contains a number of extensions to EAPI `0'. Except where explicitly noted, it is
@@ -30,6 +30,8 @@ The following EAPIs are defined by this specification:
     in all other ways identical to EAPI `2'.
 \item[4] EAPI `4' contains a number of extensions to EAPI `3'. Except where explicitly noted, it is
     in all other ways identical to EAPI `3'.
+\item[5] EAPI `5' contains a number of extensions to EAPI `4'. Except where explicitly noted, it is
+    in all other ways identical to EAPI `4'.
 \end{description}
 
 Except where explicitly noted, everything in this specification

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ccf7311..4d3330e 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -210,7 +210,7 @@ variable.
 \end{longtable}
 \end{landscape}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table}
     \begin{tabular}{ l l l l l l }
         \toprule
@@ -226,11 +226,12 @@ variable.
     \t{2} & Yes & Yes & No & No & No \\
     \t{3} & Yes & Yes & No & No & No \\
     \t{4} & No & No & Yes & Yes & Yes \\
+    \t{5} & No & No & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting offset-prefix env variables}
     \label{tab:offset-env-vars-table}
     \begin{tabular}{ l l l l }
@@ -245,6 +246,7 @@ variable.
         \t{2} & No & No & No \\
         \t{3} & Yes & Yes & Yes \\
         \t{4} & Yes & Yes & Yes \\
+        \t{5} & Yes & Yes & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}
@@ -315,7 +317,7 @@ variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contai
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting offset-prefix}
     \label{tab:offset-support-table}
     \begin{tabular}{ l l }
@@ -328,6 +330,7 @@ variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contai
         \t{2} & No \\
         \t{3} & Yes \\
         \t{4} & Yes \\
+        \t{5} & Yes \\
         \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 24f7d69..cd4075c 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -44,7 +44,7 @@ fallback to \t{WORKDIR} is used:
     in \t{DEFINED\_PHASES}.
 \end{compactitem}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table}
     \begin{tabular}{ l l }
         \toprule
@@ -56,6 +56,7 @@ fallback to \t{WORKDIR} is used:
     \t{2} & Always \\
     \t{3} & Always \\
     \t{4} & Conditional error \\
+    \t{5} & Conditional error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -78,7 +79,7 @@ before the next phase is executed.
 
 \t{pkg\_pretend} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -90,6 +91,7 @@ before the next phase is executed.
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -133,7 +135,7 @@ implementation does nothing.
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table}
     \begin{tabular}{ l l }
         \toprule
@@ -145,6 +147,7 @@ section~\ref{sec:s-to-workdir-fallback}.
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -169,7 +172,7 @@ src_configure() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
     \begin{tabular}{ l l }
         \toprule
@@ -181,6 +184,7 @@ src_configure() {
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -236,7 +240,7 @@ src_compile() {
 }
 \end{verbatim}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
     \begin{tabular}{ l l }
         \toprule
@@ -248,6 +252,7 @@ src_compile() {
     \t{2} & 2 \\
     \t{3} & 2 \\
     \t{4} & 2 \\
+    \t{5} & 2 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -303,7 +308,7 @@ src_install() {
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table}
     \begin{tabular}{ l l }
         \toprule
@@ -315,6 +320,7 @@ is a no-op.
     \t{2} & no-op \\
     \t{3} & no-op \\
     \t{4} & 4 \\
+    \t{5} & 4 \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -378,7 +384,7 @@ that dependencies may not be installed.
 
 \t{pkg\_info} must not write to the filesystem.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table}
     \begin{tabular}{ l l }
         \toprule
@@ -390,6 +396,7 @@ that dependencies may not be installed.
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -412,7 +419,7 @@ named \t{default\_}(phase) that behaves as the default implementation for that E
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table}
     \begin{tabular}{ l >{\setlength{\rightskip}{0pt plus 1fil}}p{30em} }
         \toprule
@@ -427,6 +434,8 @@ when in the phase in question.
         \t{src\_compile}, \t{src\_test} \\
     \t{4} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
         \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{5} & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
+        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index cf19721..306fb2f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -78,7 +78,7 @@ Ebuilds may define any of the following variables:
 \item[PDEPEND] See section~\ref{sec:dependencies}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table}
     \begin{tabular}{ l l }
         \toprule
@@ -90,11 +90,12 @@ Ebuilds may define any of the following variables:
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting various ebuild-defined variables}
 \label{tab:optional-vars-table}
     \begin{tabular}{ l l l }
@@ -108,6 +109,7 @@ Ebuilds may define any of the following variables:
     \t{2} & Optionally & No \\
     \t{3} & Optionally & No \\
     \t{4} & Yes & Yes \\
+    \t{5} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -154,7 +156,7 @@ any \t{DEPEND} or \t{RDEPEND} set in an eclass does not change the implicit \t{R
 the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treated as being part of
 \t{RDEPEND}.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table}
     \begin{tabular}{ l l }
         \toprule
@@ -166,6 +168,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & No \\
+    \t{5} & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -199,7 +202,7 @@ this variable defined, and must treat an empty string as ``this information is n
 \note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
 based upon any variant condition.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table}
     \begin{tabular}{ l l }
         \toprule
@@ -211,6 +214,7 @@ based upon any variant condition.
     \t{2} & Optionally \\
     \t{3} & Optionally \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/merge.tex b/merge.tex
index 846e876..bc74193 100644
--- a/merge.tex
+++ b/merge.tex
@@ -86,7 +86,7 @@ held under the original image directory.
 In other EAPIs, the behaviour with respect to file modification times
 is undefined.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Preservation of file modification times (mtimes)}
     \label{tab:mtime-preserve}
     \begin{tabular}{ l l }
@@ -99,6 +99,7 @@ is undefined.
     \t{2} & Undefined \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 348d4be..98385c4 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -23,7 +23,7 @@ The following commands affect this behaviour:
     table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPI Command Failure Behaviour} \label{tab:commands-die-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -36,6 +36,7 @@ The following commands affect this behaviour:
     \t{2} & Non-zero exit & No \\
     \t{3} & Non-zero exit & No \\
     \t{4} & Aborts & Yes \\
+    \t{5} & Aborts & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -46,7 +47,7 @@ The following commands affect this behaviour:
 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
 called, the package manager must abort the build process indicating an error.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
     \begin{tabular}{ l l l l }
         \toprule
@@ -61,6 +62,7 @@ called, the package manager must abort the build process indicating an error.
     \t{2} & No & No \\
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
+    \t{5} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -149,7 +151,7 @@ has returned.
         string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
-    \ChangeWhenAddingAnEAPI{4}
+    \ChangeWhenAddingAnEAPI{5}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
         \begin{tabular}{ l l l }
             \toprule
@@ -161,6 +163,7 @@ has returned.
         \t{2} & No \\
         \t{3} & No \\
         \t{4} & Yes \\
+        \t{5} & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}
@@ -412,7 +415,7 @@ that can be passed to \t{dohtml} are as follows:
 
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{dodoc -r}} \label{tab:dodoc-table}
     \begin{tabular}{ l l }
         \toprule
@@ -424,11 +427,12 @@ that can be passed to \t{dohtml} are as follows:
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule
@@ -440,11 +444,12 @@ that can be passed to \t{dohtml} are as follows:
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{\t{doman} language support options for EAPIs}
     \label{tab:doman-table}
     \begin{tabular}{ l l l }
@@ -458,6 +463,7 @@ that can be passed to \t{dohtml} are as follows:
     \t{2} & Yes & No \\
     \t{3} & Yes & No \\
     \t{4} & Yes & Yes \\
+    \t{5} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -547,7 +553,7 @@ exclusion list. Otherwise, add each argument to the inclusion list. Only availab
 in table~\ref{tab:compression-table} as supporting \t{docompress}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting controllable compression} \label{tab:compression-table}
     \begin{tabular}{ l l l }
         \toprule
@@ -560,6 +566,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \t{2} & No & No \\
     \t{3} & No & No \\
     \t{4} & Yes & Yes \\
+    \t{5} & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -591,7 +598,7 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
 instead of \t{-{}-with-} or \t{-{}-without-}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE} \label{tab:use-list-strictness}
     \begin{tabular}{ l l }
         \toprule
@@ -603,11 +610,12 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{2} & Undefined \\
     \t{3} & Undefined \\
     \t{4} & Error \\
+    \t{5} & Error \\
     \bottomrule
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ l l }
@@ -620,6 +628,7 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \t{2} & No \\
     \t{3} & No \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -690,7 +699,7 @@ has returned.
     It is up to the ebuild to ensure that the relevant external utilities are available, whether by
     being in the system set or via dependencies.
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{\t{unpack} extensions for EAPIs} \label{tab:unpack-extensions-table}
     \begin{tabular}{ l l }
         \toprule
@@ -702,6 +711,7 @@ has returned.
     \t{2} & No \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -715,7 +725,7 @@ has returned.
     table~\ref{tab:default-function-table}.
 \end{description}
 
-\ChangeWhenAddingAnEAPI{4}
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting the \t{default} function} \label{tab:default-function-table}
     \begin{tabular}{ l l }
         \toprule
@@ -727,6 +737,7 @@ has returned.
     \t{2} & Yes \\
     \t{3} & Yes \\
     \t{4} & Yes \\
+    \t{5} & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/pms.tex b/pms.tex
index a64bdcd..5885c9c 100644
--- a/pms.tex
+++ b/pms.tex
@@ -21,8 +21,8 @@
     pdfkeywords={Gentoo, package manager, specification},
 }
 
-\CurrentEAPIIs{4}
-\ChangeWhenAddingAnEAPI{4}
+\CurrentEAPIIs{5}
+\ChangeWhenAddingAnEAPI{5}
 
 \begin{document}
 \maketitle


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     e383073de5bef8932f86d4f7d3dd09e7b5fd0c87
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 16:42:41 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=e383073d

Slot operator dependencies are back in EAPI 5

This reverts commit 409fccc10861c361f37a959195d7581a5c376dd9.

---
 dependencies.tex     |   27 ++++++++++++++++++++++-----
 eapi-differences.tex |    3 ++-
 2 files changed, 24 insertions(+), 6 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 4b4300c..8f78f3d 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -157,11 +157,11 @@ manager must warn or error if this feature is used with an EAPI not supporting u
             \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\
             \midrule
     \t{0} & No \\
-    \t{1} & Yes \\
-    \t{2} & Yes \\
-    \t{3} & Yes \\
-    \t{4} & Yes \\
-    \t{5} & Yes \\
+    \t{1} & Named only \\
+    \t{2} & Named only \\
+    \t{3} & Named only \\
+    \t{4} & Named only \\
+    \t{5} & Named and operator \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -244,6 +244,23 @@ specification with a named slot dependency matches only if the slot of the match
 to the slot specified. If the slot of the package to match cannot be determined (e.\,g.\ because it
 is not a supported \t{EAPI}), the match is treated as unsuccessful.
 
+\featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of
+the following operators:
+
+\begin{description}
+\item[*] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
+indicates that the package will not break if the matched package is uninstalled and replaced by
+a different matching package in a different slot.
+\item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
+indicates that the package will break unless a matching package with slot equal to the slot of
+the best installed version at the time the package was installed is available.
+\end{description}
+
+To implement the equals slot operator, the package manager will need to store the slot of the
+best installed version of the matching package. The package manager may do this by appending
+the appropriate slot after the equals sign when saving the package's dependencies. This syntax
+is only for package manager use and must not be used by ebuilds.
+
 \subsubsection{2-Style and 4-Style Use Dependencies}
 \label{sec:use-dep}
 

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4578b73..83e2e58 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -59,7 +59,7 @@
     No & No & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
-    No & Yes & Yes & Yes & Yes & Yes \\
+    No & Named & Named & Named & Named & Named and Operator \\
 
 Use dependencies & \compactfeatureref{use-deps} &
     No & No & 2-style & 2-style & 4-style & 4-style \\
@@ -245,6 +245,7 @@ EAPI 4 is EAPI 3 with the following changes:
 EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
+\item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \end{compactitem}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     0c4d87bebb5f1fa213ca69381ed2516ee60236ad
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 16:46:45 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=0c4d87be

Profile IUSE injection is in EAPI 5.

This reverts commit 9d2b8ee57bf3be941cfdfe13650952d91b9edfdc.

---
 eapi-differences.tex  |    4 ++++
 ebuild-env-vars.tex   |   38 ++++++++++++++++++++++++++++++++++----
 profile-variables.tex |   42 +++++++++++++++++++++++++++++++++++++++---
 3 files changed, 77 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 83e2e58..8ece012 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -109,6 +109,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
     No & No & No & No & Yes & Yes \\
 
+Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} &
+    No & No & No & No & No & Yes \\
+
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
     No & No & No & No & Yes & Yes \\
 
@@ -246,6 +249,7 @@ EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
+\item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \end{compactitem}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 4d3330e..db636c9 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -283,9 +283,13 @@ This section discusses the handling of four variables:
 In all cases, the values of \t{IUSE\_REFERENCEABLE} and \t{IUSE\_EFFECTIVE} are undefined during
 metadata generation.
 
-\t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value.
+For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
+\t{IUSE} injection, \t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs
+where profile defined \t{IUSE} injection is supported, \t{IUSE\_REFERENCEABLE} is equal to
+\t{IUSE\_EFFECTIVE}.
 
-\t{IUSE\_EFFECTIVE} contains the following values:
+For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
+\t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.
@@ -294,10 +298,36 @@ metadata generation.
     the profile \t{USE\_EXPAND} variable followed by an underscore.
 \end{compactitem}
 
+\featurelabel{profile-iuse-injection} For EAPIs listed in
+table~\ref{tab:profile-iuse-injection-table} as supporting profile defined \t{IUSE} injection,
+\t{IUSE\_EFFECTIVE} contains the following values:
+
+\begin{compactitem}
+\item All values in the calculated \t{IUSE} value.
+\item All values in the profile \t{IUSE\_IMPLICIT} variable.
+\item All values in the profile variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}}
+    is any value in the intersection of the profile \t{USE\_EXPAND\_UNPREFIXED} and
+    \t{USE\_EXPAND\_IMPLICIT} variables.
+\item All values for \t{\$\{lower\_v\}\_\$\{x\}}, where \t{\$\{x\}} is all values in the profile
+    variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}} is any value in the
+    intersection of the profile \t{USE\_EXPAND} and \t{USE\_EXPAND\_IMPLICIT} variables and
+    \t{\$\{lower\_v\}} is the lowercase equivalent of \t{\$\{v\}}.
+\end{compactitem}
+
 The \t{USE} variable is set by the package manager. For each value in \t{IUSE\_EFFECTIVE}, \t{USE}
 shall contain that value if the flag is to be enabled for the ebuild in question, and shall not
-contain that value if it is to be disabled. \t{USE} may contain other flag names that are not
-relevant for the ebuild.
+contain that value if it is to be disabled. In EAPIs listed in
+table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined \t{IUSE} injection,
+\t{USE} may contain other flag names that are not relevant for the ebuild.
+
+For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
+\t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED} shall
+have their profile-provided values reduced to contain only those values that are present in
+\t{IUSE\_EFFECTIVE}.
+
+For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
+\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE\_EFFECTIVE} when
+installing a package. Details are beyond the scope of this specification.
 
 \subsection{\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}}
 \label{sec:replacing-versions}

diff --git a/profile-variables.tex b/profile-variables.tex
index cb6e63f..cf8cac2 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -20,10 +20,36 @@ variables must be treated in this fashion:
 \item \t{CONFIG\_PROTECT\_MASK}
 \end{compactitem}
 
+If the package manager supports any EAPI listed in table~\ref{tab:profile-iuse-injection-table} as
+using profile-defined \t{IUSE} injection, the following variables must also be treated
+incrementally; otherwise, the following variables may or may not be treated incrementally:
+\begin{compactitem}
+\item \t{IUSE\_IMPLICIT}
+\item \t{USE\_EXPAND\_IMPLICIT}
+\item \t{USE\_EXPAND\_UNPREFIXED}
+\end{compactitem}
+
 Other variables, except where they affect only package-manager-specific functionality (such as
 Portage's \t{FEATURES} variable), must not be treated incrementally---later definitions shall
 completely override those in parent profiles.
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
+    \begin{tabular}{ l l l }
+        \toprule
+        \multicolumn{1}{c}{\textbf{EAPI}} &
+        \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\
+        \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{Specific variables and their meanings}
 The following variables have specific meanings when set in profiles.
 \begin{description}
@@ -37,11 +63,21 @@ The following variables have specific meanings when set in profiles.
 \item[USE\_EXPAND] Defines a list of variables which are to be treated incrementally and whose
     contents are to be expanded into the USE variable as passed to ebuilds. See
     section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND}. The
-    package manager may use this set as a hint to avoid displaying uninteresting or unhelpful
-    information to an end user.
+\item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository
+    contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see
+    table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}. See
+    section~\ref{sec:use-iuse-handling} for details.
+\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and
+    \t{USE\_EXPAND\_UNPREFIXED}. The package manager may use this set as a hint to avoid displaying
+    uninteresting or unhelpful information to an end user.
+\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}. See
+    section~\ref{sec:use-iuse-handling} for details.
 \end{description}
 
+In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile
+defined \t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED}
+have special handling as described in section~\ref{sec:use-iuse-handling}.
+
 Any other variables set in \t{make.defaults} must be passed on into the ebuild environment as-is,
 and are not required to be interpreted by the package manager.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     6411e547f7ca417ce12c05289211ec96b2d11042
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 17:05:31 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6411e547

EAPI 5 supports ?? ( ) groups

See bug 354219

---
 dependencies.tex     |   33 +++++++++++++++++++++++++++++++++
 eapi-differences.tex |    4 ++++
 2 files changed, 37 insertions(+), 0 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 8f78f3d..ff12299 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -66,6 +66,12 @@ be surrounded on both sides by whitespace, except at the start and end of the st
     parenthesis. More formally: \t{exactly-one-of ::= '\textasciicircum\textasciicircum' whitespace
     '(' whitespace (item whitespace)* ')'}.
     Permitted in \t{REQUIRED\_USE}.
+\item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
+    followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
+    zero or more of (a dependency item of any kind followed by whitespace), followed by a close
+    parenthesis. More formally: \t{exactly-one-of ::= '??' whitespace '(' whitespace (item
+    whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
+    table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
     an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
@@ -93,6 +99,23 @@ In particular, note that whitespace is not optional.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups} \label{tab:at-most-one-of-table}
+    \begin{tabular}{ l l }
+        \toprule
+        \multicolumn{1}{c}{\textbf{EAPI}} &
+        \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+        \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{All-of Dependency Specifications}
 
 In an all-of group, all of the child elements must be matched.
@@ -126,6 +149,16 @@ In an exactly-one-of group, exactly one immediate child element must be matched.
 
 An empty exactly-one-of group counts as being matched.
 
+\subsection{At-most-one-of Dependency Specifications}
+
+Any use-conditional group that is an immediate child of an at-most-one-of group, if not enabled
+(disabled for an exclamation mark prefixed use flag name), is not considered a member of the
+at-most-one-of group for match purposes.
+
+In an at-most-one-of group, at most one immediate child element must be matched.
+
+An empty at-most-one-of group counts as being matched.
+
 \subsection{Package Dependency Specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 8ece012..3e4bf27 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -55,6 +55,9 @@
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
     Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 
+\t{?? ( ) groups} & \compactfeatureref{at-most-one-of} &
+    No & No & No & No & No & Yes \\
+
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
     No & No & Yes & Yes & Yes & Yes \\
 
@@ -248,6 +251,7 @@ EAPI 4 is EAPI 3 with the following changes:
 EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
+\item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     aac8b6b2dced29b498aa61a219111754e8b49a35
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 16:39:22 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:15 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=aac8b6b2

EAPI 5 has econf --disable-silent-rules

See bug 379497.

---
 eapi-differences.tex |    4 ++--
 pkg-mgr-commands.tex |   20 ++++++++++++--------
 2 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 92d369e..4578b73 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -131,7 +131,7 @@ Most utilities die & \compactfeatureref{die-on-failure} &
     Yes & Yes & Yes & Yes & Banned & Banned \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
-    &  &  &  & disable dependency tracking & disable dependency tracking \\
+    &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
 
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & No & No & Yes & Yes \\
@@ -245,7 +245,7 @@ EAPI 4 is EAPI 3 with the following changes:
 EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
-\item None
+\item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{5}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 98385c4..b26e15f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -149,21 +149,25 @@ has returned.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
+    \item -{}-disable-silent-rules, if the EAPI is listed in
+        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
+        string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{5}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
-        \begin{tabular}{ l l l }
+        \begin{tabular}{ l l l l }
             \toprule
                 \multicolumn{1}{c}{\textbf{EAPI}} &
-                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} \\
+                \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &
+                \multicolumn{1}{c}{\textbf{-{}-disable-silent-rules}?} \\
                 \midrule
-        \t{0} & No \\
-        \t{1} & No \\
-        \t{2} & No \\
-        \t{3} & No \\
-        \t{4} & Yes \\
-        \t{5} & Yes \\
+        \t{0} & No & No \\
+        \t{1} & No & No \\
+        \t{2} & No & No \\
+        \t{3} & No & No \\
+        \t{4} & Yes & No \\
+        \t{5} & Yes & Yes \\
         \bottomrule
         \end{tabular}
     \end{centertable}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     6ffe6aec8f13ddc3786d0f9f73c8f3b54e8df2b6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 07:19:08 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6ffe6aec

Make parsing of the EAPI assignment mandatory.

---
 ebuild-vars.tex |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 306fb2f..7eaabc5 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -136,8 +136,8 @@ the assignment statement must match the following regular expression:
 ^[ \t]*EAPI=(['"]?)([A-Za-z0-9+_.-]*)\1[ \t]*([ \t]#.*)?$
 \end{verbatim}
 
-The package manager may optionally determine the EAPI of an ebuild by parsing its first non-blank
-and non-comment line, using the above regular expression. If it matches, the EAPI is the substring
+The package manager must determine the EAPI of an ebuild by parsing its first non-blank and
+non-comment line, using the above regular expression. If it matches, the EAPI is the substring
 matched by the capturing parentheses (\t{0} if empty), otherwise it is \t{0}. For a recognised
 EAPI, the package manager must make sure that the \t{EAPI} value obtained by sourcing the ebuild
 with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     7c3d7eb05685a5eb2ca7e8459299bf3499933fea
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 17:48:40 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=7c3d7eb0

EAPI 5 mandates GNU find

See bug 384157

---
 eapi-differences.tex    |    4 ++++
 ebuild-env-commands.tex |   20 ++++++++++++++++++++
 2 files changed, 24 insertions(+), 0 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 0a555de..e302b84 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -127,6 +127,9 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & No & No & Yes & Yes & Yes \\
 
+\t{find} is GNU? & \compactfeatureref{gnu-find} &
+    Undefined & Undefined & Undefined & Undefined & Undefined & Yes \\
+
 Most utilities die & \compactfeatureref{die-on-failure} &
     No & No & No & No & Yes & Yes \\
 
@@ -258,6 +261,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
+\item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \end{compactitem}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 78e33a2..70b69b2 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -29,8 +29,28 @@ The following commands must always be available in the ebuild environment:
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.
+\item \featurelabel{gnu-find} \t{find} and \t{xargs} must be available, and must support all forms
+    of invocations valid for GNU findutils version 4.4 or later. Only for EAPIs listed in
+    table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{\t{find} implementation for EAPIs} \label{tab:system-commands-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
+            \midrule
+    \t{0} & Undefined \\
+    \t{1} & Undefined \\
+    \t{2} & Undefined \\
+    \t{3} & Undefined \\
+    \t{4} & Undefined \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{Commands provided by package dependencies}
 
 In some cases a package's build process will require the availability of executables not provided by


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     1cf4f7dc805edabc03cd35cb743c3601c611295a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 06:56:50 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=1cf4f7dc

EAPI 5: new* commands can read from standard input.

See bug 263565.

---
 eapi-differences.tex |    4 ++++
 pkg-mgr-commands.tex |   23 +++++++++++++++++++++--
 2 files changed, 25 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index e302b84..40d3d5c 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -157,6 +157,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
     N/A & N/A & No & No & Yes & Yes \\
 
+\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
+    No & No & No & No & No & Yes \\
+
 Controllable compression & \compactfeatureref{controllable-compress} &
     No & No & No & No & Yes & Yes \\
 
@@ -263,6 +266,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
+\item \t{new*} can read from standard input, \featureref{newfoo-stdin}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{5}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b26e15f..0818719 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -389,8 +389,10 @@ that can be passed to \t{dohtml} are as follows:
 \item[fperms] Acts as for \t{chmod}, but takes paths relative to the image directory. Failure
     behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[newbin] As for \t{dobin}, but takes two parameters. The first is the file to install; the
-    second is the new filename under which it will be installed.
+\item[newbin] \featurelabel{newfoo-stdin} As for \t{dobin}, but takes two parameters. The first is
+    the file to install; the second is the new filename under which it will be installed. In EAPIs
+    specified by table~\ref{tab:newfoo-stdin-table}, standard input is read when the first
+    parameter is \t{-} (a hyphen). In this case, it is an error if standard input is a terminal.
 
 \item[newconfd] As for \t{doconfd}, but takes two parameters as for \t{newbin}.
 
@@ -472,6 +474,23 @@ that can be passed to \t{dohtml} are as follows:
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting stdin for \t{new*} commands} \label{tab:newfoo-stdin-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{\t{new*} can read from stdin?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Commands affecting install destinations}
 The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
 offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     293018c0bc17aff55d231e897a8967aacdef212b
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 17:34:51 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=293018c0

EAPI 5 has EBUILD_PHASE_FUNC

See bug 390765

---
 eapi-differences.tex |    4 ++++
 ebuild-env-vars.tex  |   27 +++++++++++++++++++--------
 2 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3e4bf27..0a555de 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -109,6 +109,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{KV} & \compactfeatureref{kv} &
     Yes & Yes & Yes & Yes & No & No \\
 
+\t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
+    No & No & No & No & No & Yes \\
+
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
     No & No & No & No & Yes & Yes \\
 
@@ -253,6 +256,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \begin{compactitem}
 \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
+\item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \end{compactitem}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index db636c9..428cb3a 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -168,6 +168,16 @@ variable.
     \t{postrm}, \t{info}, \t{pretend} according to the top level ebuild function that was executed
     by the package manager. May be unset or any single word that is not any of the above when the
     ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\
+\t{EBUILD\_PHASE\_FUNC} &
+    All &
+    No &
+    \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg\_config}, \t{pkg\_setup},
+    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile},
+    \t{src\_test}, \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm},
+    \t{pkg\_postrm}, \t{pkg\_info}, \t{pkg\_pretend} according to the top level ebuild function that
+    was executed by the package manager. May be unset or any single word that is not any of the
+    above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
+    EAPIs listed in table~\ref{tab:env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
 \t{WORKDIR} &
     \t{src\_*}, global~scope &
     Yes &
@@ -212,21 +222,22 @@ variable.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table}
-    \begin{tabular}{ l l l l l l }
+    \begin{tabular}{ l l l l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
         \multicolumn{1}{c}{\textbf{\t{AA}?}} &
         \multicolumn{1}{c}{\textbf{\t{KV}?}} &
         \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
         \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} \\
+        \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
+        \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
         \midrule
-    \t{0} & Yes & Yes & No & No & No \\
-    \t{1} & Yes & Yes & No & No & No \\
-    \t{2} & Yes & Yes & No & No & No \\
-    \t{3} & Yes & Yes & No & No & No \\
-    \t{4} & No & No & Yes & Yes & Yes \\
-    \t{5} & No & No & Yes & Yes & Yes \\
+    \t{0} & Yes & Yes & No & No & No & No \\
+    \t{1} & Yes & Yes & No & No & No & No \\
+    \t{2} & Yes & Yes & No & No & No & No \\
+    \t{3} & Yes & Yes & No & No & No & No \\
+    \t{4} & No & No & Yes & Yes & Yes & No \\
+    \t{5} & No & No & Yes & Yes & Yes & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     6214dc36bff09e474d9813c542638a668dcff47e
Author:     Ciaran McCreesh <ciaran.mccreesh <AT> googlemail <DOT> com>
AuthorDate: Sun May  6 17:41:34 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6214dc36

Split up big table into two littler tables.

---
 ebuild-env-vars.tex |   63 ++++++++++++++++++++++++++++++++------------------
 1 files changed, 40 insertions(+), 23 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 428cb3a..060d502 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -76,7 +76,7 @@ variable.
     \featurelabel{aa} All source files that could be available for the package, including any that
     are disabled in \t{A} because of USE conditionals. The value is calculated from the base names
     of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in
-    table~\ref{tab:env-vars-table} as supporting \t{AA}. \\
+    table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\
 \t{FILESDIR} &
     \t{src\_*}\footnote{Not necessarily present when installing from a binary package} &
     No &
@@ -177,7 +177,7 @@ variable.
     \t{pkg\_postrm}, \t{pkg\_info}, \t{pkg\_pretend} according to the top level ebuild function that
     was executed by the package manager. May be unset or any single word that is not any of the
     above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
-    EAPIs listed in table~\ref{tab:env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
+    EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
 \t{WORKDIR} &
     \t{src\_*}, global~scope &
     Yes &
@@ -195,49 +195,65 @@ variable.
     Yes &
     \featurelabel{kv} The version of the running kernel at the time the ebuild was first executed,
     as returned by the \t{uname~-r} command or equivalent.  May be modified by ebuilds.  Only for
-    EAPIs listed in table~\ref{tab:env-vars-table} as supporting \t{KV}. \\
+    EAPIs listed in table~\ref{tab:removed-env-vars-table} as supporting \t{KV}. \\
 \t{MERGE\_TYPE} &
     \t{pkg\_*} &
     No &
     \featurelabel{merge-type} The type of package that is being merged. Possible values are:
     \t{source} if building and installing a package from source, \t{binary} if installing a binary
     package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs
-    listed in table~\ref{tab:env-vars-table} as supporting \t{MERGE\_TYPE}. \\
+    listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE\_TYPE}. \\
 \t{REPLACING\_VERSIONS} &
     \t{pkg\_*} (see text) &
     Yes &
     A whitespace-separated list of versions of this package (including revision, if specified) that
     are being replaced (uninstalled or overwritten) as a result of this install. See
-    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:env-vars-table}
+    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
     as supporting \t{REPLACING\_VERSIONS}. \\
 \t{REPLACED\_BY\_VERSION} &
     \t{pkg\_prerm}, \t{pkg\_postrm} &
     Yes &
     The single version of this package (including revision, if specified) that is replacing us, if
     we are being uninstalled as part of an install, or an empty string otherwise. See
-    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:env-vars-table}
+    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
     as supporting \t{REPLACED\_BY\_VERSION}.
 \end{longtable}
 \end{landscape}
 
 \ChangeWhenAddingAnEAPI{5}
-\begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table}
-    \begin{tabular}{ l l l l l l l }
+\begin{centertable}{EAPIs supporting various added env variables} \label{tab:added-env-vars-table}
+    \begin{tabular}{ l l l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
-        \multicolumn{1}{c}{\textbf{\t{KV}?}} &
         \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
         \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
         \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
         \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
         \midrule
-    \t{0} & Yes & Yes & No & No & No & No \\
-    \t{1} & Yes & Yes & No & No & No & No \\
-    \t{2} & Yes & Yes & No & No & No & No \\
-    \t{3} & Yes & Yes & No & No & No & No \\
-    \t{4} & No & No & Yes & Yes & Yes & No \\
-    \t{5} & No & No & Yes & Yes & Yes & Yes \\
+    \t{0} & No & No & No & No \\
+    \t{1} & No & No & No & No \\
+    \t{2} & No & No & No & No \\
+    \t{3} & No & No & No & No \\
+    \t{4} & Yes & Yes & Yes & No \\
+    \t{5} & Yes & Yes & Yes & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting various removed env variables} \label{tab:removed-env-vars-table}
+    \begin{tabular}{ l l l }
+        \toprule
+        \multicolumn{1}{c}{\textbf{EAPI}} &
+        \multicolumn{1}{c}{\textbf{\t{AA}?}} &
+        \multicolumn{1}{c}{\textbf{\t{KV}?}} \\
+        \midrule
+    \t{0} & Yes & Yes \\
+    \t{1} & Yes & Yes \\
+    \t{2} & Yes & Yes \\
+    \t{3} & Yes & Yes \\
+    \t{4} & No & No \\
+    \t{5} & No & No \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -343,17 +359,18 @@ installing a package. Details are beyond the scope of this specification.
 \subsection{\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}}
 \label{sec:replacing-versions}
 
-\featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:env-vars-table} as supporting
-it, the \t{REPLACING\_VERSIONS} variable shall be defined in \t{pkg\_preinst} and \t{pkg\_postinst}.
-In addition, it \e{may} be defined in \t{pkg\_pretend} and \t{pkg\_setup}, although ebuild authors
-should take care to handle binary package creation and installation correctly when using it in these
-phases.
+\featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
+supporting it, the \t{REPLACING\_VERSIONS} variable shall be defined in \t{pkg\_preinst} and
+\t{pkg\_postinst}.  In addition, it \e{may} be defined in \t{pkg\_pretend} and \t{pkg\_setup},
+although ebuild authors should take care to handle binary package creation and installation
+correctly when using it in these phases.
 
 \t{REPLACING\_VERSIONS} is a list, not a single optional value, to handle pathological cases such as
 installing \t{foo-2:2} to replace \t{foo-2:1} and \t{foo-3:2}.
 
-In EAPIs listed in table~\ref{tab:env-vars-table} as supporting it, the \t{REPLACED\_BY\_VERSION}
-variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall contain at most one value.
+In EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting it, the
+\t{REPLACED\_BY\_VERSION} variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall
+contain at most one value.
 
 \subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
 \label{sec:offset-vars}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     081e05104a6921b513ccef2b3266b1465ef5e27f
Author:     Andreas K. Huettel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 21:18:51 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=081e0510

Define stability levels.

---
 ebuild-vars.tex |   27 +++++++++++++++++++++++----
 names.tex       |    8 +-------
 2 files changed, 24 insertions(+), 11 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 7eaabc5..01d2393 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -47,10 +47,8 @@ Ebuilds may define any of the following variables:
     (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependencies} for full syntax.
     \label{ebuild-var-LICENSE}
 \item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid
-    keyword name, as per section~\ref{sec:keyword-names}. May include \t{-*}, which indicates that
-    the package will only work on explicitly listed archs. May include \t{-arch}, which indicates
-    that the package will not work on the specified arch. May be empty, which indicates uncertain
-    functionality on any architecture.
+    keyword name, as per section~\ref{sec:keyword-names}. See section~\ref{sec:keywords} for full
+    syntax.
 \item[IUSE] The \t{USE} flags used by the ebuild. Any eclass that works with \t{USE} flags must
     also set \t{IUSE}, listing only the variables used by that eclass. The package manager is
     responsible for merging these values. See section~\ref{sec:use-iuse-handling} for discussion on
@@ -143,6 +141,27 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou
 with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
 these values are different.
 
+\subsection{Keywords}
+\label{sec:keywords}
+
+Keywords are used to indicate levels of stability of a package on a respective architecture
+\t{arch}. The following conventions are used:
+\begin{itemize}
+\item \t{arch}: Both the package version and the ebuild are widely tested, known to work and not
+    have any serious issues on the indicated platform. This is referred to as a \i{stable keyword}.
+\item \t{\textasciitilde arch}: The package version and the ebuild are believed to work and do
+    not have any known serious bugs, but more testing is required before the package version is
+    considered suitable for obtaining a stable keyword. This is referred to as an \i{unstable
+    keyword} or a \i{testing keyword}.
+\item No keyword: It is not known whether the package will work, or insufficient testing has
+    occurred.
+\item \t{-arch}: The package version will not work on the architecture.
+\end{itemize}
+The \t{-*} keyword is used to indicate package versions which are not worth trying to test on
+unlisted architectures.
+
+An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture.
+
 \subsection{\t{RDEPEND} value}
 \label{sec:rdepend-depend}
 

diff --git a/names.tex b/names.tex
index fd9731c..decc8f4 100644
--- a/names.tex
+++ b/names.tex
@@ -40,13 +40,7 @@ hyphen. In addition, every repository name must also be a valid package name.
 \label{sec:keyword-names}
 A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
 hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by
-a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword, to indicate that
-a package will only work on listed targets.
-
-A tilde prefixed keyword is, by convention, used to indicate a less stable package. It is generally
-assumed that any user accepting keyword \t{\textasciitilde{}foo} will also accept \t{foo}.
-
-The exact meaning of any keywords value is beyond the scope of this specification.
+a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword.
 
 \subsection{EAPI Names}
 \label{sec:eapi-names}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     70ec5eda6a11c196ceafefbf47dc80140fe29b8a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 13 07:52:05 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=70ec5eda

EAPI 5: src_test supports parallel tests.

See bug 363005.

---
 eapi-differences.tex |    4 ++++
 ebuild-functions.tex |   24 ++++++++++++++++++++++--
 2 files changed, 26 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 40d3d5c..24fe4b2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -88,6 +88,9 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{src\_compile} style & \compactfeatureref{src-compile} &
     0 & 1 & 2 & 2 & 2 & 2 \\
 
+Parallel tests & \compactfeatureref{parallel-tests} &
+    No & No & No & No & No & Yes \\
+
 \t{src\_install} style & \compactfeatureref{src-install} &
     no-op & no-op & no-op & no-op & 4 & 4 \\
 
@@ -262,6 +265,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \begin{compactitem}
 \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
+\item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.
 \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index cd4075c..1f2ab68 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -265,13 +265,33 @@ provided.
 
 The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise.
 The default implementation used when the ebuild lacks the \t{src\_test} function must, if tests are
-enabled, run \t{emake -j1 check} if and only if such a target is available, or if not run
-\t{emake -j1 test} if and only if such a target is available. In both cases, if \t{emake} returns
+enabled, run \t{emake check} if and only if such a target is available, or if not run
+\t{emake test} if and only if such a target is available. In both cases, if \t{emake} returns
 non-zero the build must be aborted.
 
+\featurelabel{parallel-tests} For EAPIs listed in table~\ref{tab:src-test-table} as not supporting
+parallel tests, the \t{emake} command must be called with option \t{-j1}.
+
 The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}. It may
 be disabled by user too, using a PM-specific mechanism.
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{\t{src\_test} behaviour for EAPIs} \label{tab:src-test-table}
+    \begin{tabular}{ l l }
+        \toprule
+        \multicolumn{1}{c}{\textbf{EAPI}} &
+        \multicolumn{1}{c}{\textbf{Supports parallel tests?}} \\
+        \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{src\_install}
 \label{sec:src-install-function}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     3023cd7a32124e6fa5c11d0d1440fd78f73e8f94
Author:     Andreas K. Huettel <dilfridge <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 21 20:55:25 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=3023cd7a

EAPI 5 has stable use forcing and masking.

See bug 431078.

---
 eapi-differences.tex |    5 ++++
 profiles.tex         |   65 ++++++++++++++++++++++++++++++++++++++++++++-----
 2 files changed, 63 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 24fe4b2..a06a359 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -40,6 +40,9 @@
 \bottomrule
 \endlastfoot
 
+Stable use masking/forcing & \compactfeatureref{stablemask} &
+    No & No & No & No & No & Yes \\
+
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     No & Yes & Yes & Yes & Yes & Yes \\
 
@@ -263,6 +266,8 @@ EAPI 4 is EAPI 3 with the following changes:
 EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
+\item \t{package.use.stable.mask} and \t{package.use.stable.force} can be used to restrict
+    use flag combinations, \featureref{stablemask}
 \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.

diff --git a/profiles.tex b/profiles.tex
index 8246431..8fb7674 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -108,14 +108,43 @@ the forms defined by the directory's EAPI.
 
 \subsection{USE masking and forcing}
 \label{sec:use-masking}
-This section covers the four files \t{use.mask}, \t{use.force}, \t{package.use.mask} and
-\t{package.use.force}. They are described together because they interact in a non-trivial manner.
+This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
+\t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},
+and \t{package.use.stable.force}. They are described together because they interact in a non-trivial
+manner.
 
 Simply speaking, \t{use.mask} and \t{use.force} are used to say that a given USE flag must never or
 always, respectively, be enabled when using this profile. \t{package.use.mask} and
-\t{package.use.force} do the same thing on a per-package, or per-version, basis. The precise manner
-in which they interact is less simple, and is best described in terms of the algorithm used to
-determine whether a flag is masked for a given package version. This is described in Algorithm~\ref{alg:use-masking}.
+\t{package.use.force} do the same thing on a per-package, or per-version, basis.
+
+\featurelabel{stablemask}
+In profile directories with an EAPI supporting stable masking, as listed in
+table~\ref{tab:profile-stablemask}, the same is true for \t{use.stable.mask}, \t{use.stable.force},
+\t{package.use.stable.mask} and \t{package.use.stable.force}. These files, however, only act on
+packages that are merged due to a stable keyword in the sense of subsection~\ref{sec:keywords}.
+Thus, these files can be used to restrict the feature set deemed stable in a package.
+
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{Profile directory support for masking/forcing use flags in stable
+versions only}\label{tab:profile-stablemask}
+    \begin{tabular}{ l l l }
+        \toprule
+        \multicolumn{1}{c}{\textbf{EAPI}} &
+        \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\
+        \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
+The precise manner in which the eight files interact is less simple, and is best described in terms
+of the algorithm used to determine whether a flag is masked for a given package version. This is
+described in Algorithm~\ref{alg:use-masking}.
 \begin{algorithm}
 \caption{USE masking logic} \label{alg:use-masking}
 \begin{algorithmic}[1]
@@ -126,6 +155,13 @@ determine whether a flag is masked for a given package version. This is describe
     \ELSIF{\t{use.mask} contains \i{-flag}}
         \STATE let masked = false
     \ENDIF
+    \IF{stable keyword in use}
+        \IF{\t{use.stable.mask} contains \i{flag}}
+            \STATE let masked = true
+        \ELSIF{\t{use.stable.mask} contains \i{-flag}}
+            \STATE let masked = false
+        \ENDIF
+    \ENDIF
     \FOR{each $line$ in package.use.mask, in order, for which the spec matches $package$}
         \IF{$line$ contains \i{flag}}
             \STATE let masked = true
@@ -133,12 +169,27 @@ determine whether a flag is masked for a given package version. This is describe
             \STATE let masked = false
         \ENDIF
     \ENDFOR
+    \IF{stable keyword in use}
+        \FOR{each $line$ in package.use.stable.mask, in order, for which the spec matches $package$}
+            \IF{$line$ contains \i{flag}}
+                \STATE let masked = true
+            \ELSIF{$line$ contains \i{-flag}}
+                \STATE let masked = false
+            \ENDIF
+        \ENDFOR
+    \ENDIF
 \ENDFOR
 \end{algorithmic}
 \end{algorithm}
 
-The logic for \t{use.force} and \t{package.use.force} is identical. If a flag is both masked and
-forced, the mask is considered to take precedence.
+Stable restrictions (``stable keyword in use'' in Algorithm~\ref{alg:use-masking}) are applied
+exactly if replacing in \t{KEYWORDS} all stable keywords by the corresponding tilde prefixed
+keywords (see subsection~\ref{sec:keywords}) would result in the package installation being
+prevented due to the \t{KEYWORDS} setting.
+
+The logic for \t{use.force}, \t{use.stable. force}, \t{package.use.force}, and
+\t{package.use.stable.force} is identical. If a flag is both masked and forced, the mask is
+considered to take precedence.
 
 \t{USE\_EXPAND} values may be forced or masked by using \t{expand\_name\_value}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     d4b2fa245918e4704e6cf660575cf2f45c922805
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 16 05:15:05 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d4b2fa24

EAPI 5: Extend slot-operator-deps with sub-slot support

See bug 424429.

---
 dependencies.tex     |   40 +++++++++++++++++++++++++---------------
 eapi-differences.tex |    4 ++++
 ebuild-vars.tex      |    8 ++++++++
 3 files changed, 37 insertions(+), 15 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index ff12299..b82f699 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -183,18 +183,20 @@ manager must warn or error if this feature is used with an EAPI not supporting u
 \note Order is important. The slot restriction must come before use dependencies.
 
 \ChangeWhenAddingAnEAPI{5}
-\begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table}
-    \begin{tabular}{ l l }
+\begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
+    \label{tab:slot-deps-table}
+    \begin{tabular}{ l l l }
         \toprule
             \multicolumn{1}{c}{\textbf{EAPI}} &
-            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\
+            \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} &
+            \multicolumn{1}{c}{\textbf{Supports sub-slots?}} \\
             \midrule
-    \t{0} & No \\
-    \t{1} & Named only \\
-    \t{2} & Named only \\
-    \t{3} & Named only \\
-    \t{4} & Named only \\
-    \t{5} & Named and operator \\
+    \t{0} & No & No \\
+    \t{1} & Named only & No \\
+    \t{2} & Named only & No \\
+    \t{3} & Named only & No \\
+    \t{4} & Named only & No \\
+    \t{5} & Named and operator & Yes \\
     \bottomrule
     \end{tabular}
 \end{centertable}
@@ -277,6 +279,10 @@ specification with a named slot dependency matches only if the slot of the match
 to the slot specified. If the slot of the package to match cannot be determined (e.\,g.\ because it
 is not a supported \t{EAPI}), the match is treated as unsuccessful.
 
+\featurelabel{sub-slot} In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting sub-slots,
+a slot dependency may contain an optional sub-slot part that follows the regular slot and is
+delimited by a \t{/} character.
+
 \featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of
 the following operators:
 
@@ -285,14 +291,18 @@ the following operators:
 indicates that the package will not break if the matched package is uninstalled and replaced by
 a different matching package in a different slot.
 \item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
-indicates that the package will break unless a matching package with slot equal to the slot of
-the best installed version at the time the package was installed is available.
+indicates that the package will break unless a matching package with slot and sub-slot equal to the
+slot and sub-slot of the best installed version at the time the package was installed is available.
+\item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
+identically to the plain equals slot operator.
 \end{description}
 
-To implement the equals slot operator, the package manager will need to store the slot of the
-best installed version of the matching package. The package manager may do this by appending
-the appropriate slot after the equals sign when saving the package's dependencies. This syntax
-is only for package manager use and must not be used by ebuilds.
+To implement the equals slot operator, the package manager will need to store the slot/sub-slot
+pair of the best installed version of the matching package. This syntax is only for package manager
+use and must not be used by ebuilds. The package manager may do this by inserting the appropriate
+slot/sub-slot pair between the colon and equals sign when saving the package's dependencies. The
+sub-slot part must not be omitted here (when the SLOT variable omits the sub-slot part, the package
+is considered to have an implicit sub-slot which is equal to the regular slot).
 
 \subsubsection{2-Style and 4-Style Use Dependencies}
 \label{sec:use-dep}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a06a359..876eec0 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -67,6 +67,9 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
 Slot dependencies & \compactfeatureref{slot-deps} &
     No & Named & Named & Named & Named & Named and Operator \\
 
+Sub-slots & \compactfeatureref{sub-slot} &
+    No & No & No & No & No & Yes \\
+
 Use dependencies & \compactfeatureref{use-deps} &
     No & No & 2-style & 2-style & 4-style & 4-style \\
 
@@ -270,6 +273,7 @@ EAPI 5 is EAPI 4 with the following changes:
     use flag combinations, \featureref{stablemask}
 \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
+\item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}.
 \item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.
 \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 01d2393..53de53d 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -29,6 +29,14 @@ All ebuilds must define at least the following variables:
     eclass. Must not be empty.
 \item[SLOT] The package's slot. Must be a valid slot name, as per section~\ref{sec:slot-names}.
     May be defined by an eclass. Must not be empty.
+
+    In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting sub-slots, the \t{SLOT} variable
+    may contain an optional sub-slot part that follows the regular slot and is delimited by a \t{/}
+    character. The sub-slot must be a valid slot name, as per section~\ref{sec:slot-names}.
+    The sub-slot is used to represent cases in which an upgrade to a new version of a package with
+    a different sub-slot may require dependent packages to be rebuilt. When the sub-slot part is
+    omitted from the \t{SLOT} definition, the package is considered to have an implicit sub-slot
+    which is equal to the regular slot.
 \end{description}
 
 \section{Optional Ebuild-defined Variables}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     e0bf16a23cde4c71eefb20e8b388d70aadc4269e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 31 15:53:51 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=e0bf16a2

EAPI 5 has doheader.

See bug 21310.

---
 eapi-differences.tex |    4 ++++
 pkg-mgr-commands.tex |   25 +++++++++++++++++++++++++
 2 files changed, 29 insertions(+), 0 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index aeafb49..8974b7e 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -160,6 +160,9 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{dodoc -r} & \compactfeatureref{dodoc} &
     No & No & No & No & Yes & Yes \\
 
+\t{doheader} & \compactfeatureref{doheader} &
+    No & No & No & No & No & Yes \\
+
 \t{doins} handles symlinks & \compactfeatureref{doins} &
     No & No & No & No & Yes & Yes \\
 
@@ -284,6 +287,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{best\_version} and \t{has\_version} support the \t{-{}-host-root} option,
     \featureref{host-root-option}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
+\item \t{doheader} and \t{newheader} support, \featureref{doheader}.
 \item \t{new*} can read from standard input, \featureref{newfoo-stdin}.
 \end{compactitem}
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f99f30c..9e51119 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -290,6 +290,12 @@ function has returned.
     listed in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
+\item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},
+    by default with file mode \t{0644}. This can be overridden by setting \t{INSOPTIONS} with the
+    \t{insopts} function.
+    Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
+    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+
 \item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
 The subdirectory is \t{html} by default, but this can be overridden by setting the \t{DOCDESTTREE}
 variable with the \t{docinto} function. Files to be installed automatically are determined by
@@ -406,6 +412,8 @@ that can be passed to \t{dohtml} are as follows:
 
 \item[newexe] As above, for \t{doexe}.
 
+\item[newheader] As above, for \t{doheader}.
+
 \item[newinitd] As above, for \t{doinitd}.
 
 \item[newins] As above, for \t{doins}.
@@ -443,6 +451,23 @@ that can be passed to \t{dohtml} are as follows:
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting \t{doheader} and \t{newheader}} \label{tab:doheader-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Supports \t{doheader} and \t{newheader}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
+\ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting symlinks for \t{doins}} \label{tab:doins-table}
     \begin{tabular}{ l l }
         \toprule


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     91a920caaf45dee42dc1513c8853b0fd43f6a167
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug 31 16:17:37 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:17 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=91a920ca

EAPI 5 has usex.

See bug 382963.

---
 eapi-differences.tex |    4 ++++
 pkg-mgr-commands.tex |   24 ++++++++++++++++++++++++
 2 files changed, 28 insertions(+), 0 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 8974b7e..90ac8b2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -184,6 +184,9 @@ Controllable compression & \compactfeatureref{controllable-compress} &
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
     No & No & No & No & Yes & Yes \\
 
+\t{usex} & \compactfeatureref{usex} &
+    No & No & No & No & No & Yes \\
+
 \t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} &
     No & No & No & Yes & Yes & Yes \\
 
@@ -289,6 +292,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \item \t{doheader} and \t{newheader} support, \featureref{doheader}.
 \item \t{new*} can read from standard input, \featureref{newfoo-stdin}.
+\item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{5}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9e51119..9538a7e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -666,6 +666,13 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{-{}-without-\$\{opt\}}.
 \item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or \t{-{}-disable-}
 instead of \t{-{}-with-} or \t{-{}-without-}.
+\item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument
+    is a USE flag name, any subsequent arguments (\t{\$\{arg2\}} to \t{\$\{arg5\}}) are string
+    values. If not provided, \t{\$\{arg2\}} and \t{\$\{arg3\}} default to \t{yes} and \t{no},
+    respectively; \t{\$\{arg4\}} and \t{\$\{arg5\}} default to the empty string. If the USE flag is
+    set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
+    The condition is inverted if the flag name is prefixed with~\t{!}.
+    Only available in EAPIs listed in table~\ref{tab:usex-table} as supporting \t{usex}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{5}
@@ -703,6 +710,23 @@ instead of \t{-{}-with-} or \t{-{}-without-}.
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting \t{usex}} \label{tab:usex-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{Supports \t{usex}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Text List Functions}
 These functions check whitespace-separated lists for a particular value.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-14  6:14 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-14  6:14 UTC (permalink / raw
  To: gentoo-commits

commit:     faaeeba5763814d2a7d0aa700209093cec791cf4
Author:     Zac Medico <zmedico <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 30 17:37:49 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 13 06:28:16 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=faaeeba5

EAPI 5 supports --host-root option for *_version

See bug 401239

---
 eapi-differences.tex |    5 +++++
 pkg-mgr-commands.tex |   24 +++++++++++++++++++++++-
 2 files changed, 28 insertions(+), 1 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 876eec0..aeafb49 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -151,6 +151,9 @@ Most utilities die & \compactfeatureref{die-on-failure} &
 \t{dosed} & \compactfeatureref{banned-commands} &
     Yes & Yes & Yes & Yes & Banned & Banned \\
 
+Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
+    No & No & No & No & No & Yes \\
+
 \t{econf} arguments & \compactfeatureref{econf-options} &
     &  &  &  & disable dependency tracking & disable dependency tracking, disable silent rules \\
 
@@ -278,6 +281,8 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
 \item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.
+\item \t{best\_version} and \t{has\_version} support the \t{-{}-host-root} option,
+    \featureref{host-root-option}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \item \t{new*} can read from standard input, \featureref{newfoo-stdin}.
 \end{compactitem}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0818719..f99f30c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -79,9 +79,13 @@ argument. Ebuilds must not run any of these commands once the current phase func
 \end{description}
 
 \subsubsection{Package manager query commands}
-These commands are used to extract information about the host system. Ebuilds must not run any of
+These commands are used to extract information about the system. Ebuilds must not run any of
 these commands in parallel with any other package manager command. Ebuilds must not run any of
 these commands once the current phase function has returned.
+
+\featurelabel{host-root-option} In EAPIs listed in table~\ref{tab:foo-version-host-root-table} as
+supporting option \t{-{}-host-root}, this flag as the first argument will cause the query to apply
+to the host root instead of \t{ROOT}.
 \begin{description}
 \item[has\_version] Takes exactly one package dependency specification as an argument. Returns
     true if a package matching the atom is installed in \t{ROOT}, and false otherwise.
@@ -491,6 +495,24 @@ that can be passed to \t{dohtml} are as follows:
     \end{tabular}
 \end{centertable}
 
+\ChangeWhenAddingAnEAPI{5}
+\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
+    \label{tab:foo-version-host-root-table}
+    \begin{tabular}{ l l }
+        \toprule
+            \multicolumn{1}{c}{\textbf{EAPI}} &
+            \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+            \midrule
+    \t{0} & No \\
+    \t{1} & No \\
+    \t{2} & No \\
+    \t{3} & No \\
+    \t{4} & No \\
+    \t{5} & Yes \\
+    \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Commands affecting install destinations}
 The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
 offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-17 12:19 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-17 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     916dd4573284f0709be57f0ae3efa24e840c1c0c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 07:30:06 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:12:25 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=916dd457

Prevent numbers in list of tables from overrunning into the table captions.

Numbers like 11.10 are too wide for the standard format, so increase
width by 0.5 em.

---
 pms.cls |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/pms.cls b/pms.cls
index ed16f6b..80487bf 100644
--- a/pms.cls
+++ b/pms.cls
@@ -105,6 +105,10 @@
   \end{table}
 }
 
+% Prevent numbers in list of tables from overrunning into the table captions
+\renewcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.8em}} % was 2.3em
+\let\l@table\l@figure
+
 % Define some PDF meta-data.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-17 12:19 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-17 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     93391d6390ab02ea37bc8c8e0db404b77cedf7d3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 11:17:10 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:10:59 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=93391d63

List of EAPI differences: Fix item for stable use masking and forcing.

---
 eapi-differences.tex |    3 +--
 1 files changed, 1 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 90ac8b2..2b28ff2 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -278,8 +278,7 @@ EAPI 4 is EAPI 3 with the following changes:
 EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
-\item \t{package.use.stable.mask} and \t{package.use.stable.force} can be used to restrict
-    use flag combinations, \featureref{stablemask}
+\item Stable use masking and forcing, \featureref{stablemask}.
 \item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-17 12:19 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-17 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     d298236671b888efb7831139a46a411ff225b673
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 20:56:15 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Sep 15 21:05:21 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=d2982366

doheader accepts -r option for recursion.

The doheader implementation is based on doins, so it is natural that
it also supports recursion.

---
 pkg-mgr-commands.tex |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9538a7e..0175699 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -292,7 +292,8 @@ function has returned.
 
 \item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},
     by default with file mode \t{0644}. This can be overridden by setting \t{INSOPTIONS} with the
-    \t{insopts} function.
+    \t{insopts} function. If the first argument is \t{-r}, then operates recursively, descending
+    into any directories given.
     Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-17 12:19 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-17 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     a460436e1722831d36d9316de853a529c74a7929
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 12:42:33 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:12:25 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a460436e

Tune LaTeX formatting to suppress overfull boxes in output.

- Change teletype font from Courier to Computer Modern Typewriter which
  is narrower.
- Be more tolerant when formatting paragraphs, to avoid overfull boxes.
  Do this by increasing \tolerance, \hfuzz, and \emergencystretch.
- Allow line breaks after underscores (but with a large penalty).
- The second column of the "defined variables" table was too narrow.
- Increase the width of margin notes to 40 mm (was about 33 mm before).
- Rename the two longest featurelabels (profile-iuse-injection and
  controllable-compress) because they still didn't fit into the margin.
- I'd rather have avoided explicit \allowbreak commands, but in very few
  cases there is no other way.

---
 eapi-cheatsheet.tex  |    2 +-
 eapi-differences.tex |   10 +++++-----
 ebuild-env-vars.tex  |    7 +++----
 pkg-mgr-commands.tex |   15 ++++++++-------
 pms.cls              |   12 +++++++++++-
 profiles.tex         |   17 +++++++++--------
 tree-layout.tex      |    7 ++++---
 7 files changed, 41 insertions(+), 29 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 927c5f3..57c95a1 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -190,7 +190,7 @@ nonetheless.
     \code{/usr/share/doc/\$\{PF\}/html}.  \code{docompress path \dots}
     adds paths to the inclusion list for compression.
     \code{docompress -x path \dots} adds paths to the exclusion list.
-    See \featureref{controllable-compress}.
+    See \featureref{docompress}.
     \item[\code{dodoc} recursion] If the \code{-r} switch is given as
     first argument and followed by directories, files from there are
     installed recursively.  See \featureref{dodoc}.

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2b28ff2..3a33bce 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -124,7 +124,7 @@ Parallel tests & \compactfeatureref{parallel-tests} &
 \t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
     No & No & No & No & Yes & Yes \\
 
-Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} &
+Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
     No & No & No & No & No & Yes \\
 
 \t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
@@ -175,10 +175,10 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
     No & No & No & No & No & Yes \\
 
-Controllable compression & \compactfeatureref{controllable-compress} &
+Controllable compression & \compactfeatureref{docompress} &
     No & No & No & No & Yes & Yes \\
 
-\t{docompress} & \compactfeatureref{controllable-compress} &
+\t{docompress} & \compactfeatureref{docompress} &
     No & No & No & No & Yes & Yes \\
 
 \t{use\_with} empty third arg & \compactfeatureref{use-with} &
@@ -269,7 +269,7 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{dodoc -r} support, \featureref{dodoc}.
 \item \t{doins} supports symlinks, \featureref{doins}.
 \item \t{doman -i18n} option takes precedence, \featureref{doman-langs}.
-\item Controllable compression and \t{docompress}, \featureref{controllable-compress}.
+\item Controllable compression and \t{docompress}, \featureref{docompress}.
 \item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
@@ -284,7 +284,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}.
 \item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.
 \item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
-\item \t{USE} is calculated differently, \featureref{profile-iuse-injection}.
+\item \t{USE} is calculated differently, \featureref{profile-iuse-inject}.
 \item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.
 \item \t{best\_version} and \t{has\_version} support the \t{-{}-host-root} option,
     \featureref{host-root-option}.

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 060d502..ae6321d 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -12,7 +12,7 @@ different \t{pkg\_*} phases. Ebuilds must recalculate any variable they derive f
 variable.
 
 \begin{landscape}
-\begin{longtable}{l p{0.15\textwidth} l p{0.5\textwidth}}
+\begin{longtable}{l p{0.175\textwidth} l p{0.5\textwidth}}
 \caption{Defined variables\label{tab:defined_vars}}\\
 \toprule
 \multicolumn{1}{c}{\b{Variable}} &
@@ -325,9 +325,8 @@ For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporti
     the profile \t{USE\_EXPAND} variable followed by an underscore.
 \end{compactitem}
 
-\featurelabel{profile-iuse-injection} For EAPIs listed in
-table~\ref{tab:profile-iuse-injection-table} as supporting profile defined \t{IUSE} injection,
-\t{IUSE\_EFFECTIVE} contains the following values:
+\featurelabel{profile-iuse-inject} For EAPIs listed in table~\ref{tab:profile-iuse-injection-table}
+as supporting profile defined \t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0175699..772613e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -384,9 +384,10 @@ that can be passed to \t{dohtml} are as follows:
     precedence over the language code in the filename.
 
 \item[domo] Installs a \t{.mo} file with file mode \t{0644} into the appropriate subdirectory of
-    \t{DESTTREE/share/locale}, generated by taking the basename of the file, removing the \t{.*}
-    suffix, and appending \t{/LC\_MESSAGES}. The name of the installed files is the package name
-    with \t{.mo} appended. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the file, removing
+    the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed files is the
+    package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
+    section~\ref{sec:failure-behaviour}.
 
 \item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.
 
@@ -576,10 +577,10 @@ has returned.
 
 \subsubsection{Commands affecting install compression}
 
-\featurelabel{controllable-compress} In EAPIs listed in table~\ref{tab:compression-table} as
-supporting controllable compression, the package manager may optionally compress a subset of the files
-under the \t{ED} directory in offset-prefix aware EAPIs or the \t{D} directory in offset-prefix
-agnostic EAPIs. To control which directories may or may not be compressed, the package manager shall
+\featurelabel{docompress} In EAPIs listed in table~\ref{tab:compression-table} as supporting
+controllable compression, the package manager may optionally compress a subset of the files under
+the \t{ED} directory in offset-prefix aware EAPIs or the \t{D} directory in offset-prefix agnostic
+EAPIs. To control which directories may or may not be compressed, the package manager shall
 maintain two lists:
 
 \begin{compactitem}

diff --git a/pms.cls b/pms.cls
index 5073c77..b948213 100644
--- a/pms.cls
+++ b/pms.cls
@@ -55,7 +55,6 @@
 \ifx\HCode\undefined
     \RequirePackage{%
         mathptmx,
-        courier,
         pdfpages	% Insert whole PDF documents as separate pages
     }
     \RequirePackage[scaled=.90]{helvet}
@@ -94,6 +93,11 @@
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\paragraph{Note:} #1}
 
+% Allow line breaks after underscores (but with a large penalty)
+\newcommand{\origunderscore}{}
+\let\origunderscore\_
+\renewcommand{\_}{\origunderscore\penalty500\hskip0pt}
+
 % Because we are lazy, we define a table environment to fulfil our needs
 \newenvironment{centertable}[1]%
 {
@@ -109,6 +113,11 @@
 \renewcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.8em}} % was 2.3em
 \let\l@table\l@figure
 
+% Be more tolerant when formatting paragraphs, to avoid overfull boxes
+\tolerance=400                   % was 200
+\setlength\hfuzz{0.2pt}          % was 0.1pt
+\setlength\emergencystretch{1em} % was 0
+
 % Define some PDF meta-data.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{
@@ -137,6 +146,7 @@
 % and then move it 30mm to the left to increase the right (outer)
 % margin.
 \areaset[-30mm]{400pt}{700pt}
+\setlength{\marginparwidth}{40mm}
 
 % To find everywhere that needs updating when we add an EAPI
 \newcommand{\CurrentEAPIIs}[1]{\def\TheCurrentEAPI{#1}}

diff --git a/profiles.tex b/profiles.tex
index 8fb7674..ffdcdec 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -110,8 +110,8 @@ the forms defined by the directory's EAPI.
 \label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},
-and \t{package.use.stable.force}. They are described together because they interact in a non-trivial
-manner.
+and \t{package.use.\allowbreak stable.force}. They are described together because they interact in
+a non-trivial manner.
 
 Simply speaking, \t{use.mask} and \t{use.force} are used to say that a given USE flag must never or
 always, respectively, be enabled when using this profile. \t{package.use.mask} and
@@ -120,9 +120,10 @@ always, respectively, be enabled when using this profile. \t{package.use.mask} a
 \featurelabel{stablemask}
 In profile directories with an EAPI supporting stable masking, as listed in
 table~\ref{tab:profile-stablemask}, the same is true for \t{use.stable.mask}, \t{use.stable.force},
-\t{package.use.stable.mask} and \t{package.use.stable.force}. These files, however, only act on
-packages that are merged due to a stable keyword in the sense of subsection~\ref{sec:keywords}.
-Thus, these files can be used to restrict the feature set deemed stable in a package.
+\t{package.use.stable.mask} and \t{package.use.\allowbreak stable.force}. These files, however,
+only act on packages that are merged due to a stable keyword in the sense of
+subsection~\ref{sec:keywords}. Thus, these files can be used to restrict the feature set deemed
+stable in a package.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
@@ -187,9 +188,9 @@ exactly if replacing in \t{KEYWORDS} all stable keywords by the corresponding ti
 keywords (see subsection~\ref{sec:keywords}) would result in the package installation being
 prevented due to the \t{KEYWORDS} setting.
 
-The logic for \t{use.force}, \t{use.stable. force}, \t{package.use.force}, and
-\t{package.use.stable.force} is identical. If a flag is both masked and forced, the mask is
-considered to take precedence.
+The logic for \t{use.force}, \t{use.stable.force}, \t{package.use.force}, and
+\t{package.use.\allowbreak stable.force} is identical. If a flag is both masked and forced, the
+mask is considered to take precedence.
 
 \t{USE\_EXPAND} values may be forced or masked by using \t{expand\_name\_value}.
 

diff --git a/tree-layout.tex b/tree-layout.tex
index ed66918..134a0bb 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -161,10 +161,11 @@ line is:
 \begin{verbatim}
 <mirror name> <mirror 1> <mirror 2> ... <mirror n>
 \end{verbatim}
-Fields are whitespace-delimited. When parsing a URI of the form \t{mirror://name/path/filename},
+Fields are whitespace-delimited. When parsing a URI of the form
+\t{mirror:/\slash name\slash path\slash filename},
 where the \t{path/} part is optional, the \t{thirdpartymirrors} file is searched for a line whose
-first field is \t{name}. Then the download URIs in the subsequent fields have \t{path/filename}
-appended to them to generate the URIs from which a download is attempted.
+first field is \t{name}. Then the download URIs in the subsequent fields have
+\t{path\slash filename} appended to them to generate the URIs from which a download is attempted.
 
 Each mirror name may appear at most once in a file. Behaviour when a mirror name appears multiple
 times is undefined. Behaviour when a mirror is defined in terms of another mirror is undefined. A


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-17 12:19 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-17 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     8997201019293b4bf03e0b892368986f82daaf0b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 15 12:14:45 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:12:25 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=89972010

Suppress spurious space in output of \featurelabel.

---
 pms.cls |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index 80487bf..5073c77 100644
--- a/pms.cls
+++ b/pms.cls
@@ -75,8 +75,8 @@
 % the page margin.
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \newcommand{\compactfeatureref}[1]{#1~p\pageref{feat:#1}}
-\newcommand{\featurelabel}[1]{\marginnote{%
-        \framebox{\textsc{#1}}}\label{feat:#1}
+\newcommand{\featurelabel}[1]{\label{feat:#1}%
+    \marginnote{\framebox{\textsc{#1}}}%
 }
 \bibliographystyle{plainurl}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-18  7:41 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-18  7:41 UTC (permalink / raw
  To: gentoo-commits

commit:     bf47c32d509d56a35b224acd51ae9c0f44bf50b9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 06:25:15 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 16 21:12:25 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=bf47c32d

Strings beginning with two underscores are reserved.

---
 pkg-mgr-commands.tex |    1 +
 1 files changed, 1 insertions(+), 0 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 772613e..06856e2 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -858,6 +858,7 @@ strings (ignoring case) are reserved for package manager use and may not be used
 ebuilds:
 
 \begin{compactitem}
+\item \t{\_\_} (two underscores) at beginning of string
 \item \t{abort}
 \item \t{dyn}
 \item \t{ebuild}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-19 18:06 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-19 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     a9027f705630b21e6369c8add6da0944af674167
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 14:34:15 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 18 07:41:42 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a9027f70

Add EAPI 5 to cheat sheet.

---
 eapi-cheatsheet.tex |   72 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 71 insertions(+), 1 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 43a30dd..79d34cf 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -15,7 +15,7 @@
 \usepackage[scaled=.90]{helvet}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
-\newcommand{\version}{4.0}
+\newcommand{\version}{5.0}
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
@@ -245,6 +245,76 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     \item[\code{AA}, \code{KV}] These variables are not defined
     any more.  See \featureref{aa} and \featureref{kv}.
 \end{description}
+
+\section{EAPI 5}
+\label{sec:cs:eapi5}
+\subsection{Additions/Changes}
+\label{sec:cs:eapi5-additions}
+\begin{description}
+    \item[Sub-slots] The \code{SLOT} variable and slot dependencies
+    may contain an optional sub-slot part that follows the regular
+    slot, delimited by a \code{/} character; for example
+    \code{2/2.30}.  The sub-slot is used to represent cases in which
+    an upgrade to a new version of a package with a different sub-slot
+    may require dependent packages to be rebuilt.  If the sub-slot is
+    not specified in \code{SLOT}, it defaults to the regular slot.
+    See \featureref{sub-slot}.
+    \item[Slot operator dependencies] One of the following operators
+    can be specified after package atoms, which will affect updates
+    of runtime dependencies:
+    \begin{description}
+        \item[\code{:*}] Any slot value is acceptable.  The package
+        will not break when its dependency is updated.
+        \item[\code{:=}] Any slot value is acceptable, but the package
+        can break when its dependency is updated to a different slot
+        (or sub-slot).
+    \end{description}
+    See \featureref{slot-operator-deps}.
+    \item[Profile \code{IUSE} injection] Apart from the USE flags
+    explicitly listed in \code{IUSE}, additional flags can be
+    implicitly provided by profiles.
+    See \featureref{profile-iuse-inject}.
+    \item[At-most-one-of groups] In \code{REQUIRED\_USE} you can use
+    "\code{?? ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
+    out of many.
+    See \featureref{at-most-one-of}.
+    \item[Parallel tests] The default for \code{src\_test} runs
+    \code{emake} without \code{-j1} now.
+    See \featureref{parallel-tests}.
+    \item[\code{econf} changes] The \code{econf} function now always
+    passes \code{-{}-disable-silent-rules} to \code{configure}.
+    See \featureref{econf-options}.
+    \item[\code{has\_version} and \code{best\_version} changes]
+    The two helpers support a \code{-{}-host-root} option that causes
+    the query to apply to the host root instead of \code{ROOT}.
+    See~\featureref{host-root-option}.
+    \item[\code{usex}] Usage for this helper function is
+    \code{usex} \emph{<USE flag> [true1] [false1] [true2] [false2]}.
+    If the USE flag is set, outputs \emph{[true1][true2]}
+    (defaults to \code{yes}), otherwise outputs
+    \emph{[false1][false2]} (defaults to \code{no}).
+    See \featureref{usex}.
+    \item[\code{doheader} and \code{newheader}] These new helper
+    functions install the given header file(s) into
+    \code{/usr/include}. The \code{-r} option enables recursion for
+    \code{doheader}, similar to \code{doins}.
+    See \featureref{doheader}.
+    \item[\code{new*} standard input] The \code{newins} etc.\ commands
+    read from standard input if the first argument is \code{-}
+    (a hyphen).
+    See \featureref{newfoo-stdin}.
+    \item[\code{EBUILD\_PHASE\_FUNC}] This variable is very similar to
+    \code{EBUILD\_PHASE}, but contains the name of the current ebuild
+    function.
+    See \featureref{ebuild-phase-func}.
+    \item[Stable use masking/forcing] New files
+    \code{use.stable.\allowbreak\{mask,force\}} and
+    \code{package.use.stable.\allowbreak\{mask,force\}}
+    are supported in profile directories.  They are similar to their
+    non-\code{stable} counterparts, but act only on packages that
+    would be merged due to a stable keyword.
+    See \featureref{stablemask}.
+\end{description}
 \end{document}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-19 18:06 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-19 18:06 UTC (permalink / raw
  To: gentoo-commits

commit:     c288c134c18f8600d2c960624e00cbc7f0d17b3a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 16 14:33:08 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 18 07:41:42 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=c288c134

Reformat the cheat sheet and condense its wording to make room for EAPI 5.

Also rearrange variables in EAPI 4, so that items are not split
between physical pages.

---
 eapi-cheatsheet.tex |   70 +++++++++++++++++++++++++-------------------------
 1 files changed, 35 insertions(+), 35 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 57c95a1..43a30dd 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -59,9 +59,9 @@
     the previous EAPI.  All labels refer to the PMS document itself,
     built from the same checkout as this overview.
 
-    Please report mistakes in or enhancements to this document via the
-    Gentoo bug tracking system\footnote{\url{http://bugs.gentoo.org/}}
-    to the original author or the PMS team.
+    % Please report mistakes in or enhancements to this document via the
+    % Gentoo bug tracking system\footnote{\url{http://bugs.gentoo.org/}}
+    % to the original author or the PMS team.
 
     This document is released under the Creative Commons
     Attribution-Share Alike 3.0
@@ -70,11 +70,11 @@
 \section{EAPI 0}
 \label{sec:cs:eapi0}
 If there is no EAPI explicitly specified, EAPI 0 is assumed.
-Currently there is no full specification what EAPI 0 includes.
-Portage, official ebuild documentation and existing ebuilds set the
-standard.  If you think you found a bug, you should file a bug report
-nonetheless.
-\newpage
+% Currently there is no full specification what EAPI 0 includes.
+% Portage, official ebuild documentation and existing ebuilds set the
+% standard.  If you think you found a bug, you should file a bug report
+% nonetheless.
+
 \section{EAPI 1}
 \label{sec:cs:eapi1}
 \subsection{Additions/Changes}
@@ -84,33 +84,35 @@ nonetheless.
     not disabled explicitly by user configuration) with a \code{+}
     sign in front.  See \featureref{iuse-defaults}.
     \item[Named slot dependencies] Dependencies can explicitly request
-    a specific slot by using the \code{dev-libs/foo:\emph{SLOT\_name}}
-    syntax.  See \featureref{slot-deps}.
+    a specific slot by using the
+    \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
+    See \featureref{slot-deps}.
 \end{description}
+
 \section{EAPI 2 (2008-09-25)}
 \label{sec:cs:eapi2}
 \subsection{Additions/Changes}
 \label{sec:cs:eapi2-additions}
 \begin{description}
     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
-    naming scheme.  By using \code{SRC\_URI="http://some/url -> foo"}
-    the file is saved as \code{foo} in DISTDIR.  See
-    \featureref{src-uri-arrows}.
+    naming scheme.  By using
+    \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
+    saved as \code{foo} in DISTDIR.
+    See \featureref{src-uri-arrows}.
     \item[USE dependencies] Dependencies can specify USE flag
     requirements on their target, removing the need for
-    \code{built\_with\_use} checks. A more powerful syntax that does
-    not require the flag to be in IUSE is in EAPI 4.
+    \code{built\_with\_use} checks.
     \begin{description}
         \item[{[opt]}] The flag must be enabled.
-        \item[{[opt=]}] The flag must be enabled if the flag is
+        \item[{[opt=]}] The flag must be enabled if it is
         enabled for the package with the dependency, or disabled
         otherwise.
-        \item[{[!opt=]}] The flag must be disabled if the flag is
+        \item[{[!opt=]}] The flag must be disabled if it is
         enabled for the package with the dependency, or enabled
         otherwise.
-        \item[{[opt?]}] The flag must be enabled if the flag is
+        \item[{[opt?]}] The flag must be enabled if it is
         enabled for the package with the dependency.
-        \item[{[!opt?]}] The flag must be disabled if the use flag is
+        \item[{[!opt?]}] The flag must be disabled if it is
         disabled for the package with the dependency.
         \item[{[-opt]}] The flag must be disabled.
     \end{description}
@@ -125,11 +127,11 @@ nonetheless.
     Patching and similar preparation must now be done in
     \code{src\_prepare}, not \code{src\_unpack}.  See
     \featureref{src-prepare} and \featureref{src-configure}.
-    \item[Default phase functions] The default functions for the
+    \item[Default phase functions] The default functions for
     phases \code{pkg\_nofetch}, \code{src\_unpack},
     \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
     and \code{src\_test} can be called via
-    \code{default\_\emph{phasename}}, so duplicating the standard
+    \code{default\_}\emph{phasename}, so duplicating the standard
     implementation is no longer necessary for small additions.  The
     short-hand \code{default} function calls the current phase's
     \code{default\_} function automatically, so any small additions
@@ -141,7 +143,6 @@ nonetheless.
     behaves accordingly.  This behaviour can be inhibited by the
     \code{-i18n} switch with EAPI 4.  See \featureref{doman-langs}.
 \end{description}
-\newpage
 
 \section{EAPI 3 (2010-01-18)}
 \label{sec:cs:eapi3}
@@ -152,8 +153,7 @@ nonetheless.
     \code{.tar.xz} files is possible without any custom
     \code{src\_unpack} functions.  See \featureref{unpack-extensions}.
     \item[Offset prefix] Supporting installation on Prefix-enabled
-    systems\footnote{\url{http://prefix.gentoo.org/}} will be easier
-    with this EAPI.
+    systems will be easier with this EAPI.
 \end{description}
 
 \section{EAPI 4 (2011-01-17)}
@@ -200,20 +200,10 @@ nonetheless.
     \item[\code{nonfatal} for commands] If you call \code{nonfatal}
     the command given as argument will not abort the build process in
     case of a failure (as is the default) but will return non-zero on
-    failure rather than aborting the build.
+    failure.
     See \featureref{nonfatal}.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
-    \item[\code{REPLACING\_VERSIONS}, \code{REPLACED\_BY\_VERSION}]
-    These variables, valid in \code{pkg\_*}, contain a list of all
-    versions (\code{PVR}) of this package that we are replacing, and
-    the version that is replacing the current one, respectively.
-    See \featureref{replace-version-vars}.
-    \item[\code{MERGE\_TYPE}] This variable contains one of three
-    possible values to allow checks if it is normal merge with
-    compilation and installation (\code{source}), installation of a
-    binary package (\code{binary}), or a compilation without
-    installation (\code{buildonly}).  See \featureref{merge-type}.
     \item[\code{REQUIRED\_USE}] This variable can be used similar to
     the \code{(R|P)DEPEND} variables and define sets of USE flag
     combinations that are not allowed.  All elements can be further
@@ -229,6 +219,16 @@ nonetheless.
         "\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots\ )}".
     \end{description}
     See \featureref{required-use}.
+    \item[\code{MERGE\_TYPE}] This variable contains one of three
+    possible values to allow checks if it is normal merge with
+    compilation and installation (\code{source}), installation of a
+    binary package (\code{binary}), or a compilation without
+    installation (\code{buildonly}).  See \featureref{merge-type}.
+    \item[\code{REPLACING\_VERSIONS}, \code{REPLACED\_BY\_VERSION}]
+    These variables, valid in \code{pkg\_*}, contain a list of all
+    versions (\code{PVR}) of this package that we are replacing, and
+    the version that is replacing the current one, respectively.
+    See \featureref{replace-version-vars}.
 \end{description}
 \subsection{Removals/Bans}
 \label{sec:cs:eapi4-removalsbans}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-09-20 10:43 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-09-20 10:43 UTC (permalink / raw
  To: gentoo-commits

commit:     99c78a51ff4c9737cdd399620072abdc14f8df11
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Sep 20 10:49:49 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Sep 20 10:49:49 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=99c78a51

EAPI 5 has been approved by the Council.

---
 eapi-cheatsheet.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 79d34cf..46a0fc9 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -246,7 +246,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     any more.  See \featureref{aa} and \featureref{kv}.
 \end{description}
 
-\section{EAPI 5}
+\section{EAPI 5 (2012-09-20)}
 \label{sec:cs:eapi5}
 \subsection{Additions/Changes}
 \label{sec:cs:eapi5-additions}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2012-10-14  7:54 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2012-10-14  7:54 UTC (permalink / raw
  To: gentoo-commits

commit:     e4bda249b5f8e950cf21fea20842a9b5d661f646
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 23 07:33:45 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 10 07:47:59 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=e4bda249

Tighten requirements on package names.

See bug 174536.
This change has been approved by the Council in its 2012-10-09 meeting.

---
 names.tex |    4 +++-
 1 files changed, 3 insertions(+), 1 deletions(-)

diff --git a/names.tex b/names.tex
index decc8f4..447be9a 100644
--- a/names.tex
+++ b/names.tex
@@ -14,7 +14,8 @@ names will contain a hyphen.
 
 \subsection{Package Names}
 A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a
-hyphen or a plus sign, and must not end in a hyphen followed by one or more digits.
+hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
+syntax described in section~\ref{sec:version-spec}.
 
 \note A package name does not include the category. The term \i{qualified package name} is used
 where a \t{category/package} pair is meant.
@@ -48,6 +49,7 @@ An EAPI name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not
 hyphen, a dot or a plus sign.
 
 \section{Version Specifications}
+\label{sec:version-spec}
 The package manager must not impose fixed limits upon the number of version components. Package
 managers should indicate or reject any version that is invalid according to these rules.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-01-02 18:39 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-01-02 18:39 UTC (permalink / raw
  To: gentoo-commits

commit:     6cc58a14e8f8d9d7b98bc58c115cd58c2d898544
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov 28 09:18:00 2012 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov 28 09:24:32 2012 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6cc58a14

src-install-4: Replace single quotes by double quotes

This improves readability. It doesn't make any difference for bash.

---
 ebuild-functions.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 1f2ab68..84847e9 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -317,7 +317,7 @@ src_install() {
                 THANKS BUGS FAQ CREDITS CHANGELOG ; do
             [[ -s "${d}" ]] && dodoc "${d}"
         done
-    elif declare -p DOCS | grep -q '^declare -a ' ; then
+    elif declare -p DOCS | grep -q "^declare -a " ; then
         dodoc "${DOCS[@]}"
     else
         dodoc ${DOCS}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-03-06  9:38 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-03-06  9:38 UTC (permalink / raw
  To: gentoo-commits

commit:     bcf9387d47a2ebd3237be2b4abb2f01693db8350
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 18 23:14:37 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 09:42:17 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=bcf9387d

unpack: Fix list of suffixes for tar.gz, tar.bz2, and lha files.

---
 pkg-mgr-commands.tex |   12 ++++++------
 1 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 06856e2..0333efa 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -769,16 +769,16 @@ has returned.
     relevant binaries are available:
     \begin{itemize}
     \item tar files (\t{*.tar}). Ebuilds must ensure that GNU tar installed.
-    \item gzip-compressed tar files (\t{*.tar.gz, *.tgz, *.tar.Z, *.tbz}). Ebuilds must ensure that
+    \item gzip-compressed files (\t{*.gz, *.Z}). Ebuilds must ensure that GNU gzip is installed.
+    \item gzip-compressed tar files (\t{*.tar.gz, *.tgz, *.tar.Z}). Ebuilds must ensure that
     GNU gzip and GNU tar are installed.
-    \item bzip2-compressed tar files (\t{*.tar.bz2, *.tbz2, *.tar.bz}). Ebuilds must ensure that
-    bzip2 and GNU tar are installed.
+    \item bzip2-compressed files (\t{*.bz2, *.bz}). Ebuilds must ensure that bzip2 is installed.
+    \item bzip2-compressed tar files (\t{*.tar.bz2, *.tbz2, *.tar.bz, *.tbz}). Ebuilds must ensure
+    that bzip2 and GNU tar are installed.
     \item zip files (\t{*.zip, *.ZIP, *.jar}). Ebuilds must ensure that Info-ZIP Unzip is installed.
-    \item gzip files (\t{*.gz, *.Z, *.z}). Ebuilds must ensure that GNU gzip is installed.
-    \item bzip2 files (\t{*.bz, *.bz2}). Ebuilds must ensure that bzip2 is installed.
     \item 7zip files (\t{*.7z, *.7Z}). Ebuilds must ensure that P7ZIP is installed.
     \item rar files (\t{*.rar, *.RAR}). Ebuilds must ensure that RARLAB's unrar is installed.
-    \item LHA archives (\t{*.LHA, *.LHa, *.lha, *.lhz}). Ebuilds must ensure that the lha program is
+    \item LHA archives (\t{*.LHA, *.LHa, *.lha, *.lzh}). Ebuilds must ensure that the lha program is
     installed.
     \item ar archives (\t{*.a}). Ebuilds must ensure that GNU binutils is installed.
     \item deb packages (\t{*.deb}). Ebuilds must ensure that the deb2targz program is installed on


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-03-06 13:34 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-03-06 13:34 UTC (permalink / raw
  To: gentoo-commits

commit:     88959fcf3efbfb0e865c8fc436a5ce6e3ab49a9b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  6 13:38:46 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 13:38:46 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=88959fcf

Use teletype typeface for command names.

---
 ebuild-env-vars.tex  |    2 +-
 pkg-mgr-commands.tex |    4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ae6321d..350e284 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -154,7 +154,7 @@ variable.
 \t{INSDESTTREE} &
     \t{src\_install} &
     No &
-    Controls the location where doins installs things. \\
+    Controls the location where \t{doins} installs things. \\
 \t{USE} &
     All &
     Yes &

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0333efa..5869bf1 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -341,9 +341,9 @@ that can be passed to \t{dohtml} are as follows:
     Any symlinks are installed into the same directory as relative links to their original target.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dolib.so] As for dolib except each file is installed with mode \t{0755}.
+\item[dolib.so] As for \t{dolib} except each file is installed with mode \t{0755}.
 
-\item[dolib.a] As for dolib except each file is installed with mode \t{0644}.
+\item[dolib.a] As for \t{dolib} except each file is installed with mode \t{0644}.
 
 \begin{algorithm}
 \caption{Determining the library directory} \label{alg:ebuild-libdir}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-03-17 16:47 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-03-17 16:47 UTC (permalink / raw
  To: gentoo-commits

commit:     294741c5f69bec36dae2e34ba1b7dceb2cb1fd7b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  6 13:58:46 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 14:46:15 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=294741c5

Add DESTTREE to table of defined variables.

See bug 460512.

---
 ebuild-env-vars.tex |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 350e284..8969dd8 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -151,6 +151,10 @@ variable.
     Contains the path \t{\$\{D\%/\}\$\{EPREFIX\}/} for convenience. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
     supporting \t{ED}. \\
+\t{DESTTREE} &
+    \t{src\_install} &
+    No &
+    Controls the location where \t{dobin}, \t{dolib}, \t{domo}, and \t{dosbin} install things. \\
 \t{INSDESTTREE} &
     \t{src\_install} &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-03-17 16:47 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-03-17 16:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ee5c4264cd8c16c4820bf10296acdbc447e22c51
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Mar  6 14:41:17 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Mar  6 15:01:05 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ee5c4264

dohtml: Don't mention DOCDESTTREE.

See bug 460540.

---
 pkg-mgr-commands.tex |    9 ++++-----
 1 files changed, 4 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 5869bf1..4fe00cb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -298,11 +298,10 @@ function has returned.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
-The subdirectory is \t{html} by default, but this can be overridden by setting the \t{DOCDESTTREE}
-variable with the \t{docinto} function. Files to be installed automatically are determined by
-extension and the default extensions are \t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg},
-\t{js} and \t{png}. These default extensions can be extended or reduced (see below). The options
-that can be passed to \t{dohtml} are as follows:
+The subdirectory is \t{html} by default, but this can be overridden with the \t{docinto} function.
+Files to be installed automatically are determined by extension and the default extensions are
+\t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg}, \t{js} and \t{png}. These default extensions
+can be extended or reduced (see below). The options that can be passed to \t{dohtml} are as follows:
 \begin{description}
     \item{\t{-r}} --- enables recursion into directories.
     \item{\t{-V}} --- enables verbosity.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-04-12 22:38 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-04-12 22:38 UTC (permalink / raw
  To: gentoo-commits

commit:     34985f0ae8d8fe1cb24780a585b4feee44d58398
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 12 22:39:08 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 12 22:39:08 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=34985f0a

Install commands overwrite existing destination files, bug 463806.

---
 pkg-mgr-commands.tex |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4fe00cb..aa0c873 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -247,9 +247,9 @@ These commands are used to install files into the staging area, in cases where t
 install} target cannot be used or does not install all needed files. Except where otherwise stated,
 all filenames created or modified are relative to the staging directory including the offset-prefix
 \t{ED} in offset-prefix aware EAPIs, or just the staging directory \t{D} in offset-prefix agnostic
-EAPIs. These commands must all be external programs and not bash functions or aliases---that is, they
-must be callable from \t{xargs}. Ebuilds must not run any of these commands once the current phase
-function has returned.
+EAPIs. Existing destination files are overwritten. These commands must all be external programs and
+not bash functions or aliases---that is, they must be callable from \t{xargs}. Ebuilds must not run
+any of these commands once the current phase function has returned.
 
 \begin{description}
 \item[dobin] Installs the given files into \t{DESTTREE/bin}, where


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-04-30 16:02 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-04-30 16:02 UTC (permalink / raw
  To: gentoo-commits

commit:     87439ed1f58d8c4cf2ecfe1abccb48f5d629b06b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 26 15:49:39 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 26 15:49:39 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=87439ed1

Fetch restriction implies mirror restriction.

See also ebuild(5):
fetch - like mirror but the files will not be fetched via SRC_URI either.

---
 dependencies.tex |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index b82f699..47dc03b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -362,7 +362,7 @@ The following tokens are permitted inside \t{RESTRICT}:
 \item[mirror] The package's \t{SRC\_URI} entries may not be mirrored, and mirrors should not
     be checked when fetching.
 \item[fetch] The package's \t{SRC\_URI} entries may not be downloaded automatically. If
-    entries are not available, \t{pkg\_nofetch} is called.
+    entries are not available, \t{pkg\_nofetch} is called. Implies \t{mirror}.
 \item[strip] No stripping of debug symbols from files to be installed may be performed.
 \item[userpriv] The package manager may not drop root privileges when building the package.
 \item[test] The \t{src\_test} phase must not be run.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-05-14 19:09 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-05-14 19:09 UTC (permalink / raw
  To: gentoo-commits

commit:     31a2d63de1b8914063e82957e41de642d11eb092
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 30 12:59:15 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 30 16:57:11 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=31a2d63d

econf arguments are passed after default options.

This matches long-time Portage behaviour, and for later added options
like --disable-dependency-tracking it follows the clarification given here:
http://archives.gentoo.org/gentoo-dev/msg_0189c554085ac8352b5a2e05647a1d97.xml
See also bug 406117.

---
 pkg-mgr-commands.tex |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index aa0c873..a70ffdb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -136,7 +136,8 @@ has returned.
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU
     Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly
-    to \t{./configure}. \t{econf} will look in the current working directory for a configure script
+    to \t{./configure}, after the default options below.
+    \t{econf} will look in the current working directory for a configure script
     unless the \t{ECONF\_SOURCE} environment variable is set, in which case it is taken to be the
     directory containing it. \t{econf} must pass the following options to the configure script:
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-05-14 19:09 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-05-14 19:09 UTC (permalink / raw
  To: gentoo-commits

commit:     32ed222d96191e5f2641a41bcff8c6256e100b8c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May 14 17:55:31 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue May 14 17:55:31 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=32ed222d

Reformat paragraph.

---
 pkg-mgr-commands.tex |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a70ffdb..bafa748 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -136,10 +136,10 @@ has returned.
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU
     Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly
-    to \t{./configure}, after the default options below.
-    \t{econf} will look in the current working directory for a configure script
-    unless the \t{ECONF\_SOURCE} environment variable is set, in which case it is taken to be the
-    directory containing it. \t{econf} must pass the following options to the configure script:
+    to \t{./configure}, after the default options below. \t{econf} will look in the current working
+    directory for a configure script unless the \t{ECONF\_SOURCE} environment variable is set,
+    in which case it is taken to be the directory containing it. \t{econf} must pass the following
+    options to the configure script:
 
     \featurelabel{econf-options}
     \begin{itemize}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-08-09 19:06 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-08-09 19:06 UTC (permalink / raw
  To: gentoo-commits

commit:     2ceb5dfc5e374a523accb2e6a7237d1c67ddb911
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  9 19:05:39 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Aug  9 19:05:39 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2ceb5dfc

Makefile: update upload target.

---
 Makefile | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 00c2e4d..f3deb94 100644
--- a/Makefile
+++ b/Makefile
@@ -53,8 +53,9 @@ pms.dvi: $(SOURCEFILES) pms.bbl
 	latex pms
 	latex pms
 
-upload: pms.pdf
-	scp pms.pdf dev.gentoo.org:public_html
+upload:
+	scp pms.pdf eapi-cheatsheet.pdf pms*.html pms.css \
+	  dev.gentoo.org:public_html/pms/head/
 
 .default: all
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-08-20 11:56 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-08-20 11:56 UTC (permalink / raw
  To: gentoo-commits

commit:     a6596b49fae62e1c3b76d85bdd2ebd515191867f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 11 17:34:32 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 11 17:34:32 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=a6596b49

Makefile: Remove aux files produced by tex4ht.

---
 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 9fdfb46..a3598cb 100644
--- a/Makefile
+++ b/Makefile
@@ -13,6 +13,8 @@ LISTINGFILES = $(shell ls *.listing)
 SOURCEFILES = $(LATEXFILES) $(LISTINGFILES)
 
 pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
+	@# latex chokes on aux files produced by tex4ht, so remove them
+	if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
 	pdflatex pms
 	pdflatex pms
 	pdflatex eapi-cheatsheet


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-08-20 11:56 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-08-20 11:56 UTC (permalink / raw
  To: gentoo-commits

commit:     ff3db9dbc1d0778740b16b05ea11f37f492feb41
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Aug  9 19:18:54 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 10 15:49:26 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ff3db9db

Makefile: new "dist" target.

New "dist" target in Makefile for creating a distribution tarball.
Don't remove vc.tex with "clean" because it cannot be recreated
outside of a git working tree. The new "maintainer-clean" target
will remove vc.tex.

---
 Makefile | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index f3deb94..9fdfb46 100644
--- a/Makefile
+++ b/Makefile
@@ -3,7 +3,10 @@ html : pms.html
 
 clean :
 	rm -f *~ *.pdf *.dvi *.log *.aux *.bbl *.blg *.toc *.lol *.loa *.lox \
-	    *.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref vc.tex || true
+	    *.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref
+
+maintainer-clean: clean
+	rm -f vc.tex
 
 LATEXFILES = $(shell find -name  '*.tex') pms.cls
 LISTINGFILES = $(shell ls *.listing)
@@ -53,10 +56,16 @@ pms.dvi: $(SOURCEFILES) pms.bbl
 	latex pms
 	latex pms
 
+dist: $(SOURCEFILES) pms.bib vc vc-git.awk vc.tex Makefile
+	@if test -z $(PV); then \
+	  echo "Usage: $(MAKE) $@ PV=<version>"; false; \
+	fi
+	tar -cJf pms-$(PV).tar.xz --transform='s%^%pms-$(PV)/%' $^
+
 upload:
 	scp pms.pdf eapi-cheatsheet.pdf pms*.html pms.css \
 	  dev.gentoo.org:public_html/pms/head/
 
 .default: all
 
-.phony: clean upload
+.phony: clean maintainer-clean dist upload


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-08-29  7:54 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-08-29  7:54 UTC (permalink / raw
  To: gentoo-commits

commit:     3c2d710d7ac4d60cc063a4626b62af3ef6b8657d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 24 12:59:45 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 29 07:51:02 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=3c2d710d

Fix definition of tilde operator, bug 196561.

---
 dependencies.tex | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 47dc03b..a6fa67b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -230,9 +230,7 @@ The following operators are available:
     specified has an asterisk immediately following it, a string prefix comparison is
     used instead. When an asterisk is used, the specification must remain valid if the
     asterisk were removed. (An asterisk used with any other operator is illegal.)
-\item[\t{\textasciitilde}] Equal to the specified version, except the revision part of the matching
-    package may be greater than the revision part of the specified version (\t{-r0} is
-    assumed if no revision is explicitly stated).
+\item[\t{\textasciitilde}] Equal to the specified version when revision parts are ignored.
 \item[\t{>=}] Greater than or equal to the specified version.
 \item[\t{>}] Strictly greater than the specified version.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-09-10 21:02 Ulrich Mueller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Mueller @ 2013-09-10 21:02 UTC (permalink / raw
  To: gentoo-commits

commit:     8ed75a9fb02c757759132e8bfbdea6cbab09bd98
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 20 12:40:41 2013 +0000
Commit:     Ulrich Mueller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 29 07:51:02 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8ed75a9f

Installation commands must be called with at least one parameter.

Also adjust the wording for doinfo, doman, and domo, in order to
clarify that multiple file name parameters are allowed.

---
 pkg-mgr-commands.tex | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index bafa748..acf71ac 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -249,8 +249,9 @@ install} target cannot be used or does not install all needed files. Except wher
 all filenames created or modified are relative to the staging directory including the offset-prefix
 \t{ED} in offset-prefix aware EAPIs, or just the staging directory \t{D} in offset-prefix agnostic
 EAPIs. Existing destination files are overwritten. These commands must all be external programs and
-not bash functions or aliases---that is, they must be callable from \t{xargs}. Ebuilds must not run
-any of these commands once the current phase function has returned.
+not bash functions or aliases---that is, they must be callable from \t{xargs}. Calling any of these
+commands without a filename parameter is an error. Ebuilds must not run any of these commands once
+the current phase function has returned.
 
 \begin{description}
 \item[dobin] Installs the given files into \t{DESTTREE/bin}, where
@@ -320,14 +321,14 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     It is undefined whether a failure shall occur if \t{-r} is not specified and a directory is
     encountered. Ebuilds must not rely upon any particular behaviour.
 
-\item[doinfo] Installs a GNU Info file into the \t{/usr/share/info} area with file mode \t{0644}.
-    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+\item[doinfo] Installs the given GNU Info files into the \t{/usr/share/info} area with file mode
+    \t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode
     \t{0755}. This can be overridden by setting \t{EXEOPTIONS} with the \t{exeopts} function.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[doins] \featurelabel{doins} Takes any number of files as arguments and installs them into
+\item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into
     \t{INSDESTTREE}, by default with file mode \t{0644}. This can be overridden by setting
     \t{INSOPTIONS} with the \t{insopts} function. If the first argument is \t{-r}, then operates
     recursively, descending into any directories given. For EAPIs listed in
@@ -367,9 +368,9 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \end{algorithmic}
 \end{algorithm}
 
-\item[doman] Installs a man page into the appropriate subdirectory of \t{/usr/share/man} depending
-    upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to \t{/usr/share/man/man1/foo.1}) with
-    file mode \t{0644}.
+\item[doman] Installs the given man pages into the appropriate subdirectory of \t{/usr/share/man}
+    depending upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to
+    \t{/usr/share/man/man1/foo.1}) with file mode \t{0644}.
 
     \featurelabel{doman-langs} In EAPIs listed in table~\ref{tab:doman-table} as supporting
     language detection by filename, a man page with name of the form \t{foo.}\i{lang}\t{.1} shall
@@ -383,10 +384,10 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     the empty string. In EAPIs specified by table~\ref{tab:doman-table}, the \t{-i18n} option takes
     precedence over the language code in the filename.
 
-\item[domo] Installs a \t{.mo} file with file mode \t{0644} into the appropriate subdirectory of
-    \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the file, removing
-    the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed files is the
-    package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
+\item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate
+    subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the
+    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed
+    files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
     section~\ref{sec:failure-behaviour}.
 
 \item[dosbin] As \t{dobin}, but installs to \t{DESTTREE/sbin}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2013-10-01 18:33 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2013-10-01 18:33 UTC (permalink / raw
  To: gentoo-commits

commit:     b1d77cd01994786f07d7f1f45f80bda312d99a5f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  1 07:51:22 2013 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 07:51:22 2013 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b1d77cd0

Fix typo in at-most-one-of dependency specification.

---
 dependencies.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index a6fa67b..2444fcd 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -69,7 +69,7 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{exactly-one-of ::= '??' whitespace '(' whitespace (item
+    parenthesis. More formally: \t{at-most-one-of ::= '??' whitespace '(' whitespace (item
     whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
     table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-01-19 13:13 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-01-19 13:13 UTC (permalink / raw
  To: gentoo-commits

commit:     b5657f975040842733b8214527789faef377684b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 19 13:16:59 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 19 13:16:59 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b5657f97

Inline footnotes in HTML output, and number them consecutively.

---
 Makefile | 4 ++--
 pms.cls  | 6 +++++-
 2 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index a3598cb..45a4ab1 100644
--- a/Makefile
+++ b/Makefile
@@ -22,8 +22,8 @@ pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 
 pms.html: $(SOURCEFILES) pms.bbl
 	@# need to do it twice to make the big env var table work
-	mk4ht xhlatex pms
-	mk4ht xhlatex pms
+	mk4ht xhlatex pms xhtml,fn-in
+	mk4ht xhlatex pms xhtml,fn-in
 	@# some www servers ignore meta tags, resulting in a wrong charset.
 	@# therefore recode the very few non-ascii characters
 	recode -d l1..h3 pms.html

diff --git a/pms.cls b/pms.cls
index b948213..cc07431 100644
--- a/pms.cls
+++ b/pms.cls
@@ -31,7 +31,8 @@
     marginnote, % Typeset a paragraph in the page margin
     paralist,	% Additional list environments
     parskip,	% Space between paragraphs instead of indentation
-    verbatim	% Extend the print-as-is functionality
+    verbatim,	% Extend the print-as-is functionality
+    chngcntr	% Redefinition of counters
 }
 
 % tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
@@ -83,6 +84,9 @@
 \setcounter{secnumdepth}{3}
 \setcounter{tocdepth}{2}
 
+% Don't reset the footnote counter for each chapter
+\counterwithout{footnote}{chapter}
+
 % Some shorthands for the lazy ones.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-01-19 13:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-01-19 13:56 UTC (permalink / raw
  To: gentoo-commits

commit:     aeae4ba8eee4753551a6d2d70bd56b6ac6b3afe6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 19 14:00:37 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 19 14:00:37 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=aeae4ba8

Small fixup of tex4ht output.

---
 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index 45a4ab1..e7ccdc6 100644
--- a/Makefile
+++ b/Makefile
@@ -37,6 +37,8 @@ pms.html: $(SOURCEFILES) pms.bbl
 	LC_ALL=C sed -i -e 's/span style="width:/span style="display:-moz-inline-box;display:inline-block;height:1px;width:/' pms.html
 	@# align algorithm line numbers properly
 	LC_ALL=C sed -i -e '/<span class="ALCitem">/{N;s/\n\(class="[^"]\+">\)\([0-9]:<\/span>\)/\1\&#x2007;\2/}' pms.html
+	@# fix broken span on title page
+	LC_ALL=C sed -i -e '/<\/span><span $$/{N;s/<\/span><span [^>]*>\(&[a-z]uml;\)/\1/}' pms.html
 
 pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
 	latex pms


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-02-10 17:30 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-02-10 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     330c289f9f2d927d6d2f06073abf847b0888ae71
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 10 17:34:31 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 10 17:34:31 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=330c289f

Update URI of PMS project page.

---
 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 46a0fc9..5885eb5 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -22,7 +22,7 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{\url{http://www.gentoo.org/proj/en/qa/pms.xml}}}
+\author{Gentoo PMS team\thanks{\url{http://wiki.gentoo.org/wiki/Project:PMS}}}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-03-14  8:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-03-14  8:05 UTC (permalink / raw
  To: gentoo-commits

commit:     b36de3fa2f266fd24470799416588f978e1d179e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 13 22:33:00 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 13 22:33:00 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=b36de3fa

Update URI of GLEP references.

---
 pms.bib | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pms.bib b/pms.bib
index 68388a8..5038e16 100644
--- a/pms.bib
+++ b/pms.bib
@@ -3,7 +3,7 @@
     title = {{GLEP} 37: Virtuals deprecation},
     year = 2005,
     month = Apr,
-    howpublished = "\url{http://glep.gentoo.org/glep-0037.html}"
+    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:37}"
 }
 
 @misc{Glep44,
@@ -11,5 +11,5 @@
     title = {{GLEP} 44: Manifest2 format},
     year = 2005,
     month = Dec,
-    howpublished = "\url{http://glep.gentoo.org/glep-0044.html}"
+    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:44}"
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-05-24  6:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-05-24  6:57 UTC (permalink / raw
  To: gentoo-commits

commit:     ac50b97a64017e581f43cb857eb22bd38dbe8a61
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May 23 16:45:15 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May 23 16:45:15 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=ac50b97a

Move bibliography before the appendix.

Style manuals have different opinions about the position of the
bibliography: The Chicago Manual of Style says it should be placed
after the appendix; APA and Harvard say it should be placed before.
Move it from its current position (between appendix E and F) to before
the appendix, because it would look strange after the EAPI cheat
sheet.

Also make the bibliography appear in the table of contents, by means
of the "tocbibind" package.

---
 pms.cls | 4 +++-
 pms.tex | 4 ++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/pms.cls b/pms.cls
index cc07431..8a27379 100644
--- a/pms.cls
+++ b/pms.cls
@@ -16,6 +16,7 @@
 \PassOptionsToPackage{position=top}{caption}
 % Enable UTF-8 input encoding
 \PassOptionsToPackage{utf8}{inputenc}
+\PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
     fontenc,	% Load extended font sets
@@ -32,7 +33,8 @@
     paralist,	% Additional list environments
     parskip,	% Space between paragraphs instead of indentation
     verbatim,	% Extend the print-as-is functionality
-    chngcntr	% Redefinition of counters
+    chngcntr,	% Redefinition of counters
+    tocbibind	% Add bibliography to table of contents
 }
 
 % tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself

diff --git a/pms.tex b/pms.tex
index 5885c9c..bf31c2a 100644
--- a/pms.tex
+++ b/pms.tex
@@ -62,13 +62,13 @@
 
 \include{glossary}
 
+\bibliography{pms}
+
 \appendix
 \include{appendices}
 
 \include{eapi-differences}
 
-\bibliography{pms}
-
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
     \chapter{Desk Reference}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2014-06-21  6:54 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2014-06-21  6:54 UTC (permalink / raw
  To: gentoo-commits

commit:     dba754da5cb27394236d6a91eb0a940b85aa5d65
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 21 06:55:25 2014 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 21 06:55:25 2014 +0000
URL:        http://git.overlays.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=dba754da

Typo.

---
 eapi-differences.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3a33bce..59f3d6d 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -58,7 +58,7 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
 \t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
     Optionally & Optionally & Optionally & Optionally & Yes & Yes \\
 
-\t{?? ( ) groups} & \compactfeatureref{at-most-one-of} &
+\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
     No & No & No & No & No & Yes \\
 
 \t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-01-01 20:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-01-01 20:08 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-01-01 20:08 UTC (permalink / raw
  To: gentoo-commits

commit:     6bb8a19d42cda34d9f7d6460a912cba55272d9e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jan  1 20:13:16 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jan  1 20:13:16 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=6bb8a19d

Fix number of columns in several tables.

---
 pkg-mgr-commands.tex  | 6 +++---
 profile-variables.tex | 2 +-
 profiles.tex          | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index acf71ac..ad189c3 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -49,10 +49,10 @@ called, the package manager must abort the build process indicating an error.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Banned commands} \label{tab:banned-commands-table}
-    \begin{tabular}{ l l l l }
+    \begin{tabular}{ l l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
-        \multicolumn{3}{c}{\textbf{Command banned?}} \\
+        \multicolumn{2}{c}{\textbf{Command banned?}} \\
         \multicolumn{1}{c}{} &
         \multicolumn{1}{c}{\textbf{\t{dohard}}} &
         \multicolumn{1}{c}{\textbf{\t{dosed}}} \\
@@ -161,7 +161,7 @@ has returned.
 
     \ChangeWhenAddingAnEAPI{5}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs} \label{tab:econf-options-table}
-        \begin{tabular}{ l l l l }
+        \begin{tabular}{ l l l }
             \toprule
                 \multicolumn{1}{c}{\textbf{EAPI}} &
                 \multicolumn{1}{c}{\textbf{-{}-disable-dependency-tracking}?} &

diff --git a/profile-variables.tex b/profile-variables.tex
index cf8cac2..a52f21b 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -35,7 +35,7 @@ completely override those in parent profiles.
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Profile-defined \t{IUSE} injection for EAPIs} \label{tab:profile-iuse-injection-table}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
         \multicolumn{1}{c}{\textbf{Supports profile-defined \t{IUSE} injection?}} \\

diff --git a/profiles.tex b/profiles.tex
index ffdcdec..b33e1b1 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -128,7 +128,7 @@ stable in a package.
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{Profile directory support for masking/forcing use flags in stable
 versions only}\label{tab:profile-stablemask}
-    \begin{tabular}{ l l l }
+    \begin{tabular}{ l l }
         \toprule
         \multicolumn{1}{c}{\textbf{EAPI}} &
         \multicolumn{1}{c}{\textbf{Supports masking/forcing use flags in stable versions?}} \\


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-02-16 10:39 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-02-16 10:40 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-02-16 10:40 UTC (permalink / raw
  To: gentoo-commits

commit:     2906b78386486d24996a44bc1df71fb523536bf8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan 19 23:25:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan 19 23:25:05 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=2906b783

Update URI of PMS project page.

---
 eapi-cheatsheet.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 5885eb5..a23b822 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -22,7 +22,8 @@
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}
-\author{Gentoo PMS team\thanks{\url{http://wiki.gentoo.org/wiki/Project:PMS}}}
+\author{Gentoo PMS team\thanks{%
+    \url{http://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-02-21 12:19 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-02-21 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     8b257070f3a88d91a64faa0f588957a5dc137e97
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 18 07:11:29 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb 18 07:11:29 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=8b257070

Whitespace: Split some very long lines.

---
 dependencies.tex        | 28 +++++++++++++++++-----------
 ebuild-env-commands.tex |  6 +++---
 names.tex               | 12 ++++++++----
 3 files changed, 28 insertions(+), 18 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 2444fcd..b5cfcfa 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -4,17 +4,22 @@
 \section{Dependency Classes}
 \label{sec:dependency-classes}
 
-\begin{centertable}{Dependency classes required to be satisfied for a particular phase function} \label{tab:phase-function-dependency-classes}
+\begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
+    \label{tab:phase-function-dependency-classes}
     \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }
-        \toprule
-        \multicolumn{1}{c}{\textbf{Phase function}} &
-        \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
-        \midrule
-        \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} & None (ebuilds can rely only on the packages in the system set) \\
-        \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}, \t{src\_install} & \t{DEPEND} \\
-        \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} & \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which case it may be installed later) \\
-        \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
-    \bottomrule
+      \toprule
+      \multicolumn{1}{c}{\textbf{Phase function}} &
+      \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
+      \midrule
+      \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} &
+          None (ebuilds can rely only on the packages in the system set) \\
+      \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test},
+          \t{src\_install} & \t{DEPEND} \\
+      \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} &
+          \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
+          case it may be installed later) \\
+      \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+      \bottomrule
     \end{tabular}
 \end{centertable}
 
@@ -30,7 +35,8 @@ There are three classes of dependencies supported by ebuilds:
     the package manager finishes the batch of installs.
 \end{compactitem}
 
-Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before a particular phase function is executed.
+Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before
+a particular phase function is executed.
 
 In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
 \t{REQUIRED\_USE} use dependency-style specifications to specify their values.

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 70b69b2..7d3c33b 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -23,9 +23,9 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version 3.2\footnote{The
-    required bash version was retroactively updated from 3.0 to 3.2 in
-    November 2009 (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+\item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
+    retroactively updated from 3.0 to 3.2 in November 2009
+    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/names.tex b/names.tex
index 447be9a..e64a828 100644
--- a/names.tex
+++ b/names.tex
@@ -87,7 +87,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for numeric components} \label{alg:version-comparison-numeric}
 \begin{algorithmic}[1]
-  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric component of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric
+      component of $A$ and $B$ respectively, using $0$-based indexing
   \IF{$An_0>Bn_0$ using integer comparison}
     \RETURN $A>B$
   \ELSIF{$An_0<Bn_0$ using integer comparison}
@@ -107,7 +108,8 @@ from which it was invoked.
 \end{algorithm}
 
 \begin{algorithm}
-\caption{Version comparison logic for each numeric component after the first} \label{alg:version-comparison-numeric-nonfirst}
+\caption{Version comparison logic for each numeric component after the first}
+\label{alg:version-comparison-numeric-nonfirst}
 \begin{algorithmic}[1]
   \IF{either $An_i$ or $Bn_i$ has a leading \t{0}}
     \STATE let $An'_i$ be $An_i$ with any trailing \t{0}s removed
@@ -143,7 +145,8 @@ from which it was invoked.
 \begin{algorithm}
 \caption{Version comparison logic for suffixes} \label{alg:version-comparison-suffix}
 \begin{algorithmic}[1]
-  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$ and $B$ respectively, using $0$-based indexing
+  \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$
+      and $B$ respectively, using $0$-based indexing
   \STATE let $Asn$ be the number of suffixes of $A$
   \STATE let $Bsn$ be the number of suffixes of $B$
   \FORALL{$i$ such that $i\geq0$ and $i<Asn$ and $i<Bsn$, in ascending order}
@@ -176,7 +179,8 @@ from which it was invoked.
     \ELSIF{$As'_i<Bs'_i$, using integer comparison}
       \RETURN $A<B$
     \ENDIF
-  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
+  \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering
+      $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
     \RETURN $A>B$
   \ELSE
     \RETURN $A<B$


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-03-03  6:18 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-02-21 12:19 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-02-21 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     81351aae6df13cd702504561fd6b482623cb1a8f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 19:22:57 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 19:22:57 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=81351aae

Fix strings matching configure --help output.

These should be "--disable-dependency-tracking" and
"--disable-silent-rules", respectively (note the leading "--").

---
 pkg-mgr-commands.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ad189c3..efdf360 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -153,10 +153,10 @@ has returned.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
-    \item -{}-disable-silent-rules, if the EAPI is listed in
-        table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{disable-silent-rules} occurs in the output of \t{configure -{}-help}.
+        string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
+    \item -{}-disable-silent-rules, if the EAPI is listed in table~\ref{tab:econf-options-table} as
+        using it. This option will only be passed if the string \t{-{}-disable-silent-rules} occurs
+        in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{5}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-03-03  6:18 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-02-21 12:19 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-02-21 12:19 UTC (permalink / raw
  To: gentoo-commits

commit:     7fbfcd1bbd5dd0d1d9d5bb7f0dcda9e6413d4e91
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 16 20:09:52 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 16 20:09:52 2015 +0000
URL:        http://sources.gentoo.org/gitweb/?p=proj/pms.git;a=commit;h=7fbfcd1b

Update list of phases for build commands.

For recent EAPIs, econf is typically run in src_configure which was
missing from the list.

---
 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index efdf360..ef65793 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -129,9 +129,9 @@ completing. Ebuilds must not run any of these commands once the current phase fu
 \end{description}
 
 \subsubsection{Build commands}
-These commands are used during the \t{src\_compile} and \t{src\_install} phases to run the
-package's build commands. Ebuilds must not run any of these commands once the current phase function
-has returned.
+These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
+phases to run the package's build commands. Ebuilds must not run any of these commands once the
+current phase function has returned.
 
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-03-16  9:11 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-03-16  9:11 UTC (permalink / raw
  To: gentoo-commits

commit:     4055e2091ab22d34b45790462513bbaf3d70a1bf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  7 20:43:57 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  7 20:43:57 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4055e209

Drop RESTRICT=sandbox.

RESTRICT=sandbox is neither used in the tree nor supported by Portage.
Drop it retroactively for all EAPIs, bug 161045.

The spec still says that "package managers may recognise other tokens"
so package managers are free to support the feature.

 dependencies.tex | 1 -
 1 file changed, 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index b5cfcfa..cf7f33e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -370,7 +370,6 @@ The following tokens are permitted inside \t{RESTRICT}:
 \item[strip] No stripping of debug symbols from files to be installed may be performed.
 \item[userpriv] The package manager may not drop root privileges when building the package.
 \item[test] The \t{src\_test} phase must not be run.
-\item[sandbox] The \t{sandbox} tool must not be used when building the package.
 \end{description}
 
 Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-04-02 16:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-03-25 13:34 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-03-25 13:34 UTC (permalink / raw
  To: gentoo-commits

commit:     70a153d64d99a7daeec55abd2d1aed326a8b19c7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 24 18:36:05 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 24 18:36:05 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=70a153d6

Typographic fixes to make chktex happier.

 dependencies.tex      |  8 ++++----
 ebuild-env-vars.tex   | 26 ++++++++++++++------------
 ebuild-format.tex     | 10 +++++-----
 ebuild-functions.tex  |  4 ++--
 ebuild-vars.tex       |  4 ++--
 eclasses.tex          |  2 +-
 merge.tex             |  2 +-
 pkg-mgr-commands.tex  | 26 +++++++++++++-------------
 profile-variables.tex | 10 +++++-----
 profiles.tex          | 10 +++++-----
 tree-layout.tex       | 10 +++++-----
 11 files changed, 57 insertions(+), 55 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index cf7f33e..0d22489 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -48,10 +48,10 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}. In EAPIs
-    listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may optionally be
-    followed by whitespace, then \t{->}, then whitespace, then a simple filename when in
-    \t{SRC\_URI}.  For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}\@.
+    In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may
+    optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when
+    in \t{SRC\_URI}\@. For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
 \item A flat filename. Permitted in \t{SRC\_URI}.
 \item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
 \item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED\_USE}.

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8969dd8..0cccd8f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -131,10 +131,11 @@ variable.
     Yes &
     The normalised offset-prefix path of an offset installation.  When \t{EPREFIX} is not set in the
     calling environment, \t{EPREFIX} defaults to the built-in offset-prefix that was set during
-    installation of the package manager. When a different \t{EPREFIX} value than the built-in value is set
-    in the calling environment, a cross-prefix build is performed where using the existing utilities, a
-    package is built for the given \t{EPREFIX}, akin to \t{ROOT}. See also~\ref{sec:offset-vars}. Only
-    for EAPIs listed in table~\ref{tab:offset-env-vars-table} as supporting \t{EPREFIX}. \\
+    installation of the package manager. When a different \t{EPREFIX} value than the built-in value
+    is set in the calling environment, a cross-prefix build is performed where using the existing
+    utilities, a package is built for the given \t{EPREFIX}, akin to \t{ROOT}\@.
+    See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
+    as supporting \t{EPREFIX}. \\
 \t{D} &
     \t{src\_install} &
     No &
@@ -396,14 +397,15 @@ contain at most one value.
     \end{tabular}
 \end{centertable}
 
-\featurelabel{offset-prefix-vars} Table~\ref{tab:offset-support-table} lists the EAPIs which support
-offset-prefix installations. This support was initially added in EAPI 3, in the form of three extra
-variables.  Two of these, \t{EROOT} and \t{ED}, are convenience variables using the variable
-\t{EPREFIX}. In EAPIs that do not support an offset-prefix, the installation offset is hardwired to
-\t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as \t{\$\{EPREFIX\}/usr}
-and hence can be adjusted using the variable \t{EPREFIX}. Note that the behaviour of offset-prefix
-aware and agnostic is the same when \t{EPREFIX} is set to the empty string in offset-prefix aware
-EAPIs.  The latter do have the variables \t{ED} and \t{EROOT} properly set, though.
+\featurelabel{offset-prefix-vars} Table~\ref{tab:offset-support-table} lists the EAPIs which
+support offset-prefix installations. This support was initially added in EAPI 3, in the form of
+three extra variables. Two of these, \t{EROOT} and \t{ED}, are convenience variables using the
+variable \t{EPREFIX}\@. In EAPIs that do not support an offset-prefix, the installation offset is
+hardwired to \t{/usr}. In offset-prefix supporting EAPIs the installation offset is set as
+\t{\$\{EPREFIX\}/usr} and hence can be adjusted using the variable \t{EPREFIX}\@. Note that the
+behaviour of offset-prefix aware and agnostic is the same when \t{EPREFIX} is set to the empty
+string in offset-prefix aware EAPIs. The latter do have the variables \t{ED} and \t{EROOT} properly
+set, though.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/ebuild-format.tex b/ebuild-format.tex
index befe679..3028e50 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -2,11 +2,11 @@
 \label{sec:ebuild-format}
 
 The ebuild file format is in its basic form a subset of the format of a bash script. The interpreter
-is assumed to be GNU bash, version 3.2 or later, see footnote \ref{fn:bash3.2} on page
-\pageref{fn:bash3.2}.  The file encoding must be UTF-8 with Unix-style newlines. When sourced, the
-ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars} and
-\ref{sec:ebuild-functions} for specific information), and must not call any external programs, write
-anything to standard output or standard error, or modify the state of the system in any way.
+is assumed to be GNU bash, version 3.2 or later, see footnote~\ref{fn:bash3.2} on
+page~\pageref{fn:bash3.2}. The file encoding must be UTF-8 with Unix-style newlines. When sourced,
+the ebuild must define certain variables and functions (see sections~\ref{sec:ebuild-vars}
+and~\ref{sec:ebuild-functions} for specific information), and must not call any external programs,
+write anything to standard output or standard error, or modify the state of the system in any way.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 84847e9..c6c43b4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -29,7 +29,7 @@ initial working directory for any phase is a trusted location that may only be w
 privileged user and group.
 
 \featurelabel{s-workdir-fallback} Some functions are described as having an initial working
-directory of \t{S} with an error or fallback to \t{WORKDIR}. For EAPIs listed in
+directory of \t{S} with an error or fallback to \t{WORKDIR}\@. For EAPIs listed in
 table~\ref{tab:s-fallback-table} as having the fallback, this means that if \t{S} is not a directory
 before the start of the phase function, the initial working directory shall be \t{WORKDIR} instead.
 For EAPIs where it is a conditional error, if \t{S} is not a directory before the start of the phase
@@ -272,7 +272,7 @@ non-zero the build must be aborted.
 \featurelabel{parallel-tests} For EAPIs listed in table~\ref{tab:src-test-table} as not supporting
 parallel tests, the \t{emake} command must be called with option \t{-j1}.
 
-The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}. It may
+The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{5}

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 53de53d..d626d24 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -44,7 +44,7 @@ All ebuilds must define at least the following variables:
 Ebuilds may define any of the following variables:
 
 \begin{description}
-\item[EAPI] The EAPI. See below.
+\item[EAPI] The EAPI\@. See below.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
     See section~\ref{sec:dependencies} for full syntax.
 \item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://},
@@ -202,7 +202,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 
 \section{Magic Ebuild-defined Variables}
 
-The following variables must be defined by \t{inherit} (see section~\ref{sec:inherit}, and may be
+The following variables must be defined by \t{inherit} (see section~\ref{sec:inherit}), and may be
 considered to be part of the ebuild's metadata:
 
 \begin{description}

diff --git a/eclasses.tex b/eclasses.tex
index c8fee9e..2eb58ca 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -43,7 +43,7 @@ implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
 \section{EXPORT\_FUNCTIONS}
 
 There is one command available in the eclass environment that is neither available nor meaningful
-in ebuilds---\t{EXPORT\_FUNCTIONS}. This can be used to alias ebuild phase functions from the
+in ebuilds---\t{EXPORT\_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the
 eclass so that an ebuild inherits a default definition whilst retaining the ability to override and
 call the eclass-defined version from it. The use of it is best illustrated by an example; this is
 given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.

diff --git a/merge.tex b/merge.tex
index bc74193..28cde65 100644
--- a/merge.tex
+++ b/merge.tex
@@ -4,7 +4,7 @@
 
 \section{Overview}
 
-The merge process merges the contents of the \t{D} directory onto the filesystem under \t{ROOT}.
+The merge process merges the contents of the \t{D} directory onto the filesystem under \t{ROOT}\@.
 This is not a straight copy; there are various subtleties which must be addressed.
 
 The unmerge process removes an installed package's files. It is not covered in detail in this

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ef65793..9c031fe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -218,10 +218,10 @@ current phase function has returned.
     as per section~\ref{sec:failure-behaviour}.
 
     The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
-    offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}. \t{ED} is always
-    available in EAPIs that support offset-prefix installations as listed in
-    Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use \t{D}
-    instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
+    offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is
+    always available in EAPIs that support offset-prefix installations as listed in
+    Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use
+    \t{D} instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
     Variable \t{libdir} is an auxiliary local variable whose value is determined by
     Algorithm~\ref{alg:ebuild-libdir}.
 \begin{listing}[H]
@@ -386,7 +386,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate
     subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the
-    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}. The name of the installed
+    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}\@. The name of the installed
     files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
     section~\ref{sec:failure-behaviour}.
 
@@ -566,13 +566,13 @@ has returned.
 \item[docinto] Sets the install subdirectory for \t{dodoc} et al. May create the directory, as specified
     for \t{into}.
 
-\item[insopts] Sets the options passed by \t{doins} et al. to the \t{install} command.
+\item[insopts] Sets the options passed by \t{doins} et al.\ to the \t{install} command.
 
-\item[diropts] Sets the options passed by \t{dodir} et al. to the \t{install} command.
+\item[diropts] Sets the options passed by \t{dodir} et al.\ to the \t{install} command.
 
-\item[exeopts] Sets the options passed by \t{doexe} et al. to the \t{install} command.
+\item[exeopts] Sets the options passed by \t{doexe} et al.\ to the \t{install} command.
 
-\item[libopts] Sets the options passed by \t{dolib} et al. to the \t{install} command.
+\item[libopts] Sets the options passed by \t{dolib} et al.\ to the \t{install} command.
 
 \end{description}
 
@@ -667,8 +667,8 @@ either behaviour is undefined or it is an error as decided by table~\ref{tab:use
     \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
     \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
     \t{-{}-without-\$\{opt\}}.
-\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or \t{-{}-disable-}
-instead of \t{-{}-with-} or \t{-{}-without-}.
+\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or
+    \t{-{}-disable-} instead of \t{-{}-with-} or \t{-{}-without-}.
 \item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument
     is a USE flag name, any subsequent arguments (\t{\$\{arg2\}} to \t{\$\{arg5\}}) are string
     values. If not provided, \t{\$\{arg2\}} and \t{\$\{arg3\}} default to \t{yes} and \t{no},
@@ -817,8 +817,8 @@ has returned.
 
 \item[default]
     \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
-    section~\ref{sec:default-phase-funcs}).  Must not be called if the \t{default\_} function
-    does not exist for the current phase in the current EAPI.  Only available in EAPIs listed in
+    section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
+    not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:default-function-table}.
 \end{description}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index a52f21b..a76fdb7 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -65,12 +65,12 @@ The following variables have specific meanings when set in profiles.
     section~\ref{sec:use-iuse-handling} for details.
 \item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository
     contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see
-    table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}. See
-    section~\ref{sec:use-iuse-handling} for details.
+    table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}\@.
+    See section~\ref{sec:use-iuse-handling} for details.
 \item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and
-    \t{USE\_EXPAND\_UNPREFIXED}. The package manager may use this set as a hint to avoid displaying
-    uninteresting or unhelpful information to an end user.
-\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}. See
+    \t{USE\_EXPAND\_UNPREFIXED}\@. The package manager may use this set as a hint to avoid
+    displaying uninteresting or unhelpful information to an end user.
+\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See
     section~\ref{sec:use-iuse-handling} for details.
 \end{description}
 

diff --git a/profiles.tex b/profiles.tex
index b33e1b1..ca3b1d7 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -29,11 +29,11 @@ This file must not contain comments, blank lines or make use of line continuatio
 
 \subsection{The eapi file}
 \label{sec:profile-eapi}
-A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single line
-with the name of an EAPI. This specifies the EAPI to use when handling the directory in question; a
-package manager must not attempt to use any profile using a directory which requires an EAPI it does
-not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not inherited via the
-\t{parent} file.
+A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single
+line with the name of an EAPI\@. This specifies the EAPI to use when handling the directory in
+question; a package manager must not attempt to use any profile using a directory which requires an
+EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not
+inherited via the \t{parent} file.
 
 \subsection{deprecated}
 If a profile contains a file named \t{deprecated}, it is treated as such. The first line of this

diff --git a/tree-layout.tex b/tree-layout.tex
index 134a0bb..388a7c9 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -53,7 +53,7 @@ A package directory contains the following:
 \item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
-\item A \t{Manifest} file, whose format is described in \cite{Glep44}.
+\item A \t{Manifest} file, whose format is described in~\cite{Glep44}.
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}
 
@@ -86,9 +86,9 @@ contents of this directory, with the exception of \t{repo\_name}, are
 optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
-line with the name of an EAPI. This specifies the EAPI to use when handling the profiles directory;
-a package manager must not attempt to use any repository whose profile directory requires an EAPI it
-does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
+line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles
+directory; a package manager must not attempt to use any repository whose profile directory
+requires an EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
 
 If the repository is not intended to be stand-alone, the contents of these files are to be taken
 from or merged with the master repository as necessary.
@@ -195,7 +195,7 @@ differs from that described in \t{use.desc}.
 \subsection{The updates directory}
 \label{sec:updates-dir}
 The \t{updates} directory is used to inform the package manager that a package has moved categories,
-names, or that a version has changed SLOT. It contains one file per quarter year, named
+names, or that a version has changed SLOT\@. It contains one file per quarter year, named
 \t{[1-4]Q-[YYYY]} for the first to fourth quarter of a given year, for example \t{1Q-2004} or
 \t{3Q-2006}. The format of each file is again line-based, with each line having one of the following
 formats:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-04-02 16:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-03-28 19:29 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-03-28 19:29 UTC (permalink / raw
  To: gentoo-commits

commit:     0e594cde478c1041efaed7bce29cd5ef82618ccd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 24 18:40:49 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 24 18:40:49 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0e594cde

Typographic fixes to the EAPI cheat sheet.

 eapi-cheatsheet.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index a23b822..cf13bf2 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -57,7 +57,7 @@
 
     Official Gentoo EAPIs are consecutively numbered integers (0, 1,
     2, \dots).  Except where otherwise noted, an EAPI is the same as
-    the previous EAPI.  All labels refer to the PMS document itself,
+    the previous EAPI\@.  All labels refer to the PMS document itself,
     built from the same checkout as this overview.
 
     % Please report mistakes in or enhancements to this document via the
@@ -98,7 +98,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
     naming scheme.  By using
     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
-    saved as \code{foo} in DISTDIR.
+    saved as \code{foo} in DISTDIR\@.
     See \featureref{src-uri-arrows}.
     \item[USE dependencies] Dependencies can specify USE flag
     requirements on their target, removing the need for


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-03-28 19:29 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-03-28 19:29 UTC (permalink / raw
  To: gentoo-commits

commit:     029d7a9b970a7c9d0c295f451c775e19788c0694
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 28 19:14:21 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:14:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=029d7a9b

Update .gitignore file.

 .gitignore | 20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6d5cd39..6d150b7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,13 +1,25 @@
+*.4ct
+*.4tc
 *.aux
 *.bbl
 *.blg
+*.css
+*.dvi
+*.html
+*.idv
+*.lg
 *.loa
 *.log
-*.pdf
-*.toc
-*.lot
 *.lol
+*.lot
 *.lox
 *.out
-*.dvi
+*.pdf
+*.tmp
+*.toc
+*.xref
 vc.tex
+
+# Emacs backup files and locks
+*~
+.#*


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-03-28 19:29 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-03-28 19:29 UTC (permalink / raw
  To: gentoo-commits

commit:     244ffa0bd3893ce4e42bd444edeb92cdc6565ba9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 28 19:01:38 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 28 19:01:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=244ffa0b

Update URIs, Gentoo sites use https now.

https://archives.gentoo.org/gentoo-dev/message/48af7446531860f964097b2dacba15aa

 appendices.tex          | 2 +-
 eapi-cheatsheet.tex     | 4 ++--
 ebuild-env-commands.tex | 3 ++-
 pms.bib                 | 4 ++--
 4 files changed, 7 insertions(+), 6 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index fcadf21..4d0ae12 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -3,7 +3,7 @@
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
-and is described in the DTD file located at \url{http://www.gentoo.org/dtd/metadata.dtd}.
+and is described in the DTD file located at \url{https://www.gentoo.org/dtd/metadata.dtd}.
 
 \chapter{Unspecified Items}
 

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index cf13bf2..bbde806 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -23,7 +23,7 @@
 
 \title{EAPI Cheat Sheet}
 \author{Gentoo PMS team\thanks{%
-    \url{http://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
+    \url{https://wiki.gentoo.org/wiki/Project:Package_Manager_Specification}}}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}
@@ -61,7 +61,7 @@
     built from the same checkout as this overview.
 
     % Please report mistakes in or enhancements to this document via the
-    % Gentoo bug tracking system\footnote{\url{http://bugs.gentoo.org/}}
+    % Gentoo bug tracking system\footnote{\url{https://bugs.gentoo.org/}}
     % to the original author or the PMS team.
 
     This document is released under the Creative Commons

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 7d3c33b..62346ba 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -25,7 +25,8 @@ The following commands must always be available in the ebuild environment:
 \begin{compactitem}
 \item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
     retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{http://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).\label{fn:bash3.2}}.
+    (see \url{https://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).%
+    \label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \t{patch} must be available, and must support all inputs valid for GNU patch.

diff --git a/pms.bib b/pms.bib
index 5038e16..88885e2 100644
--- a/pms.bib
+++ b/pms.bib
@@ -3,7 +3,7 @@
     title = {{GLEP} 37: Virtuals deprecation},
     year = 2005,
     month = Apr,
-    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:37}"
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:37}"
 }
 
 @misc{Glep44,
@@ -11,5 +11,5 @@
     title = {{GLEP} 44: Manifest2 format},
     year = 2005,
     month = Dec,
-    howpublished = "\url{http://wiki.gentoo.org/wiki/GLEP:44}"
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:44}"
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-04-10 21:01 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-04-10 21:01 UTC (permalink / raw
  To: gentoo-commits

commit:     960a05c7ad7cc79662eedee1290f9d20efc5f2d4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 10 20:57:42 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 10 20:57:42 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=960a05c7

Extract "Committer Date" instead of "Author Date" as the document's date.

 vc-git.awk | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vc-git.awk b/vc-git.awk
index 5024a1b..d349a93 100644
--- a/vc-git.awk
+++ b/vc-git.awk
@@ -36,7 +36,7 @@ END {
 ### Standard encoding is UTF-8.
 				if (Encoding == "") Encoding = "UTF-8"
 ### Extract relevant information from variables.
-				LongDate = substr(AuthorDate, 1, 25)
+				LongDate = substr(CommitterDate, 1, 25)
 				DateRAW = substr(LongDate, 1, 10)
 				DateISO = DateRAW
 				DateTEX = DateISO


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-04-11  9:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-04-11  9:26 UTC (permalink / raw
  To: gentoo-commits

commit:     439f2f100b59a274a464f6662977034034a97e24
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 11 09:26:13 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 11 09:26:13 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=439f2f10

Update URI of council meeting log.

 ebuild-env-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 62346ba..e5f0226 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -25,7 +25,7 @@ The following commands must always be available in the ebuild environment:
 \begin{compactitem}
 \item All builtin commands in GNU bash, version 3.2\footnote{The required bash version was
     retroactively updated from 3.0 to 3.2 in November 2009
-    (see \url{https://www.gentoo.org/proj/en/council/meeting-logs/20091109.txt}).%
+    (see \url{https://projects.gentoo.org/council/meeting-logs/20091109.txt}).%
     \label{fn:bash3.2}}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-04-13 22:34 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-04-13 22:34 UTC (permalink / raw
  To: gentoo-commits

commit:     7d69eceff82108ccc1e7d976912e5c34afeb259f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 11 21:25:58 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 11 21:25:58 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7d69ecef

Use the same line width for Emacs and Vim.

Lines seem to be wrapped at 100 characters throughout, with the
exception of eapi-cheatsheet.tex which is wrapped at 70 characters.
Assign the "fill-column" file local variable for Emacs accordingly.

 appendices.tex            | 1 +
 credits.tex               | 1 +
 dependencies.tex          | 1 +
 eapi-cheatsheet.tex       | 3 ++-
 eapi-differences.tex      | 1 +
 eapis.tex                 | 1 +
 ebuild-env-commands.tex   | 1 +
 ebuild-env-invariancy.tex | 1 +
 ebuild-env-state.tex      | 1 +
 ebuild-env-vars.tex       | 1 +
 ebuild-environment.tex    | 1 +
 ebuild-format.tex         | 1 +
 ebuild-functions.tex      | 1 +
 ebuild-vars.tex           | 1 +
 eclasses.tex              | 1 +
 glossary.tex              | 1 +
 introduction.tex          | 1 +
 merge.tex                 | 1 +
 metadata-cache.tex        | 1 +
 names.tex                 | 1 +
 pkg-mgr-commands.tex      | 1 +
 pms.cls                   | 1 +
 pms.tex                   | 1 +
 profile-variables.tex     | 1 +
 profiles.tex              | 1 +
 tree-layout.tex           | 1 +
 26 files changed, 27 insertions(+), 1 deletion(-)

diff --git a/appendices.tex b/appendices.tex
index 4d0ae12..eb51dc9 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -73,4 +73,5 @@ via GLEP 37~\cite{Glep37}.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/credits.tex b/credits.tex
index 1482a24..3a92a95 100644
--- a/credits.tex
+++ b/credits.tex
@@ -46,4 +46,5 @@ If any issue cannot be resolved by the PMS team, it may be escalated to the Gent
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/dependencies.tex b/dependencies.tex
index 0d22489..58c86f9 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -417,4 +417,5 @@ filename to the right of the arrow shall be requested instead of the filename in
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index bbde806..765d679 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -318,11 +318,12 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
 \end{description}
 \end{document}
 
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
+% vim: set filetype=tex fileencoding=utf8 et tw=70 spell spelllang=en :
 
 %%% Local Variables:
 %%% mode: latex
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 70
 %%% End:

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 59f3d6d..255f428 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -304,4 +304,5 @@ EAPI 5 is EAPI 4 with the following changes:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eapis.tex b/eapis.tex
index 48d28fd..6b03d2b 100644
--- a/eapis.tex
+++ b/eapis.tex
@@ -57,4 +57,5 @@ applies to all of the above EAPIs.%
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index e5f0226..20771bd 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -69,4 +69,5 @@ particular types of dependencies is explained in section~\ref{sec:dependency-cla
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index 9476a8b..0334a4d 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -36,4 +36,5 @@ The following exclusivity and invariancy requirements are mandated:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 82bf6dc..4bc80c7 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -32,4 +32,5 @@ This is demonstrated by code listing~\ref{lst:env-saving}.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 0cccd8f..d387aca 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -415,4 +415,5 @@ set, though.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index cf26e81..99e7967 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -16,4 +16,5 @@
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 3028e50..b623b97 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -16,4 +16,5 @@ write anything to standard output or standard error, or modify the state of the
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index c6c43b4..480ccda 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -524,4 +524,5 @@ and \t{pkg\_postinst} functions are not called.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d626d24..9842557 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -254,4 +254,5 @@ based upon any variant condition.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/eclasses.tex b/eclasses.tex
index 2eb58ca..24ff77f 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -79,4 +79,5 @@ must be named \t{eclassname\_phasefunctionname}, where \t{eclassname} is the nam
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/glossary.tex b/glossary.tex
index 03ecace..100c09a 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -28,4 +28,5 @@ be immediately obvious.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/introduction.tex b/introduction.tex
index 4c91004..7c22fd4 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -42,4 +42,5 @@ applicable to tools or other applications that interact with ebuilds or ebuild r
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/merge.tex b/merge.tex
index 28cde65..c212294 100644
--- a/merge.tex
+++ b/merge.tex
@@ -161,4 +161,5 @@ Ebuilds must not attempt to install any other type of file (FIFOs, device nodes
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 52c0aee..ed58317 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -52,4 +52,5 @@ not a supported EAPI on line 15 if it does not.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/names.tex b/names.tex
index e64a828..d79499d 100644
--- a/names.tex
+++ b/names.tex
@@ -215,4 +215,5 @@ For example, a repository may not contain more than one of \t{foo-bar/baz-1.0.2}
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9c031fe..99b7c0c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -877,4 +877,5 @@ ebuilds:
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pms.cls b/pms.cls
index 8a27379..e599702 100644
--- a/pms.cls
+++ b/pms.cls
@@ -167,4 +167,5 @@ needs to be updated for EAPI \TheCurrentEAPI}}}
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/pms.tex b/pms.tex
index bf31c2a..ae86b43 100644
--- a/pms.tex
+++ b/pms.tex
@@ -88,4 +88,5 @@
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/profile-variables.tex b/profile-variables.tex
index a76fdb7..6eca502 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -89,4 +89,5 @@ and are not required to be interpreted by the package manager.
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/profiles.tex b/profiles.tex
index ca3b1d7..067a098 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -206,4 +206,5 @@ A package manager may treat \t{ARCH} values that are not the current architectur
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:

diff --git a/tree-layout.tex b/tree-layout.tex
index 388a7c9..cb8e1ad 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -250,4 +250,5 @@ variables. The contents of this directory are described in section~\ref{metadata
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
+%%% fill-column: 100
 %%% End:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-08-30 19:03 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-06-03 20:12 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-06-03 20:12 UTC (permalink / raw
  To: gentoo-commits

commit:     16f446142d8e0f29f29cb8f65baa6bfbef06aafb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun  3 19:24:08 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jun  3 19:24:08 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=16f44614

Makefile: Declare encoding of HTML output as utf-8.

 Makefile | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Makefile b/Makefile
index e7ccdc6..2b18660 100644
--- a/Makefile
+++ b/Makefile
@@ -27,6 +27,8 @@ pms.html: $(SOURCEFILES) pms.bbl
 	@# some www servers ignore meta tags, resulting in a wrong charset.
 	@# therefore recode the very few non-ascii characters
 	recode -d l1..h3 pms.html
+	@# declare encoding as utf-8, although it is pure ascii
+	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' pms.html
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
 	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' pms.html


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-08-30 19:03 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-08-24 11:24 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-08-24 11:24 UTC (permalink / raw
  To: gentoo-commits

commit:     73698b508e2fe9d3904cce3b65a3f01a0e8f2523
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 24 08:40:44 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug 24 08:40:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=73698b50

Makefile: Have vc.tex depend on all source files.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 2b18660..c50a0ea 100644
--- a/Makefile
+++ b/Makefile
@@ -54,7 +54,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 	pdflatex -jobname eapi-cheatsheet-nocombine \
 	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
 
-vc.tex: pms.tex vc-git.awk
+vc.tex: $(SOURCEFILES) vc-git.awk
 	/bin/sh ./vc
 
 pms.dvi: $(SOURCEFILES) pms.bbl


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-08-30 18:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-08-30 18:55 UTC (permalink / raw
  To: gentoo-commits

commit:     2d9d1c34ffe348a269817c72e5ea079854a35205
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug 27 19:18:43 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug 27 19:18:43 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2d9d1c34

Clarify that eapi in profiles is not inherited in subdirectories.

See also bug 558956.

 profiles.tex    | 4 ++--
 tree-layout.tex | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/profiles.tex b/profiles.tex
index 067a098..4b39160 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -32,8 +32,8 @@ This file must not contain comments, blank lines or make use of line continuatio
 A profile directory may contain an \t{eapi} file. This file, if it exists, must contain a single
 line with the name of an EAPI\@. This specifies the EAPI to use when handling the directory in
 question; a package manager must not attempt to use any profile using a directory which requires an
-EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is not
-inherited via the \t{parent} file.
+EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used. The EAPI is neither
+inherited via the \t{parent} file nor in subdirectories.
 
 \subsection{deprecated}
 If a profile contains a file named \t{deprecated}, it is treated as such. The first line of this

diff --git a/tree-layout.tex b/tree-layout.tex
index cb8e1ad..0554a64 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -87,7 +87,7 @@ optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
 line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles
-directory; a package manager must not attempt to use any repository whose profile directory
+directory; a package manager must not attempt to use any repository whose profiles directory
 requires an EAPI it does not support. If no \t{eapi} file is present, EAPI 0 shall be used.
 
 If the repository is not intended to be stand-alone, the contents of these files are to be taken


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-09-14 20:29 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-09-14 20:29 UTC (permalink / raw
  To: gentoo-commits

commit:     3a880fe4c7769f081a6877644e916915aafe6b3a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 13 21:39:03 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 13 21:39:03 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3a880fe4

Replace "atom" by "package dependency specification" throughout.

This fixes remaining occurrences of the term "atom" that were missed
in commit 12b07c3d013246c5ee4c6acb23f85ec1e857ac0a, or readded later.

Bug: 174322

 eapi-cheatsheet.tex  | 6 +++---
 pkg-mgr-commands.tex | 2 +-
 profiles.tex         | 2 +-
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 765d679..bec564f 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -260,9 +260,9 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     may require dependent packages to be rebuilt.  If the sub-slot is
     not specified in \code{SLOT}, it defaults to the regular slot.
     See \featureref{sub-slot}.
-    \item[Slot operator dependencies] One of the following operators
-    can be specified after package atoms, which will affect updates
-    of runtime dependencies:
+    \item[Slot operator dependencies] Package dependencies can specify
+    one of the following operators as a suffix, which will affect
+    updates of runtime dependencies:
     \begin{description}
         \item[\code{:*}] Any slot value is acceptable.  The package
         will not break when its dependency is updated.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 99b7c0c..1884a5c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -88,7 +88,7 @@ supporting option \t{-{}-host-root}, this flag as the first argument will cause
 to the host root instead of \t{ROOT}.
 \begin{description}
 \item[has\_version] Takes exactly one package dependency specification as an argument. Returns
-    true if a package matching the atom is installed in \t{ROOT}, and false otherwise.
+    true if a package matching the specification is installed in \t{ROOT}, and false otherwise.
 \item[best\_version] Takes exactly one package dependency specification as an argument. If a
     matching package is installed, prints the category, package name and version of the highest
     matching version; otherwise, prints an empty string. The exit code is unspecified.

diff --git a/profiles.tex b/profiles.tex
index 4b39160..a7a8527 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -73,7 +73,7 @@ removed from the list. Once again, blank lines and those beginning with a \# are
 \subsection{packages}
 The \t{packages} file is used to define the `system set' for this profile.
 After the above rules for inheritance and comments are applied, its lines must take one of two
-forms: a package dependency specification prefixed by \t{*} denotes that the atom forms part of the
+forms: a package dependency specification prefixed by \t{*} denotes that it forms part of the
 system set. A package dependency specification on its own may also appear for legacy reasons, but
 should be ignored when calculating the system set.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-09-14 20:29 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-09-14 20:29 UTC (permalink / raw
  To: gentoo-commits

commit:     6ac6b477f4734e10f0f2a7220bd8f50961b130b7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 13 22:23:12 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Sep 13 22:23:12 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6ac6b477

Makefile: Fix circular dependency.

 Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index c50a0ea..a20f5ec 100644
--- a/Makefile
+++ b/Makefile
@@ -8,8 +8,8 @@ clean :
 maintainer-clean: clean
 	rm -f vc.tex
 
-LATEXFILES = $(shell find -name  '*.tex') pms.cls
-LISTINGFILES = $(shell ls *.listing)
+LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
+LISTINGFILES := $(wildcard *.listing)
 SOURCEFILES = $(LATEXFILES) $(LISTINGFILES)
 
 pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
@@ -20,7 +20,7 @@ pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 	pdflatex eapi-cheatsheet
 	pdflatex pms
 
-pms.html: $(SOURCEFILES) pms.bbl
+pms.html: $(SOURCEFILES) pms.bbl vc.tex
 	@# need to do it twice to make the big env var table work
 	mk4ht xhlatex pms xhtml,fn-in
 	mk4ht xhlatex pms xhtml,fn-in
@@ -57,7 +57,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 vc.tex: $(SOURCEFILES) vc-git.awk
 	/bin/sh ./vc
 
-pms.dvi: $(SOURCEFILES) pms.bbl
+pms.dvi: $(SOURCEFILES) pms.bbl vc.tex
 	latex pms
 	latex pms
 	latex pms


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
@ 2015-10-11 19:13 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-11 19:13 UTC (permalink / raw
  To: gentoo-commits

commit:     cb99e4dcb5837626320b1fba0277d0fa7c1c9829
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 22 18:08:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 22 18:08:01 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cb99e4dc

The =* dependency operator can only match complete version components.

Bug: 560466

 dependencies.tex | 9 +++++----
 names.tex        | 3 ++-
 2 files changed, 7 insertions(+), 5 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 58c86f9..fcfce9b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -232,10 +232,11 @@ The following operators are available:
 \begin{description}
 \item[\t{<}] Strictly less than the specified version.
 \item[\t{<=}] Less than or equal to the specified version.
-\item[\t{=}] Exactly equal to the specified version. Special exception: if the version
-    specified has an asterisk immediately following it, a string prefix comparison is
-    used instead. When an asterisk is used, the specification must remain valid if the
-    asterisk were removed. (An asterisk used with any other operator is illegal.)
+\item[\t{=}] Exactly equal to the specified version. Special exception: if the version specified
+    has an asterisk immediately following it, then only the given number of version components
+    is used for comparison, i.\,e.\ the asterisk acts as a wildcard for any further components.
+    When an asterisk is used, the specification must remain valid if the asterisk were removed.
+    (An asterisk used with any other operator is illegal.)
 \item[\t{\textasciitilde}] Equal to the specified version when revision parts are ignored.
 \item[\t{>=}] Greater than or equal to the specified version.
 \item[\t{>}] Strictly greater than the specified version.

diff --git a/names.tex b/names.tex
index d79499d..2fc59b6 100644
--- a/names.tex
+++ b/names.tex
@@ -59,7 +59,8 @@ integer, followed by zero or more dot-prefixed positive integers).
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 
 This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
-\t{\_rc} or \t{\_p}, which themselves may be suffixed by an optional integer.
+\t{\_rc} or \t{\_p}, which themselves may be followed by an optional integer. Suffix and integer
+count as separate version components.
 
 This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
 ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-15 17:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-15 17:57 UTC (permalink / raw
  To: gentoo-commits

commit:     727371d43521c42a64c3cfcd99679953d5463b62
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 15 15:24:06 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 15 15:24:06 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=727371d4

Typographic whitespace fixes.

 dependencies.tex     | 4 ++--
 eapi-cheatsheet.tex  | 6 +++---
 eapi-differences.tex | 8 ++++----
 3 files changed, 9 insertions(+), 9 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index fcfce9b..0582be5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -75,14 +75,14 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{at-most-one-of ::= '??' whitespace '(' whitespace (item
+    parenthesis. More formally: \t{at-most-one-of ::= '??'\ whitespace '(' whitespace (item
     whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
     table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
     an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
     of any kind followed by whitespace), followed by a close parenthesis. More formally:
-    \t{use-conditional ::= '!'? flag-name '?' whitespace '(' whitespace (item whitespace)* ')'}.
+    \t{use-conditional ::= '!'?\ flag-name '?'\ whitespace '(' whitespace (item whitespace)* ')'}.
     Permitted in all specification style variables.
 \end{compactitem}
 

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index bec564f..367e299 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -212,10 +212,10 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     \begin{description}
         \item[Forbidden combination] To prevent activation of
         \code{flag1} if \code{flag2} is enabled use
-        "\code{flag2? ( !flag1 )}".
+        "\code{flag2?\ ( !flag1 )}".
         \item[OR] If at least one USE flag out of many must be
         activated on \code{flag1} use
-        "\code{flag1? ( || ( flag2 flag3 \dots\ ) )}".
+        "\code{flag1?\ ( || ( flag2 flag3 \dots\ ) )}".
         \item[XOR] To allow exactly one USE flag out of many use
         "\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots\ )}".
     \end{description}
@@ -276,7 +276,7 @@ If there is no EAPI explicitly specified, EAPI 0 is assumed.
     implicitly provided by profiles.
     See \featureref{profile-iuse-inject}.
     \item[At-most-one-of groups] In \code{REQUIRED\_USE} you can use
-    "\code{?? ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
+    "\code{??\ ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
     out of many.
     See \featureref{at-most-one-of}.
     \item[Parallel tests] The default for \code{src\_test} runs

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 255f428..04e5f83 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -73,10 +73,10 @@ Sub-slots & \compactfeatureref{sub-slot} &
 Use dependencies & \compactfeatureref{use-deps} &
     No & No & 2-style & 2-style & 4-style & 4-style \\
 
-\t{!} blockers & \compactfeatureref{bang-strength} &
+\t{!}\ blockers & \compactfeatureref{bang-strength} &
     Unspecified & Unspecified & Weak & Weak & Weak & Weak \\
 
-\t{!!} blockers & \compactfeatureref{bang-strength} &
+\t{!!}\ blockers & \compactfeatureref{bang-strength} &
     Forbidden & Forbidden & Strong & Strong & Strong & Strong \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
@@ -223,7 +223,7 @@ EAPI 2 is EAPI 1 with the following changes:
 
 \begin{compactitem}
 \item Use dependencies, \featureref{use-deps}.
-\item \t{!} and \t{!!} blockers, \featureref{bang-strength}.
+\item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}.
 \item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}.
 \item \t{src\_prepare}, \featureref{src-prepare}.
 \item \t{src\_configure}, \featureref{src-configure}.
@@ -279,7 +279,7 @@ EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
 \item Stable use masking and forcing, \featureref{stablemask}.
-\item \t{REQUIRED\_USE} now supports \t{??} groups, \featureref{at-most-one-of}.
+\item \t{REQUIRED\_USE} now supports \t{??}\ groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}.
 \item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-16 22:12 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-16 22:12 UTC (permalink / raw
  To: gentoo-commits

commit:     9ba40ccf38cb460acac8292142b5404412bb7d3a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 11:58:44 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 16 11:58:44 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9ba40ccf

pms.cls: Number all pages consecutively.

To this effect, redefine the titlepage environment (which in its
default implementation from report.cls unconditionally resets the
page counter), since there seems to be no simpler way.

 pms.cls | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/pms.cls b/pms.cls
index e599702..af8e1b4 100644
--- a/pms.cls
+++ b/pms.cls
@@ -82,6 +82,9 @@
 }
 \bibliographystyle{plainurl}
 
+% Redefine the titlepage environment not to reset the page number
+\renewenvironment{titlepage}{\newpage\thispagestyle{empty}}{\newpage}
+
 % Enumerate subsubsections, but don't include them in the toc.
 \setcounter{secnumdepth}{3}
 \setcounter{tocdepth}{2}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-17 15:49 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-17 15:49 UTC (permalink / raw
  To: gentoo-commits

commit:     37d956487473e417194de1926e68ac0734f5b2b9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 20:08:40 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 16 20:08:40 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=37d95648

Cheat sheet: Disable the foldmark.

We do not need a fold mark since we have the vertical lines.

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 367e299..b7e4e0f 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -1,4 +1,4 @@
-\documentclass[a4paper]{leaflet}
+\documentclass[a4paper,nofoldmark]{leaflet}
 \input{vc}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-18 11:14 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-18 11:14 UTC (permalink / raw
  To: gentoo-commits

commit:     68960e58758c3e171fae59ac9c70a5ee8978f350
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 16 22:08:45 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 16 22:08:45 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=68960e58

Calling a USE list function in global scope is an error.

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1884a5c..83fbd68 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -646,8 +646,8 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
 
 \subsubsection{Use List Functions}
 These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
-these commands once the current phase function has returned. Ebuilds must not run any of these
-functions in global scope.
+these commands once the current phase function has returned. It is an error if an ebuild calls any
+of these functions in global scope.
 
 If any of these functions is called with a flag value that is not included in \t{IUSE\_EFFECTIVE},
 either behaviour is undefined or it is an error as decided by table~\ref{tab:use-list-strictness}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-26 18:41 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-26 18:41 UTC (permalink / raw
  To: gentoo-commits

commit:     bc3078f1d5cfbbac330218c2745ec74e9370d16a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 26 18:40:18 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 26 18:40:18 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bc3078f1

pms.cls: Fix featurelabel command.

Leave vertical mode to fix vertical alignment of the margin note.
Suppress spurious whitespace in running text.
Workaround for marginnote not being supported by tex4ht.

 pms.cls | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index af8e1b4..80ba8e8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -77,8 +77,13 @@
 % the page margin.
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \newcommand{\compactfeatureref}[1]{#1~p\pageref{feat:#1}}
-\newcommand{\featurelabel}[1]{\label{feat:#1}%
-    \marginnote{\framebox{\textsc{#1}}}%
+\newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
+    \ifthenelse{\boolean{TEX4HT-HACKS}}{%
+        % tex4ht does not support marginnote
+        \framebox{\textsc{#1}}%
+    }{%
+        \marginnote{\framebox{\textsc{#1}}}\ignorespaces
+    }%
 }
 \bibliographystyle{plainurl}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-29 17:10 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-29 17:10 UTC (permalink / raw
  To: gentoo-commits

commit:     f143eb07d030eeca7d7d49d30458616a0b2ebedc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 28 19:00:20 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 28 19:00:20 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f143eb07

Increase the width of the "defined variables" table.

Also align the table (using \LTleft and \LTright) such that there is
sufficient space for marginal notes to the left of the table.
The marginnote package seems to be incompatible with lscape, resulting
in wrong horizontal placement of the notes. As a workaround, manually
adjust \marginparsep.

 ebuild-env-vars.tex | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index d387aca..9643036 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -12,7 +12,14 @@ different \t{pkg\_*} phases. Ebuilds must recalculate any variable they derive f
 variable.
 
 \begin{landscape}
-\begin{longtable}{l p{0.175\textwidth} l p{0.5\textwidth}}
+\reversemarginpar
+\addtolength{\marginparsep}{-25mm}
+% Workaround for broken marginnote positioning in lscape environment
+\addtolength{\marginparsep}{-\textwidth} % FIXME
+\setlength{\LTleft}{25mm plus 1fil}
+\setlength{\LTright}{0pt plus 1fil}
+\newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
+\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
 \caption{Defined variables\label{tab:defined_vars}}\\
 \toprule
 \multicolumn{1}{c}{\b{Variable}} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-29 17:10 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-29 17:10 UTC (permalink / raw
  To: gentoo-commits

commit:     38228afe56240fbc87f1d556daa0e5ac64faa409
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Oct 28 19:01:17 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Oct 28 19:01:17 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=38228afe

Spelling fixes in "defined variables" table.

 ebuild-env-vars.tex | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 9643036..0120bfd 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -40,31 +40,31 @@ variable.
 \bottomrule
 \endlastfoot
 \t{P} &
-    all &
+    All &
     No\footnote{May change if a package has been updated (see~\ref{sec:updates-dir})} &
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
 \t{PN} &
-    all &
-    ditto &
+    All &
+    Ditto &
     Package name, for example \t{vim}. \\
 \t{CATEGORY} &
-    all &
-    ditto &
+    All &
+    Ditto &
     The package's category, for example \t{app-editors}. \\
 \t{PV} &
-    all &
+    All &
     Yes &
     Package version, with no revision. For example \t{7.0.174}. \\
 \t{PR} &
-    all &
+    All &
     Yes &
     Package revision, or \t{r0} if none exists. \\
 \t{PVR} &
-    all &
+    All &
     Yes &
     Package version and revision (if any), for example \t{7.0.174} or \t{7.0.174-r1}. \\
 \t{PF} &
-    all &
+    All &
     Yes &
     Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
 \t{A} &
@@ -92,15 +92,15 @@ variable.
     support files for the package in question then an ebuild must be prepared for the situation
     where \t{FILESDIR} points to a non-existent directory. \\
 \t{PORTDIR} &
-    ditto &
+    Ditto &
     No &
     The full path to the master repository's base directory. \\
 \t{DISTDIR} &
-    ditto &
+    Ditto &
     No &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
 \t{ECLASSDIR} &
-    ditto &
+    Ditto &
     No &
     The full path to the master repository's eclass directory. \\
 \t{ROOT} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-29 19:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-29 19:42 UTC (permalink / raw
  To: gentoo-commits

commit:     1a9358d09378ebf75fd5b7342ce736cb3c3aff21
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 19:40:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 19:40:47 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1a9358d0

pms.cls: Move newcolumntype definition to class.

 eapi-differences.tex | 1 -
 ebuild-env-vars.tex  | 1 -
 pms.cls              | 3 +++
 3 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 04e5f83..3cf311f 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -4,7 +4,6 @@
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{landscape}
-\newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
 \begin{longtable}{llP{5em}P{5em}P{6em}P{6em}P{6em}P{6em}}
 \caption{Features in EAPIs}\\
 \toprule

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 0120bfd..4623d52 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -18,7 +18,6 @@ variable.
 \addtolength{\marginparsep}{-\textwidth} % FIXME
 \setlength{\LTleft}{25mm plus 1fil}
 \setlength{\LTright}{0pt plus 1fil}
-\newcolumntype{P}[1]{>{\setlength{\rightskip}{0pt plus 1fil}}p{#1}}
 \begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
 \caption{Defined variables\label{tab:defined_vars}}\\
 \toprule

diff --git a/pms.cls b/pms.cls
index 80ba8e8..72d0b9a 100644
--- a/pms.cls
+++ b/pms.cls
@@ -123,6 +123,9 @@
   \end{table}
 }
 
+% Define a new column type P for tables, like p but with ragged-right text
+\newcolumntype{P}[1]{>{\setlength\rightskip{0pt plus 1fil}}p{#1}}
+
 % Prevent numbers in list of tables from overrunning into the table captions
 \renewcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.8em}} % was 2.3em
 \let\l@table\l@figure


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-10-29 19:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-10-29 19:42 UTC (permalink / raw
  To: gentoo-commits

commit:     efbb3ef7501a4a7ea91baf5c3168f2948c6409ba
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 19:42:21 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 19:42:21 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=efbb3ef7

eapi-differences.tex: Fix table head.

 eapi-differences.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 3cf311f..9194f74 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -9,7 +9,7 @@
 \toprule
 \multicolumn{1}{c}{\b{Feature}} &
 \multicolumn{1}{c}{\b{Reference}} &
-\multicolumn{4}{c}{\b{EAPIs}} \\
+\multicolumn{6}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0} &
@@ -23,7 +23,7 @@
 \midrule
 \multicolumn{1}{c}{\b{Feature}} &
 \multicolumn{1}{c}{\b{Reference}} &
-\multicolumn{4}{c}{\b{EAPIs}} \\
+\multicolumn{6}{c}{\b{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-01 20:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-01 20:22 UTC (permalink / raw
  To: gentoo-commits

commit:     959d521297aae9f529c7c7094dc00cd9fc0751d1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 19:51:26 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 19:51:26 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=959d5212

eapi-cheatsheet.tex: Remove unused LaTeX package from preamble.

 eapi-cheatsheet.tex | 1 -
 1 file changed, 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index b7e4e0f..136ac5f 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -6,7 +6,6 @@
     url,
     xr-hyper,
     hyperref,
-    listings,
     ifthen,
     mathptmx,
     courier


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     a75e12233bfd298f83e6f40af7783a00114ede32
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 21:22:10 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 21:22:10 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a75e1223

pms.cls: Make marginnote log output less chatty.

 pms.cls | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pms.cls b/pms.cls
index 72d0b9a..0b900c0 100644
--- a/pms.cls
+++ b/pms.cls
@@ -16,6 +16,7 @@
 \PassOptionsToPackage{position=top}{caption}
 % Enable UTF-8 input encoding
 \PassOptionsToPackage{utf8}{inputenc}
+\PassOptionsToPackage{quiet}{marginnote}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     ba45c9882a6c2a1abf414b46bc3b7767b25bf3ec
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 29 21:18:55 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 29 21:18:55 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ba45c988

Fix some of the "Underfull \hbox" warnings.

 dependencies.tex | 19 ++++++++++---------
 1 file changed, 10 insertions(+), 9 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 0582be5..46485fc 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -6,7 +6,7 @@
 
 \begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
     \label{tab:phase-function-dependency-classes}
-    \begin{tabular}{ p{0.2\textwidth} p{0.7\textwidth} }
+    \begin{tabular}{P{7.5em} P{0.7\textwidth}}
       \toprule
       \multicolumn{1}{c}{\textbf{Phase function}} &
       \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
@@ -59,30 +59,31 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \item An all-of group, which consists of an open parenthesis, followed by whitespace,
     followed by zero or more of (a dependency item of any kind followed by whitespace), followed
     by a close parenthesis. More formally:
-    \t{all-of ::= '(' whitespace (item whitespace)* ')'}. Permitted in all specification style
-    variables.
+    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)* ')'}. Permitted in all specification
+    style variables.
 \item An any-of group, which consists of the string \t{||}, followed by whitespace,
     followed by an open parenthesis, followed by whitespace, followed by zero or more
     of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
-    More formally: \t{any-of ::= '||' whitespace '(' whitespace (item whitespace)* ')'}.
+    More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)* ')'}.
     Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED\_USE}.
 \item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{exactly-one-of ::= '\textasciicircum\textasciicircum' whitespace
-    '(' whitespace (item whitespace)* ')'}.
+    parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum'
+    whitespace '(' whitespace (item whitespace)* ')'}.
     Permitted in \t{REQUIRED\_USE}.
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{at-most-one-of ::= '??'\ whitespace '(' whitespace (item
-    whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
+    parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace
+    (item whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
     table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
     an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
     of any kind followed by whitespace), followed by a close parenthesis. More formally:
-    \t{use-conditional ::= '!'?\ flag-name '?'\ whitespace '(' whitespace (item whitespace)* ')'}.
+    \t{use-conditional} \t{::=} \t{'!'?\ flag-name '?'\ whitespace '(' whitespace (item
+    whitespace)* ')'}.
     Permitted in all specification style variables.
 \end{compactitem}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     f1538a2d9b13ff1d04ef349d137571895f3e0fc9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  3 19:59:31 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  4 22:41:59 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f1538a2d

pms.cls: More uniform style for algorithms and listings.

Number algorithms per chapter, as it is done for all other floats.
Use the same "ruled" caption style for listings as for algorithms.
Change header for the list of listings to "List of Listings".

 pms.cls | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index 0b900c0..222690c 100644
--- a/pms.cls
+++ b/pms.cls
@@ -18,6 +18,7 @@
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
+\PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
     fontenc,	% Load extended font sets
@@ -69,11 +70,12 @@
 
 % tex4ht workaround: these need to happen after loading the float package
 \g@addto@macro\@documentclasshook{
-    \floatstyle{plaintop}
+    \floatstyle{ruled}
     \newfloat{listing}{tbp}{lol}[chapter]
     \floatname{listing}{Listing}
 }
-\newcommand{\listoflistings}{\listof{listing}{Listings}}
+\newcommand{\listoflistings}{\listof{listing}{List of Listings}}
+
 % Define own label and reference commands, that display the label in
 % the page margin.
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     922a9febd7783cfb61b647f323aefff6fc9c8879
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  3 20:01:21 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  4 22:42:00 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=922a9feb

Inline all listing files. Fix verbatim environments.

 Makefile             | 12 +++++-------
 appendices.tex       | 12 ++++++++++--
 ebuild-env-state.tex | 32 ++++++++++++++++++++++++++++++--
 eclasses.tex         |  6 +++---
 env-saving.listing   | 27 ---------------------------
 if-else-use.listing  |  7 -------
 pkg-mgr-commands.tex |  7 ++++---
 7 files changed, 52 insertions(+), 51 deletions(-)

diff --git a/Makefile b/Makefile
index a20f5ec..4dcf33d 100644
--- a/Makefile
+++ b/Makefile
@@ -9,10 +9,8 @@ maintainer-clean: clean
 	rm -f vc.tex
 
 LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
-LISTINGFILES := $(wildcard *.listing)
-SOURCEFILES = $(LATEXFILES) $(LISTINGFILES)
 
-pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
+pms.pdf: $(LATEXFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 	@# latex chokes on aux files produced by tex4ht, so remove them
 	if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
 	pdflatex pms
@@ -20,7 +18,7 @@ pms.pdf: $(SOURCEFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 	pdflatex eapi-cheatsheet
 	pdflatex pms
 
-pms.html: $(SOURCEFILES) pms.bbl vc.tex
+pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# need to do it twice to make the big env var table work
 	mk4ht xhlatex pms xhtml,fn-in
 	mk4ht xhlatex pms xhtml,fn-in
@@ -54,15 +52,15 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 	pdflatex -jobname eapi-cheatsheet-nocombine \
 	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
 
-vc.tex: $(SOURCEFILES) vc-git.awk
+vc.tex: $(LATEXFILES) vc-git.awk
 	/bin/sh ./vc
 
-pms.dvi: $(SOURCEFILES) pms.bbl vc.tex
+pms.dvi: $(LATEXFILES) pms.bbl vc.tex
 	latex pms
 	latex pms
 	latex pms
 
-dist: $(SOURCEFILES) pms.bib vc vc-git.awk vc.tex Makefile
+dist: $(LATEXFILES) pms.bib vc vc-git.awk vc.tex Makefile
 	@if test -z $(PV); then \
 	  echo "Usage: $(MAKE) $@ PV=<version>"; false; \
 	fi

diff --git a/appendices.tex b/appendices.tex
index eb51dc9..0e64bc5 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -39,8 +39,16 @@ was met, and the block after the colon would be taken if the condition was not m
 This feature was deprecated and removed from the tree long before the introduction of \t{EAPI}.
 
 \begin{listing}
-  \caption{If-else use blocks}\label{lst:if-else-use-listing}
-  \verbatiminput{if-else-use.listing}
+\caption{If-else use blocks} \label{lst:if-else-use-listing}
+\begin{verbatim}
+DEPEND="
+    flag? (
+        taken/if-true
+    ) : (
+        taken/if-false
+    )
+    "
+\end{verbatim}
 \end{listing}
 
 \section{cvs Versions}

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 4bc80c7..3ddd1ab 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -20,8 +20,36 @@ in the build sequence.
 This is demonstrated by code listing~\ref{lst:env-saving}.
 
 \begin{listing}
-  \caption{Environment state between functions}\label{lst:env-saving}
-  \verbatiminput{env-saving.listing}
+\caption{Environment state between functions} \label{lst:env-saving}
+\begin{verbatim}
+GLOBAL_VARIABLE="a"
+
+src_compile()
+{
+    GLOBAL_VARIABLE="b"
+    DEFAULT_VARIABLE="c"
+    export EXPORTED_VARIABLE="d"
+    local LOCAL_VARIABLE="e"
+}
+
+src_install(){
+    [[ ${GLOBAL_VARIABLE} == "a" ]] \
+        || [[ ${GLOBAL_VARIABLE} == "b" ]] \
+        || die "broken env saving for globals"
+
+    [[ ${DEFAULT_VARIABLE} == "c" ]] \
+        || die "broken env saving for default"
+
+    [[ ${EXPORTED_VARIABLE} == "d" ]] \
+        || die "broken env saving for exported"
+
+    [[ $(printenv EXPORTED_VARIABLE ) == "d" ]] \
+        || die "broken env saving for exported"
+
+    [[ -z ${LOCAL_VARIABLE} ]] \
+        || die "broken env saving for locals"
+}
+\end{verbatim}
 \end{listing}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/eclasses.tex b/eclasses.tex
index 24ff77f..0f172f7 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -49,8 +49,8 @@ call the eclass-defined version from it. The use of it is best illustrated by an
 given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.
 
 \begin{listing}
-  \caption{EXPORT\_FUNCTIONS example: foo.eclass}\label{lst:export-functions}
-  \begin{verbatim}
+\caption{EXPORT\_FUNCTIONS example: foo.eclass} \label{lst:export-functions}
+\begin{verbatim}
 foo_src_compile()
 {
     econf --enable-gerbil \
@@ -60,7 +60,7 @@ foo_src_compile()
 }
 
 EXPORT_FUNCTIONS src_compile
-  \end{verbatim}
+\end{verbatim}
 \end{listing}
 
 This example defines an eclass \t{src\_compile} function and uses \t{EXPORT\_FUNCTIONS} to alias

diff --git a/env-saving.listing b/env-saving.listing
deleted file mode 100644
index 1650aa7..0000000
--- a/env-saving.listing
+++ /dev/null
@@ -1,27 +0,0 @@
-GLOBAL_VARIABLE="a"
-
-src_compile()
-{
-    GLOBAL_VARIABLE="b"
-    DEFAULT_VARIABLE="c"
-    export EXPORTED_VARIABLE="d"
-    local LOCAL_VARIABLE="e"
-}
-
-src_install(){
-    [[ ${GLOBAL_VARIABLE} == "a" ]] \
-        || [[ ${GLOBAL_VARIABLE} == "b" ]] \
-        || die "broken env saving for globals"
-
-    [[ ${DEFAULT_VARIABLE} == "c" ]] \
-        || die "broken env saving for default"
-
-    [[ ${EXPORTED_VARIABLE} == "d" ]] \
-        || die "broken env saving for exported"
-
-    [[ $(printenv EXPORTED_VARIABLE ) == "d" ]] \
-        || die "broken env saving for exported"
-
-    [[ -z ${LOCAL_VARIABLE} ]] \
-        || die "broken env saving for locals"
-}

diff --git a/if-else-use.listing b/if-else-use.listing
deleted file mode 100644
index 83a2ae8..0000000
--- a/if-else-use.listing
+++ /dev/null
@@ -1,7 +0,0 @@
-DEPEND="
-    flag? (
-        taken/if-true
-    ) : (
-        taken/if-false
-    )
-    "

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 83fbd68..d7347fe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -224,9 +224,10 @@ current phase function has returned.
     \t{D} instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
     Variable \t{libdir} is an auxiliary local variable whose value is determined by
     Algorithm~\ref{alg:ebuild-libdir}.
+
 \begin{listing}[H]
-  \caption{einstall command}\label{lst:einstall}
-  \begin{verbatim}
+\caption{einstall command} \label{lst:einstall}
+\begin{verbatim}
 emake \
    prefix="${ED}"/usr \
    datadir="${ED}"/usr/share \
@@ -238,7 +239,7 @@ emake \
    -j1 \
    "$@" \
    install
-  \end{verbatim}
+\end{verbatim}
 \end{listing}
 
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     dfa00e1c23e56373cbf353ed2c256d9d2f762357
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  3 20:03:01 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  4 22:42:01 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=dfa00e1c

Move listings of ebuild functions into listing environments.

 ebuild-functions.tex | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 480ccda..084e866 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -115,6 +115,8 @@ apply patches and set up the package's build system for further use.
 The initial working directory must be \t{WORKDIR}, and the default implementation used when
 the ebuild lacks the \t{src\_unpack} function shall behave as:
 
+\begin{listing}[H]
+\caption{src\_unpack} \label{lst:src-unpack}
 \begin{verbatim}
 src_unpack() {
     if [[ -n ${A} ]]; then
@@ -122,6 +124,7 @@ src_unpack() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 \subsection{src\_prepare}
 \label{sec:src-prepare-function}
@@ -164,6 +167,8 @@ section~\ref{sec:s-to-workdir-fallback}.
 The \t{src\_configure} function configures the package's build environment. The default
 implementation used when the ebuild lacks the \t{src\_configure} function shall behave as:
 
+\begin{listing}[H]
+\caption{src\_configure} \label{lst:src-configure}
 \begin{verbatim}
 src_configure() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -171,6 +176,7 @@ src_configure() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table}
@@ -202,6 +208,8 @@ section~\ref{sec:s-to-workdir-fallback}.
 0, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_compile, format~0} \label{lst:src-compile-0}
 \begin{verbatim}
 src_compile() {
     if [[ -x ./configure ]]; then
@@ -212,11 +220,14 @@ src_compile() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 \featurelabel{src-compile-1} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
 1, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_compile, format~1} \label{lst:src-compile-1}
 \begin{verbatim}
 src_compile() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -227,11 +238,14 @@ src_compile() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 \featurelabel{src-compile-2} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
 2, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_compile, format~2} \label{lst:src-compile-2}
 \begin{verbatim}
 src_compile() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -239,6 +253,7 @@ src_compile() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 \ChangeWhenAddingAnEAPI{5}
 \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table}
@@ -305,6 +320,8 @@ section~\ref{sec:s-to-workdir-fallback}.
 4, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
 as:
 
+\begin{listing}[H]
+\caption{src\_install, format~4} \label{lst:src-install-4}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -324,6 +341,7 @@ src_install() {
     fi
 }
 \end{verbatim}
+\end{listing}
 
 For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
 is a no-op.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-05 16:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-05 16:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4f8dcb4eda0ea7340a2f92f915e57d1fb440c2d5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  4 22:50:23 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  4 22:50:23 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4f8dcb4e

pms.cls: Drop colour support from tables.

This is no longer used; it is a remnant of the former kdebuild
conditional (see commit 13f550b7).

 pms.cls | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index 222690c..d4d5591 100644
--- a/pms.cls
+++ b/pms.cls
@@ -119,7 +119,6 @@
 \newenvironment{centertable}[1]%
 {
   \begin{table}
-    \ifx\mycolour\undefined\else\mycolour\fi
     \centering
     \caption{#1}
   }{


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-08  2:32 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-08  2:32 UTC (permalink / raw
  To: gentoo-commits

commit:     092263bf8bbe99e08835a772daeb37fc74b6b6a0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  8 02:14:50 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 02:14:50 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=092263bf

Update mailing list address.

 credits.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/credits.tex b/credits.tex
index 3a92a95..336ec51 100644
--- a/credits.tex
+++ b/credits.tex
@@ -22,8 +22,8 @@ Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI}
 assignee. There should be one bug per issue, and one issue per bug.
 
 Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the
-\t{gentoo-pms@gentoo.org} mailing list. Patches will be reviewed by the PMS team, who will do one of
-the following:
+\t{gentoo-pms@lists.gentoo.org} mailing list. Patches will be reviewed by the PMS team, who will do
+one of the following:
 
 \begin{compactitem}
 \item Accept and apply the patch.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-08 20:11 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-08 20:11 UTC (permalink / raw
  To: gentoo-commits

commit:     b92a940c1627b64f0eef9dce4fcafb2795f7a414
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Nov  8 19:35:59 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Nov  8 19:35:59 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b92a940c

Merge branch 'eapi-6'

 dependencies.tex        | 128 +++++-----
 eapi-cheatsheet.tex     | 257 +++++++++++++-------
 eapi-differences.tex    | 198 ++++++++++------
 eapis.tex               |  18 +-
 ebuild-env-commands.tex |  39 +--
 ebuild-env-vars.tex     | 107 ++++-----
 ebuild-format.tex       |  30 ++-
 ebuild-functions.tex    | 279 +++++++++++-----------
 ebuild-vars.tex         | 101 ++++----
 merge.tex               |  22 +-
 pkg-mgr-commands.tex    | 615 ++++++++++++++++++++++++++++++------------------
 pms.tex                 |   4 +-
 profile-variables.tex   |  25 +-
 profiles.tex            |  26 +-
 14 files changed, 1060 insertions(+), 789 deletions(-)


^ permalink raw reply	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-13 20:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-13 20:22 UTC (permalink / raw
  To: gentoo-commits

commit:     ee8ac4085912ddd6755c55d488560b18fd92d2eb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 13 20:19:22 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 13 20:19:22 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ee8ac408

Merge branch 'eapi-6'

 eapi-cheatsheet.tex  | 17 +++++++++++------
 eapi-differences.tex |  4 ++++
 ebuild-env-vars.tex  | 19 +++++++++++++++++++
 3 files changed, 34 insertions(+), 6 deletions(-)


^ permalink raw reply	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-22 12:34 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-22 12:34 UTC (permalink / raw
  To: gentoo-commits

commit:     a75487848fb744906ed16d6f3e03708898d213ec
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 19 12:58:38 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Nov 19 12:58:38 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a7548784

Do not mention various *OPTIONS variables.

DIROPTIONS, EXEOPTIONS, INSOPTIONS, and LIBOPTIONS are internal
variables of the package manager which can be set only with the
diropts, exeopts, insopts, and libopts functions, respectively.
Therefore they should not be mentioned by the specification.

Bug: 566178

 pkg-mgr-commands.tex | 41 +++++++++++++++++++++--------------------
 1 file changed, 21 insertions(+), 20 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index aace888..00758ce 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -363,12 +363,12 @@ the current phase function has returned.
     section~\ref{sec:failure-behaviour}.
 
 \item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode
-    \t{0644}. This can be overridden by setting \t{INSOPTIONS} with the \t{insopts} function.
+    \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dodir] Creates the given directories, by default with file mode \t{0755}. This can be overridden
-    by setting \t{DIROPTIONS} with the \t{diropts} function. Failure behaviour is EAPI dependent as
-    per section~\ref{sec:failure-behaviour}.
+\item[dodir] Creates the given directories, by default with file mode \t{0755}, or with the
+    \t{install} options set by the most recent \t{diropts} call. Failure behaviour is EAPI
+    dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dodoc] \featurelabel{dodoc} Installs the given files into a subdirectory under
     \t{/usr/share/doc/\$\{PF\}/} with file mode \t{0644}. The subdirectory is set by the most recent
@@ -379,12 +379,13 @@ the current phase function has returned.
     specified. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode
-    \t{0644}. This can be overridden by setting \t{INSOPTIONS} with the \t{insopts} function.
+    \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doexe] Installs the given files into the directory specified by the most recent \t{exeinto}
-    call, by default with file mode \t{0755}. This can be overridden by setting \t{EXEOPTIONS} with
-    the \t{exeopts} function. If \t{exeinto} has not yet been called, behaviour is undefined.
+    call. If \t{exeinto} has not yet been called, behaviour is undefined. Files are installed by
+    default with file mode \t{0755}, or with the \t{install} options set by the most recent
+    \t{exeopts} call.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dohard] Takes two parameters. Creates a hardlink from the second to the first. In EAPIs
@@ -392,8 +393,8 @@ the current phase function has returned.
     section~\ref{sec:banned-commands}.
 
 \item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},
-    by default with file mode \t{0644}. This can be overridden by setting \t{INSOPTIONS} with the
-    \t{insopts} function. If the first argument is \t{-r}, then operates recursively, descending
+    by default with file mode \t{0644}, or with the \t{install} options set by the most recent
+    \t{insopts} call. If the first argument is \t{-r}, then operates recursively, descending
     into any directories given.
     Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -424,22 +425,22 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \t{0644}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doinitd] Installs the given initscript files into \t{/etc/init.d}, by default with file mode
-    \t{0755}. This can be overridden by setting \t{EXEOPTIONS} with the \t{exeopts} function.
+    \t{0755}, or with the \t{install} options set by the most recent \t{exeopts} call.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into
-    \t{INSDESTTREE}, by default with file mode \t{0644}. This can be overridden by setting
-    \t{INSOPTIONS} with the \t{insopts} function. If the first argument is \t{-r}, then operates
-    recursively, descending into any directories given. For EAPIs listed in
-    table~\ref{tab:doins-table}, \t{doins} must install symlinks as symlinks;
-    for other EAPIs, behaviour is undefined if any symlink is encountered. Failure
-    behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{INSDESTTREE}, by default with file mode \t{0644}, or with the \t{install} options set by
+    the most recent \t{insopts} call. If the first argument is \t{-r}, then operates recursively,
+    descending into any directories given. For EAPIs listed in table~\ref{tab:doins-table},
+    \t{doins} must install symlinks as symlinks; for other EAPIs, behaviour is undefined if any
+    symlink is encountered. Failure behaviour is EAPI dependent as per
+    section~\ref{sec:failure-behaviour}.
 
 \item[dolib] For each argument, installs it into the appropriate library subdirectory under
-    \t{DESTTREE}, as determined by Algorithm~\ref{alg:ebuild-libdir}. The file mode is \t{0644}
-    by default. This can be overridden by setting \t{LIBOPTIONS} with the \t{libopts} function.
-    Any symlinks are installed into the same directory as relative links to their original target.
-    Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{DESTTREE}, as determined by Algorithm~\ref{alg:ebuild-libdir}. Files are installed by default
+    with file mode \t{0644}, or with the \t{install} options set by the most recent \t{libopts}
+    call. Any symlinks are installed into the same directory as relative links to their original
+    target. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dolib.so] As for \t{dolib} except each file is installed with mode \t{0755}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-27 17:24 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-27 17:24 UTC (permalink / raw
  To: gentoo-commits

commit:     20cfbe6ff3eb7d1b01a670048e2d1e8c88e964ed
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov 24 17:55:48 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Nov 24 17:55:48 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=20cfbe6f

REPLACING_VERSIONS: Clarify what whitespace-separated means.

This is also consistent with the spec for the A variable.

 ebuild-env-vars.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ef8bdcd..32cbde3 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -217,10 +217,10 @@ variable.
 \t{REPLACING\_VERSIONS} &
     \t{pkg\_*} (see text) &
     Yes &
-    A whitespace-separated list of versions of this package (including revision, if specified) that
-    are being replaced (uninstalled or overwritten) as a result of this install. See
-    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
-    as supporting \t{REPLACING\_VERSIONS}. \\
+    A list of all versions of this package (including revision, if specified), whitespace separated
+    with no leading or trailing whitespace, that are being replaced (uninstalled or overwritten)
+    as a result of this install. See section~\ref{sec:replacing-versions}. Only for EAPIs listed
+    in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING\_VERSIONS}. \\
 \t{REPLACED\_BY\_VERSION} &
     \t{pkg\_prerm}, \t{pkg\_postrm} &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-11-29 12:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-11-29 12:05 UTC (permalink / raw
  To: gentoo-commits

commit:     14d9ddf1268896b94780a82eb9179267e0c3f313
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 27 21:15:09 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 27 21:15:09 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=14d9ddf1

Suppress header line on credits page.

 credits.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/credits.tex b/credits.tex
index 336ec51..8e2a0ad 100644
--- a/credits.tex
+++ b/credits.tex
@@ -1,3 +1,5 @@
+\chapter*{}
+
 \section*{Acknowledgements}
 
 Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-12-08 23:14 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-12-08 23:14 UTC (permalink / raw
  To: gentoo-commits

commit:     fbcb58732d0a75138c0c7185f914d10f448ed472
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  8 22:59:33 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec  8 22:59:33 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fbcb5873

Appendix: Include EAPI differences sections in table of contents.

 eapi-differences.tex | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 28ef6e3..c552497 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -249,11 +249,11 @@ File mtimes preserved & \compactfeatureref{mtime-preserve} &
 
 \note This chapter is informative and for convenience only. Refer to the main text for specifics.
 
-\section*{EAPI 0}
+\section{EAPI 0}
 
 EAPI 0 is the base EAPI.
 
-\section*{EAPI 1}
+\section{EAPI 1}
 
 EAPI 1 is EAPI 0 with the following changes:
 
@@ -263,7 +263,7 @@ EAPI 1 is EAPI 0 with the following changes:
 \item Different \t{src\_compile} implementation, \featureref{src-compile-1}.
 \end{compactitem}
 
-\section*{EAPI 2}
+\section{EAPI 2}
 
 EAPI 2 is EAPI 1 with the following changes:
 
@@ -280,7 +280,7 @@ EAPI 2 is EAPI 1 with the following changes:
 \item \t{default} function, \featureref{default-func}.
 \end{compactitem}
 
-\section*{EAPI 3}
+\section{EAPI 3}
 
 EAPI 3 is EAPI 2 with the following changes:
 \begin{compactitem}
@@ -290,7 +290,7 @@ EAPI 3 is EAPI 2 with the following changes:
 \item File modification times are preserved, \featureref{mtime-preserve}.
 \end{compactitem}
 
-\section*{EAPI 4}
+\section{EAPI 4}
 
 EAPI 4 is EAPI 3 with the following changes:
 
@@ -319,7 +319,7 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
-\section*{EAPI 5}
+\section{EAPI 5}
 
 EAPI 5 is EAPI 4 with the following changes:
 
@@ -340,7 +340,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\section*{EAPI 6}
+\section{EAPI 6}
 
 EAPI 6 is EAPI 5 with the following changes:
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2015-12-08 23:14 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2015-12-08 23:14 UTC (permalink / raw
  To: gentoo-commits

commit:     1da137e49aa5a52bb13500192d394b6dd53210da
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec  8 22:57:47 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec  8 22:57:47 2015 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1da137e4

Appendix: Do not number sections.

 pms.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pms.tex b/pms.tex
index c96fc05..01dee98 100644
--- a/pms.tex
+++ b/pms.tex
@@ -65,6 +65,8 @@
 \bibliography{pms}
 
 \appendix
+\setcounter{secnumdepth}{0}
+
 \include{appendices}
 
 \include{eapi-differences}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-02-18 16:50 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-02-18 16:50 UTC (permalink / raw
  To: gentoo-commits

commit:     26df5265da4cee62a997cb43e68f285ce8cd287c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 18 16:41:20 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 18 16:41:20 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=26df5265

pkg-mgr-commands.tex: Typo.

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 00758ce..be157cf 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -849,7 +849,7 @@ has returned.
     \featurelabel{unpack-extensions} Must be able to unpack the following file formats, if the
     relevant binaries are available:
     \begin{itemize}
-    \item tar files (\t{*.tar}). Ebuilds must ensure that GNU tar installed.
+    \item tar files (\t{*.tar}). Ebuilds must ensure that GNU tar is installed.
     \item gzip-compressed files (\t{*.gz, *.Z}). Ebuilds must ensure that GNU gzip is installed.
     \item gzip-compressed tar files (\t{*.tar.gz, *.tgz, *.tar.Z}). Ebuilds must ensure that
     GNU gzip and GNU tar are installed.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-03-14 17:48 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-03-14 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     44ff2c69cebafccb4a61f2b3956878572ab79fa9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 11 18:17:09 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Mar 11 18:17:09 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=44ff2c69

credits.tex: Formatting fix.

 credits.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/credits.tex b/credits.tex
index 6757dd8..0299a55 100644
--- a/credits.tex
+++ b/credits.tex
@@ -30,7 +30,7 @@ one of the following:
 \begin{compactitem}
 \item Accept and apply the patch.
 \item Explain why the patch cannot be applied as-is. The patch may then be updated and resubmitted
-if \mbox{appropriate}.
+if appropriate.
 \item Reject the patch outright.
 \item Take special action merited by the individual circumstances.
 \end{compactitem}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-03-14 17:48 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-03-14 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     9dbea8e5d45b24f6b142697eeb4bef70a205499b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 11 18:16:45 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Mar 11 18:16:45 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9dbea8e5

credits.tex: Update copyright notice.

 credits.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/credits.tex b/credits.tex
index 8e2a0ad..6757dd8 100644
--- a/credits.tex
+++ b/credits.tex
@@ -10,9 +10,9 @@ proof-reading and suggestions for fixes and/or clarification.
 
 \section*{Copyright and Licence}
 
-The bulk of this document is \textcopyright{} 2007, 2008, 2009 Stephen Bennett and Ciaran McCreesh.
-Contributions are owned by their respective authors, and may have been changed substantially before
-inclusion.
+The bulk of this document is \textcopyright{} 2007--2016 Stephen Bennett, Christian Faulhammer,
+Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
+have been changed substantially before inclusion.
 
 This document is released under the Creative Commons Attribution-Share Alike 3.0 Licence. The full
 text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-04-30  5:24 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-04-30  5:24 UTC (permalink / raw
  To: gentoo-commits

commit:     3d40a84ab858b0e058495c6e8163785ae6021ebe
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 29 20:32:20 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 30 05:09:48 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3d40a84a

appendices.tex: metadata.xml is now specified by GLEP 68

 appendices.tex | 2 +-
 pms.bib        | 8 ++++++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/appendices.tex b/appendices.tex
index 0e64bc5..16edce2 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -3,7 +3,7 @@
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
-and is described in the DTD file located at \url{https://www.gentoo.org/dtd/metadata.dtd}.
+and is described in GLEP 68~\cite{Glep68}.
 
 \chapter{Unspecified Items}
 

diff --git a/pms.bib b/pms.bib
index 88885e2..2221f75 100644
--- a/pms.bib
+++ b/pms.bib
@@ -13,3 +13,11 @@
     month = Dec,
     howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:44}"
 }
+
+@misc{Glep68,
+    author = {Michał Górny},
+    title = {{GLEP} 68: Package and category metadata},
+    year = 2016,
+    month = Apr,
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:68}"
+}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-05-11 19:59 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-05-11 19:59 UTC (permalink / raw
  To: gentoo-commits

commit:     571fb06ee654d9af7cc53772fb99adb70abac62e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 17:23:31 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  6 17:23:31 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=571fb06e

Typographic fix: Use compactitem rather than itemize.

 ebuild-vars.tex      | 4 ++--
 pkg-mgr-commands.tex | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 43ce528..1577e26 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -147,7 +147,7 @@ these values are different.
 
 Keywords are used to indicate levels of stability of a package on a respective architecture
 \t{arch}. The following conventions are used:
-\begin{itemize}
+\begin{compactitem}
 \item \t{arch}: Both the package version and the ebuild are widely tested, known to work and not
     have any serious issues on the indicated platform. This is referred to as a \i{stable keyword}.
 \item \t{\textasciitilde arch}: The package version and the ebuild are believed to work and do
@@ -157,7 +157,7 @@ Keywords are used to indicate levels of stability of a package on a respective a
 \item No keyword: It is not known whether the package will work, or insufficient testing has
     occurred.
 \item \t{-arch}: The package version will not work on the architecture.
-\end{itemize}
+\end{compactitem}
 The \t{-*} keyword is used to indicate package versions which are not worth trying to test on
 unlisted architectures.
 

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index be157cf..a8aa12b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -834,14 +834,14 @@ has returned.
     under the current working directory additionally have permissions \t{a+x}.
 
     Arguments to \t{unpack} are interpreted as follows:
-    \begin{itemize}
+    \begin{compactitem}
     \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
     \item An argument starting with the string \t{./} is a path relative to the working directory.
     \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
         table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
         interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
         listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
-    \end{itemize}
+    \end{compactitem}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format
     fails, \t{unpack} shall abort the build process.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-05-11 19:59 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-05-11 19:59 UTC (permalink / raw
  To: gentoo-commits

commit:     1afb71f3cdeb145999c872c30e97a4a00ef6575b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 14:01:01 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  6 14:01:01 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1afb71f3

pms.cls: Include subsubsections in table of contents.

Bug: 340333

 pms.cls | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index e4c3da4..57d7356 100644
--- a/pms.cls
+++ b/pms.cls
@@ -93,9 +93,9 @@
 % Redefine the titlepage environment not to reset the page number
 \renewenvironment{titlepage}{\newpage\thispagestyle{empty}}{\newpage}
 
-% Enumerate subsubsections, but don't include them in the toc.
+% Enumerate subsubsections and include them in the toc
 \setcounter{secnumdepth}{3}
-\setcounter{tocdepth}{2}
+\setcounter{tocdepth}{3}
 
 % Don't reset the footnote counter for each chapter
 \counterwithout{footnote}{chapter}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-05-11 19:59 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-05-11 19:59 UTC (permalink / raw
  To: gentoo-commits

commit:     046641ac31e7036f06df32b3f3afabd91b78c9ea
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 13:47:19 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  6 13:47:19 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=046641ac

pms.cls: Reformat macro definition for readability.

 pms.cls | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index d4d5591..e4c3da4 100644
--- a/pms.cls
+++ b/pms.cls
@@ -169,8 +169,11 @@
 
 % To find everywhere that needs updating when we add an EAPI
 \newcommand{\CurrentEAPIIs}[1]{\def\TheCurrentEAPI{#1}}
-\newcommand{\ChangeWhenAddingAnEAPI}[1]{\ifthenelse{\equal{\TheCurrentEAPI}{#1}}{}{\errmessage{This
-needs to be updated for EAPI \TheCurrentEAPI}}}
+\newcommand{\ChangeWhenAddingAnEAPI}[1]{%
+    \ifthenelse{\equal{\TheCurrentEAPI}{#1}}{}{%
+        \errmessage{This needs to be updated for EAPI \TheCurrentEAPI}%
+    }%
+}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-05-11 19:59 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-05-11 19:59 UTC (permalink / raw
  To: gentoo-commits

commit:     f0cd8a286b4051cbb1f57bb28b74437e0a917ba9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 17:25:22 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  6 17:25:22 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f0cd8a28

Typographic fix: Suppress vertical space after featurelabel.

 pkg-mgr-commands.tex | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a8aa12b..78b5a3b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -227,10 +227,9 @@ current phase function has returned.
     Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly
     to \t{./configure}, after the default options below. \t{econf} will look in the current working
     directory for a configure script unless the \t{ECONF\_SOURCE} environment variable is set,
-    in which case it is taken to be the directory containing it. \t{econf} must pass the following
-    options to the configure script:
+    in which case it is taken to be the directory containing it.
 
-    \featurelabel{econf-options}
+    \featurelabel{econf-options} \t{econf} must pass the following options to the configure script:
     \begin{itemize}
     \item -{}-prefix must default to \t{\$\{EPREFIX\}/usr} unless overridden by \t{econf}'s caller.
     \item -{}-mandir must be \t{\$\{EPREFIX\}/usr/share/man}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-05-14 10:11 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-05-14 10:11 UTC (permalink / raw
  To: gentoo-commits

commit:     5b2f4cf0b533bfdcd48cfa0f3768a8b64ee1c9f4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  6 17:49:15 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  6 17:49:15 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5b2f4cf0

Use \textbackslash rather than math mode.

 names.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/names.tex b/names.tex
index 2fc59b6..f5cc9bf 100644
--- a/names.tex
+++ b/names.tex
@@ -53,8 +53,8 @@ hyphen, a dot or a plus sign.
 The package manager must not impose fixed limits upon the number of version components. Package
 managers should indicate or reject any version that is invalid according to these rules.
 
-A version starts with the number part, which is in the form \t{[0-9]+($\backslash$.[0-9]+)*} (a positive
-integer, followed by zero or more dot-prefixed positive integers).
+A version starts with the number part, which is in the form \t{[0-9]+(\textbackslash.[0-9]+)*}
+(a positive integer, followed by zero or more dot-prefixed positive integers).
 
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-06-04  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-06-04  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     fa4ac9474048ec75af138fc61f22485c06aac5b7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 09:31:58 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 29 09:31:58 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fa4ac947

Define the FILESDIR variable in global scope.

This is needed for assigning PATCHES in EAPI 6.

Also add a note that ebuilds must not access the actual directory
in global scope. The situation is similar to WORKDIR which is also
defined in global scope (for assigning S) but with the dir not being
available there.

 ebuild-env-vars.tex | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 32cbde3..ba947e2 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -84,12 +84,14 @@ variable.
     of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in
     table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\
 \t{FILESDIR} &
-    \t{src\_*}\footnote{Not necessarily present when installing from a binary package} &
+    \t{src\_*}, global~scope%
+    \footnote{Not necessarily present when installing from a binary package} &
     No &
-    The full path to the package's files directory, used for small support files or
-    patches. See section~\ref{sec:package-dirs}. May or may not exist; if a repository provides no
-    support files for the package in question then an ebuild must be prepared for the situation
-    where \t{FILESDIR} points to a non-existent directory. \\
+    The full path to the package's files directory, used for small support files or patches.
+    See section~\ref{sec:package-dirs}. Ebuilds must not access the directory in global scope.
+    May or may not exist; if a repository provides no support files for the package in question
+    then an ebuild must be prepared for the situation where \t{FILESDIR} points to a non-existent
+    directory. \\
 \t{PORTDIR} &
     Ditto &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-06-04  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-06-04  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     41ebe2080831ba2f2d009bab171ab7cd7bcfdef8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 29 09:38:34 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 29 09:38:34 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=41ebe208

In footnotes, end complete sentences with full stops.

 ebuild-env-vars.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ba947e2..7a58f05 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -40,7 +40,7 @@ variable.
 \endlastfoot
 \t{P} &
     All &
-    No\footnote{May change if a package has been updated (see~\ref{sec:updates-dir})} &
+    No\footnote{May change if a package has been updated (see~\ref{sec:updates-dir}).} &
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
 \t{PN} &
     All &
@@ -85,7 +85,7 @@ variable.
     table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\
 \t{FILESDIR} &
     \t{src\_*}, global~scope%
-    \footnote{Not necessarily present when installing from a binary package} &
+    \footnote{Not necessarily present when installing from a binary package.} &
     No &
     The full path to the package's files directory, used for small support files or patches.
     See section~\ref{sec:package-dirs}. Ebuilds must not access the directory in global scope.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-06-09  1:06 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-06-09  1:06 UTC (permalink / raw
  To: gentoo-commits

commit:     22a0ce7c0fe649572956f60d13e1003ced401689
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun  5 10:11:02 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun  5 10:11:02 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=22a0ce7c

Restore proper scope for PORTDIR and ECLASSDIR.

Commit fa4ac9474048ec75af138fc61f22485c06aac5b7 had inadvertently
changed the scope of the PORTDIR and ECLASSDIR variables which were
referring to FILESDIR by a "ditto" in the second column. Restore both
variables to src_*. To this end, reorder variables such that DISTDIR
follows FILESDIR, and move the remark about accessing the directory
into the footnote.

Note: Similar to FILESDIR, accessing DISTDIR in global scope is needed
for assignment of the PATCHES variable in EAPI 6.

Thanks to mgorny for pointing this out.

 ebuild-env-vars.tex | 21 ++++++++++-----------
 1 file changed, 10 insertions(+), 11 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 7a58f05..469f0cd 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -84,24 +84,23 @@ variable.
     of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in
     table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\
 \t{FILESDIR} &
-    \t{src\_*}, global~scope%
-    \footnote{Not necessarily present when installing from a binary package.} &
+    \t{src\_*}, global~scope\footnote{Not necessarily present when installing from a binary package.
+    Ebuilds must not access the directory in global scope.} &
     No &
     The full path to the package's files directory, used for small support files or patches.
-    See section~\ref{sec:package-dirs}. Ebuilds must not access the directory in global scope.
-    May or may not exist; if a repository provides no support files for the package in question
-    then an ebuild must be prepared for the situation where \t{FILESDIR} points to a non-existent
-    directory. \\
-\t{PORTDIR} &
-    Ditto &
-    No &
-    The full path to the master repository's base directory. \\
+    See section~\ref{sec:package-dirs}. May or may not exist; if a repository provides no support
+    files for the package in question then an ebuild must be prepared for the situation where
+    \t{FILESDIR} points to a non-existent directory. \\
 \t{DISTDIR} &
     Ditto &
     No &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
+\t{PORTDIR} &
+    \t{src\_*} &
+    No &
+    The full path to the master repository's base directory. \\
 \t{ECLASSDIR} &
-    Ditto &
+    \t{src\_*} &
     No &
     The full path to the master repository's eclass directory. \\
 \t{ROOT} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-06-13  6:29 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-06-13  6:29 UTC (permalink / raw
  To: gentoo-commits

commit:     4a48d5b25f4e9b687427d47932cc4692adad10ec
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun  9 19:46:01 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jun  9 20:59:32 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4a48d5b2

Specify restrictions upon license names.

 ebuild-vars.tex | 3 ++-
 names.tex       | 5 +++++
 2 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 1577e26..5f53c33 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -51,7 +51,8 @@ Ebuilds may define any of the following variables:
     \t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror
     behaviour). Fetch restricted packages may include URL parts consisting of just a filename.
     See section~\ref{sec:dependencies} for full syntax.
-\item[LICENSE] The package's license. Each text token must correspond to a tree ``licenses/'' entry
+\item[LICENSE] The package's license. Each text token must be a valid license name, as per
+    section~\ref{sec:license-names}, and must correspond to a tree ``licenses/'' entry
     (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependencies} for full syntax.
     \label{ebuild-var-LICENSE}
 \item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid

diff --git a/names.tex b/names.tex
index f5cc9bf..d26fed6 100644
--- a/names.tex
+++ b/names.tex
@@ -37,6 +37,11 @@ described in section~\ref{sec:use-iuse-handling}.
 A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
 hyphen. In addition, every repository name must also be a valid package name.
 
+\subsection{License Names}
+\label{sec:license-names}
+A license name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+hyphen, a dot or a plus sign.
+
 \subsection{Keyword Names}
 \label{sec:keyword-names}
 A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-06-15 21:13 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-06-15 21:13 UTC (permalink / raw
  To: gentoo-commits

commit:     0c0488b413224a355d8dc46d9e135516d5673edf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 15 20:57:16 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 15 20:57:16 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0c0488b4

Makefile: mk4ht must be run three times for some longtables.

This also fixes the xhtml syntax in their caption, therefore allowing
to remove one of the sed hacks.

 Makefile | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/Makefile b/Makefile
index 4dcf33d..df536ff 100644
--- a/Makefile
+++ b/Makefile
@@ -19,7 +19,9 @@ pms.pdf: $(LATEXFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
 	pdflatex pms
 
 pms.html: $(LATEXFILES) pms.bbl vc.tex
-	@# need to do it twice to make the big env var table work
+	@# need to do it twice to make the big env var table work ...
+	@# ... and a third time for the eapi features table
+	mk4ht xhlatex pms xhtml,fn-in
 	mk4ht xhlatex pms xhtml,fn-in
 	mk4ht xhlatex pms xhtml,fn-in
 	@# some www servers ignore meta tags, resulting in a wrong charset.
@@ -30,8 +32,6 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
 	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' pms.html
-	@# fix xhtml syntax in longtable captions
-	LC_ALL=C sed -i -e 's%</td>\( *<div class="multicolumn"\)%\1%;tx;b;:x;s%</tr>%</td>&%;t;n;bx' pms.html
 	@# indent algorithms properly, and avoid adding extra vertical
 	@# space in Konqueror
 	LC_ALL=C sed -i -e 's/span style="width:/span style="display:-moz-inline-box;display:inline-block;height:1px;width:/' pms.html


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-09-15 18:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-09-15 18:42 UTC (permalink / raw
  To: gentoo-commits

commit:     f2241b9c1a9b2e7b791b1d732fd1a37c73a035d3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 06:50:04 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 06:50:04 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f2241b9c

tree-layout.tex: Remove item list of ebuild file name components.

This was another leftover of the kdebuild-1 conditionals,
see commit 51ad24e7c6eab928eabe4aedeba18946d76363dd.

 tree-layout.tex | 12 +++---------
 1 file changed, 3 insertions(+), 9 deletions(-)

diff --git a/tree-layout.tex b/tree-layout.tex
index 0554a64..dfb8496 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -57,15 +57,9 @@ A package directory contains the following:
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}
 
-Any ebuild in a package directory must be named \t{name-ver.suffix}, where:
-
-\begin{compactitem}
-\item \t{name} is the (unqualified) package name.
-\item \t{ver} is the package's version.
-\item \label{file-extension} \t{suffix} is \t{ebuild}.
-\end{compactitem}
-
-Package managers must ignore any ebuild file that does not match these rules.
+Any ebuild in a package directory must be named \t{name-ver.ebuild}, where \t{name} is the
+(unqualified) package name, and \t{ver} is the package's version. Package managers must ignore
+any ebuild file that does not match these rules.
 
 A package directory that contains no correctly named ebuilds shall be considered a package with no
 versions. A package with no versions shall be considered equivalent to a package that does not


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-09-15 18:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-09-15 18:42 UTC (permalink / raw
  To: gentoo-commits

commit:     e8e5e57caa1179a262aad362ba9a65e938257159
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 06:54:57 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 06:54:57 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e8e5e57c

tree-layout.tex: Clarify that empty Manifest files can be omitted.

With thin manifests the file can end up empty (e.g., if the package
contains only live ebuilds). Current practice is to leave such empty
files out.

 tree-layout.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tree-layout.tex b/tree-layout.tex
index dfb8496..e215cf8 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -53,7 +53,8 @@ A package directory contains the following:
 \item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
-\item A \t{Manifest} file, whose format is described in~\cite{Glep44}.
+\item A \t{Manifest} file, whose format is described in~\cite{Glep44}. Can be omitted if the file
+    would be empty.
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-09-15 18:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-09-15 18:42 UTC (permalink / raw
  To: gentoo-commits

commit:     bc56fb9fc8d3f5db4f004a689c9aebdfec9fded3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Sep 13 07:39:47 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Sep 13 07:39:47 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bc56fb9f

Remove unused labels.

 dependencies.tex          |  2 +-
 ebuild-env-commands.tex   |  1 -
 ebuild-env-invariancy.tex |  1 -
 ebuild-functions.tex      | 38 +++++++++++---------------------------
 ebuild-vars.tex           |  1 -
 profiles.tex              |  2 --
 6 files changed, 12 insertions(+), 33 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index a800264..9037ca1 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -239,7 +239,7 @@ rather than a requirement---that is to say, the specified package must not be in
 following exceptions:
 
 \begin{compactitem}
-\item Blocks on a package provided exclusively by the ebuild do not count. \label{provided-blocks}
+\item Blocks on a package provided exclusively by the ebuild do not count.
 \item Weak blocks on the package version of the ebuild itself do not count.
 \end{compactitem}
 

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 72228da..5deb388 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -1,5 +1,4 @@
 \section{Available commands}
-\label{sec:ebuild-env-commands}
 
 This section documents the commands available to an ebuild. Unless otherwise specified, they may be
 aliases, shell functions, or executables in the ebuild's \t{PATH}.

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index 0334a4d..d69c510 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -1,5 +1,4 @@
 \section{The state of the system between functions}
-\label{sec:ebuild-env-invariancy}
 
 For the sake of this section:
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 6983ddb..e808a6a 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -2,7 +2,6 @@
 \label{sec:ebuild-functions}
 
 \section{List of Functions}
-\label{sec:functions}
 
 The following is a list of functions that an ebuild, or eclass, may define, and which will be called
 by the package manager as part of the build and/or install process. In all cases the package manager
@@ -59,7 +58,6 @@ fallback to \t{WORKDIR} is used:
 \end{centertable}
 
 \subsection{pkg\_pretend}
-\label{sec:pkg-pretend-function}
 
 \featurelabel{pkg-pretend} The \t{pkg\_pretend} function is only called for EAPIs listed in
 table~\ref{tab:pkg-pretend-table} as supporting it.
@@ -91,7 +89,7 @@ before the next phase is executed.
 \end{centertable}
 
 \subsection{pkg\_setup}
-\label{sec:pkg-setup-function}
+
 The \t{pkg\_setup} function sets up the ebuild's environment for all following functions, before
 the build process starts. Further, it checks whether any necessary prerequisites not covered
 by the package manager, e.\,g.\ that certain kernel configuration options are fulfilled.
@@ -100,17 +98,15 @@ by the package manager, e.\,g.\ that certain kernel configuration options are fu
 and/or groups to the system.
 
 \subsection{src\_unpack}
-\label{sec:src-unpack-function}
 
-\featurelabel{src-unpack} The \t{src\_unpack} function extracts all of
-the package's sources. In EAPIs lacking \t{src\_prepare}, it may also
-apply patches and set up the package's build system for further use.
+The \t{src\_unpack} function extracts all of the package's sources. In EAPIs lacking
+\t{src\_prepare}, it may also apply patches and set up the package's build system for further use.
 
 The initial working directory must be \t{WORKDIR}, and the default implementation used when
 the ebuild lacks the \t{src\_unpack} function shall behave as:
 
 \begin{listing}[H]
-\caption{src\_unpack} \label{lst:src-unpack}
+\caption{src\_unpack}
 \begin{verbatim}
 src_unpack() {
     if [[ -n ${A} ]]; then
@@ -121,7 +117,6 @@ src_unpack() {
 \end{listing}
 
 \subsection{src\_prepare}
-\label{sec:src-prepare-function}
 
 \featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
 table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
@@ -135,7 +130,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_prepare, format~6} \label{lst:src-prepare-6}
+\caption{src\_prepare, format~6}
 \begin{verbatim}
 src_prepare() {
     if declare -p PATCHES | grep -q "^declare -a "; then
@@ -168,7 +163,6 @@ the \t{src\_prepare} function is a no-op.
 \end{centertable}
 
 \subsection{src\_configure}
-\label{sec:src-configure-function}
 
 \featurelabel{src-configure} The \t{src\_configure} function is only called for EAPIs listed in
 table~\ref{tab:src-configure-table} as supporting it.
@@ -180,7 +174,7 @@ The \t{src\_configure} function configures the package's build environment. The
 implementation used when the ebuild lacks the \t{src\_configure} function shall behave as:
 
 \begin{listing}[H]
-\caption{src\_configure} \label{lst:src-configure}
+\caption{src\_configure}
 \begin{verbatim}
 src_configure() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -205,7 +199,6 @@ src_configure() {
 \end{centertable}
 
 \subsection{src\_compile}
-\label{sec:src-compile-function}
 
 \featurelabel{src-compile} The \t{src\_compile} function configures the package's build environment
 in EAPIs lacking \t{src\_configure}, and builds the package in all EAPIs.
@@ -218,7 +211,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~0} \label{lst:src-compile-0}
+\caption{src\_compile, format~0}
 \begin{verbatim}
 src_compile() {
     if [[ -x ./configure ]]; then
@@ -236,7 +229,7 @@ src_compile() {
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~1} \label{lst:src-compile-1}
+\caption{src\_compile, format~1}
 \begin{verbatim}
 src_compile() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -254,7 +247,7 @@ src_compile() {
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~2} \label{lst:src-compile-2}
+\caption{src\_compile, format~2}
 \begin{verbatim}
 src_compile() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -280,7 +273,6 @@ src_compile() {
 \end{centertable}
 
 \subsection{src\_test}
-\label{sec:src-test-function}
 
 The \t{src\_test} function runs unit tests for the newly built but not yet installed package as
 provided.
@@ -312,7 +304,6 @@ be disabled by user too, using a PM-specific mechanism.
 \end{centertable}
 
 \subsection{src\_install}
-\label{sec:src-install-function}
 
 \featurelabel{src-install} The \t{src\_install} function installs the package's content to a
 directory specified in \t{D}.
@@ -325,7 +316,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_install, format~4} \label{lst:src-install-4}
+\caption{src\_install, format~4}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -352,7 +343,7 @@ src_install() {
 as:
 
 \begin{listing}[H]
-\caption{src\_install, format~6} \label{lst:src-install-6}
+\caption{src\_install, format~6}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -382,7 +373,6 @@ is a no-op.
 \end{centertable}
 
 \subsection{pkg\_preinst}
-\label{sec:pkg-preinst-function}
 
 The \t{pkg\_preinst} function performs any special tasks that are required immediately before
 merging the package to the live filesystem. It must not write outside of the directories specified
@@ -392,7 +382,6 @@ by the \t{ROOT} and \t{D} environment variables.
 the \t{ROOT} and \t{D} environment variables.
 
 \subsection{pkg\_postinst}
-\label{sec:pkg-postinst-function}
 
 The \t{pkg\_postinst} function performs any special tasks that are required immediately after
 merging the package to the live filesystem. It must not write outside of the directory specified
@@ -402,7 +391,6 @@ in the \t{ROOT} environment variable.
 below that specified by the \t{ROOT} environment variable.
 
 \subsection{pkg\_prerm}
-\label{sec:pkg-prerm-function}
 
 The \t{pkg\_prerm} function performs any special tasks that are required immediately before
 unmerging the package from the live filesystem. It must not write outside of the directory specified
@@ -412,7 +400,6 @@ by the \t{ROOT} environment variable.
 the \t{ROOT} environment variable.
 
 \subsection{pkg\_postrm}
-\label{sec:pkg-postrm-function}
 
 The \t{pkg\_postrm} function performs any special tasks that are required immediately after
 unmerging the package from the live filesystem. It must not write outside of the directory specified
@@ -422,7 +409,6 @@ by the \t{ROOT} environment variable.
 the \t{ROOT} environment variable.
 
 \subsection{pkg\_config}
-\label{sec:pkg-config-function}
 
 The \t{pkg\_config} function performs any custom steps required to configure a package after it has been
 fully installed. It is the only ebuild function which may be interactive and prompt for user input.
@@ -430,7 +416,6 @@ fully installed. It is the only ebuild function which may be interactive and pro
 \t{pkg\_config} must be run with full access to all files and directories inside of \t{ROOT}.
 
 \subsection{pkg\_info}
-\label{sec:pkg-info-function}
 
 \featurelabel{pkg-info} The \t{pkg\_info} function may be called by the package manager when
 displaying information about an installed package. In EAPIs listed in table~\ref{tab:pkg-info-table}
@@ -455,7 +440,6 @@ that dependencies may not be installed.
 \end{centertable}
 
 \subsection{pkg\_nofetch}
-\label{sec:pkg-nofetch-function}
 
 The \t{pkg\_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and
 the relevant source files are not available. It should direct the user to download all relevant

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 5f53c33..996ad16 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -115,7 +115,6 @@ Ebuilds may define any of the following variables:
 \end{centertable}
 
 \subsection{EAPI}
-\label{sec:pre-source-eapi}
 
 An empty or unset \t{EAPI} value is equivalent to \t{0}. Ebuilds must not assume that they will get
 a particular one of these two values if they are expecting one of these two values.

diff --git a/profiles.tex b/profiles.tex
index c677582..35f85b3 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -64,7 +64,6 @@ bash syntax, is allowed as follows:
 \end{compactitem}
 
 \subsection{Simple line-based files}
-\label{sec:line-stacking}
 These files are a simple one-item-per-line list, which is inherited in the following manner: the
 parent profile's list is taken, and the current profile's list appended. If any line begins with a
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
@@ -107,7 +106,6 @@ that the package should have the USE flag disabled.  The package dependency spec
 the forms defined by the directory's EAPI.
 
 \subsection{USE masking and forcing}
-\label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},
 and \t{package.use.\allowbreak stable.force}. They are described together because they interact in


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-10-03 13:32 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-10-03 13:32 UTC (permalink / raw
  To: gentoo-commits

commit:     ce959f39c8dcb655b8455356f4b8f22888e73ba8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 21 21:31:35 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Sep 21 21:31:35 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ce959f39

vc: Sync from dev-tex/vc-0.5-r1.

 vc         | 2 +-
 vc-git.awk | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/vc b/vc
index 5eb7f0f..4e13d71 100644
--- a/vc
+++ b/vc
@@ -20,5 +20,5 @@ LC_ALL=C
 git --no-pager log -1 HEAD --pretty=format:"Hash: %H%nAbr. Hash: %h%nParent Hashes: %P%nAbr. Parent Hashes: %p%nAuthor Name: %an%nAuthor Email: %ae%nAuthor Date: %ai%nCommitter Name: %cn%nCommitter Email: %ce%nCommitter Date: %ci%n" |gawk -v script=log -v full=$full -f vc-git.awk > vc.tex
 if [ "$mod" = 1 ]
 then
-  git status |gawk -v script=status -f vc-git.awk >> vc.tex
+  git status --porcelain |gawk -v script=status -f vc-git.awk >> vc.tex
 fi

diff --git a/vc-git.awk b/vc-git.awk
index d349a93..8b9b052 100644
--- a/vc-git.awk
+++ b/vc-git.awk
@@ -24,9 +24,9 @@ script=="log" && /^Committer Date:/ { CommitterDate = substr($0, 2+match($0, ":"
 
 ### Process output of "git status".
 ### Changed index?
-script=="status" && /^# Changes to be committed:/ { modified = 1 }
+script=="status" && /^[MADRC]/ { if (modified == 0) modified = 1 }
 ### Unstaged modifications?
-script=="status" && /^# Changed but not updated:/ { modified = 2 }
+script=="status" && /^.[MD]/ { modified = 2 }
 
 
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-10-06 14:03 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-10-06 14:03 UTC (permalink / raw
  To: gentoo-commits

commit:     5b1638a8e017ecdb053f6bc113443becc240caff
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  3 13:55:22 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct  3 13:55:22 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5b1638a8

pkg-mgr-commands.tex: List installation commands in alphabetical order.

 pkg-mgr-commands.tex | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 78b5a3b..c370a12 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -441,10 +441,10 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     call. Any symlinks are installed into the same directory as relative links to their original
     target. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dolib.so] As for \t{dolib} except each file is installed with mode \t{0755}.
-
 \item[dolib.a] As for \t{dolib} except each file is installed with mode \t{0644}.
 
+\item[dolib.so] As for \t{dolib} except each file is installed with mode \t{0755}.
+
 \begin{algorithm}
 \caption{Determining the library directory} \label{alg:ebuild-libdir}
 \begin{algorithmic}[1]
@@ -501,6 +501,11 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \item[fperms] Acts as for \t{chmod}, but takes paths relative to the image directory. Failure
     behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
+\item[keepdir] Creates a directory as for \t{dodir}, and an empty file whose name starts with
+    \t{.keep} in that directory to ensure that the directory does not get removed by the
+    package manager should it be empty at any point. Failure behaviour is EAPI dependent as per
+    section~\ref{sec:failure-behaviour}.
+
 \item[newbin] \featurelabel{newfoo-stdin} As for \t{dobin}, but takes two parameters. The first is
     the file to install; the second is the new filename under which it will be installed. In EAPIs
     specified by table~\ref{tab:newfoo-stdin-table}, standard input is read when the first
@@ -528,11 +533,6 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \item[newsbin] As above, for \t{dosbin}.
 
-\item[keepdir] Creates a directory as for \t{dodir}, and an empty file whose name starts with
-    \t{.keep} in that directory to ensure that the directory does not get removed by the
-    package manager should it be empty at any point. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
-
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-11-29  7:33 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-11-29  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     3eb1886b944c912129f795b11a48ee2d14e71949
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 15:04:46 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 18:21:18 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3eb1886b

dependencies.tex: Explicitly require matching package for :=

Explicitly indicate that the ebuild is required to provide appropriate
DEPEND for := to have a matching package installed. Additionally ban
the cases where := can not be reliably used or does not make any sense:
PDEPEND (because by intent the dependency can not be in DEPEND),
and any-of groups (because the non-binding nature of any-of group
collides with binding nature of :=).

 dependencies.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/dependencies.tex b/dependencies.tex
index 79801c4..9917bc4 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -296,6 +296,10 @@ slot/sub-slot pair between the colon and equals sign when saving the package's d
 sub-slot part must not be omitted here (when the SLOT variable omits the sub-slot part, the package
 is considered to have an implicit sub-slot which is equal to the regular slot).
 
+Whenever the equals slot operator is used in an enabled dependency group, the dependencies
+(\t{DEPEND}) must ensure that a matching package is installed at build time. It is invalid to use
+the equals slot operator inside \t{PDEPEND} or inside any-of dependency specifications.
+
 \subsubsection{2-Style and 4-Style Use Dependencies}
 \label{sec:use-dep}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2016-11-29  7:33 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-11-29  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     4a5b7806995f8ee5c8aeb1beafb66d5f29fd38e0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 26 10:15:37 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 26 10:15:37 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4a5b7806

ebuild-vars.tex: Fix typo in IUSE description.

 ebuild-vars.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 996ad16..6c5a396 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -61,7 +61,7 @@ Ebuilds may define any of the following variables:
 \item[IUSE] The \t{USE} flags used by the ebuild. Any eclass that works with \t{USE} flags must
     also set \t{IUSE}, listing only the variables used by that eclass. The package manager is
     responsible for merging these values. See section~\ref{sec:use-iuse-handling} for discussion on
-    which values must be listed this variable.
+    which values must be listed in this variable.
 
     \featurelabel{iuse-defaults} In EAPIs shown in table~\ref{tab:iuse-defaults-table} as supporting
     \t{IUSE} defaults, any use flag name in \t{IUSE} may be prefixed by at most one of a plus or a


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2016-11-29  7:33 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2016-11-29  7:33 UTC (permalink / raw
  To: gentoo-commits

commit:     c7d44d3a42c4777d77f61fbd90480f3fbd5f0515
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Oct 31 14:56:12 2016 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Oct 31 18:21:16 2016 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c7d44d3a

dependencies.tex: Record slot for := at build time, not install time

Correct the wording for the 'equals' slot operator to indicate that
the slot of the best installed package at the time package is *built*
matters. After all, the common use case for := is to indicate that
the build binds to a specific package version.

This is also more in line with dependency classes where we clearly
split the dependencies between build and runtime, and indicate that only
DEPEND is guaranteed to be available before src_*.

 dependencies.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index 9037ca1..79801c4 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -284,7 +284,7 @@ indicates that the package will not break if the matched package is uninstalled
 a different matching package in a different slot.
 \item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
 indicates that the package will break unless a matching package with slot and sub-slot equal to the
-slot and sub-slot of the best installed version at the time the package was installed is available.
+slot and sub-slot of the best installed version at the time the package was built is available.
 \item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
 identically to the plain equals slot operator.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-02-08 20:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-02-08 20:15 UTC (permalink / raw
  To: gentoo-commits

commit:     e56c6887eb850cfe6abbd7a358990aff89f8112e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  8 20:00:29 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  8 20:00:29 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e56c6887

Makefile: Remove some workarounds for tex4ht bugs.

Indentation and alignment of line numbers in the algorithmic environment
have been fixed in dev-tex/tex4ht-20090611_p1038-r5, so the sed hacks
working around these bugs are no longer necessary.

https://bugs.gentoo.org/580532
https://puszcza.gnu.org.ua/bugs/index.php?314

 Makefile | 5 -----
 1 file changed, 5 deletions(-)

diff --git a/Makefile b/Makefile
index df536ff..5847f81 100644
--- a/Makefile
+++ b/Makefile
@@ -32,11 +32,6 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
 	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' pms.html
-	@# indent algorithms properly, and avoid adding extra vertical
-	@# space in Konqueror
-	LC_ALL=C sed -i -e 's/span style="width:/span style="display:-moz-inline-box;display:inline-block;height:1px;width:/' pms.html
-	@# align algorithm line numbers properly
-	LC_ALL=C sed -i -e '/<span class="ALCitem">/{N;s/\n\(class="[^"]\+">\)\([0-9]:<\/span>\)/\1\&#x2007;\2/}' pms.html
 	@# fix broken span on title page
 	LC_ALL=C sed -i -e '/<\/span><span $$/{N;s/<\/span><span [^>]*>\(&[a-z]uml;\)/\1/}' pms.html
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-02-11  7:58 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-02-11  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     6d2b924cb02d447de5e764d3f9028e8e9548a65d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 09:35:51 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 09:35:51 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6d2b924c

Makefile: Use $@ rather than explicit target name.

 Makefile | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/Makefile b/Makefile
index 5847f81..c8a9b75 100644
--- a/Makefile
+++ b/Makefile
@@ -26,14 +26,14 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	mk4ht xhlatex pms xhtml,fn-in
 	@# some www servers ignore meta tags, resulting in a wrong charset.
 	@# therefore recode the very few non-ascii characters
-	recode -d l1..h3 pms.html
+	recode -d l1..h3 $@
 	@# declare encoding as utf-8, although it is pure ascii
-	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' pms.html
+	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' $@
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
-	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' pms.html
+	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' $@
 	@# fix broken span on title page
-	LC_ALL=C sed -i -e '/<\/span><span $$/{N;s/<\/span><span [^>]*>\(&[a-z]uml;\)/\1/}' pms.html
+	LC_ALL=C sed -i -e '/<\/span><span $$/{N;s/<\/span><span [^>]*>\(&[a-z]uml;\)/\1/}' $@
 
 pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
 	latex pms


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-02-11  7:58 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-02-11  7:58 UTC (permalink / raw
  To: gentoo-commits

commit:     422fb36b981a1f352369534505340441a73cd62a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb  9 09:38:32 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb  9 09:38:32 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=422fb36b

Makefile: Update sed command to remove span spam in tex4ht output.

 Makefile | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index c8a9b75..9ad1c21 100644
--- a/Makefile
+++ b/Makefile
@@ -32,8 +32,8 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
 	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' $@
-	@# fix broken span on title page
-	LC_ALL=C sed -i -e '/<\/span><span $$/{N;s/<\/span><span [^>]*>\(&[a-z]uml;\)/\1/}' $@
+	@# remove redundant span elements
+	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
 
 pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
 	latex pms


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-02-23  7:46 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-02-23  7:46 UTC (permalink / raw
  To: gentoo-commits

commit:     1dd04665efb56e67ee889cc0000ea38974790023
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 20 08:49:14 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 20 08:49:14 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1dd04665

pkg-mgr-commands.tex: LZMA Utils replaced by XZ Utils.

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index c370a12..0323904 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -864,9 +864,9 @@ has returned.
     \item deb packages (\t{*.deb}). Ebuilds must ensure that the deb2targz program is installed on
     those platforms where the GNU binutils ar program is not available and the installed ar program is
     incompatible with GNU archives. Otherwise, ebuilds must ensure that GNU binutils is installed.
-    \item lzma-compressed files (\t{*.lzma}). Ebuilds must ensure that LZMA Utils is installed.
-    \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that LZMA Utils and
-        GNU tar are installed.
+    \item lzma-compressed files (\t{*.lzma}). Ebuilds must ensure that XZ Utils is installed.
+    \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that XZ Utils and GNU tar
+        are installed.
     \item xz-compressed files (\t{*.xz}). Ebuilds must ensure that XZ Utils is installed. Only for
         EAPIs listed in table~\ref{tab:unpack-extensions-table} as supporting \t{.xz}.
     \item xz-compressed tar files (\t{*.tar.xz, *.txz}). Ebuilds must ensure that XZ Utils and


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-04  8:54 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-04  8:54 UTC (permalink / raw
  To: gentoo-commits

commit:     3d0f218bc1e6a142af1f671a94a38c5d00eeec31
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 08:53:48 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar  4 08:53:48 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3d0f218b

Makefile: Add vc as prerequisite for vc.tex.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 9ad1c21..70d1883 100644
--- a/Makefile
+++ b/Makefile
@@ -47,7 +47,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 	pdflatex -jobname eapi-cheatsheet-nocombine \
 	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
 
-vc.tex: $(LATEXFILES) vc-git.awk
+vc.tex: $(LATEXFILES) vc vc-git.awk
 	/bin/sh ./vc
 
 pms.dvi: $(LATEXFILES) pms.bbl vc.tex


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-03-12 15:33 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-12 15:33 UTC (permalink / raw
  To: gentoo-commits

commit:     01c2758ef0a91b81267fed85cc16d009c309bc9c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 08:56:36 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  5 21:04:11 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=01c2758e

ebuild-env-vars.tex: PF has the same consistency behaviour as P.

PF may change if the package is updated, because the package name may
change.

 ebuild-env-vars.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 469f0cd..99e13cf 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -42,6 +42,10 @@ variable.
     All &
     No\footnote{May change if a package has been updated (see~\ref{sec:updates-dir}).} &
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
+\t{PF} &
+    All &
+    Ditto &
+    Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
 \t{PN} &
     All &
     Ditto &
@@ -62,10 +66,6 @@ variable.
     All &
     Yes &
     Package version and revision (if any), for example \t{7.0.174} or \t{7.0.174-r1}. \\
-\t{PF} &
-    All &
-    Yes &
-    Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
 \t{A} &
     \t{src\_*} &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-12 15:33 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-12 15:33 UTC (permalink / raw
  To: gentoo-commits

commit:     1bf9b2283fa48c6fe6a2bd74e24522f2d64175fe
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar  4 08:59:57 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  5 21:04:14 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1bf9b228

Update copyright years.

 credits.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/credits.tex b/credits.tex
index 0299a55..6c54e60 100644
--- a/credits.tex
+++ b/credits.tex
@@ -10,7 +10,7 @@ proof-reading and suggestions for fixes and/or clarification.
 
 \section*{Copyright and Licence}
 
-The bulk of this document is \textcopyright{} 2007--2016 Stephen Bennett, Christian Faulhammer,
+The bulk of this document is \textcopyright{} 2007--2017 Stephen Bennett, Christian Faulhammer,
 Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
 have been changed substantially before inclusion.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-03-18  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-18  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     f017d65aa75ee77857f01e47a441d2d4c9fb37c0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Mar 17 08:53:31 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Mar 17 08:53:31 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f017d65a

pms.cls: Drop unused color.sty.

 pms.cls | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index 57d7356..624d7c1 100644
--- a/pms.cls
+++ b/pms.cls
@@ -26,7 +26,6 @@
     typearea,	% Set page layout
     inputenc,	% Allow input methods apart from ASCII
     booktabs,	% Nicer formatting of tables
-    color,	% Support more than black&white
     ifthen,	% Comfortable conditional routines
     longtable,	% Extend tables over more than one page
     array,	% Extended tabular environments


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-03-20 19:28 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-20 19:28 UTC (permalink / raw
  To: gentoo-commits

commit:     00dfb42f757b356ed71693b962387dda0bc2f89a
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 16 20:41:45 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 07:27:39 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=00dfb42f

ebuild-env-vars: Allow FILESDIR to be a shadow directory

Rephrase the wording for FILESDIR to indicate that it does not need to
be the original files/ directory in the repository. It just needs to
be some directory containing the files from that directory.

 ebuild-env-vars.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 99e13cf..6b74d90 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -87,10 +87,10 @@ variable.
     \t{src\_*}, global~scope\footnote{Not necessarily present when installing from a binary package.
     Ebuilds must not access the directory in global scope.} &
     No &
-    The full path to the package's files directory, used for small support files or patches.
-    See section~\ref{sec:package-dirs}. May or may not exist; if a repository provides no support
-    files for the package in question then an ebuild must be prepared for the situation where
-    \t{FILESDIR} points to a non-existent directory. \\
+    The full path to a directory where the files from the package's files directory (used for
+    small support files or patches) are available. See section~\ref{sec:package-dirs}. May or may
+    not exist; if a repository provides no support files for the package in question then an ebuild
+    must be prepared for the situation where \t{FILESDIR} points to a non-existent directory. \\
 \t{DISTDIR} &
     Ditto &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-20 19:28 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-20 19:28 UTC (permalink / raw
  To: gentoo-commits

commit:     b18166a8482c01a365b11efa12d72282b88e4d86
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 18 07:30:40 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 08:15:13 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b18166a8

ebuild-env-vars: Require DISTDIR & FILESDIR to be consistent

Require both DISTDIR and FILESDIR variables to have consistent value
across phases. We need to guarantee that the value used in global scope
to propagate PATCHES array will be still valid in src_prepare().
Furthermore, as Ulrich Müller points out that PMS requires ebuilds to
recalculate any value derived from inconsistent variables, therefore
colliding with the global-scope assignment.

 ebuild-env-vars.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 6b74d90..262bcf9 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -86,14 +86,14 @@ variable.
 \t{FILESDIR} &
     \t{src\_*}, global~scope\footnote{Not necessarily present when installing from a binary package.
     Ebuilds must not access the directory in global scope.} &
-    No &
+    Yes &
     The full path to a directory where the files from the package's files directory (used for
     small support files or patches) are available. See section~\ref{sec:package-dirs}. May or may
     not exist; if a repository provides no support files for the package in question then an ebuild
     must be prepared for the situation where \t{FILESDIR} points to a non-existent directory. \\
 \t{DISTDIR} &
     Ditto &
-    No &
+    Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
 \t{PORTDIR} &
     \t{src\_*} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-20 19:28 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-20 19:28 UTC (permalink / raw
  To: gentoo-commits

commit:     65d38361a953c0b6da4cc192d8727b0d6f1c64cc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 18 14:18:25 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 18 15:05:59 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=65d38361

WORKDIR and S have the same scope as FILESDIR and DISTDIR.

Both WORKDIR and S are defined in global scope, but ebuilds must not
access the actual directories. So the FILESDIR footnote applies to
them, too. Rearrange the table accordingly.

Also small change of wording ("in which" -> "where") to prevent an
awkward page break.

 ebuild-env-vars.tex | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 262bcf9..a3766a2 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -95,6 +95,18 @@ variable.
     Ditto &
     Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
+\t{WORKDIR} &
+    Ditto &
+    Yes &
+    The full path to the ebuild's working directory, where all build data should be contained.%
+    \label{env-var-WORKDIR} \\
+\t{S} &
+    Ditto &
+    Yes &
+    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
+    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
+    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
+    global variables apply. \\
 \t{PORTDIR} &
     \t{src\_*} &
     No &
@@ -190,18 +202,6 @@ variable.
     was executed by the package manager. May be unset or any single word that is not any of the
     above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
     EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
-\t{WORKDIR} &
-    \t{src\_*}, global~scope &
-    Yes &
-    The full path to the ebuild's working directory, in which all build data should be
-    contained. \label{env-var-WORKDIR} \\
-\t{S} &
-    \t{src\_*} &
-    Yes &
-    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
-    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
-    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
-    global variables apply. \\
 \t{KV} &
     All &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-26  8:42 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-26  8:42 UTC (permalink / raw
  To: gentoo-commits

commit:     f9faa16a59659e176b2acf435bf5ec174c39b3ed
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 23 16:00:09 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 23 16:00:09 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f9faa16a

A is legal in pkg_nofetch.

It is quite common and useful for existing ebuilds to access the A
variable in pkg_nofetch. Also package managers define the variable
there. Update the spec accordingly.

The same applies to AA (which is deprecated, but there is no reason
why its scope should be different from A).

Thanks to Michał Górny for pointing this out.

 ebuild-env-vars.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index a3766a2..d8ccd6c 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -67,7 +67,7 @@ variable.
     Yes &
     Package version and revision (if any), for example \t{7.0.174} or \t{7.0.174-r1}. \\
 \t{A} &
-    \t{src\_*} &
+    \t{src\_*}, \t{pkg\_nofetch} &
     Yes &
     All source files available for the package, whitespace separated with no leading or trailing
     whitespace, and in the order in which the item first appears in a matched component of
@@ -77,7 +77,7 @@ variable.
     assume that the package manager sets it in the EAPIs supporting it. For example, a few
     configure scripts use this variable to find the \t{aalib} package; ebuilds calling such
     configure scripts must thus work around this.} &
-    \t{src\_*} &
+    Ditto &
     Yes &
     \featurelabel{aa} All source files that could be available for the package, including any that
     are disabled in \t{A} because of USE conditionals. The value is calculated from the base names


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-03-29  5:12 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-29  5:12 UTC (permalink / raw
  To: gentoo-commits

commit:     4195eaae6e1e488477d97849fe3c2bf65f976258
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 28 00:43:04 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 28 00:43:04 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4195eaae

Remove contradiction in historical curiosities chapter.

Be more specific in the introductory paragraph so that it doesn't
contradict the subsequent sections. Delete redundant sentence.

 appendices.tex | 8 +++-----
 1 file changed, 3 insertions(+), 5 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 16edce2..99429ec 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -26,9 +26,9 @@ been abused in the past.
 
 \chapter{Historical Curiosities}
 
-The items described in this chapter are included for information only. They were deprecated or
-abandoned long before \t{EAPI} was introduced. Ebuilds must not use these features, and package
-managers should not be changed to support them.
+The items described in this chapter are included for information only. Unless otherwise noted,
+they were deprecated or abandoned long before \t{EAPI} was introduced. Ebuilds must not use these
+features, and package managers should not be changed to support them.
 
 \section{If-else use blocks}
 
@@ -36,8 +36,6 @@ Historically, Portage supported if-else use conditionals, as shown by
 listing~\ref{lst:if-else-use-listing}. The block before the colon would be taken if the condition
 was met, and the block after the colon would be taken if the condition was not met.
 
-This feature was deprecated and removed from the tree long before the introduction of \t{EAPI}.
-
 \begin{listing}
 \caption{If-else use blocks} \label{lst:if-else-use-listing}
 \begin{verbatim}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-03-29  5:12 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-03-29  5:12 UTC (permalink / raw
  To: gentoo-commits

commit:     dc6afee300913559311996bb59efb1ba32c35dd6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar 28 00:55:21 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar 28 00:55:21 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=dc6afee3

Makefile: Move cleanup of aux files into separate rule.

 Makefile | 16 +++++++++-------
 1 file changed, 9 insertions(+), 7 deletions(-)

diff --git a/Makefile b/Makefile
index 70d1883..bc1ee51 100644
--- a/Makefile
+++ b/Makefile
@@ -8,11 +8,13 @@ clean :
 maintainer-clean: clean
 	rm -f vc.tex
 
-LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
-
-pms.pdf: $(LATEXFILES) pms.bbl vc.tex eapi-cheatsheet.pdf
+aux-clean:
 	@# latex chokes on aux files produced by tex4ht, so remove them
 	if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
+
+LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
+
+pms.pdf: $(LATEXFILES) pms.bbl vc.tex eapi-cheatsheet.pdf aux-clean
 	pdflatex pms
 	pdflatex pms
 	pdflatex eapi-cheatsheet
@@ -39,10 +41,10 @@ pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
 	latex pms
 	bibtex pms
 
-eapi-cheatsheet.pdf: vc.tex
+eapi-cheatsheet.pdf: vc.tex aux-clean
 	pdflatex eapi-cheatsheet
 
-eapi-cheatsheet-nocombine.pdf: vc.tex
+eapi-cheatsheet-nocombine.pdf: vc.tex aux-clean
 	@# cheat sheet with separate pages, for proofreading
 	pdflatex -jobname eapi-cheatsheet-nocombine \
 	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
@@ -50,7 +52,7 @@ eapi-cheatsheet-nocombine.pdf: vc.tex
 vc.tex: $(LATEXFILES) vc vc-git.awk
 	/bin/sh ./vc
 
-pms.dvi: $(LATEXFILES) pms.bbl vc.tex
+pms.dvi: $(LATEXFILES) pms.bbl vc.tex aux-clean
 	latex pms
 	latex pms
 	latex pms
@@ -67,4 +69,4 @@ upload:
 
 .default: all
 
-.phony: clean maintainer-clean dist upload
+.phony: clean maintainer-clean aux-clean dist upload


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-09  8:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-09  8:47 UTC (permalink / raw
  To: gentoo-commits

commit:     38cda9b98e091514df60c0901306db6d30ceeb8e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr  6 10:29:52 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr  6 10:29:52 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=38cda9b9

All EAPIs supporting controllable compression are also prefix aware.

Thanks to Michał Górny for pointing this out.

 pkg-mgr-commands.tex | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0323904..0847e4c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -660,9 +660,8 @@ has returned.
 
 \featurelabel{docompress} In EAPIs listed in table~\ref{tab:compression-table} as supporting
 controllable compression, the package manager may optionally compress a subset of the files under
-the \t{ED} directory in offset-prefix aware EAPIs or the \t{D} directory in offset-prefix agnostic
-EAPIs. To control which directories may or may not be compressed, the package manager shall
-maintain two lists:
+the \t{ED} directory. To control which directories may or may not be compressed, the package manager
+shall maintain two lists:
 
 \begin{compactitem}
 \item An inclusion list, which initially contains \t{/usr/share/doc}, \t{/usr/share/info} and
@@ -672,8 +671,7 @@ maintain two lists:
 
 The optional compression shall be carried out after \t{src\_install} has completed, and before the
 execution of any subsequent phase function. For each item in the inclusion list, pretend it has the
-value of the \t{ED} variable in offset-prefix aware EAPIs or the \t{D}
-variable in offset-prefix agnostic EAPIs prepended, then:
+value of the \t{ED} variable prepended, then:
 
 \begin{compactitem}
 \item If it is a directory, act as if every file or directory immediately under this directory
@@ -683,8 +681,7 @@ variable in offset-prefix agnostic EAPIs prepended, then:
 \end{compactitem}
 
 Whether an item is to be excluded is determined as follows: For each item in the exclusion list,
-pretend it has the value of the \t{ED} variable in offset-prefix aware EAPIs or the \t{D} variable in
-offset-prefix agnostic EAPIs prepended, then:
+pretend it has the value of the \t{ED} variable prepended, then:
 
 \begin{compactitem}
 \item If it is a directory, act as if every file or directory immediately under this directory


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-10 18:11 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-10 18:11 UTC (permalink / raw
  To: gentoo-commits

commit:     251bdc7a835b9a584e19d757191c24aa9bec9710
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 10 16:00:48 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 10 16:00:48 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=251bdc7a

In captions, use teletype font where appropriate.

 ebuild-functions.tex | 16 ++++++++--------
 ebuild-vars.tex      |  2 +-
 eclasses.tex         |  2 +-
 pkg-mgr-commands.tex | 14 +++++++-------
 profiles.tex         |  2 +-
 5 files changed, 18 insertions(+), 18 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index e808a6a..a744ae1 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -106,7 +106,7 @@ The initial working directory must be \t{WORKDIR}, and the default implementatio
 the ebuild lacks the \t{src\_unpack} function shall behave as:
 
 \begin{listing}[H]
-\caption{src\_unpack}
+\caption{\t{src\_unpack}}
 \begin{verbatim}
 src_unpack() {
     if [[ -n ${A} ]]; then
@@ -130,7 +130,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_prepare, format~6}
+\caption{\t{src\_prepare}, format~6}
 \begin{verbatim}
 src_prepare() {
     if declare -p PATCHES | grep -q "^declare -a "; then
@@ -174,7 +174,7 @@ The \t{src\_configure} function configures the package's build environment. The
 implementation used when the ebuild lacks the \t{src\_configure} function shall behave as:
 
 \begin{listing}[H]
-\caption{src\_configure}
+\caption{\t{src\_configure}}
 \begin{verbatim}
 src_configure() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -211,7 +211,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~0}
+\caption{\t{src\_compile}, format~0}
 \begin{verbatim}
 src_compile() {
     if [[ -x ./configure ]]; then
@@ -229,7 +229,7 @@ src_compile() {
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~1}
+\caption{\t{src\_compile}, format~1}
 \begin{verbatim}
 src_compile() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -247,7 +247,7 @@ src_compile() {
 as:
 
 \begin{listing}[H]
-\caption{src\_compile, format~2}
+\caption{\t{src\_compile}, format~2}
 \begin{verbatim}
 src_compile() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -316,7 +316,7 @@ section~\ref{sec:s-to-workdir-fallback}.
 as:
 
 \begin{listing}[H]
-\caption{src\_install, format~4}
+\caption{\t{src\_install}, format~4}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -343,7 +343,7 @@ src_install() {
 as:
 
 \begin{listing}[H]
-\caption{src\_install, format~6}
+\caption{\t{src\_install}, format~6}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 6c5a396..ecb50df 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -177,7 +177,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
 \t{RDEPEND}.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default}
+\begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} default}
     \label{tab:rdepend-depend-table}
     \begin{tabular}{ll}
       \toprule

diff --git a/eclasses.tex b/eclasses.tex
index 0f172f7..51c9a83 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -49,7 +49,7 @@ call the eclass-defined version from it. The use of it is best illustrated by an
 given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.
 
 \begin{listing}
-\caption{EXPORT\_FUNCTIONS example: foo.eclass} \label{lst:export-functions}
+\caption{\t{EXPORT\_FUNCTIONS} example: \t{foo.eclass}} \label{lst:export-functions}
 \begin{verbatim}
 foo_src_compile()
 {

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0847e4c..929cb43 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -26,7 +26,7 @@ The following commands affect this behaviour:
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Command Failure Behaviour}
+\begin{centertable}{EAPI command failure behaviour}
     \label{tab:commands-die-table}
     \begin{tabular}{lll}
       \toprule
@@ -166,7 +166,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{description}
 
 \begin{algorithm}
-\caption{eapply logic} \label{alg:eapply}
+\caption{\t{eapply} logic} \label{alg:eapply}
 \begin{algorithmic}[1]
 \IF{any parameter is equal to \t{"-{}-"}}
     \STATE collect all parameters before the first \t{"-{}-"} in the \t{options} array
@@ -283,7 +283,7 @@ current phase function has returned.
     \t{nonfatal}, in which case it must return non-zero exit status.
 
 \begin{algorithm}
-\caption{econf -{}-libdir logic} \label{alg:econf-libdir}
+\caption{\t{econf -{}-libdir} logic} \label{alg:econf-libdir}
 \begin{algorithmic}[1]
 \STATE let prefix=\$\{EPREFIX\}/usr
 \IF{the caller specified -{}-prefix=\$p}
@@ -323,7 +323,7 @@ current phase function has returned.
     Algorithm~\ref{alg:ebuild-libdir}.
 
 \begin{listing}[H]
-\caption{einstall command} \label{lst:einstall}
+\caption{\t{einstall} command} \label{lst:einstall}
 \begin{verbatim}
 emake \
    prefix="${ED}"/usr \
@@ -757,7 +757,7 @@ table~\ref{tab:use-list-strictness}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI Behaviour for Use Queries not in IUSE\_EFFECTIVE}
+\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE\_EFFECTIVE}}
     \label{tab:use-list-strictness}
     \begin{tabular}{ll}
       \toprule
@@ -928,7 +928,7 @@ has returned.
 \end{description}
 
 \begin{algorithm}
-\caption{einstalldocs logic} \label{alg:einstalldocs}
+\caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
 \begin{algorithmic}[1]
 \STATE save the value of the install directory for \t{dodoc}
 \STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}}
@@ -956,7 +956,7 @@ has returned.
 \end{algorithm}
 
 \begin{algorithm}
-\caption{get\_libdir logic} \label{alg:get-libdir}
+\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
 \begin{algorithmic}[1]
 \STATE let libdir=lib
 \IF{the ABI environment variable is set}

diff --git a/profiles.tex b/profiles.tex
index 35f85b3..ff791ac 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -141,7 +141,7 @@ The precise manner in which the eight files interact is less simple, and is best
 of the algorithm used to determine whether a flag is masked for a given package version. This is
 described in Algorithm~\ref{alg:use-masking}.
 \begin{algorithm}
-\caption{USE masking logic} \label{alg:use-masking}
+\caption{\t{USE} masking logic} \label{alg:use-masking}
 \begin{algorithmic}[1]
 \STATE let masked = false
 \FOR{each profile in the inheritance tree, depth first}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
@ 2017-04-10 18:11 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-10 18:11 UTC (permalink / raw
  To: gentoo-commits

commit:     f90b3c6a9ec8ecd4988c58e1c781307036e7949e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 10 16:10:36 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 10 16:10:36 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f90b3c6a

Improve positioning of tables and other floats.

No changes of text.

 names.tex            | 14 ++++++------
 pkg-mgr-commands.tex | 61 ++++++++++++++++++++++++++--------------------------
 2 files changed, 38 insertions(+), 37 deletions(-)

diff --git a/names.tex b/names.tex
index d26fed6..e4c3975 100644
--- a/names.tex
+++ b/names.tex
@@ -78,7 +78,7 @@ If a sub-algorithm returns a decision, then that is the result of the whole comp
 if it terminates without returning a decision, the process continues from the point
 from which it was invoked.
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison top-level logic} \label{alg:version-comparison}
 \begin{algorithmic}[1]
     \STATE let $A$ and $B$ be the versions to be compared
@@ -90,7 +90,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for numeric components} \label{alg:version-comparison-numeric}
 \begin{algorithmic}[1]
   \STATE define the notations $An_k$ and $Bn_k$ to mean the $k$\textsuperscript{th} numeric
@@ -113,7 +113,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for each numeric component after the first}
 \label{alg:version-comparison-numeric-nonfirst}
 \begin{algorithmic}[1]
@@ -135,7 +135,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for letter components} \label{alg:version-comparison-letter}
 \begin{algorithmic}[1]
   \STATE let $Al$ be the letter component of $A$ if any, otherwise the empty string
@@ -148,7 +148,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for suffixes} \label{alg:version-comparison-suffix}
 \begin{algorithmic}[1]
   \STATE define the notations $As_k$ and $Bs_k$ to mean the $k$\textsuperscript{th} suffix of $A$
@@ -174,7 +174,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for each suffix} \label{alg:version-comparison-suffix-each}
 \begin{algorithmic}[1]
   \IF{$As_i$ and $Bs_i$ are of the same type (\t{\_alpha} vs \t{\_beta} etc)}
@@ -194,7 +194,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\begin{algorithm}
+\begin{algorithm}[p]
 \caption{Version comparison logic for revision components} \label{alg:version-comparison-revision}
 \begin{algorithmic}[1]
   \STATE let $Ar$ be the integer part of the revision component of $A$ if any, otherwise $\t{0}$

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 929cb43..389d8c0 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -92,6 +92,20 @@ to the host root instead of \t{ROOT}.
     matching version; otherwise, prints an empty string. The exit code is unspecified.
 \end{description}
 
+\ChangeWhenAddingAnEAPI{6}
+\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
+    \label{tab:foo-version-host-root-table}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \midrule
+      0, 1, 2, 3, 4     & No  \\
+      5, 6              & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsubsection{Output commands}
 These commands display messages to the user. Unless otherwise stated, the entire argument list is
 used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of
@@ -154,17 +168,6 @@ Ebuilds must not run any of these commands once the current phase function has r
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 
-\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
-    apply user-provided patches to the source tree in the current working directory. Exact behaviour
-    is implementation defined and beyond the scope of this specification. Package managers not
-    supporting it must implement the command as a no-op. Returns shell true (0) if patches applied
-    successfully, or if no patches were provided. Otherwise, aborts the build process, unless run
-    using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs
-    listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is
-    supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any
-    subsequent calls, the command will do nothing and return~0.
-\end{description}
-
 \begin{algorithm}
 \caption{\t{eapply} logic} \label{alg:eapply}
 \begin{algorithmic}[1]
@@ -202,6 +205,17 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{algorithmic}
 \end{algorithm}
 
+\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+    apply user-provided patches to the source tree in the current working directory. Exact behaviour
+    is implementation defined and beyond the scope of this specification. Package managers not
+    supporting it must implement the command as a no-op. Returns shell true (0) if patches applied
+    successfully, or if no patches were provided. Otherwise, aborts the build process, unless run
+    using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs
+    listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is
+    supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any
+    subsequent calls, the command will do nothing and return~0.
+\end{description}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Patch commands for EAPIs}
     \label{tab:patch-commands}
@@ -607,20 +621,6 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \end{tabular}
 \end{centertable}
 
-\ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
-    \label{tab:foo-version-host-root-table}
-    \begin{tabular}{ll}
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
-      \midrule
-      0, 1, 2, 3, 4     & No  \\
-      5, 6              & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
 \subsubsection{Commands affecting install destinations}
 The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
 offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the
@@ -922,11 +922,6 @@ has returned.
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
-\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
-    as supporting \t{get\_libdir}.
-\end{description}
-
 \begin{algorithm}
 \caption{\t{einstalldocs} logic} \label{alg:einstalldocs}
 \begin{algorithmic}[1]
@@ -955,6 +950,10 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
+    as supporting \t{get\_libdir}.
+
 \begin{algorithm}
 \caption{\t{get\_libdir} logic} \label{alg:get-libdir}
 \begin{algorithmic}[1]
@@ -969,6 +968,8 @@ has returned.
 \end{algorithmic}
 \end{algorithm}
 
+\end{description}
+
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Misc commands for EAPIs}
     \label{tab:misc-commands}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-11 17:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-11 17:25 UTC (permalink / raw
  To: gentoo-commits

commit:     7a04d1e8577ec052e8309b1daf1d96ddeea40fa7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 11 16:55:00 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 16:55:00 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7a04d1e8

Revert "WORKDIR and S have the same scope as FILESDIR and DISTDIR."

This reverts commit 65d38361a953c0b6da4cc192d8727b0d6f1c64cc.

 ebuild-env-vars.tex | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index d8ccd6c..1e155f5 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -95,18 +95,6 @@ variable.
     Ditto &
     Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
-\t{WORKDIR} &
-    Ditto &
-    Yes &
-    The full path to the ebuild's working directory, where all build data should be contained.%
-    \label{env-var-WORKDIR} \\
-\t{S} &
-    Ditto &
-    Yes &
-    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
-    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
-    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
-    global variables apply. \\
 \t{PORTDIR} &
     \t{src\_*} &
     No &
@@ -202,6 +190,18 @@ variable.
     was executed by the package manager. May be unset or any single word that is not any of the
     above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
     EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
+\t{WORKDIR} &
+    \t{src\_*}, global~scope &
+    Yes &
+    The full path to the ebuild's working directory, in which all build data should be
+    contained. \label{env-var-WORKDIR} \\
+\t{S} &
+    \t{src\_*} &
+    Yes &
+    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
+    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
+    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
+    global variables apply. \\
 \t{KV} &
     All &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-11 17:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-11 17:25 UTC (permalink / raw
  To: gentoo-commits

commit:     f2ac6d06fae4923d0c913f9aa84452920e06ddb9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 18 14:18:25 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 11 16:55:25 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f2ac6d06

WORKDIR has the same scope as FILESDIR and DISTDIR.

Ebuilds must not access the WORKDIR directory in global scope, so the
FILESDIR footnote applies to it, too. Rearrange the table accordingly.

Also small change of wording ("in which" -> "where") to prevent an
awkward page break.

 ebuild-env-vars.tex | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 1e155f5..019ce3f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -95,6 +95,18 @@ variable.
     Ditto &
     Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
+\t{WORKDIR} &
+    Ditto &
+    Yes &
+    The full path to the ebuild's working directory, where all build data should be contained.%
+    \label{env-var-WORKDIR} \\
+\t{S} &
+    \t{src\_*} &
+    Yes &
+    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
+    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
+    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
+    global variables apply. \\
 \t{PORTDIR} &
     \t{src\_*} &
     No &
@@ -190,18 +202,6 @@ variable.
     was executed by the package manager. May be unset or any single word that is not any of the
     above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
     EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
-\t{WORKDIR} &
-    \t{src\_*}, global~scope &
-    Yes &
-    The full path to the ebuild's working directory, in which all build data should be
-    contained. \label{env-var-WORKDIR} \\
-\t{S} &
-    \t{src\_*} &
-    Yes &
-    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
-    Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
-    global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
-    global variables apply. \\
 \t{KV} &
     All &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-16 10:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-16 10:20 UTC (permalink / raw
  To: gentoo-commits

commit:     1d89f03dcc60a8e420536da2c4aa411de922ba76
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 16 08:40:35 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 16 10:18:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1d89f03d

pkg-mgr-commands: dohard, both paths are relative to D/ED

Clarify the description for the dohard helper to indicate that both
the created hardlink (as already noted on top of section) and its target
are interpreted relatively to D/ED. This is how the function is
implemented in Paludis, PkgCore and Portage.

 pkg-mgr-commands.tex | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 389d8c0..84d4799 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -401,8 +401,10 @@ the current phase function has returned.
     \t{exeopts} call.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dohard] Takes two parameters. Creates a hardlink from the second to the first. In EAPIs
-    listed in table~\ref{tab:banned-commands-table}, this command is banned as per
+\item[dohard] Takes two parameters. Creates a hardlink from the second to the first. Both paths are
+    relative to the staging directory including the offset-prefix \t{ED} in offset-prefix aware
+    EAPIs, or just the staging directory \t{D} in offset-prefix agnostic EAPIs. In EAPIs listed
+    in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
 \item[doheader] \featurelabel{doheader} Installs the given header files into \t{/usr/include/},


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-04-20 20:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-04-20 20:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ca463ce502ee81bfbfb2e9afe63895faad1379fc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Apr 14 08:21:27 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 16 10:18:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ca463ce5

More consistent capitalisation of headings.

Use title case for first and second level headings (i.e., \chapter
and \section in the main text, \section and \subsection in the EAPI
cheat sheet); use sentence case everywhere else.

https://archives.gentoo.org/gentoo-pms/message/cef75e03f1a3b692281a5b79065dc2b6

 appendices.tex            |  2 +-
 dependencies.tex          | 20 ++++++++++----------
 ebuild-env-commands.tex   |  4 ++--
 ebuild-env-invariancy.tex |  2 +-
 ebuild-env-state.tex      |  2 +-
 ebuild-env-vars.tex       |  6 +++---
 ebuild-functions.tex      |  4 ++--
 ebuild-vars.tex           |  4 ++--
 eclasses.tex              |  2 +-
 merge.tex                 |  6 +++---
 names.tex                 | 18 +++++++++---------
 pkg-mgr-commands.tex      | 10 +++++-----
 profile-variables.tex     |  4 ++--
 profiles.tex              |  4 ++--
 14 files changed, 44 insertions(+), 44 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 99429ec..1b70568 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -30,7 +30,7 @@ The items described in this chapter are included for information only. Unless ot
 they were deprecated or abandoned long before \t{EAPI} was introduced. Ebuilds must not use these
 features, and package managers should not be changed to support them.
 
-\section{If-else use blocks}
+\section{If-else USE Blocks}
 
 Historically, Portage supported if-else use conditionals, as shown by
 listing~\ref{lst:if-else-use-listing}. The block before the colon would be taken if the condition

diff --git a/dependencies.tex b/dependencies.tex
index 9917bc4..ee4339b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -117,11 +117,11 @@ In particular, note that whitespace is not optional.
     \end{tabular}
 \end{centertable}
 
-\subsection{All-of Dependency Specifications}
+\subsection{All-of dependency specifications}
 
 In an all-of group, all of the child elements must be matched.
 
-\subsection{Use-conditional Dependency Specifications}
+\subsection{USE-conditional dependency specifications}
 
 In a use-conditional group, if the associated use flag is enabled (or disabled if it has an
 exclamation mark prefix), all of the child elements must be matched.
@@ -129,7 +129,7 @@ exclamation mark prefix), all of the child elements must be matched.
 It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE} as described in
 section~\ref{sec:use-iuse-handling}.
 
-\subsection{Any-of Dependency Specifications}
+\subsection{Any-of dependency specifications}
 
 Any use-conditional group that is an immediate child of an any-of group, if not enabled (disabled
 for an exclamation mark prefixed use flag name), is not considered a member of the any-of group
@@ -140,7 +140,7 @@ considered to be matched if its associated package dependency specification is n
 
 An empty any-of group counts as being matched.
 
-\subsection{Exactly-one-of Dependency Specifications}
+\subsection{Exactly-one-of dependency specifications}
 
 Any use-conditional group that is an immediate child of an exactly-one-of group, if not enabled
 (disabled for an exclamation mark prefixed use flag name), is not considered a member of the
@@ -150,7 +150,7 @@ In an exactly-one-of group, exactly one immediate child element must be matched.
 
 An empty exactly-one-of group counts as being matched.
 
-\subsection{At-most-one-of Dependency Specifications}
+\subsection{At-most-one-of dependency specifications}
 
 Any use-conditional group that is an immediate child of an at-most-one-of group, if not enabled
 (disabled for an exclamation mark prefixed use flag name), is not considered a member of the
@@ -160,7 +160,7 @@ In an at-most-one-of group, at most one immediate child element must be matched.
 
 An empty at-most-one-of group counts as being matched.
 
-\subsection{Package Dependency Specifications}
+\subsection{Package dependency specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or
 error on non-compliant input.
@@ -232,7 +232,7 @@ The following operators are available:
 \item[\t{>}] Strictly greater than the specified version.
 \end{description}
 
-\subsubsection{Block Operator}
+\subsubsection{Block operator}
 
 If the specification is prefixed with one or two exclamation marks, the named dependency is a block
 rather than a requirement---that is to say, the specified package must not be installed, with the
@@ -263,7 +263,7 @@ described in table~\ref{tab:bang-strength-table}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Slot Dependencies}
+\subsubsection{Slot dependencies}
 \label{sec:slot-dep}
 
 \featurelabel{slot-deps} A named slot dependency consists of a colon followed by a slot name. A
@@ -300,7 +300,7 @@ Whenever the equals slot operator is used in an enabled dependency group, the de
 (\t{DEPEND}) must ensure that a matching package is installed at build time. It is invalid to use
 the equals slot operator inside \t{PDEPEND} or inside any-of dependency specifications.
 
-\subsubsection{2-Style and 4-Style Use Dependencies}
+\subsubsection{2-style and 4-style USE dependencies}
 \label{sec:use-dep}
 
 A 2-style or 4-style use dependency consists of one of the following:
@@ -338,7 +338,7 @@ would not have to be part of \t{IUSE}.
 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
 flag in \t{IUSE\_EFFECTIVE}.
 
-\subsection{Use State Constraints}
+\subsection{USE state constraints}
 \label{sec:required-use}
 \t{REQUIRED\_USE} contains a list of assertions that must be met by the configuration of \t{USE}
 flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 5deb388..30c297c 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -1,4 +1,4 @@
-\section{Available commands}
+\section{Available Commands}
 
 This section documents the commands available to an ebuild. Unless otherwise specified, they may be
 aliases, shell functions, or executables in the ebuild's \t{PATH}.
@@ -60,7 +60,7 @@ In some cases a package's build process will require the availability of executa
 the core system, a common example being autotools. The availability of commands provided by the
 particular types of dependencies is explained in section~\ref{sec:dependency-classes}.
 
-\subsection{Ebuild-specific Commands}
+\subsection{Ebuild-specific commands}
 \input{pkg-mgr-commands.tex}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index d69c510..861e6b9 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -1,4 +1,4 @@
-\section{The state of the system between functions}
+\section{The State of the System Between Functions}
 
 For the sake of this section:
 

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 3ddd1ab..70a0e46 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -1,4 +1,4 @@
-\section{The state of variables between functions}
+\section{The State of Variables Between Functions}
 \label{sec:ebuild-env-state}
 
 Exported and default scope variables are saved between functions. A non-local variable set in a

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 019ce3f..ae47aea 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -312,7 +312,7 @@ table~\ref{tab:locale-settings}.
     \end{tabular}
 \end{centertable}
 
-\subsection{USE and IUSE Handling}
+\subsection{USE and IUSE handling}
 \label{sec:use-iuse-handling}
 
 This section discusses the handling of four variables:
@@ -377,7 +377,7 @@ For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting p
 \t{IUSE} injection, the package manager must save the calculated value of \t{IUSE\_EFFECTIVE} when
 installing a package. Details are beyond the scope of this specification.
 
-\subsection{\t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}}
+\subsection{REPLACING\_VERSIONS and REPLACED\_BY\_VERSION}
 \label{sec:replacing-versions}
 
 \featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
@@ -393,7 +393,7 @@ In EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting it, the
 \t{REPLACED\_BY\_VERSION} variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall
 contain at most one value.
 
-\subsection{Offset-prefix variables \t{EPREFIX}, \t{EROOT} and \t{ED}}
+\subsection{Offset-prefix variables}
 \label{sec:offset-vars}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index a744ae1..045b207 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -18,7 +18,7 @@ package, not the current configuration.
 
 Ebuilds must not call nor assume the existence of any phase functions.
 
-\subsection{Initial Working Directories}
+\subsection{Initial working directories}
 \label{sec:s-to-workdir-fallback}
 
 Some functions may assume that their initial working directory is set to a particular location;
@@ -447,7 +447,7 @@ source files from their respective locations, with notes concerning licensing if
 
 \t{pkg\_nofetch} must require no write access to any part of the filesystem.
 
-\subsection{\t{default\_} Phase Functions}
+\subsection{Default phase functions}
 \label{sec:default-phase-funcs}
 
 \featurelabel{default-phase-funcs} In EAPIs listed in

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index ecb50df..9a9502e 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -8,7 +8,7 @@ If any of these variables are set to invalid values, or if any of the mandatory
 undefined, the package manager's behaviour is undefined; ideally, an error in one ebuild should not
 prevent operations upon other ebuilds or packages.
 
-\section{Metadata invariance}
+\section{Metadata Invariance}
 \label{sec:metadata-invariance}
 
 All ebuild-defined variables discussed in this chapter must be defined independently of
@@ -163,7 +163,7 @@ unlisted architectures.
 
 An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture.
 
-\subsection{\t{RDEPEND} value}
+\subsection{RDEPEND value}
 \label{sec:rdepend-depend}
 
 \featurelabel{rdepend-depend} In EAPIs listed in table~\ref{tab:rdepend-depend-table} as having

diff --git a/eclasses.tex b/eclasses.tex
index 51c9a83..7569caf 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -11,7 +11,7 @@ Eclasses must be located in the \t{eclass} directory in the top level of the rep
 section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>} is
 the name of this eclass, used by \t{inherit} and \t{EXPORT\_FUNCTIONS} among other places.
 
-\section{The inherit command}
+\section{The inherit Command}
 \label{sec:inherit}
 
 An ebuild wishing to make use of an eclass does so by using the \t{inherit} command in global scope.

diff --git a/merge.tex b/merge.tex
index 9da9631..0077837 100644
--- a/merge.tex
+++ b/merge.tex
@@ -33,7 +33,7 @@ except as follows:
 On SELinux systems, the SELinux context must also be preserved. Other directory attributes, including
 modification time, may be discarded.
 
-\subsection{Empty Directories}
+\subsection{Empty directories}
 
 Behaviour upon encountering an empty directory is undefined. Ebuilds must not attempt to install an
 empty directory.
@@ -100,7 +100,7 @@ is undefined.
     \end{tabular}
 \end{centertable}
 
-\subsection{Configuration File Protection}
+\subsection{Configuration file protection}
 \label{sec:config-protect}
 
 The package manager must provide a means to prevent user configuration files from being
@@ -141,7 +141,7 @@ Ebuilds must not attempt to merge a symlink on top of a directory.
 Any absolute symlink whose link starts with \t{D} must be rewritten with the leading \t{D} removed.
 The package manager should issue a notice when doing this.
 
-\section{Hard links}
+\section{Hard Links}
 
 A hard link may be merged either as a single file with links or as multiple independent files.
 

diff --git a/names.tex b/names.tex
index e4c3975..a348c0f 100644
--- a/names.tex
+++ b/names.tex
@@ -5,14 +5,14 @@
 No name may be empty. Package managers must not impose fixed upper boundaries upon the length of any
 name. A package manager should indicate or reject any name that is invalid according to these rules.
 
-\subsection{Category Names}
+\subsection{Category names}
 A category name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with
 a hyphen, a dot or a plus sign.
 
 \note A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
 names will contain a hyphen.
 
-\subsection{Package Names}
+\subsection{Package names}
 A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a
 hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
 syntax described in section~\ref{sec:version-spec}.
@@ -20,35 +20,35 @@ syntax described in section~\ref{sec:version-spec}.
 \note A package name does not include the category. The term \i{qualified package name} is used
 where a \t{category/package} pair is meant.
 
-\subsection{Slot Names}
+\subsection{Slot names}
 \label{sec:slot-names}
 A slot name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
-\subsection{USE Flag Names}
+\subsection{USE flag names}
 A USE flag name may contain any of the characters [\t{A-Za-z0-9+\_@-}]. It must begin with an
 alphanumeric character. Underscores should be considered reserved for \t{USE\_EXPAND}, as
 described in section~\ref{sec:use-iuse-handling}.
 
 \note The at-sign is required for \t{LINGUAS}.
 
-\subsection{Repository Names}
+\subsection{Repository names}
 \label{sec:repository-names}
 A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
 hyphen. In addition, every repository name must also be a valid package name.
 
-\subsection{License Names}
+\subsection{License names}
 \label{sec:license-names}
 A license name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
-\subsection{Keyword Names}
+\subsection{Keyword names}
 \label{sec:keyword-names}
 A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
 hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by
 a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword.
 
-\subsection{EAPI Names}
+\subsection{EAPI names}
 \label{sec:eapi-names}
 An EAPI name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
@@ -207,7 +207,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\section{Uniqueness of versions}
+\section{Uniqueness of Versions}
 
 No two packages in a given repository may have the same qualified package name and equal versions.
 For example, a repository may not contain more than one of \t{foo-bar/baz-1.0.2},

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 84d4799..1b3641a 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -720,7 +720,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Use List Functions}
+\subsubsection{USE list functions}
 These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
 these commands once the current phase function has returned. It is an error if an ebuild calls any
 of these functions in global scope.
@@ -802,7 +802,7 @@ table~\ref{tab:use-list-strictness}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Text List Functions}
+\subsubsection{Text list functions}
 These functions check whitespace-separated lists for a particular value.
 
 \begin{description}
@@ -812,7 +812,7 @@ These functions check whitespace-separated lists for a particular value.
 \item[hasq] Deprecated synonym for \t{has}.
 \end{description}
 
-\subsubsection{Misc Commands}
+\subsubsection{Misc commands}
 The following commands are always available in the ebuild environment, but don't really fit in any
 of the above categories. Ebuilds must not run any of these commands once the current phase function
 has returned.
@@ -989,7 +989,7 @@ has returned.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Debug Commands}
+\subsubsection{Debug commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.
 Ebuilds must not run any of these commands once the current phase function has returned.
@@ -1002,7 +1002,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \item[debug-print-section] Calls \t{debug-print} with \t{now in section \$*}.
 \end{description}
 
-\subsubsection{Reserved Commands and Variables}
+\subsubsection{Reserved commands and variables}
 
 Except where documented otherwise, all functions and variables that contain any of the following
 strings (ignoring case) are reserved for package manager use and may not be used or relied upon by

diff --git a/profile-variables.tex b/profile-variables.tex
index c47b748..5fd2d8b 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -1,10 +1,10 @@
-\section{Profile variables}
+\section{Profile Variables}
 \label{sec:profile-variables}
 
 This section documents variables that have special meaning, or special behaviour, when defined in a
 profile's \t{make.defaults} file.
 
-\subsection{Incremental Variables}
+\subsection{Incremental variables}
 \i{Incremental} variables must stack between parent and child profiles in the following manner:
 Beginning with the highest parent profile, tokenise the variable's value based on whitespace and
 concatenate the lists. Then, for any token $T$ beginning with a hyphen, remove it and any previous

diff --git a/profiles.tex b/profiles.tex
index ff791ac..2d0656d 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -1,7 +1,7 @@
 \chapter{Profiles}
 \label{sec:profiles}
 
-\section{General principles}
+\section{General Principles}
 Generally, a profile defines information specific to a certain `type' of system---it lies somewhere
 between repository-level defaults and user configuration in that the information it contains is not
 necessarily applicable to all machines, but is sufficiently general that it should not be left to
@@ -13,7 +13,7 @@ the files described in this chapter, and possibly inheriting another profile. Th
 follow a few basic conventions as regards inheritance and format; these are described in the next
 section. It may also contain any number of subdirectories containing other profiles.
 
-\section{Files that make up a profile}
+\section{Files That Make up a Profile}
 
 \subsection{The parent file}
 A profile may contain a \t{parent} file. Each line must contain a relative path to another profile


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-08  5:34 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-08  5:34 UTC (permalink / raw
  To: gentoo-commits

commit:     043c77a9bbde7df9b09fadfd509dc4bff02b4ea4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed May  3 17:51:02 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed May  3 17:51:02 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=043c77a9

ebuild-env-state.tex: Remove misleading paragraph break.

The restriction for PM special variables applies to the preceding
sentence.

 ebuild-env-state.tex | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 70a0e46..d2cf7b4 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -9,9 +9,8 @@ functions executed as part of a later uninstall.
 environment saving.
 
 Variables that were exported must remain exported in later functions; variables with default
-visibility may retain default visibility or be exported.
-
-Variables with special meanings to the package manager are excluded from this rule.
+visibility may retain default visibility or be exported. Variables with special meanings to the
+package manager are excluded from this rule.
 
 Global variables must only contain invariant values (see~\ref{sec:metadata-invariance}). If a global
 variable's value is invariant, it may have the value that would be generated at any given point


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-11  4:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-11  4:56 UTC (permalink / raw
  To: gentoo-commits

commit:     3b1782b687e9ca4262365a5bd0d28fcf1aaf9128
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May  8 18:52:48 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May  8 18:52:48 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3b1782b6

Makefile: Automatically determine version info for distfiles.

Also create a tarball with pre-built files for app-doc/pms[binary].

 Makefile | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/Makefile b/Makefile
index 53ccaa7..9bc131a 100644
--- a/Makefile
+++ b/Makefile
@@ -63,11 +63,20 @@ eapi-cheatsheet-nocombine.pdf: pms.pdf
 	  grep -q 'Warning.*Rerun' eapi-cheatsheet-nocombine.log || break; \
 	done
 
-dist: $(SOURCES) vc.tex
-	@if test -z $(PV); then \
-	  echo "Usage: $(MAKE) $@ PV=<version>"; false; \
-	fi
-	tar -cJf pms-$(PV).tar.xz --transform='s%^%pms-$(PV)/%' $^
+dist: $(SOURCES) vc.tex pms.pdf pms.html
+	PV='$(PV)'; \
+	if test -z "$${PV}"; then \
+	  current_eapi=$$(sed -n 's/.*CurrentEAPIIs{\(.*\)}.*/\1/p' pms.tex); \
+	  vc_date=$$(sed -n \
+	    's/.*VCDateISO{\([0-9]*\)-\([0-9]*\)-\([0-9]*\)}.*/\1\2\3/p' \
+	    vc.tex); \
+	  PV=$${current_eapi}_p$${vc_date}; \
+	fi; \
+	echo "PV = $${PV}"; \
+	tar -cJf pms-"$${PV}".tar.xz --transform="s%^%pms-$${PV}/%" \
+	  $(SOURCES) vc.tex && \
+	tar -cJf pms-"$${PV}"-prebuilt.tar.xz --transform="s%^%pms-$${PV}/%" \
+	  pms.pdf eapi-cheatsheet.pdf pms*.html pms.css
 
 upload: pms.pdf pms.html
 	scp pms.pdf eapi-cheatsheet.pdf pms*.html pms.css \


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-11  4:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-11  4:56 UTC (permalink / raw
  To: gentoo-commits

commit:     9ba8db2d110e28ea85783c8061652ba27336d565
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May  8 18:39:41 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May  8 18:39:41 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9ba8db2d

Makefile: Major rewrite.

Move pms.pdf and eapi-cheatsheet into one rule, since they cannot be
built independently. Saner lists of prerequisites. Loop over latex and
mk4ht until their output converges. Remove aux-clean target.

Add .DELETE_ON_ERROR in order to delete corrupted or incomplete target
files. Use all-caps for .PHONY target or it will have no effect.

 Makefile | 91 ++++++++++++++++++++++++++++++++++++----------------------------
 1 file changed, 52 insertions(+), 39 deletions(-)

diff --git a/Makefile b/Makefile
index bc1ee51..53ccaa7 100644
--- a/Makefile
+++ b/Makefile
@@ -1,31 +1,37 @@
-all : pms.pdf
-html : pms.html
+LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
+SOURCES = $(LATEXFILES) pms.bib vc vc-git.awk Makefile
 
-clean :
-	rm -f *~ *.pdf *.dvi *.log *.aux *.bbl *.blg *.toc *.lol *.loa *.lox \
-	    *.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref
+# latex chokes on aux files produced by tex4ht, so remove them
+aux-clean = if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
 
-maintainer-clean: clean
-	rm -f vc.tex
+all: pms.pdf
 
-aux-clean:
-	@# latex chokes on aux files produced by tex4ht, so remove them
-	if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
+html: pms.html
 
-LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
+pms.pdf: $(LATEXFILES) pms.bbl vc.tex
+	$(aux-clean)
+	set -e; \
+	while true; do \
+	  pdflatex eapi-cheatsheet; \
+	  pdflatex pms; \
+	  grep -q 'Warning.*Rerun' eapi-cheatsheet.log pms.log || break; \
+	done
 
-pms.pdf: $(LATEXFILES) pms.bbl vc.tex eapi-cheatsheet.pdf aux-clean
-	pdflatex pms
-	pdflatex pms
-	pdflatex eapi-cheatsheet
-	pdflatex pms
+pms.dvi: $(LATEXFILES) pms.bbl vc.tex
+	$(aux-clean)
+	set -e; \
+	while true; do \
+	  latex pms; \
+	  grep -q 'Warning.*Rerun' pms.log || break; \
+	done
 
 pms.html: $(LATEXFILES) pms.bbl vc.tex
-	@# need to do it twice to make the big env var table work ...
-	@# ... and a third time for the eapi features table
-	mk4ht xhlatex pms xhtml,fn-in
-	mk4ht xhlatex pms xhtml,fn-in
-	mk4ht xhlatex pms xhtml,fn-in
+	set -e; sum=''; \
+	while true; do \
+	  mk4ht xhlatex pms xhtml,fn-in; \
+	  oldsum=$${sum}; sum=$$(cksum $@); \
+	  test "$${sum}" != "$${oldsum}" || break; \
+	done
 	@# some www servers ignore meta tags, resulting in a wrong charset.
 	@# therefore recode the very few non-ascii characters
 	recode -d l1..h3 $@
@@ -37,36 +43,43 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# remove redundant span elements
 	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
 
-pms.bbl: pms.bib pms.tex vc.tex eapi-cheatsheet.pdf
+pms.bbl: $(LATEXFILES) pms.bib
+	$(aux-clean)
 	latex pms
 	bibtex pms
 
-eapi-cheatsheet.pdf: vc.tex aux-clean
-	pdflatex eapi-cheatsheet
-
-eapi-cheatsheet-nocombine.pdf: vc.tex aux-clean
-	@# cheat sheet with separate pages, for proofreading
-	pdflatex -jobname eapi-cheatsheet-nocombine \
-	  '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet.tex}'
-
-vc.tex: $(LATEXFILES) vc vc-git.awk
+vc.tex: $(SOURCES)
 	/bin/sh ./vc
 
-pms.dvi: $(LATEXFILES) pms.bbl vc.tex aux-clean
-	latex pms
-	latex pms
-	latex pms
+eapi-cheatsheet.pdf: pms.pdf
+	@# nothing to do here, since this is also part of the main document
 
-dist: $(LATEXFILES) pms.bib vc vc-git.awk vc.tex Makefile
+eapi-cheatsheet-nocombine.pdf: pms.pdf
+	@# cheat sheet with separate pages, for proofreading
+	set -e; \
+	while true; do \
+	  pdflatex -jobname eapi-cheatsheet-nocombine \
+	    '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet}'; \
+	  grep -q 'Warning.*Rerun' eapi-cheatsheet-nocombine.log || break; \
+	done
+
+dist: $(SOURCES) vc.tex
 	@if test -z $(PV); then \
 	  echo "Usage: $(MAKE) $@ PV=<version>"; false; \
 	fi
 	tar -cJf pms-$(PV).tar.xz --transform='s%^%pms-$(PV)/%' $^
 
-upload:
+upload: pms.pdf pms.html
 	scp pms.pdf eapi-cheatsheet.pdf pms*.html pms.css \
 	  dev.gentoo.org:public_html/pms/head/
 
-.default: all
+clean:
+	rm -f *~ *.pdf *.dvi *.log *.aux *.bbl *.blg *.toc *.lol *.loa *.lox \
+	  *.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref
+
+maintainer-clean: clean
+	rm -f vc.tex
+
+.PHONY: all html dist upload clean maintainer-clean
 
-.phony: clean maintainer-clean aux-clean dist upload
+.DELETE_ON_ERROR:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-15 18:18 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-15 18:18 UTC (permalink / raw
  To: gentoo-commits

commit:     73eda5fbad19c8aa5f666ede7a0420c1dde584db
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 15 16:04:27 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 15 16:04:27 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=73eda5fb

Makefile: pms.bbl needs vc.tex as prerequisite.

 Makefile | 2 +-
 pms.cls  | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/Makefile b/Makefile
index 9bc131a..a9666dd 100644
--- a/Makefile
+++ b/Makefile
@@ -43,7 +43,7 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# remove redundant span elements
 	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
 
-pms.bbl: $(LATEXFILES) pms.bib
+pms.bbl: pms.bib $(LATEXFILES) vc.tex
 	$(aux-clean)
 	latex pms
 	bibtex pms

diff --git a/pms.cls b/pms.cls
index 624d7c1..44d566c 100644
--- a/pms.cls
+++ b/pms.cls
@@ -52,7 +52,7 @@
     Specification, loaded baseclass: \ClassToLoad\MessageBreak}
 % Contains information over the source control system, generated
 % through Makefile
-\input{vc}
+\input{vc.tex}
 
 % Make processing with TeX4HT possible
 \newboolean{TEX4HT-HACKS}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-15 23:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-15 23:02 UTC (permalink / raw
  To: gentoo-commits

commit:     cebd6e621cd2f98c9c1adedb6b509e76db8534e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 09:31:36 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 15 21:01:42 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cebd6e62

Require underscore.sty package.

This permits hyphenation of words with underscores, so the custom code
in pms.cls can be removed. Also simple _ acts like \_ in text mode.

 eapi-cheatsheet.tex | 1 +
 pms.cls             | 7 ++-----
 2 files changed, 3 insertions(+), 5 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 250df41..6ac72b9 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -12,6 +12,7 @@
 }
 \usepackage[orig,english]{isodate}
 \usepackage[scaled=.90]{helvet}
+\usepackage[nohyphen]{underscore}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
 \newcommand{\version}{6.0}

diff --git a/pms.cls b/pms.cls
index 44d566c..2bd86d8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -17,6 +17,7 @@
 % Enable UTF-8 input encoding
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
+\PassOptionsToPackage{nohyphen}{underscore}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
@@ -33,6 +34,7 @@
     marginnote, % Typeset a paragraph in the page margin
     paralist,	% Additional list environments
     parskip,	% Space between paragraphs instead of indentation
+    underscore, % Allow simple _ instead of \_
     verbatim,	% Extend the print-as-is functionality
     chngcntr,	% Redefinition of counters
     tocbibind	% Add bibliography to table of contents
@@ -109,11 +111,6 @@
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\paragraph{Note:} #1}
 
-% Allow line breaks after underscores (but with a large penalty)
-\newcommand{\origunderscore}{}
-\let\origunderscore\_
-\renewcommand{\_}{\origunderscore\penalty500\hskip0pt}
-
 % Because we are lazy, we define a table environment to fulfil our needs
 \newenvironment{centertable}[1]%
 {


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-15 23:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-15 23:02 UTC (permalink / raw
  To: gentoo-commits

commit:     7b3872ff414fd46a3772a84fd8d973ba4c26d92c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 09:19:55 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 15 21:01:42 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7b3872ff

Avoid underscore character in label.

 ebuild-env-vars.tex  | 2 +-
 pkg-mgr-commands.tex | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ae47aea..82ab4cf 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -19,7 +19,7 @@ variable.
 \setlength{\LTleft}{25mm plus 1fil}
 \setlength{\LTright}{0pt plus 1fil}
 \begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
-\caption{Defined variables\label{tab:defined_vars}}\\
+\caption{Defined variables\label{tab:defined-vars}}\\
 \toprule
 \multicolumn{1}{c}{\b{Variable}} &
 \multicolumn{1}{c}{\b{Legal in}} &

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 420b2a7..e44b1c7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -288,7 +288,7 @@ current phase function has returned.
     \end{centertable}
 
     Note that the \t{\$\{EPREFIX\}} component represents the same offset-prefix as described in
-    Table~\ref{tab:defined_vars}.  It facilitates offset-prefix installations which is supported by
+    Table~\ref{tab:defined-vars}. It facilitates offset-prefix installations which is supported by
     EAPIs listed in Table~\ref{tab:offset-env-vars-table}. When no offset-prefix installation is in
     effect, \t{EPREFIX} becomes the empty string, making the behaviour of \t{econf} equal for both
     offset-prefix supporting and agnostic EAPIs.
@@ -329,7 +329,7 @@ current phase function has returned.
     In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
-    The variable \t{ED} is defined as in Table~\ref{tab:defined_vars} and depends on the use of an
+    The variable \t{ED} is defined as in Table~\ref{tab:defined-vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is
     always available in EAPIs that support offset-prefix installations as listed in
     Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-15 23:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-15 23:02 UTC (permalink / raw
  To: gentoo-commits

commit:     9a20341e2a4e01c1e524a1aa655f438a9d7a303c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 15 16:53:16 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 15 16:53:16 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9a20341e

pkg-mgr-commands.tex: Move subsection header from parent file to here.

 ebuild-env-commands.tex | 1 -
 pkg-mgr-commands.tex    | 1 +
 2 files changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 30c297c..921a664 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -60,7 +60,6 @@ In some cases a package's build process will require the availability of executa
 the core system, a common example being autotools. The availability of commands provided by the
 particular types of dependencies is explained in section~\ref{sec:dependency-classes}.
 
-\subsection{Ebuild-specific commands}
 \input{pkg-mgr-commands.tex}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1b3641a..420b2a7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1,3 +1,4 @@
+\subsection{Ebuild-specific commands}
 \label{sec:pkg-mgr-commands}
 
 The following commands will always be available in the ebuild environment, provided by the package


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-15 23:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-15 23:02 UTC (permalink / raw
  To: gentoo-commits

commit:     40612826e416cd4cd96d2dbdae7904ed4ee25833
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 13 09:34:44 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 15 21:01:42 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=40612826

Use simple underscores throughout.

Replacement was done using "sed -i 's/\\_/_/g' *.tex".
This does not change the resulting PDF and HTML output.

 appendices.tex            |   6 +-
 dependencies.tex          |  68 ++++++-------
 eapi-cheatsheet.tex       |  78 +++++++--------
 eapi-differences.tex      | 104 ++++++++++----------
 ebuild-env-commands.tex   |   2 +-
 ebuild-env-invariancy.tex |  10 +-
 ebuild-env-state.tex      |   2 +-
 ebuild-env-vars.tex       | 138 +++++++++++++-------------
 ebuild-format.tex         |   2 +-
 ebuild-functions.tex      | 242 +++++++++++++++++++++++-----------------------
 ebuild-vars.tex           |  16 +--
 eclasses.tex              |  20 ++--
 merge.tex                 |  16 +--
 metadata-cache.tex        |   6 +-
 names.tex                 |  30 +++---
 pkg-mgr-commands.tex      |  92 +++++++++---------
 profile-variables.tex     |  30 +++---
 profiles.tex              |   4 +-
 tree-layout.tex           |  12 +--
 19 files changed, 439 insertions(+), 439 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 1b70568..8c97734 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -13,15 +13,15 @@ been abused in the past.
 
 \begin{compactitem}
 \item The \t{FEATURES} variable. This is Portage specific.
-\item Similarly, any \t{EMERGE\_} variable and any \t{PORTAGE\_} variable not explicitly listed.
+\item Similarly, any \t{EMERGE_} variable and any \t{PORTAGE_} variable not explicitly listed.
 \item Any Portage configuration file.
 \item The VDB (\t{/var/db/pkg}). Ebuilds must not access this or rely upon it existing or being
     in any particular format.
-\item The \t{portageq} command. The \t{has\_version} and \t{best\_version} commands are
+\item The \t{portageq} command. The \t{has_version} and \t{best_version} commands are
     available as functions.
 \item The \t{emerge} command.
 \item Binary packages.
-\item The \t{PORTDIR\_OVERLAY} variable, and overlay behaviour in general.
+\item The \t{PORTDIR_OVERLAY} variable, and overlay behaviour in general.
 \end{compactitem}
 
 \chapter{Historical Curiosities}

diff --git a/dependencies.tex b/dependencies.tex
index ee4339b..d9a6f1a 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -11,14 +11,14 @@
       \multicolumn{1}{c}{\textbf{Phase function}} &
       \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
       \midrule
-      \t{pkg\_pretend}, \t{pkg\_setup}, \t{pkg\_info}, \t{pkg\_nofetch} &
+      \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} &
           None (ebuilds can rely only on the packages in the system set) \\
-      \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test},
-          \t{src\_install} & \t{DEPEND} \\
-      \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm}, \t{pkg\_postrm} &
+      \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test},
+          \t{src_install} & \t{DEPEND} \\
+      \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
           \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
           case it may be installed later) \\
-      \t{pkg\_config} & \t{RDEPEND}, \t{PDEPEND} \\
+      \t{pkg_config} & \t{RDEPEND}, \t{PDEPEND} \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -27,7 +27,7 @@ There are three classes of dependencies supported by ebuilds:
 
 \begin{compactitem}
 \item Build dependencies (\t{DEPEND}). These must be installed and usable before any of
-    the ebuild \t{src\_*} phase functions is executed. These may not be installed at all
+    the ebuild \t{src_*} phase functions is executed. These may not be installed at all
     if a binary package is being merged.
 \item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before
     the results of an ebuild merging are treated as usable.
@@ -38,8 +38,8 @@ There are three classes of dependencies supported by ebuilds:
 Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must be satisfied before
 a particular phase function is executed.
 
-In addition, \t{SRC\_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
-\t{REQUIRED\_USE} use dependency-style specifications to specify their values.
+In addition, \t{SRC_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
+\t{REQUIRED_USE} use dependency-style specifications to specify their values.
 
 \section{Dependency Specification Format}
 
@@ -48,13 +48,13 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}.
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC\_URI} and \t{HOMEPAGE}\@.
-    In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC\_URI} arrows, may
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI} and \t{HOMEPAGE}\@.
+    In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC_URI} arrows, may
     optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when
-    in \t{SRC\_URI}\@. For \t{SRC\_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
-\item A flat filename. Permitted in \t{SRC\_URI}.
+    in \t{SRC_URI}\@. For \t{SRC_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
+\item A flat filename. Permitted in \t{SRC_URI}.
 \item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
-\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED\_USE}.
+\item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}.
 \item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}.
 \item An all-of group, which consists of an open parenthesis, followed by whitespace,
     followed by zero or more of (a dependency item of any kind followed by whitespace), followed
@@ -65,19 +65,19 @@ be surrounded on both sides by whitespace, except at the start and end of the st
     followed by an open parenthesis, followed by whitespace, followed by zero or more
     of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
     More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)* ')'}.
-    Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED\_USE}.
+    Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
 \item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum'
     whitespace '(' whitespace (item whitespace)* ')'}.
-    Permitted in \t{REQUIRED\_USE}.
+    Permitted in \t{REQUIRED_USE}.
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
     zero or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace
-    (item whitespace)* ')'}. Permitted in \t{REQUIRED\_USE} in EAPIs listed in
-    table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED\_USE ??}\ groups.
+    (item whitespace)* ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
+    table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
     an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
@@ -90,12 +90,12 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 In particular, note that whitespace is not optional.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows}
+\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
     \label{tab:uri-arrows-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
       \midrule
       0, 1              & No  \\
       2, 3, 4, 5, 6     & Yes \\
@@ -104,12 +104,12 @@ In particular, note that whitespace is not optional.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{REQUIRED\_USE ??}\ groups}
+\begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
     \label{tab:at-most-one-of-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE ??}\ groups?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE ??}\ groups?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
       5, 6              & Yes \\
@@ -126,7 +126,7 @@ In an all-of group, all of the child elements must be matched.
 In a use-conditional group, if the associated use flag is enabled (or disabled if it has an
 exclamation mark prefix), all of the child elements must be matched.
 
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE} as described in
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE} as described in
 section~\ref{sec:use-iuse-handling}.
 
 \subsection{Any-of dependency specifications}
@@ -325,29 +325,29 @@ When multiple requirements are specified, all must match for a successful match.
 \featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be
 followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when
 applying the use dependency to a package that does not have the flag in question in
-\t{IUSE\_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
+\t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
 the latter, present and disabled.
 
 Unless a 4-style default is specified, it is an error for a use dependency to be applied to an
-ebuild which does not have the flag in question in \t{IUSE\_REFERENCEABLE}.
+ebuild which does not have the flag in question in \t{IUSE_REFERENCEABLE}.
 
 \note By extension of the above, a default that could reference an ebuild using an EAPI not
 supporting profile \t{IUSE} injections cannot rely upon any particular behaviour for flags that
 would not have to be part of \t{IUSE}.
 
 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
-flag in \t{IUSE\_EFFECTIVE}.
+flag in \t{IUSE_EFFECTIVE}.
 
 \subsection{USE state constraints}
 \label{sec:required-use}
-\t{REQUIRED\_USE} contains a list of assertions that must be met by the configuration of \t{USE}
+\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
 flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
 must be enabled (or disabled if it has an exclamation mark prefix).
 
-If the package manager encounters a package version where \t{REQUIRED\_USE} assertions are not met,
+If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
 it must treat this package version as if it was masked. No phase functions must be called.
 
-It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE}.
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
 
 \subsection{Restrict}
 \label{sec:restrict}
@@ -355,13 +355,13 @@ It is an error for a flag to be used if it is not included in \t{IUSE\_EFFECTIVE
 The following tokens are permitted inside \t{RESTRICT}:
 
 \begin{description}
-\item[mirror] The package's \t{SRC\_URI} entries may not be mirrored, and mirrors should not
+\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not
     be checked when fetching.
-\item[fetch] The package's \t{SRC\_URI} entries may not be downloaded automatically. If
-    entries are not available, \t{pkg\_nofetch} is called. Implies \t{mirror}.
+\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
+    entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
 \item[strip] No stripping of debug symbols from files to be installed may be performed.
 \item[userpriv] The package manager may not drop root privileges when building the package.
-\item[test] The \t{src\_test} phase must not be run.
+\item[test] The \t{src_test} phase must not be run.
 \end{description}
 
 Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
@@ -377,11 +377,11 @@ The following tokens are permitted inside \t{PROPERTIES}:
 
 Ebuilds may not rely upon any token being supported.
 
-\subsection{SRC\_URI}
+\subsection{SRC_URI}
 \label{sec:src-uri-behaviour}
 
 All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
-matched) in \t{SRC\_URI} must be available in the \t{DISTDIR} directory. In addition, these
+matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
 components are used to make the \t{A} and \t{AA} variables.
 
 If a component contains a full URI with protocol, that download location must be used. Package

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 6ac72b9..c14701f 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -94,7 +94,7 @@ differences between these previous EAPIs.
 %     sign in front.  See \featureref{iuse-defaults}.
 %     \item[Named slot dependencies] Dependencies can explicitly request
 %     a specific slot by using the
-%     \code{dev-libs/foo:}\allowbreak\emph{SLOT\_name} syntax.
+%     \code{dev-libs/foo:}\allowbreak\emph{SLOT_name} syntax.
 %     See \featureref{slot-deps}.
 % \end{description}
 
@@ -103,14 +103,14 @@ differences between these previous EAPIs.
 % \subsection{Additions/Changes}
 % \label{sec:cs:eapi2-additions}
 % \begin{description}
-%     \item[\code{SRC\_URI} arrows] Allows redirection of upstream file
+%     \item[\code{SRC_URI} arrows] Allows redirection of upstream file
 %     naming scheme.  By using
-%     \code{SRC\_URI="http:/\slash some\slash url -> foo"} the file is
+%     \code{SRC_URI="http:/\slash some\slash url -> foo"} the file is
 %     saved as \code{foo} in DISTDIR\@.
 %     See \featureref{src-uri-arrows}.
 %     \item[USE dependencies] Dependencies can specify USE flag
 %     requirements on their target, removing the need for
-%     \code{built\_with\_use} checks.
+%     \code{built_with_use} checks.
 %     \begin{description}
 %         \item[{[opt]}] The flag must be enabled.
 %         \item[{[opt=]}] The flag must be enabled if it is
@@ -130,20 +130,20 @@ differences between these previous EAPIs.
 %     be ignored by the package manager as long as the stated package is
 %     uninstalled later on.  Two exclamation marks are a strong blocker
 %     and will always be respected.  See \featureref{bang-strength}.
-%     \item[\code{src\_configure, src\_prepare}] Both new phases provide
+%     \item[\code{src_configure, src_prepare}] Both new phases provide
 %     finer granularity in the ebuild's structure.  Configure calls
-%     should be moved from \code{src\_compile} to \code{src\_configure}.
+%     should be moved from \code{src_compile} to \code{src_configure}.
 %     Patching and similar preparation must now be done in
-%     \code{src\_prepare}, not \code{src\_unpack}.  See
+%     \code{src_prepare}, not \code{src_unpack}.  See
 %     \featureref{src-prepare} and \featureref{src-configure}.
 %     \item[Default phase functions] The default functions for
-%     phases \code{pkg\_nofetch}, \code{src\_unpack},
-%     \code{src\_prepare}, \code{src\_configure}, \code{src\_compile}
-%     and \code{src\_test} can be called via
-%     \code{default\_}\emph{phasename}, so duplicating the standard
+%     phases \code{pkg_nofetch}, \code{src_unpack},
+%     \code{src_prepare}, \code{src_configure}, \code{src_compile}
+%     and \code{src_test} can be called via
+%     \code{default_}\emph{phasename}, so duplicating the standard
 %     implementation is no longer necessary for small additions.  The
 %     short-hand \code{default} function calls the current phase's
-%     \code{default\_} function automatically, so any small additions
+%     \code{default_} function automatically, so any small additions
 %     you need will not be accompanied by a complete reimplementation of
 %     the phase.  See \featureref{default-phase-funcs} and
 %     \featureref{default-func}.
@@ -160,7 +160,7 @@ differences between these previous EAPIs.
 \begin{description}
     \item[Support for \code{.xz}] Unpack of \code{.xz} and
     \code{.tar.xz} files is possible without any custom
-    \code{src\_unpack} functions.  See \featureref{unpack-extensions}.
+    \code{src_unpack} functions.  See \featureref{unpack-extensions}.
     \item[Offset prefix] Supporting installation on Prefix-enabled
     systems will be easier with this EAPI.
 \end{description}
@@ -170,17 +170,17 @@ differences between these previous EAPIs.
 \subsection{Additions/Changes}
 \label{sec:cs:eapi4-additions}
 \begin{description}
-    \item[\code{pkg\_pretend}] Some useful checks (kernel options for
+    \item[\code{pkg_pretend}] Some useful checks (kernel options for
     example) can be placed in this new phase to inform the user early
     (when just pretending to emerge the package).  Most checks should
-    usually be repeated in \code{pkg\_setup}.
+    usually be repeated in \code{pkg_setup}.
     See \featureref{pkg-pretend}.
-    \item[\code{src\_install}] The \code{src\_install} phase is no
+    \item[\code{src_install}] The \code{src_install} phase is no
     longer empty but has a default now.  This comes along with an
     accompanying \code{default} function.
     See \featureref{src-install-4}.
-    \item[\code{pkg\_info} on non-installed packages] The
-    \code{pkg\_info} phase can be called even for non-installed
+    \item[\code{pkg_info} on non-installed packages] The
+    \code{pkg_info} phase can be called even for non-installed
     packages.  Be warned that dependencies might not have been
     installed at execution time.  See \featureref{pkg-info}.
     \item[\code{econf} changes] The helper function now always
@@ -190,12 +190,12 @@ differences between these previous EAPIs.
     in EAPI 2 for USE dependencies, a \code{(+)} or \code{(-)} can be
     added after a USE flag (mind the parentheses).  The former
     specifies that flags not in IUSE should be treated as enabled; the
-    latter, disabled. Cannot be used with USE\_EXPAND flags.  This
+    latter, disabled. Cannot be used with USE_EXPAND flags.  This
     mimics parts of the behaviour of \code{-{}-missing} in
-    \code{built\_with\_use}.  See \featureref{use-dep-defaults}.
+    \code{built_with_use}.  See \featureref{use-dep-defaults}.
     \item[Controllable compression] All items in the \code{doc},
     \code{info}, \code{man} subdirectories of \code{/usr/share/} may
-    be compressed on-disk after \code{src\_install}, except for
+    be compressed on-disk after \code{src_install}, except for
     \code{/usr/share/doc/\$\{PF\}/html}.  \code{docompress path \dots}
     adds paths to the inclusion list for compression.
     \code{docompress -x path \dots} adds paths to the exclusion list.
@@ -213,7 +213,7 @@ differences between these previous EAPIs.
     See \featureref{doins}.
     \item[\code{PROPERTIES}] Is mandatory for all package managers now
     to support interactive installs.
-    \item[\code{REQUIRED\_USE}] This variable can be used similar to
+    \item[\code{REQUIRED_USE}] This variable can be used similar to
     the \code{(R|P)DEPEND} variables and define sets of USE flag
     combinations that are not allowed.  All elements can be further
     nested to achieve more functionality.
@@ -228,13 +228,13 @@ differences between these previous EAPIs.
         "\code{\textasciicircum\textasciicircum ( flag1 flag2 \dots\ )}".
     \end{description}
     See \featureref{required-use}.
-    \item[\code{MERGE\_TYPE}] This variable contains one of three
+    \item[\code{MERGE_TYPE}] This variable contains one of three
     possible values to allow checks if it is normal merge with
     compilation and installation (\code{source}), installation of a
     binary package (\code{binary}), or a compilation without
     installation (\code{buildonly}).  See \featureref{merge-type}.
-    \item[\code{REPLACING\_VERSIONS}, \code{REPLACED\_BY\_VERSION}]
-    These variables, valid in \code{pkg\_*}, contain a list of all
+    \item[\code{REPLACING_VERSIONS}, \code{REPLACED_BY_VERSION}]
+    These variables, valid in \code{pkg_*}, contain a list of all
     versions (\code{PVR}) of this package that we are replacing, and
     the version that is replacing the current one, respectively.
     See \featureref{replace-version-vars}.
@@ -283,17 +283,17 @@ differences between these previous EAPIs.
     explicitly listed in \code{IUSE}, additional flags can be
     implicitly provided by profiles.
     See \featureref{profile-iuse-inject}.
-    \item[At-most-one-of groups] In \code{REQUIRED\_USE} you can use
+    \item[At-most-one-of groups] In \code{REQUIRED_USE} you can use
     "\code{??\ ( flag1 flag2 \dots\ )}" to allow zero or one USE flag
     out of many.
     See \featureref{at-most-one-of}.
-    \item[Parallel tests] The default for \code{src\_test} runs
+    \item[Parallel tests] The default for \code{src_test} runs
     \code{emake} without \code{-j1} now.
     See \featureref{parallel-tests}.
     \item[\code{econf} changes] The \code{econf} function now always
     passes \code{-{}-disable-silent-rules} to \code{configure}.
     See \featureref{econf-options}.
-    \item[\code{has\_version} and \code{best\_version} changes]
+    \item[\code{has_version} and \code{best_version} changes]
     The two helpers support a \code{-{}-host-root} option that causes
     the query to apply to the host root instead of \code{ROOT}.
     See~\featureref{host-root-option}.
@@ -312,8 +312,8 @@ differences between these previous EAPIs.
     read from standard input if the first argument is \code{-}
     (a hyphen).
     See \featureref{newfoo-stdin}.
-    \item[\code{EBUILD\_PHASE\_FUNC}] This variable is very similar to
-    \code{EBUILD\_PHASE}, but contains the name of the current ebuild
+    \item[\code{EBUILD_PHASE_FUNC}] This variable is very similar to
+    \code{EBUILD_PHASE}, but contains the name of the current ebuild
     function.
     See \featureref{ebuild-phase-func}.
     \item[Stable use masking/forcing] New files
@@ -339,15 +339,15 @@ differences between these previous EAPIs.
     See \featureref{failglob}.
     \item[Locale settings] It is ensured that the behaviour of case
     modification and collation order for ASCII characters
-    (\code{LC\_CTYPE} and \code{LC\_COLLATE}) are the same as in the
+    (\code{LC_CTYPE} and \code{LC_COLLATE}) are the same as in the
     POSIX locale.
     See \featureref{locale-settings}.
-    \item[\code{src\_prepare}] This phase function has a default now,
+    \item[\code{src_prepare}] This phase function has a default now,
     which applies patches from the \code{PATCHES} variable with the
     new \code{eapply} command, and user-provided patches with
-    \code{eapply\_user}.
+    \code{eapply_user}.
     See \featureref{src-prepare-6}.
-    \item[\code{src\_install}] The default implementation uses the new
+    \item[\code{src_install}] The default implementation uses the new
     \code{einstalldocs} function for installing documentation.
     See \featureref{src-install-6}.
     \item[\code{nonfatal die}] When \code{die} or \code{assert} are
@@ -376,20 +376,20 @@ differences between these previous EAPIs.
     The patches from its file or directory arguments are applied using
     \code{patch -p1}.
     See \featureref{eapply}.
-    \item[\code{eapply\_user}] The \code{eapply\_user} command permits
+    \item[\code{eapply_user}] The \code{eapply_user} command permits
     the package manager to apply user-provided patches. It must be
-    called from every \code{src\_prepare} function.
+    called from every \code{src_prepare} function.
     See \featureref{eapply-user}.
     \item[\code{einstalldocs}] The \code{einstalldocs} function will
     install the files specified by the \code{DOCS} variable (or a
     default set of files if \code{DOCS} is unset) and by the
-    \code{HTML\_DOCS} variable.
+    \code{HTML_DOCS} variable.
     See \featureref{einstalldocs}.
-    \item[\code{in\_iuse}] The \code{in\_iuse} function returns
+    \item[\code{in_iuse}] The \code{in_iuse} function returns
     true if the USE flag given as its argument is available in the
     ebuild for USE queries.
     See \featureref{in-iuse}.
-    \item[\code{get\_libdir}] The \code{get\_libdir} command outputs
+    \item[\code{get_libdir}] The \code{get_libdir} command outputs
     the \code{lib*} directory basename suitable for the current ABI.
     See \featureref{get-libdir}.
 \end{description}

diff --git a/eapi-differences.tex b/eapi-differences.tex
index c552497..8f8bf72 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -49,7 +49,7 @@ Bash version & \compactfeatureref{bash-version} &
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     * & Yes & Yes & Yes & Yes \\
 
-\t{REQUIRED\_USE} & \compactfeatureref{required-use} &
+\t{REQUIRED_USE} & \compactfeatureref{required-use} &
     No & No & Yes & Yes & Yes \\
 
 \t{PROPERTIES} & \compactfeatureref{properties} &
@@ -58,13 +58,13 @@ Bash version & \compactfeatureref{bash-version} &
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
     Yes & Yes & No & No & No \\
 
-\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} &
+\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
     Optionally & Optionally & Yes & Yes & Yes \\
 
 \t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
     No & No & No & Yes & Yes \\
 
-\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} &
+\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
     * & Yes & Yes & Yes & Yes \\
 
 Slot dependencies & \compactfeatureref{slot-deps} &
@@ -85,40 +85,40 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
     Always & Always & Conditional & Conditional & Conditional \\
 
-\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} &
+\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
     No & No & Yes & Yes & Yes \\
 
-\t{src\_prepare} & \compactfeatureref{src-prepare} &
+\t{src_prepare} & \compactfeatureref{src-prepare} &
     * & Yes & Yes & Yes & Yes \\
 
-\t{src\_prepare} style & \compactfeatureref{src-prepare} &
+\t{src_prepare} style & \compactfeatureref{src-prepare} &
     * & no-op & no-op & no-op & 6 \\
 
-\t{src\_configure} & \compactfeatureref{src-configure} &
+\t{src_configure} & \compactfeatureref{src-configure} &
     * & Yes & Yes & Yes & Yes \\
 
-\t{src\_compile} style & \compactfeatureref{src-compile} &
+\t{src_compile} style & \compactfeatureref{src-compile} &
     * & 2 & 2 & 2 & 2 \\
 
 Parallel tests & \compactfeatureref{parallel-tests} &
     No & No & No & Yes & Yes \\
 
-\t{src\_install} style & \compactfeatureref{src-install} &
+\t{src_install} style & \compactfeatureref{src-install} &
     no-op & no-op & 4 & 4 & 6 \\
 
-\t{pkg\_info} & \compactfeatureref{pkg-info} &
+\t{pkg_info} & \compactfeatureref{pkg-info} &
     Installed & Installed & Both & Both & Both \\
 
-\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} &
+\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
     * &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} &
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-        \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+        \t{src_compile}, \t{src_test} &
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+        \t{src_compile}, \t{src_install}, \t{src_test} &
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+        \t{src_compile}, \t{src_install}, \t{src_test} &
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+        \t{src_compile}, \t{src_install}, \t{src_test} \\
 
 \t{AA} & \compactfeatureref{aa} &
     Yes & Yes & No & No & No \\
@@ -126,10 +126,10 @@ Parallel tests & \compactfeatureref{parallel-tests} &
 \t{KV} & \compactfeatureref{kv} &
     Yes & Yes & No & No & No \\
 
-\t{EBUILD\_PHASE\_FUNC} & \compactfeatureref{ebuild-phase-func} &
+\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
     No & No & No & Yes & Yes \\
 
-\t{MERGE\_TYPE} & \compactfeatureref{merge-type} &
+\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
     No & No & Yes & Yes & Yes \\
 
 Sane locale settings & \compactfeatureref{locale-settings} &
@@ -138,10 +138,10 @@ Sane locale settings & \compactfeatureref{locale-settings} &
 Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
     No & No & No & Yes & Yes \\
 
-\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} &
+\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
     No & No & Yes & Yes & Yes \\
 
-\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} &
+\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
     No & No & Yes & Yes & Yes \\
 
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
@@ -177,7 +177,7 @@ Option \t{-{}-host-root} & \compactfeatureref{host-root-option} &
 \t{eapply} & \compactfeatureref{eapply} &
     No & No & No & No & Yes \\
 
-\t{eapply\_user} & \compactfeatureref{eapply-user} &
+\t{eapply_user} & \compactfeatureref{eapply-user} &
     No & No & No & No & Yes \\
 
 \t{econf} arguments & \compactfeatureref{econf-options} &
@@ -209,13 +209,13 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{docompress} & \compactfeatureref{docompress} &
     No & No & Yes & Yes & Yes \\
 
-\t{use\_with} empty third arg & \compactfeatureref{use-with} &
+\t{use_with} empty third arg & \compactfeatureref{use-with} &
     No & No & Yes & Yes & Yes \\
 
 \t{usex} & \compactfeatureref{usex} &
     No & No & No & Yes & Yes \\
 
-\t{in\_iuse} & \compactfeatureref{in-iuse} &
+\t{in_iuse} & \compactfeatureref{in-iuse} &
     No & No & No & No & Yes \\
 
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
@@ -236,7 +236,7 @@ Controllable compression & \compactfeatureref{docompress} &
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
     No & No & No & No & Yes \\
 
-\t{get\_libdir} & \compactfeatureref{get-libdir} &
+\t{get_libdir} & \compactfeatureref{get-libdir} &
     No & No & No & No & Yes \\
 
 File mtimes preserved & \compactfeatureref{mtime-preserve} &
@@ -260,7 +260,7 @@ EAPI 1 is EAPI 0 with the following changes:
 \begin{compactitem}
 \item \t{IUSE} defaults, \featureref{iuse-defaults}.
 \item Slot dependencies, \featureref{slot-deps}.
-\item Different \t{src\_compile} implementation, \featureref{src-compile-1}.
+\item Different \t{src_compile} implementation, \featureref{src-compile-1}.
 \end{compactitem}
 
 \section{EAPI 2}
@@ -270,12 +270,12 @@ EAPI 2 is EAPI 1 with the following changes:
 \begin{compactitem}
 \item Use dependencies, \featureref{use-deps}.
 \item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}.
-\item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}.
-\item \t{src\_prepare}, \featureref{src-prepare}.
-\item \t{src\_configure}, \featureref{src-configure}.
-\item Different \t{src\_compile} implementation, \featureref{src-compile-2}.
-\item \t{default\_} phase functions for phases \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare},
-    \t{src\_configure}, \t{src\_compile} and \t{src\_test}; \featureref{default-phase-funcs}.
+\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
+\item \t{src_prepare}, \featureref{src-prepare}.
+\item \t{src_configure}, \featureref{src-configure}.
+\item Different \t{src_compile} implementation, \featureref{src-compile-2}.
+\item \t{default_} phase functions for phases \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare},
+    \t{src_configure}, \t{src_compile} and \t{src_test}; \featureref{default-phase-funcs}.
 \item \t{doman} language detection by filename, \featureref{doman-langs}.
 \item \t{default} function, \featureref{default-func}.
 \end{compactitem}
@@ -296,18 +296,18 @@ EAPI 4 is EAPI 3 with the following changes:
 
 \begin{compactitem}
 \item \t{PROPERTIES} support is mandatory, \featureref{properties}.
-\item \t{REQUIRED\_USE}, \featureref{required-use}.
+\item \t{REQUIRED_USE}, \featureref{required-use}.
 \item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}.
-\item \t{DEFINED\_PHASES} support is mandatory, \featureref{defined-phases}.
+\item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}.
 \item Use dependency defaults, \featureref{use-dep-defaults}.
 \item \t{S} to \t{WORKDIR} fallback restricted, \featureref{s-workdir-fallback}.
-\item \t{pkg\_pretend}, \featureref{pkg-pretend}.
-\item Default \t{src\_install} no longer a no-op, \featureref{src-install-4}.
-\item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}.
+\item \t{pkg_pretend}, \featureref{pkg-pretend}.
+\item Default \t{src_install} no longer a no-op, \featureref{src-install-4}.
+\item \t{pkg_info} can run on non-installed packages, \featureref{pkg-info}.
 \item \t{AA} is gone, \featureref{aa}.
 \item \t{KV} is gone, \featureref{kv}.
-\item \t{MERGE\_TYPE}, \featureref{merge-type}.
-\item \t{REPLACING\_VERSIONS} and \t{REPLACED\_BY\_VERSION}, \featureref{replace-version-vars}.
+\item \t{MERGE_TYPE}, \featureref{merge-type}.
+\item \t{REPLACING_VERSIONS} and \t{REPLACED_BY_VERSION}, \featureref{replace-version-vars}.
 \item Utilities now die on failure, \featureref{die-on-failure}, unless called under \t{nonfatal},
     \featureref{nonfatal}
 \item \t{dohard}, \t{dosed} banned, \featureref{banned-commands}.
@@ -316,7 +316,7 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{doins} supports symlinks, \featureref{doins}.
 \item \t{doman -i18n} option takes precedence, \featureref{doman-langs}.
 \item Controllable compression and \t{docompress}, \featureref{docompress}.
-\item \t{use\_with} and \t{use\_enable} support empty third argument, \featureref{use-with}.
+\item \t{use_with} and \t{use_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
 \section{EAPI 5}
@@ -325,14 +325,14 @@ EAPI 5 is EAPI 4 with the following changes:
 
 \begin{compactitem}
 \item Stable use masking and forcing, \featureref{stablemask}.
-\item \t{REQUIRED\_USE} now supports \t{??}\ groups, \featureref{at-most-one-of}.
+\item \t{REQUIRED_USE} now supports \t{??}\ groups, \featureref{at-most-one-of}.
 \item Slot operator dependencies, \featureref{slot-operator-deps}.
 \item \t{SLOT} now supports an optional sub-slot part, \featureref{sub-slot}.
-\item \t{src\_test} supports parallel tests, \featureref{parallel-tests}.
-\item \t{EBUILD\_PHASE\_FUNC}, \featureref{ebuild-phase-func}.
+\item \t{src_test} supports parallel tests, \featureref{parallel-tests}.
+\item \t{EBUILD_PHASE_FUNC}, \featureref{ebuild-phase-func}.
 \item \t{USE} is calculated differently, \featureref{profile-iuse-inject}.
 \item \t{find} is guaranteed to be GNU, \featureref{gnu-find}.
-\item \t{best\_version} and \t{has\_version} support the \t{-{}-host-root} option,
+\item \t{best_version} and \t{has_version} support the \t{-{}-host-root} option,
     \featureref{host-root-option}.
 \item \t{econf} adds \t{-{}-disable-silent-rules}, \featureref{econf-options}.
 \item \t{doheader} and \t{newheader} support, \featureref{doheader}.
@@ -346,21 +346,21 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
-\item Default \t{src\_prepare} no longer a no-op, \featureref{src-prepare-6}.
-\item Different \t{src\_install} implementation, \featureref{src-install-6}.
-\item \t{LC\_CTYPE} and \t{LC\_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
+\item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}.
+\item Different \t{src_install} implementation, \featureref{src-install-6}.
+\item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
 \item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.
-\item \t{eapply\_user} support, \featureref{eapply-user}.
+\item \t{eapply_user} support, \featureref{eapply-user}.
 \item \t{econf} adds \t{-{}-docdir} and \t{-{}-htmldir}, \featureref{econf-options}.
-\item \t{in\_iuse} support, \featureref{in-iuse}.
+\item \t{in_iuse} support, \featureref{in-iuse}.
 \item \t{unpack} supports absolute and relative paths, \featureref{unpack-absolute}.
 \item \t{unpack} supports \t{.txz}, \featureref{unpack-extensions}.
 \item \t{unpack} matches filename extensions case-insensitively, \featureref{unpack-ignore-case}.
 \item \t{einstalldocs} support, \featureref{einstalldocs}.
-\item \t{get\_libdir} support, \featureref{get-libdir}.
+\item \t{get_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index 921a664..d1773f5 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -4,7 +4,7 @@ This section documents the commands available to an ebuild. Unless otherwise spe
 aliases, shell functions, or executables in the ebuild's \t{PATH}.
 
 When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
-when none of the \t{src\_} or \t{pkg\_} functions are to be called), no external command may
+when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may
 be executed. The package manager may take steps to enforce this.
 
 \subsection{System commands}

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index 861e6b9..cc95a2b 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -6,10 +6,10 @@ For the sake of this section:
 \item Variancy is any package manager action that modifies either
     \t{ROOT} or \t{/} in any way that isn't merely a simple addition of
     something that doesn't alter other packages. This includes any
-    non-default call to any \t{pkg} phase function except \t{pkg\_setup},
+    non-default call to any \t{pkg} phase function except \t{pkg_setup},
     a merge of any package or an unmerge of any package.
 \item As an exception, changes to \t{DISTDIR} do not count as variancy.
-\item The \t{pkg\_setup} function may be assumed not to introduce variancy.
+\item The \t{pkg_setup} function may be assumed not to introduce variancy.
     Thus, ebuilds must not perform variant actions in this phase.
 \end{compactitem}
 
@@ -17,10 +17,10 @@ The following exclusivity and invariancy requirements are mandated:
 
 \begin{compactitem}
 \item No variancy shall be introduced at any point between a package's
-    \t{pkg\_setup} being started up to the point that that package is
+    \t{pkg_setup} being started up to the point that that package is
     merged, except for any variancy introduced by that package.
-\item There must be no variancy between a package's \t{pkg\_setup} and
-    a package's \t{pkg\_postinst}, except for any variancy introduced
+\item There must be no variancy between a package's \t{pkg_setup} and
+    a package's \t{pkg_postinst}, except for any variancy introduced
     by that package.
 \item Any non-default \t{pkg} phase function must be run exclusively.
 \item Each phase function must be called at most once during the build

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index d2cf7b4..2333b01 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va
 function earlier in the call sequence must have its value preserved for later functions, including
 functions executed as part of a later uninstall.
 
-\note \t{pkg\_pretend} is \e{not} part of the normal call sequence, and does not take part in
+\note \t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
 environment saving.
 
 Variables that were exported must remain exported in later functions; variables with default

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 82ab4cf..8b43b09 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -7,8 +7,8 @@ any value. Ebuilds must not attempt to modify any of these variables, unless oth
 
 Because of their special meanings, these variables may not be preserved consistently across all
 phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}). For example,
-\t{EBUILD\_PHASE} is different for every phase, and \t{ROOT} may have changed between the various
-different \t{pkg\_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent
+\t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between the various
+different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent
 variable.
 
 \begin{landscape}
@@ -67,12 +67,12 @@ variable.
     Yes &
     Package version and revision (if any), for example \t{7.0.174} or \t{7.0.174-r1}. \\
 \t{A} &
-    \t{src\_*}, \t{pkg\_nofetch} &
+    \t{src_*}, \t{pkg_nofetch} &
     Yes &
     All source files available for the package, whitespace separated with no leading or trailing
     whitespace, and in the order in which the item first appears in a matched component of
-    \t{SRC\_URI}\@. Does not include any that are disabled because of USE conditionals. The value is
-    calculated from the base names of each element of the \t{SRC\_URI} ebuild metadata variable. \\
+    \t{SRC_URI}\@. Does not include any that are disabled because of USE conditionals. The value is
+    calculated from the base names of each element of the \t{SRC_URI} ebuild metadata variable. \\
 \t{AA}\footnote{This variable is generally considered deprecated. However, ebuilds must still
     assume that the package manager sets it in the EAPIs supporting it. For example, a few
     configure scripts use this variable to find the \t{aalib} package; ebuilds calling such
@@ -81,10 +81,10 @@ variable.
     Yes &
     \featurelabel{aa} All source files that could be available for the package, including any that
     are disabled in \t{A} because of USE conditionals. The value is calculated from the base names
-    of each element of the \t{SRC\_URI} ebuild metadata variable. Only for EAPIs listed in
+    of each element of the \t{SRC_URI} ebuild metadata variable. Only for EAPIs listed in
     table~\ref{tab:removed-env-vars-table} as supporting \t{AA}. \\
 \t{FILESDIR} &
-    \t{src\_*}, global~scope\footnote{Not necessarily present when installing from a binary package.
+    \t{src_*}, global~scope\footnote{Not necessarily present when installing from a binary package.
     Ebuilds must not access the directory in global scope.} &
     Yes &
     The full path to a directory where the files from the package's files directory (used for
@@ -101,22 +101,22 @@ variable.
     The full path to the ebuild's working directory, where all build data should be contained.%
     \label{env-var-WORKDIR} \\
 \t{S} &
-    \t{src\_*} &
+    \t{src_*} &
     Yes &
-    The full path to the temporary build directory, used by \t{src\_compile}, \t{src\_install} etc.
+    The full path to the temporary build directory, used by \t{src_compile}, \t{src_install} etc.
     Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. May be modified by ebuilds. If \t{S} is assigned in the
     global scope of an ebuild, then the restrictions of section~\ref{sec:ebuild-env-state} for
     global variables apply. \\
 \t{PORTDIR} &
-    \t{src\_*} &
+    \t{src_*} &
     No &
     The full path to the master repository's base directory. \\
 \t{ECLASSDIR} &
-    \t{src\_*} &
+    \t{src_*} &
     No &
     The full path to the master repository's eclass directory. \\
 \t{ROOT} &
-   \t{pkg\_*} &
+   \t{pkg_*} &
    No &
    The absolute path to the root directory into which the package is to be merged.  Phases which run
    with full filesystem access must not touch any files outside of the directory given in
@@ -124,7 +124,7 @@ variable.
    will not be executable on the build machine, so ebuilds must not call them. \t{ROOT} must be
    non-empty and end in a trailing slash. \\
 \t{EROOT} &
-    \t{pkg\_*} &
+    \t{pkg_*} &
     No &
     Contains the path \t{\$\{ROOT\%/\}\$\{EPREFIX\}/} for convenience. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
@@ -156,27 +156,27 @@ variable.
     See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{EPREFIX}. \\
 \t{D} &
-    \t{src\_install} &
+    \t{src_install} &
     No &
     Contains the full path to the image directory into which the package should be installed.
     Must be non-empty and end in a trailing slash. \\
 \t{D} (continued) &
-    \t{pkg\_preinst}, \t{pkg\_postinst} &
+    \t{pkg_preinst}, \t{pkg_postinst} &
     Yes &
     Contains the full path to the image that is about to be or has just been merged. Must be
     non-empty and end in a trailing slash. \\
 \t{ED} &
-    \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst} &
+    \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst} &
     See \t{D} &
     Contains the path \t{\$\{D\%/\}\$\{EPREFIX\}/} for convenience. See also the
     \t{EPREFIX} variable. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
     supporting \t{ED}. \\
 \t{DESTTREE} &
-    \t{src\_install} &
+    \t{src_install} &
     No &
     Controls the location where \t{dobin}, \t{dolib}, \t{domo}, and \t{dosbin} install things. \\
 \t{INSDESTTREE} &
-    \t{src\_install} &
+    \t{src_install} &
     No &
     Controls the location where \t{doins} installs things. \\
 \t{USE} &
@@ -184,7 +184,7 @@ variable.
     Yes &
     A whitespace-delimited list of all active USE flags for this ebuild. See
     section~\ref{sec:use-iuse-handling} for details. \\
-\t{EBUILD\_PHASE} &
+\t{EBUILD_PHASE} &
     All &
     No &
     Takes one of the values \t{config}, \t{setup}, \t{nofetch}, \t{unpack}, \t{prepare},
@@ -192,43 +192,43 @@ variable.
     \t{postrm}, \t{info}, \t{pretend} according to the top level ebuild function that was executed
     by the package manager. May be unset or any single word that is not any of the above when the
     ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\
-\t{EBUILD\_PHASE\_FUNC} &
+\t{EBUILD_PHASE_FUNC} &
     All &
     No &
-    \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg\_config}, \t{pkg\_setup},
-    \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile},
-    \t{src\_test}, \t{src\_install}, \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm},
-    \t{pkg\_postrm}, \t{pkg\_info}, \t{pkg\_pretend} according to the top level ebuild function that
+    \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg_config}, \t{pkg_setup},
+    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile},
+    \t{src_test}, \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm},
+    \t{pkg_postrm}, \t{pkg_info}, \t{pkg_pretend} according to the top level ebuild function that
     was executed by the package manager. May be unset or any single word that is not any of the
     above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
-    EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD\_PHASE\_FUNC}. \\
+    EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD_PHASE_FUNC}. \\
 \t{KV} &
     All &
     Yes &
     \featurelabel{kv} The version of the running kernel at the time the ebuild was first executed,
     as returned by the \t{uname~-r} command or equivalent.  May be modified by ebuilds.  Only for
     EAPIs listed in table~\ref{tab:removed-env-vars-table} as supporting \t{KV}. \\
-\t{MERGE\_TYPE} &
-    \t{pkg\_*} &
+\t{MERGE_TYPE} &
+    \t{pkg_*} &
     No &
     \featurelabel{merge-type} The type of package that is being merged. Possible values are:
     \t{source} if building and installing a package from source, \t{binary} if installing a binary
     package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs
-    listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE\_TYPE}. \\
-\t{REPLACING\_VERSIONS} &
-    \t{pkg\_*} (see text) &
+    listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE_TYPE}. \\
+\t{REPLACING_VERSIONS} &
+    \t{pkg_*} (see text) &
     Yes &
     A list of all versions of this package (including revision, if specified), whitespace separated
     with no leading or trailing whitespace, that are being replaced (uninstalled or overwritten)
     as a result of this install. See section~\ref{sec:replacing-versions}. Only for EAPIs listed
-    in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING\_VERSIONS}. \\
-\t{REPLACED\_BY\_VERSION} &
-    \t{pkg\_prerm}, \t{pkg\_postrm} &
+    in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING_VERSIONS}. \\
+\t{REPLACED_BY_VERSION} &
+    \t{pkg_prerm}, \t{pkg_postrm} &
     Yes &
     The single version of this package (including revision, if specified) that is replacing us, if
     we are being uninstalled as part of an install, or an empty string otherwise. See
     section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
-    as supporting \t{REPLACED\_BY\_VERSION}.
+    as supporting \t{REPLACED_BY_VERSION}.
 \end{longtable}
 \end{landscape}
 
@@ -238,10 +238,10 @@ variable.
     \begin{tabular}{lllll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{MERGE\_TYPE}?}} &
-      \multicolumn{1}{c}{\textbf{\t{REPLACING\_VERSIONS}?}} &
-      \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} &
-      \multicolumn{1}{c}{\textbf{\t{EBUILD\_PHASE\_FUNC}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{MERGE_TYPE}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACING_VERSIONS}?}} &
+      \multicolumn{1}{c}{\textbf{\t{REPLACED_BY_VERSION}?}} &
+      \multicolumn{1}{c}{\textbf{\t{EBUILD_PHASE_FUNC}?}} \\
       \midrule
       0, 1, 2, 3        & No  & No  & No  & No  \\
       4                 & Yes & Yes & Yes & No  \\
@@ -290,11 +290,11 @@ the scope of this specification) or be unset.
 is left up to interpretation, but it should include the equivalent ``sbin'' and ``bin'' and any
 package manager specific directories.
 
-\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP\_OPTIONS}, \t{GREP\_COLOR} and \t{GLOBIGNORE}
+\t{GZIP}, \t{BZIP}, \t{BZIP2}, \t{CDPATH}, \t{GREP_OPTIONS}, \t{GREP_COLOR} and \t{GLOBIGNORE}
 must not be set.
 
-\featurelabel{locale-settings} The package manager must ensure that the \t{LC\_CTYPE} and
-\t{LC\_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the
+\featurelabel{locale-settings} The package manager must ensure that the \t{LC_CTYPE} and
+\t{LC_COLLATE} locale categories are equivalent to the POSIX locale, as far as characters in the
 ASCII range (U+0000 to U+007F) are concerned. Only for EAPIs listed in such a manner in
 table~\ref{tab:locale-settings}.
 
@@ -304,7 +304,7 @@ table~\ref{tab:locale-settings}.
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Sane \t{LC\_CTYPE} and \t{LC\_COLLATE}?}} \\
+      \multicolumn{1}{c}{\textbf{Sane \t{LC_CTYPE} and \t{LC_COLLATE}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5  & Undefined \\
       6                 & Yes       \\
@@ -319,78 +319,78 @@ This section discusses the handling of four variables:
 
 \begin{description}
 \item[IUSE] is the variable calculated from the \t{IUSE} values defined in ebuilds and eclasses.
-\item[IUSE\_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources
+\item[IUSE_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources
     described below. It is purely a conceptual variable; it is not exported to the ebuild
-    environment. Values in \t{IUSE\_REFERENCEABLE} may legally be used in queries from other
+    environment. Values in \t{IUSE_REFERENCEABLE} may legally be used in queries from other
     packages about an ebuild's state (for example, for use dependencies).
-\item[IUSE\_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE\_EFFECTIVE} are
+\item[IUSE_EFFECTIVE] is another conceptual, unexported variable. Values in \t{IUSE_EFFECTIVE} are
     those which an ebuild may legally use in queries about itself (for example, for the \t{use}
     function, and for use in dependency specification conditional blocks).
 \item[USE] is a variable calculated by the package manager and exported to the ebuild environment.
 \end{description}
 
-In all cases, the values of \t{IUSE\_REFERENCEABLE} and \t{IUSE\_EFFECTIVE} are undefined during
+In all cases, the values of \t{IUSE_REFERENCEABLE} and \t{IUSE_EFFECTIVE} are undefined during
 metadata generation.
 
 For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE\_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs
-where profile defined \t{IUSE} injection is supported, \t{IUSE\_REFERENCEABLE} is equal to
-\t{IUSE\_EFFECTIVE}.
+\t{IUSE} injection, \t{IUSE_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs
+where profile defined \t{IUSE} injection is supported, \t{IUSE_REFERENCEABLE} is equal to
+\t{IUSE_EFFECTIVE}.
 
 For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values:
+\t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.
 \item All possible values for the \t{ARCH} variable.
 \item All legal use flag names whose name starts with the lowercase equivalent of any value in
-    the profile \t{USE\_EXPAND} variable followed by an underscore.
+    the profile \t{USE_EXPAND} variable followed by an underscore.
 \end{compactitem}
 
 \featurelabel{profile-iuse-inject} For EAPIs listed in table~\ref{tab:profile-iuse-injection-table}
-as supporting profile defined \t{IUSE} injection, \t{IUSE\_EFFECTIVE} contains the following values:
+as supporting profile defined \t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.
-\item All values in the profile \t{IUSE\_IMPLICIT} variable.
-\item All values in the profile variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}}
-    is any value in the intersection of the profile \t{USE\_EXPAND\_UNPREFIXED} and
-    \t{USE\_EXPAND\_IMPLICIT} variables.
-\item All values for \t{\$\{lower\_v\}\_\$\{x\}}, where \t{\$\{x\}} is all values in the profile
-    variable named \t{USE\_EXPAND\_VALUES\_\$\{v\}}, where \t{\$\{v\}} is any value in the
-    intersection of the profile \t{USE\_EXPAND} and \t{USE\_EXPAND\_IMPLICIT} variables and
-    \t{\$\{lower\_v\}} is the lowercase equivalent of \t{\$\{v\}}.
+\item All values in the profile \t{IUSE_IMPLICIT} variable.
+\item All values in the profile variable named \t{USE_EXPAND_VALUES_\$\{v\}}, where \t{\$\{v\}}
+    is any value in the intersection of the profile \t{USE_EXPAND_UNPREFIXED} and
+    \t{USE_EXPAND_IMPLICIT} variables.
+\item All values for \t{\$\{lower_v\}_\$\{x\}}, where \t{\$\{x\}} is all values in the profile
+    variable named \t{USE_EXPAND_VALUES_\$\{v\}}, where \t{\$\{v\}} is any value in the
+    intersection of the profile \t{USE_EXPAND} and \t{USE_EXPAND_IMPLICIT} variables and
+    \t{\$\{lower_v\}} is the lowercase equivalent of \t{\$\{v\}}.
 \end{compactitem}
 
-The \t{USE} variable is set by the package manager. For each value in \t{IUSE\_EFFECTIVE}, \t{USE}
+The \t{USE} variable is set by the package manager. For each value in \t{IUSE_EFFECTIVE}, \t{USE}
 shall contain that value if the flag is to be enabled for the ebuild in question, and shall not
 contain that value if it is to be disabled. In EAPIs listed in
 table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined \t{IUSE} injection,
 \t{USE} may contain other flag names that are not relevant for the ebuild.
 
 For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
-\t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED} shall
+\t{IUSE} injection, the variables named in \t{USE_EXPAND} and \t{USE_EXPAND_UNPREFIXED} shall
 have their profile-provided values reduced to contain only those values that are present in
-\t{IUSE\_EFFECTIVE}.
+\t{IUSE_EFFECTIVE}.
 
 For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile defined
-\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE\_EFFECTIVE} when
+\t{IUSE} injection, the package manager must save the calculated value of \t{IUSE_EFFECTIVE} when
 installing a package. Details are beyond the scope of this specification.
 
-\subsection{REPLACING\_VERSIONS and REPLACED\_BY\_VERSION}
+\subsection{REPLACING_VERSIONS and REPLACED_BY_VERSION}
 \label{sec:replacing-versions}
 
 \featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
-supporting it, the \t{REPLACING\_VERSIONS} variable shall be defined in \t{pkg\_preinst} and
-\t{pkg\_postinst}.  In addition, it \e{may} be defined in \t{pkg\_pretend} and \t{pkg\_setup},
+supporting it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and
+\t{pkg_postinst}.  In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
 although ebuild authors should take care to handle binary package creation and installation
 correctly when using it in these phases.
 
-\t{REPLACING\_VERSIONS} is a list, not a single optional value, to handle pathological cases such as
+\t{REPLACING_VERSIONS} is a list, not a single optional value, to handle pathological cases such as
 installing \t{foo-2:2} to replace \t{foo-2:1} and \t{foo-3:2}.
 
 In EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting it, the
-\t{REPLACED\_BY\_VERSION} variable shall be defined in \t{pkg\_prerm} and \t{pkg\_postrm}. It shall
+\t{REPLACED_BY_VERSION} variable shall be defined in \t{pkg_prerm} and \t{pkg_postrm}. It shall
 contain at most one value.
 
 \subsection{Offset-prefix variables}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index db6d7a1..fa49e8f 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -5,7 +5,7 @@
 a bash script. The interpreter is assumed to be GNU bash, version as listed in
 table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set
 the shell's compatibility level to the exact version specified. It must ensure that any such
-compatibility settings (e.g. the \t{BASH\_COMPAT} variable) are not exported to external programs.
+compatibility settings (e.g. the \t{BASH_COMPAT} variable) are not exported to external programs.
 
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 045b207..e90c050 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -12,8 +12,8 @@ temporary directory \t{T}; exceptions are noted below. All functions may assume
 access to all system libraries, binaries and configuration files that are accessible to normal
 users.
 
-The environment for functions run outside of the build sequence (that is, \t{pkg\_config},
-\t{pkg\_info}, \t{pkg\_prerm} and \t{pkg\_postrm}) must be the environment used for the build of the
+The environment for functions run outside of the build sequence (that is, \t{pkg_config},
+\t{pkg_info}, \t{pkg_prerm} and \t{pkg_postrm}) must be the environment used for the build of the
 package, not the current configuration.
 
 Ebuilds must not call nor assume the existence of any phase functions.
@@ -37,10 +37,10 @@ fallback to \t{WORKDIR} is used:
 
 \begin{compactitem}
 \item The \t{A} variable contains no items.
-\item The phase function in question is not in \t{DEFINED\_PHASES}.
+\item The phase function in question is not in \t{DEFINED_PHASES}.
 \item None of the phase functions \t{unpack}, \t{prepare}, \t{configure}, \t{compile} or \t{install},
     if supported by the EAPI in question and occurring prior to the phase about to be executed, are
-    in \t{DEFINED\_PHASES}.
+    in \t{DEFINED_PHASES}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{6}
@@ -57,30 +57,30 @@ fallback to \t{WORKDIR} is used:
     \end{tabular}
 \end{centertable}
 
-\subsection{pkg\_pretend}
+\subsection{pkg_pretend}
 
-\featurelabel{pkg-pretend} The \t{pkg\_pretend} function is only called for EAPIs listed in
+\featurelabel{pkg-pretend} The \t{pkg_pretend} function is only called for EAPIs listed in
 table~\ref{tab:pkg-pretend-table} as supporting it.
 
-The \t{pkg\_pretend} function may be used to carry out sanity checks early on in the install
+The \t{pkg_pretend} function may be used to carry out sanity checks early on in the install
 process. For example, if an ebuild requires a particular kernel configuration, it may perform that
-check in \t{pkg\_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the
+check in \t{pkg_pretend} and call \t{eerror} and then \t{die} with appropriate messages if the
 requirement is not met.
 
-\t{pkg\_pretend} is run separately from the main phase function sequence, and does not participate
+\t{pkg_pretend} is run separately from the main phase function sequence, and does not participate
 in any kind of environment saving. There is no guarantee that any of an ebuild's dependencies will
 be met at this stage, and no guarantee that the system state will not have changed substantially
 before the next phase is executed.
 
-\t{pkg\_pretend} must not write to the filesystem.
+\t{pkg_pretend} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_pretend}}
+\begin{centertable}{EAPIs supporting \t{pkg_pretend}}
     \label{tab:pkg-pretend-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg_pretend}?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
       4, 5, 6           & Yes \\
@@ -88,25 +88,25 @@ before the next phase is executed.
     \end{tabular}
 \end{centertable}
 
-\subsection{pkg\_setup}
+\subsection{pkg_setup}
 
-The \t{pkg\_setup} function sets up the ebuild's environment for all following functions, before
+The \t{pkg_setup} function sets up the ebuild's environment for all following functions, before
 the build process starts. Further, it checks whether any necessary prerequisites not covered
 by the package manager, e.\,g.\ that certain kernel configuration options are fulfilled.
 
-\t{pkg\_setup} must be run with full filesystem permissions, including the ability to add new users
+\t{pkg_setup} must be run with full filesystem permissions, including the ability to add new users
 and/or groups to the system.
 
-\subsection{src\_unpack}
+\subsection{src_unpack}
 
-The \t{src\_unpack} function extracts all of the package's sources. In EAPIs lacking
-\t{src\_prepare}, it may also apply patches and set up the package's build system for further use.
+The \t{src_unpack} function extracts all of the package's sources. In EAPIs lacking
+\t{src_prepare}, it may also apply patches and set up the package's build system for further use.
 
 The initial working directory must be \t{WORKDIR}, and the default implementation used when
-the ebuild lacks the \t{src\_unpack} function shall behave as:
+the ebuild lacks the \t{src_unpack} function shall behave as:
 
 \begin{listing}[H]
-\caption{\t{src\_unpack}}
+\caption{\t{src_unpack}}
 \begin{verbatim}
 src_unpack() {
     if [[ -n ${A} ]]; then
@@ -116,21 +116,21 @@ src_unpack() {
 \end{verbatim}
 \end{listing}
 
-\subsection{src\_prepare}
+\subsection{src_prepare}
 
-\featurelabel{src-prepare} The \t{src\_prepare} function is only called for EAPIs listed in
-table~\ref{tab:src-prepare-table} as supporting it. The \t{src\_prepare} function can be used for
+\featurelabel{src-prepare} The \t{src_prepare} function is only called for EAPIs listed in
+table~\ref{tab:src-prepare-table} as supporting it. The \t{src_prepare} function can be used for
 post-unpack source preparation.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
 \featurelabel{src-prepare-6} For EAPIs listed in table~\ref{tab:src-prepare-table} as using format
-6, the default implementation used when the ebuild lacks the \t{src\_prepare} function shall behave
+6, the default implementation used when the ebuild lacks the \t{src_prepare} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_prepare}, format~6}
+\caption{\t{src_prepare}, format~6}
 \begin{verbatim}
 src_prepare() {
     if declare -p PATCHES | grep -q "^declare -a "; then
@@ -143,16 +143,16 @@ src_prepare() {
 \end{verbatim}
 \end{listing}
 
-For other EAPIs supporting \t{src\_prepare}, the default implementation used when the ebuild lacks
-the \t{src\_prepare} function is a no-op.
+For other EAPIs supporting \t{src_prepare}, the default implementation used when the ebuild lacks
+the \t{src_prepare} function is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_prepare} support and behaviour for EAPIs}
+\begin{centertable}{\t{src_prepare} support and behaviour for EAPIs}
     \label{tab:src-prepare-table}
     \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{src_prepare}?}} &
       \multicolumn{1}{c}{\textbf{Format}} \\
       \midrule
       0, 1              & No  & Not applicable \\
@@ -162,19 +162,19 @@ the \t{src\_prepare} function is a no-op.
     \end{tabular}
 \end{centertable}
 
-\subsection{src\_configure}
+\subsection{src_configure}
 
-\featurelabel{src-configure} The \t{src\_configure} function is only called for EAPIs listed in
+\featurelabel{src-configure} The \t{src_configure} function is only called for EAPIs listed in
 table~\ref{tab:src-configure-table} as supporting it.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
-The \t{src\_configure} function configures the package's build environment. The default
-implementation used when the ebuild lacks the \t{src\_configure} function shall behave as:
+The \t{src_configure} function configures the package's build environment. The default
+implementation used when the ebuild lacks the \t{src_configure} function shall behave as:
 
 \begin{listing}[H]
-\caption{\t{src\_configure}}
+\caption{\t{src_configure}}
 \begin{verbatim}
 src_configure() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -185,12 +185,12 @@ src_configure() {
 \end{listing}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{src\_configure}}
+\begin{centertable}{EAPIs supporting \t{src_configure}}
     \label{tab:src-configure-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{src_configure}?}} \\
       \midrule
       0, 1              & No  \\
       2, 3, 4, 5, 6     & Yes \\
@@ -198,20 +198,20 @@ src_configure() {
     \end{tabular}
 \end{centertable}
 
-\subsection{src\_compile}
+\subsection{src_compile}
 
-\featurelabel{src-compile} The \t{src\_compile} function configures the package's build environment
-in EAPIs lacking \t{src\_configure}, and builds the package in all EAPIs.
+\featurelabel{src-compile} The \t{src_compile} function configures the package's build environment
+in EAPIs lacking \t{src_configure}, and builds the package in all EAPIs.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
 \featurelabel{src-compile-0} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-0, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+0, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_compile}, format~0}
+\caption{\t{src_compile}, format~0}
 \begin{verbatim}
 src_compile() {
     if [[ -x ./configure ]]; then
@@ -225,11 +225,11 @@ src_compile() {
 \end{listing}
 
 \featurelabel{src-compile-1} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-1, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+1, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_compile}, format~1}
+\caption{\t{src_compile}, format~1}
 \begin{verbatim}
 src_compile() {
     if [[ -x ${ECONF_SOURCE:-.}/configure ]]; then
@@ -243,11 +243,11 @@ src_compile() {
 \end{listing}
 
 \featurelabel{src-compile-2} For EAPIs listed in table~\ref{tab:src-compile-table} as using format
-2, the default implementation used when the ebuild lacks the \t{src\_compile} function shall behave
+2, the default implementation used when the ebuild lacks the \t{src_compile} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_compile}, format~2}
+\caption{\t{src_compile}, format~2}
 \begin{verbatim}
 src_compile() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -258,7 +258,7 @@ src_compile() {
 \end{listing}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_compile} behaviour for EAPIs}
+\begin{centertable}{\t{src_compile} behaviour for EAPIs}
     \label{tab:src-compile-table}
     \begin{tabular}{ll}
       \toprule
@@ -272,13 +272,13 @@ src_compile() {
     \end{tabular}
 \end{centertable}
 
-\subsection{src\_test}
+\subsection{src_test}
 
-The \t{src\_test} function runs unit tests for the newly built but not yet installed package as
+The \t{src_test} function runs unit tests for the newly built but not yet installed package as
 provided.
 
 The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise.
-The default implementation used when the ebuild lacks the \t{src\_test} function must, if tests are
+The default implementation used when the ebuild lacks the \t{src_test} function must, if tests are
 enabled, run \t{emake check} if and only if such a target is available, or if not run
 \t{emake test} if and only if such a target is available. In both cases, if \t{emake} returns
 non-zero the build must be aborted.
@@ -286,11 +286,11 @@ non-zero the build must be aborted.
 \featurelabel{parallel-tests} For EAPIs listed in table~\ref{tab:src-test-table} as not supporting
 parallel tests, the \t{emake} command must be called with option \t{-j1}.
 
-The \t{src\_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may
+The \t{src_test} function may be disabled by \t{RESTRICT}\@. See section~\ref{sec:restrict}. It may
 be disabled by user too, using a PM-specific mechanism.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_test} behaviour for EAPIs}
+\begin{centertable}{\t{src_test} behaviour for EAPIs}
     \label{tab:src-test-table}
     \begin{tabular}{ll}
       \toprule
@@ -303,20 +303,20 @@ be disabled by user too, using a PM-specific mechanism.
     \end{tabular}
 \end{centertable}
 
-\subsection{src\_install}
+\subsection{src_install}
 
-\featurelabel{src-install} The \t{src\_install} function installs the package's content to a
+\featurelabel{src-install} The \t{src_install} function installs the package's content to a
 directory specified in \t{D}.
 
 The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
 section~\ref{sec:s-to-workdir-fallback}.
 
 \featurelabel{src-install-4} For EAPIs listed in table~\ref{tab:src-install-table} as using format
-4, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+4, the default implementation used when the ebuild lacks the \t{src_install} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_install}, format~4}
+\caption{\t{src_install}, format~4}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -339,11 +339,11 @@ src_install() {
 \end{listing}
 
 \featurelabel{src-install-6} For EAPIs listed in table~\ref{tab:src-install-table} as using format
-6, the default implementation used when the ebuild lacks the \t{src\_install} function shall behave
+6, the default implementation used when the ebuild lacks the \t{src_install} function shall behave
 as:
 
 \begin{listing}[H]
-\caption{\t{src\_install}, format~6}
+\caption{\t{src_install}, format~6}
 \begin{verbatim}
 src_install() {
     if [[ -f Makefile ]] || [[ -f GNUmakefile ]] || [[ -f makefile ]]; then
@@ -354,11 +354,11 @@ src_install() {
 \end{verbatim}
 \end{listing}
 
-For other EAPIs, the default implementation used when the ebuild lacks the \t{src\_install} function
+For other EAPIs, the default implementation used when the ebuild lacks the \t{src_install} function
 is a no-op.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{\t{src\_install} behaviour for EAPIs}
+\begin{centertable}{\t{src_install} behaviour for EAPIs}
     \label{tab:src-install-table}
     \begin{tabular}{ll}
       \toprule
@@ -372,66 +372,66 @@ is a no-op.
     \end{tabular}
 \end{centertable}
 
-\subsection{pkg\_preinst}
+\subsection{pkg_preinst}
 
-The \t{pkg\_preinst} function performs any special tasks that are required immediately before
+The \t{pkg_preinst} function performs any special tasks that are required immediately before
 merging the package to the live filesystem. It must not write outside of the directories specified
 by the \t{ROOT} and \t{D} environment variables.
 
-\t{pkg\_preinst} must be run with full access to all files and directories below that specified by
+\t{pkg_preinst} must be run with full access to all files and directories below that specified by
 the \t{ROOT} and \t{D} environment variables.
 
-\subsection{pkg\_postinst}
+\subsection{pkg_postinst}
 
-The \t{pkg\_postinst} function performs any special tasks that are required immediately after
+The \t{pkg_postinst} function performs any special tasks that are required immediately after
 merging the package to the live filesystem. It must not write outside of the directory specified
 in the \t{ROOT} environment variable.
 
-\t{pkg\_postinst}, like, \t{pkg\_preinst}, must be run with full access to all files and directories
+\t{pkg_postinst}, like, \t{pkg_preinst}, must be run with full access to all files and directories
 below that specified by the \t{ROOT} environment variable.
 
-\subsection{pkg\_prerm}
+\subsection{pkg_prerm}
 
-The \t{pkg\_prerm} function performs any special tasks that are required immediately before
+The \t{pkg_prerm} function performs any special tasks that are required immediately before
 unmerging the package from the live filesystem. It must not write outside of the directory specified
 by the \t{ROOT} environment variable.
 
-\t{pkg\_prerm} must be run with full access to all files and directories below that specified by
+\t{pkg_prerm} must be run with full access to all files and directories below that specified by
 the \t{ROOT} environment variable.
 
-\subsection{pkg\_postrm}
+\subsection{pkg_postrm}
 
-The \t{pkg\_postrm} function performs any special tasks that are required immediately after
+The \t{pkg_postrm} function performs any special tasks that are required immediately after
 unmerging the package from the live filesystem. It must not write outside of the directory specified
 by the \t{ROOT} environment variable.
 
-\t{pkg\_postrm} must be run with full access to all files and directories below that specified by
+\t{pkg_postrm} must be run with full access to all files and directories below that specified by
 the \t{ROOT} environment variable.
 
-\subsection{pkg\_config}
+\subsection{pkg_config}
 
-The \t{pkg\_config} function performs any custom steps required to configure a package after it has been
+The \t{pkg_config} function performs any custom steps required to configure a package after it has been
 fully installed. It is the only ebuild function which may be interactive and prompt for user input.
 
-\t{pkg\_config} must be run with full access to all files and directories inside of \t{ROOT}.
+\t{pkg_config} must be run with full access to all files and directories inside of \t{ROOT}.
 
-\subsection{pkg\_info}
+\subsection{pkg_info}
 
-\featurelabel{pkg-info} The \t{pkg\_info} function may be called by the package manager when
+\featurelabel{pkg-info} The \t{pkg_info} function may be called by the package manager when
 displaying information about an installed package. In EAPIs listed in table~\ref{tab:pkg-info-table}
-as supporting \t{pkg\_info} on non-installed packages, it may also be called by the package manager
+as supporting \t{pkg_info} on non-installed packages, it may also be called by the package manager
 when displaying information about a non-installed package. In this case, ebuild authors should note
 that dependencies may not be installed.
 
-\t{pkg\_info} must not write to the filesystem.
+\t{pkg_info} must not write to the filesystem.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages}
+\begin{centertable}{EAPIs supporting \t{pkg_info} on non-installed packages}
     \label{tab:pkg-info-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{pkg_info} on non-installed packages?}} \\
       \midrule
       0, 1, 2, 3        & No  \\
       4, 5, 6           & Yes \\
@@ -439,36 +439,36 @@ that dependencies may not be installed.
     \end{tabular}
 \end{centertable}
 
-\subsection{pkg\_nofetch}
+\subsection{pkg_nofetch}
 
-The \t{pkg\_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and
+The \t{pkg_nofetch} function is run when the fetch phase of an fetch-restricted ebuild is run, and
 the relevant source files are not available. It should direct the user to download all relevant
 source files from their respective locations, with notes concerning licensing if applicable.
 
-\t{pkg\_nofetch} must require no write access to any part of the filesystem.
+\t{pkg_nofetch} must require no write access to any part of the filesystem.
 
 \subsection{Default phase functions}
 \label{sec:default-phase-funcs}
 
 \featurelabel{default-phase-funcs} In EAPIs listed in
-table~\ref{tab:default-phase-function-table} as supporting \t{default\_} phase functions, a function
-named \t{default\_}(phase) that behaves as the default implementation for that EAPI shall be defined
+table~\ref{tab:default-phase-function-table} as supporting \t{default_} phase functions, a function
+named \t{default_}(phase) that behaves as the default implementation for that EAPI shall be defined
 when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
 when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{default\_} phase functions}
+\begin{centertable}{EAPIs supporting \t{default_} phase functions}
     \label{tab:default-phase-function-table}
     \begin{tabular}{l P{26em}}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{default_} functions in phases}} \\
       \midrule
       0, 1              & None \\
-      2, 3              & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-                          \t{src\_compile}, \t{src\_test} \\
-      4, 5, 6           & \t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure},
-                          \t{src\_compile}, \t{src\_install}, \t{src\_test} \\
+      2, 3              & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+                          \t{src_compile}, \t{src_test} \\
+      4, 5, 6           & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
+                          \t{src_compile}, \t{src_install}, \t{src_test} \\
       \bottomrule
     \end{tabular}
 \end{centertable}
@@ -478,56 +478,56 @@ when in the phase in question.
 The call order for installing a package is:
 
 \begin{compactitem}
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
     outside of the normal call order process.
-\item \t{pkg\_setup}
-\item \t{src\_unpack}
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
-\item \t{src\_compile}
-\item \t{src\_test} (except if \t{RESTRICT=test} or disabled by user)
-\item \t{src\_install}
-\item \t{pkg\_preinst}
-\item \t{pkg\_postinst}
+\item \t{pkg_setup}
+\item \t{src_unpack}
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
+\item \t{src_compile}
+\item \t{src_test} (except if \t{RESTRICT=test} or disabled by user)
+\item \t{src_install}
+\item \t{pkg_preinst}
+\item \t{pkg_postinst}
 \end{compactitem}
 
 The call order for uninstalling a package is:
 
 \begin{compactitem}
-\item \t{pkg\_prerm}
-\item \t{pkg\_postrm}
+\item \t{pkg_prerm}
+\item \t{pkg_postrm}
 \end{compactitem}
 
 The call order for upgrading, downgrading or reinstalling a package is:
 
 \begin{compactitem}
-\item \t{pkg\_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
+\item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
     outside of the normal call order process.
-\item \t{pkg\_setup}
-\item \t{src\_unpack}
-\item \t{src\_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
-\item \t{src\_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
-\item \t{src\_compile}
-\item \t{src\_test} (except if \t{RESTRICT=test})
-\item \t{src\_install}
-\item \t{pkg\_preinst}
-\item \t{pkg\_prerm} for the package being replaced
-\item \t{pkg\_postrm} for the package being replaced
-\item \t{pkg\_postinst}
+\item \t{pkg_setup}
+\item \t{src_unpack}
+\item \t{src_prepare} (only for EAPIs listed in table~\ref{tab:src-prepare-table})
+\item \t{src_configure} (only for EAPIs listed in table~\ref{tab:src-configure-table})
+\item \t{src_compile}
+\item \t{src_test} (except if \t{RESTRICT=test})
+\item \t{src_install}
+\item \t{pkg_preinst}
+\item \t{pkg_prerm} for the package being replaced
+\item \t{pkg_postrm} for the package being replaced
+\item \t{pkg_postinst}
 \end{compactitem}
 
 Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
-alternatively be called in the order \t{pkg\_preinst}, \t{pkg\_postinst}, \t{pkg\_prerm},
-\t{pkg\_postrm}. This behaviour is deprecated.
+alternatively be called in the order \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm},
+\t{pkg_postrm}. This behaviour is deprecated.
 
-The \t{pkg\_config}, \t{pkg\_info} and \t{pkg\_nofetch} functions are not called in a normal
-sequence. The \t{pkg\_pretend} function is called some unspecified time before a (possibly
+The \t{pkg_config}, \t{pkg_info} and \t{pkg_nofetch} functions are not called in a normal
+sequence. The \t{pkg_pretend} function is called some unspecified time before a (possibly
 hypothetical) normal sequence.
 
 For installing binary packages, the \t{src} phases are not called.
 
-When building binary packages that are not to be installed locally, the \t{pkg\_preinst}
-and \t{pkg\_postinst} functions are not called.
+When building binary packages that are not to be installed locally, the \t{pkg_preinst}
+and \t{pkg_postinst} functions are not called.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 9a9502e..b910f25 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -47,7 +47,7 @@ Ebuilds may define any of the following variables:
 \item[EAPI] The EAPI\@. See below.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
     See section~\ref{sec:dependencies} for full syntax.
-\item[SRC\_URI] A list of source URIs for the package. Valid protocols are \t{http://},
+\item[SRC_URI] A list of source URIs for the package. Valid protocols are \t{http://},
     \t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror
     behaviour). Fetch restricted packages may include URL parts consisting of just a filename.
     See section~\ref{sec:dependencies} for full syntax.
@@ -67,10 +67,10 @@ Ebuilds may define any of the following variables:
     \t{IUSE} defaults, any use flag name in \t{IUSE} may be prefixed by at most one of a plus or a
     minus sign. If such a prefix is present, the package manager may use it as a suggestion as to
     the default value of the use flag if no other configuration overrides it.
-\item[REQUIRED\_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
+\item[REQUIRED_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
     configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use}
     for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in
-    table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED\_USE}.
+    table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED_USE}.
 \item[PROPERTIES] \featurelabel{properties} Zero or more properties for this package.
     See section~\ref{sec:properties} for value meanings and section~\ref{sec:dependencies} for full
     syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support,
@@ -106,7 +106,7 @@ Ebuilds may define any of the following variables:
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED\_USE}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{REQUIRED_USE}?}} \\
       \midrule
       0, 1, 2, 3        & Optionally & No  \\
       4, 5, 6           & Yes        & Yes \\
@@ -208,11 +208,11 @@ The following are special variables defined by the package manager for internal
 not be exported to the ebuild environment:
 
 \begin{description}
-\item[DEFINED\_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list of
+\item[DEFINED_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list of
 phase names (e.\,g.\ \t{configure setup unpack}) whose phase functions are defined by the ebuild or
 an eclass inherited by the ebuild. If no phase functions are defined, a single hyphen is used
 instead of an empty string. For EAPIs listed in table~\ref{tab:defined-phases-table} as having
-optional \t{DEFINED\_PHASES} support, package managers may not rely upon the metadata cache having
+optional \t{DEFINED_PHASES} support, package managers may not rely upon the metadata cache having
 this variable defined, and must treat an empty string as ``this information is not available''.
 \end{description}
 
@@ -220,12 +220,12 @@ this variable defined, and must treat an empty string as ``this information is n
 based upon any variant condition.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}}
+\begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}}
     \label{tab:defined-phases-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\
+      \multicolumn{1}{c}{\textbf{Supports \t{DEFINED_PHASES}?}} \\
       \midrule
       0, 1, 2, 3        & Optionally \\
       4, 5, 6           & Yes        \\

diff --git a/eclasses.tex b/eclasses.tex
index 7569caf..49c6c4e 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -9,7 +9,7 @@ hold.
 
 Eclasses must be located in the \t{eclass} directory in the top level of the repository---see
 section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>} is
-the name of this eclass, used by \t{inherit} and \t{EXPORT\_FUNCTIONS} among other places.
+the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
 
 \section{The inherit Command}
 \label{sec:inherit}
@@ -34,22 +34,22 @@ The \t{inherit} command must also ensure that:
 
 \section{Eclass-defined Metadata Keys}
 
-The \t{IUSE}, \t{REQUIRED\_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled
+The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{RDEPEND} and \t{PDEPEND} variables are handled
 specially when set by an eclass. They must be accumulated across eclasses, appending the value set
 by each eclass to the resulting value after the previous one is loaded. Then the eclass-defined
 value is appended to that defined by the ebuild. In the case of \t{RDEPEND}, this is done after the
 implicit \t{RDEPEND} rules in section~\ref{sec:rdepend-depend} are applied.
 
-\section{EXPORT\_FUNCTIONS}
+\section{EXPORT_FUNCTIONS}
 
 There is one command available in the eclass environment that is neither available nor meaningful
-in ebuilds---\t{EXPORT\_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the
+in ebuilds---\t{EXPORT_FUNCTIONS}\@. This can be used to alias ebuild phase functions from the
 eclass so that an ebuild inherits a default definition whilst retaining the ability to override and
 call the eclass-defined version from it. The use of it is best illustrated by an example; this is
 given in listing~\ref{lst:export-functions} and is a snippet from a hypothetical \t{foo.eclass}.
 
 \begin{listing}
-\caption{\t{EXPORT\_FUNCTIONS} example: \t{foo.eclass}} \label{lst:export-functions}
+\caption{\t{EXPORT_FUNCTIONS} example: \t{foo.eclass}} \label{lst:export-functions}
 \begin{verbatim}
 foo_src_compile()
 {
@@ -63,13 +63,13 @@ EXPORT_FUNCTIONS src_compile
 \end{verbatim}
 \end{listing}
 
-This example defines an eclass \t{src\_compile} function and uses \t{EXPORT\_FUNCTIONS} to alias
-it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src\_compile} defined, but
+This example defines an eclass \t{src_compile} function and uses \t{EXPORT_FUNCTIONS} to alias
+it. Then any ebuild that inherits \t{foo.eclass} will have a default \t{src_compile} defined, but
 should the author wish to override it he can access the function in \t{foo.eclass} by calling
-\t{foo\_src\_compile}.
+\t{foo_src_compile}.
 
-\t{EXPORT\_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
-must be named \t{eclassname\_phasefunctionname}, where \t{eclassname} is the name of the eclass.
+\t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
+must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the name of the eclass.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/merge.tex b/merge.tex
index 0077837..ee40947 100644
--- a/merge.tex
+++ b/merge.tex
@@ -104,25 +104,25 @@ is undefined.
 \label{sec:config-protect}
 
 The package manager must provide a means to prevent user configuration files from being
-overwritten by any package updates. The profile variables \t{CONFIG\_PROTECT} and
-\t{CONFIG\_PROTECT\_MASK} (section~\ref{sec:profile-variables}) control the paths for which this
+overwritten by any package updates. The profile variables \t{CONFIG_PROTECT} and
+\t{CONFIG_PROTECT_MASK} (section~\ref{sec:profile-variables}) control the paths for which this
 must be enforced.
 
 In order to ensure interoperability with configuration update tools, the following scheme must be
 used by all package managers when merging any regular file:
 
 \begin{compactenum}
-\item If the directory containing the file to be merged is not listed in \t{CONFIG\_PROTECT}, and
-     is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG\_PROTECT},
+\item If the directory containing the file to be merged is not listed in \t{CONFIG_PROTECT}, and
+     is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG_PROTECT},
      the file is merged normally.
-\item If the directory containing the file to be merged is listed in \t{CONFIG\_PROTECT\_MASK}, or
-    is a subdirectory of such a directory, or if the file is listed in \t{CONFIG\_PROTECT\_MASK},
+\item If the directory containing the file to be merged is listed in \t{CONFIG_PROTECT_MASK}, or
+    is a subdirectory of such a directory, or if the file is listed in \t{CONFIG_PROTECT_MASK},
     the file is merged normally.
 \item If no existing file with the intended filename exists, or the existing file has identical
     content to the one being merged, the file is installed normally.
-\item Otherwise, prepend the filename with \t{.\_cfg0000\_}. If no file with the new name exists,
+\item Otherwise, prepend the filename with \t{._cfg0000_}. If no file with the new name exists,
     then the file is merged with this name.
-\item Otherwise, increment the number portion (to form \t{.\_cfg0001\_<name>}) and repeat step 4.
+\item Otherwise, increment the number portion (to form \t{._cfg0001_<name>}) and repeat step 4.
     Continue this process until a usable filename is found.
 \item If 9999 is reached in this way, behaviour is undefined.
 \end{compactenum}

diff --git a/metadata-cache.tex b/metadata-cache.tex
index ed58317..80018e4 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -18,7 +18,7 @@ order. Other lines may be present following these; their meanings are not define
 \item Build-time dependencies (\t{DEPEND})
 \item Run-time dependencies (\t{RDEPEND})
 \item Slot (\t{SLOT})
-\item Source tarball URIs (\t{SRC\_URI})
+\item Source tarball URIs (\t{SRC_URI})
 \item \t{RESTRICT}
 \item Package homepage (\t{HOMEPAGE})
 \item Package license (\t{LICENSE})
@@ -26,14 +26,14 @@ order. Other lines may be present following these; their meanings are not define
 \item Package keywords (\t{KEYWORDS})
 \item Inherited eclasses (\t{INHERITED})
 \item Use flags that this package respects (\t{IUSE})
-\item Use flags that this package requires (\t{REQUIRED\_USE}).
+\item Use flags that this package requires (\t{REQUIRED_USE}).
     Blank in some EAPIs; see table~\ref{tab:optional-vars-table}.
 \item Post dependencies (\t{PDEPEND})
 \item Unused; previously used for old-style virtual \t{PROVIDE}.
 \item The ebuild API version to which this package conforms (\t{EAPI})
 \item Properties (\t{PROPERTIES}). In some EAPIs, may optionally be blank, regardless of ebuild
     metadata; see table~\ref{tab:optional-vars-table}.
-\item Defined phases (\t{DEFINED\_PHASES}). In some EAPIs, may optionally be blank, regardless of
+\item Defined phases (\t{DEFINED_PHASES}). In some EAPIs, may optionally be blank, regardless of
     ebuild metadata; see table~\ref{tab:defined-phases-table}.
 \item Blank lines to pad the file to 22 lines long
 \end{compactenum}

diff --git a/names.tex b/names.tex
index a348c0f..6767c55 100644
--- a/names.tex
+++ b/names.tex
@@ -6,14 +6,14 @@ No name may be empty. Package managers must not impose fixed upper boundaries up
 name. A package manager should indicate or reject any name that is invalid according to these rules.
 
 \subsection{Category names}
-A category name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with
+A category name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with
 a hyphen, a dot or a plus sign.
 
 \note A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
 names will contain a hyphen.
 
 \subsection{Package names}
-A package name may contain any of the characters [\t{A-Za-z0-9+\_-}]. It must not begin with a
+A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not begin with a
 hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
 syntax described in section~\ref{sec:version-spec}.
 
@@ -22,35 +22,35 @@ where a \t{category/package} pair is meant.
 
 \subsection{Slot names}
 \label{sec:slot-names}
-A slot name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+A slot name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
 \subsection{USE flag names}
-A USE flag name may contain any of the characters [\t{A-Za-z0-9+\_@-}]. It must begin with an
-alphanumeric character. Underscores should be considered reserved for \t{USE\_EXPAND}, as
+A USE flag name may contain any of the characters [\t{A-Za-z0-9+_@-}]. It must begin with an
+alphanumeric character. Underscores should be considered reserved for \t{USE_EXPAND}, as
 described in section~\ref{sec:use-iuse-handling}.
 
 \note The at-sign is required for \t{LINGUAS}.
 
 \subsection{Repository names}
 \label{sec:repository-names}
-A repository name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
+A repository name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a
 hyphen. In addition, every repository name must also be a valid package name.
 
 \subsection{License names}
 \label{sec:license-names}
-A license name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+A license name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
 \subsection{Keyword names}
 \label{sec:keyword-names}
-A keyword name may contain any of the characters [\t{A-Za-z0-9\_-}]. It must not begin with a
+A keyword name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a
 hyphen. In contexts where it makes sense to do so, a keyword name may be prefixed by
 a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword.
 
 \subsection{EAPI names}
 \label{sec:eapi-names}
-An EAPI name may contain any of the characters [\t{A-Za-z0-9+\_.-}]. It must not begin with a
+An EAPI name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
 \section{Version Specifications}
@@ -63,8 +63,8 @@ A version starts with the number part, which is in the form \t{[0-9]+(\textbacks
 
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 
-This may be followed by zero or more of the suffixes \t{\_alpha}, \t{\_beta}, \t{\_pre},
-\t{\_rc} or \t{\_p}, which themselves may be followed by an optional integer. Suffix and integer
+This may be followed by zero or more of the suffixes \t{_alpha}, \t{_beta}, \t{_pre},
+\t{_rc} or \t{_p}, which themselves may be followed by an optional integer. Suffix and integer
 count as separate version components.
 
 This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
@@ -159,13 +159,13 @@ from which it was invoked.
     \STATE compare $As_i$ and $Bs_i$ using Algorithm~\ref{alg:version-comparison-suffix-each}
   \ENDFOR
   \IF{$Asn>Bsn$}
-    \IF{$As_{Bsn}$ is of type \t{\_p}}
+    \IF{$As_{Bsn}$ is of type \t{_p}}
       \RETURN $A>B$
     \ELSE
       \RETURN $A<B$
     \ENDIF
   \ELSIF{$Asn<Bsn$}
-    \IF{$Bs_{Asn}$ is of type \t{\_p}}
+    \IF{$Bs_{Asn}$ is of type \t{_p}}
       \RETURN $A<B$
     \ELSE
       \RETURN $A>B$
@@ -177,7 +177,7 @@ from which it was invoked.
 \begin{algorithm}[p]
 \caption{Version comparison logic for each suffix} \label{alg:version-comparison-suffix-each}
 \begin{algorithmic}[1]
-  \IF{$As_i$ and $Bs_i$ are of the same type (\t{\_alpha} vs \t{\_beta} etc)}
+  \IF{$As_i$ and $Bs_i$ are of the same type (\t{_alpha} vs \t{_beta} etc)}
     \STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \t{0}
     \STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \t{0}
     \IF{$As'_i>Bs'_i$, using integer comparison}
@@ -186,7 +186,7 @@ from which it was invoked.
       \RETURN $A<B$
     \ENDIF
   \ELSIF{the type of $As_i$ is greater than the type of $Bs_i$ using the ordering
-      $\mbox{\t{\_alpha}}<\mbox{\t{\_beta}}<\mbox{\t{\_pre}}<\mbox{\t{\_rc}}<\mbox{\t{\_p}}$}
+      $\mbox{\t{_alpha}}<\mbox{\t{_beta}}<\mbox{\t{_pre}}<\mbox{\t{_rc}}<\mbox{\t{_p}}$}
     \RETURN $A>B$
   \ELSE
     \RETURN $A<B$

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e44b1c7..363dea6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -86,20 +86,20 @@ these commands once the current phase function has returned.
 supporting option \t{-{}-host-root}, this flag as the first argument will cause the query to apply
 to the host root instead of \t{ROOT}.
 \begin{description}
-\item[has\_version] Takes exactly one package dependency specification as an argument. Returns
+\item[has_version] Takes exactly one package dependency specification as an argument. Returns
     true if a package matching the specification is installed in \t{ROOT}, and false otherwise.
-\item[best\_version] Takes exactly one package dependency specification as an argument. If a
+\item[best_version] Takes exactly one package dependency specification as an argument. If a
     matching package is installed, prints the category, package name and version of the highest
     matching version; otherwise, prints an empty string. The exit code is unspecified.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*\_version} commands}
+\begin{centertable}{EAPIs supporting \t{-{}-host-root} for \t{*_version} commands}
     \label{tab:foo-version-host-root-table}
     \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{\t{*\_version} supports \t{-{}-host-root}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{*_version} supports \t{-{}-host-root}?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  \\
       5, 6              & Yes \\
@@ -159,7 +159,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
 \end{centertable}
 
 \subsubsection{Patch commands}
-These commands are used during the \t{src\_prepare} phase to apply patches to the package's sources.
+These commands are used during the \t{src_prepare} phase to apply patches to the package's sources.
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}
@@ -206,14 +206,14 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{algorithmic}
 \end{algorithm}
 
-\item[eapply\_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
+\item[eapply_user] \featurelabel{eapply-user} Takes no arguments. Package managers supporting it
     apply user-provided patches to the source tree in the current working directory. Exact behaviour
     is implementation defined and beyond the scope of this specification. Package managers not
     supporting it must implement the command as a no-op. Returns shell true (0) if patches applied
     successfully, or if no patches were provided. Otherwise, aborts the build process, unless run
     using \t{nonfatal}, in which case it returns non-zero exit status. Only available in EAPIs
-    listed in table~\ref{tab:patch-commands} as supporting \t{eapply\_user}. In EAPIs where it is
-    supported, \t{eapply\_user} must be called once in the \t{src\_prepare} phase. For any
+    listed in table~\ref{tab:patch-commands} as supporting \t{eapply_user}. In EAPIs where it is
+    supported, \t{eapply_user} must be called once in the \t{src_prepare} phase. For any
     subsequent calls, the command will do nothing and return~0.
 \end{description}
 
@@ -224,7 +224,7 @@ Ebuilds must not run any of these commands once the current phase function has r
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{\t{eapply}?}} &
-      \multicolumn{1}{c}{\textbf{\t{eapply\_user}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{eapply_user}?}} \\
       \midrule
       0, 1, 2, 3, 4, 5  & No  & No  \\
       6                 & Yes & Yes \\
@@ -233,7 +233,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{centertable}
 
 \subsubsection{Build commands}
-These commands are used during the \t{src\_configure}, \t{src\_compile}, and \t{src\_install}
+These commands are used during the \t{src_configure}, \t{src_compile}, and \t{src_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the
 current phase function has returned.
 
@@ -241,7 +241,7 @@ current phase function has returned.
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU
     Autoconf-generated scripts. Any additional parameters passed to \t{econf} are passed directly
     to \t{./configure}, after the default options below. \t{econf} will look in the current working
-    directory for a configure script unless the \t{ECONF\_SOURCE} environment variable is set,
+    directory for a configure script unless the \t{ECONF_SOURCE} environment variable is set,
     in which case it is taken to be the directory containing it.
 
     \featurelabel{econf-options} \t{econf} must pass the following options to the configure script:
@@ -306,7 +306,7 @@ current phase function has returned.
 \ENDIF
 \STATE let libdir=
 \IF{the ABI environment variable is set}
-    \STATE let libvar=LIBDIR\_\$ABI
+    \STATE let libvar=LIBDIR_\$ABI
     \IF{the environment variable named by libvar is set}
         \STATE let libdir=the value of the variable named by libvar
     \ENDIF
@@ -465,22 +465,22 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \begin{algorithm}
 \caption{Determining the library directory} \label{alg:ebuild-libdir}
 \begin{algorithmic}[1]
-\IF{CONF\_LIBDIR\_OVERRIDE is set in the environment}
-    \STATE return CONF\_LIBDIR\_OVERRIDE
+\IF{CONF_LIBDIR_OVERRIDE is set in the environment}
+    \STATE return CONF_LIBDIR_OVERRIDE
 \ENDIF
-\IF{CONF\_LIBDIR is set in the environment}
-    \STATE let LIBDIR\_default=CONF\_LIBDIR
+\IF{CONF_LIBDIR is set in the environment}
+    \STATE let LIBDIR_default=CONF_LIBDIR
 \ELSE
-    \STATE let LIBDIR\_default=``lib''
+    \STATE let LIBDIR_default=``lib''
 \ENDIF
 \IF{ABI is set in the environment}
     \STATE let abi=ABI
-\ELSIF{DEFAULT\_ABI is set in the environment}
-    \STATE let abi=DEFAULT\_ABI
+\ELSIF{DEFAULT_ABI is set in the environment}
+    \STATE let abi=DEFAULT_ABI
 \ELSE
     \STATE let abi=``default''
 \ENDIF
-\STATE return the value of LIBDIR\_\$abi
+\STATE return the value of LIBDIR_\$abi
 \end{algorithmic}
 \end{algorithm}
 
@@ -502,7 +502,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 
 \item[domo] Installs the given \t{.mo} files with file mode \t{0644} into the appropriate
     subdirectory of \t{DESTTREE\slash share\slash locale}, generated by taking the basename of the
-    file, removing the \t{.*} suffix, and appending \t{/LC\_MESSAGES}\@. The name of the installed
+    file, removing the \t{.*} suffix, and appending \t{/LC_MESSAGES}\@. The name of the installed
     files is the package name with \t{.mo} appended. Failure behaviour is EAPI dependent as per
     section~\ref{sec:failure-behaviour}.
 
@@ -672,7 +672,7 @@ shall maintain two lists:
 \item An exclusion list, which initially contains \t{/usr/share/doc/\$\{PF\}/html}.
 \end{compactitem}
 
-The optional compression shall be carried out after \t{src\_install} has completed, and before the
+The optional compression shall be carried out after \t{src_install} has completed, and before the
 execution of any subsequent phase function. For each item in the inclusion list, pretend it has the
 value of the \t{ED} variable prepended, then:
 
@@ -697,7 +697,7 @@ The package manager shall take appropriate steps to ensure that its compression
 sensibly even if an item is listed in the inclusion list multiple times, if an item is a symlink,
 or if a file is already compressed.
 
-The following commands may be used in \t{src\_install} to alter these lists. It is an error to call
+The following commands may be used in \t{src_install} to alter these lists. It is an error to call
 any of these functions from any other phase.
 
 \begin{description}
@@ -727,7 +727,7 @@ these commands once the current phase function has returned. It is an error if a
 of these functions in global scope.
 
 Unless otherwise noted, if any of these functions is called with a flag value that is not included
-in \t{IUSE\_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
+in \t{IUSE_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
 table~\ref{tab:use-list-strictness}.
 
 \begin{description}
@@ -737,7 +737,7 @@ table~\ref{tab:use-list-strictness}.
 \item[usev] The same as \t{use}, but also prints the flag name if the condition
     is met.
 \item[useq] Deprecated synonym for \t{use}.
-\item[use\_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first
+\item[use_with] \featurelabel{use-with} Has one-, two-, and three-argument forms. The first
     argument is a USE flag name, the second a \t{configure} option name (\t{\$\{opt\}}), defaulting
     to the same as the first argument if not provided, and the third is a string value
     (\t{\$\{value\}}). For EAPIs listed in table~\ref{tab:use-with-third-arg} as not supporting it,
@@ -745,7 +745,7 @@ table~\ref{tab:use-list-strictness}.
     \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
     \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
     \t{-{}-without-\$\{opt\}}.
-\item[use\_enable] Works the same as \t{use\_with()}, but outputs \t{-{}-enable-} or
+\item[use_enable] Works the same as \t{use_with()}, but outputs \t{-{}-enable-} or
     \t{-{}-disable-} instead of \t{-{}-with-} or \t{-{}-without-}.
 \item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument
     is a USE flag name, any subsequent arguments (\t{\$\{arg2\}} to \t{\$\{arg5\}}) are string
@@ -754,13 +754,13 @@ table~\ref{tab:use-list-strictness}.
     set, outputs \t{\$\{arg2\}\$\{arg4\}}. Otherwise, outputs \t{\$\{arg3\}\$\{arg5\}}.
     The condition is inverted if the flag name is prefixed with~\t{!}.
     Only available in EAPIs listed in table~\ref{tab:use-list-functions} as supporting \t{usex}.
-\item[in\_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
-    name) is included in \t{IUSE\_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
-    table~\ref{tab:use-list-functions} as supporting \t{in\_iuse}.
+\item[in_iuse] \featurelabel{in-iuse} Returns shell true (0) if the first argument (a \t{USE} flag
+    name) is included in \t{IUSE_EFFECTIVE}, false otherwise. Only available in EAPIs listed in
+    table~\ref{tab:use-list-functions} as supporting \t{in_iuse}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE\_EFFECTIVE}}
+\begin{centertable}{EAPI behaviour for use queries not in \t{IUSE_EFFECTIVE}}
     \label{tab:use-list-strictness}
     \begin{tabular}{ll}
       \toprule
@@ -774,7 +774,7 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting empty third argument in \t{use\_with} and \t{use\_enable}}
+\begin{centertable}{EAPIs supporting empty third argument in \t{use_with} and \t{use_enable}}
     \label{tab:use-with-third-arg}
     \begin{tabular}{ll}
       \toprule
@@ -788,13 +788,13 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{EAPIs supporting \t{usex} and \t{in\_iuse}}
+\begin{centertable}{EAPIs supporting \t{usex} and \t{in_iuse}}
     \label{tab:use-list-functions}
     \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{\t{usex}?}} &
-      \multicolumn{1}{c}{\textbf{\t{in\_iuse}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{in_iuse}?}} \\
       \midrule
       0, 1, 2, 3, 4     & No  & No  \\
       5                 & Yes & No  \\
@@ -914,13 +914,13 @@ has returned.
 \item[inherit] See section~\ref{sec:inherit}.
 
 \item[default]
-    \featurelabel{default-func} Calls the \t{default\_} function for the current phase (see
-    section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default\_} function does
+    \featurelabel{default-func} Calls the \t{default_} function for the current phase (see
+    section~\ref{sec:default-phase-funcs}). Must not be called if the \t{default_} function does
     not exist for the current phase in the current EAPI\@. Only available in EAPIs listed in
     table~\ref{tab:misc-commands} as supporting \t{default}.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
-    by the \t{DOCS} and \t{HTML\_DOCS} variables or a default set of files, according to
+    by the \t{DOCS} and \t{HTML_DOCS} variables or a default set of files, according to
     Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
@@ -943,26 +943,26 @@ has returned.
     \ENDFOR
 \ENDIF
 \STATE set the install directory for \t{dodoc} to \t{/usr/share/doc/\$\{PF\}/html}
-\IF{the HTML\_DOCS variable is a non-empty array}
-    \STATE call \t{dodoc -r "\$\{HTML\_DOCS[@]\}"}
-\ELSIF{the HTML\_DOCS variable is a non-empty scalar}
-    \STATE call \t{dodoc -r \$\{HTML\_DOCS\}}
+\IF{the HTML_DOCS variable is a non-empty array}
+    \STATE call \t{dodoc -r "\$\{HTML_DOCS[@]\}"}
+\ELSIF{the HTML_DOCS variable is a non-empty scalar}
+    \STATE call \t{dodoc -r \$\{HTML_DOCS\}}
 \ENDIF
 \STATE restore the value of the install directory for \t{dodoc}
 \RETURN shell true (0)
 \end{algorithmic}
 \end{algorithm}
 
-\item[get\_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
+\item[get_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
     Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
-    as supporting \t{get\_libdir}.
+    as supporting \t{get_libdir}.
 
 \begin{algorithm}
-\caption{\t{get\_libdir} logic} \label{alg:get-libdir}
+\caption{\t{get_libdir} logic} \label{alg:get-libdir}
 \begin{algorithmic}[1]
 \STATE let libdir=lib
 \IF{the ABI environment variable is set}
-    \STATE let libvar=LIBDIR\_\$ABI
+    \STATE let libvar=LIBDIR_\$ABI
     \IF{the environment variable named by libvar is set}
         \STATE let libdir=the value of the variable named by libvar
     \ENDIF
@@ -981,7 +981,7 @@ has returned.
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{\t{default}?}} &
       \multicolumn{1}{c}{\textbf{\t{einstalldocs}?}} &
-      \multicolumn{1}{c}{\textbf{\t{get\_libdir}?}} \\
+      \multicolumn{1}{c}{\textbf{\t{get_libdir}?}} \\
       \midrule
       0, 1              & No  & No  & No  \\
       2, 3, 4, 5        & Yes & No  & No  \\
@@ -1010,7 +1010,7 @@ strings (ignoring case) are reserved for package manager use and may not be used
 ebuilds:
 
 \begin{compactitem}
-\item \t{\_\_} (two underscores) at beginning of string
+\item \t{__} (two underscores) at beginning of string
 \item \t{abort}
 \item \t{dyn}
 \item \t{ebuild}

diff --git a/profile-variables.tex b/profile-variables.tex
index 5fd2d8b..2c199aa 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -14,19 +14,19 @@ arbitrary, not necessarily related to the order of tokens in any given profile.
 variables must be treated in this fashion:
 \begin{compactitem}
 \item \t{USE}
-\item \t{USE\_EXPAND}
-\item \t{USE\_EXPAND\_HIDDEN}
-\item \t{CONFIG\_PROTECT}
-\item \t{CONFIG\_PROTECT\_MASK}
+\item \t{USE_EXPAND}
+\item \t{USE_EXPAND_HIDDEN}
+\item \t{CONFIG_PROTECT}
+\item \t{CONFIG_PROTECT_MASK}
 \end{compactitem}
 
 If the package manager supports any EAPI listed in table~\ref{tab:profile-iuse-injection-table} as
 using profile-defined \t{IUSE} injection, the following variables must also be treated
 incrementally; otherwise, the following variables may or may not be treated incrementally:
 \begin{compactitem}
-\item \t{IUSE\_IMPLICIT}
-\item \t{USE\_EXPAND\_IMPLICIT}
-\item \t{USE\_EXPAND\_UNPREFIXED}
+\item \t{IUSE_IMPLICIT}
+\item \t{USE_EXPAND_IMPLICIT}
+\item \t{USE_EXPAND_UNPREFIXED}
 \end{compactitem}
 
 Other variables, except where they affect only package-manager-specific functionality (such as
@@ -53,26 +53,26 @@ The following variables have specific meanings when set in profiles.
 \item[ARCH] The system's architecture. Must be a value listed in \t{profiles/arch.list}; see
     section~\ref{arch.list} for more information. Must be equal to the primary \t{KEYWORD} for this
     profile.
-\item[CONFIG\_PROTECT, CONFIG\_PROTECT\_MASK] Contain whitespace-delimited lists used to control the
+\item[CONFIG_PROTECT, CONFIG_PROTECT_MASK] Contain whitespace-delimited lists used to control the
     configuration file protection. Described more fully in chapter~\ref{sec:config-protect}.
 \item[USE] Defines the list of default USE flags for this profile. Flags may be added or removed by
-    the user's configuration. \t{USE\_EXPAND} values must not be specified in this way.
-\item[USE\_EXPAND] Defines a list of variables which are to be treated incrementally and whose
+    the user's configuration. \t{USE_EXPAND} values must not be specified in this way.
+\item[USE_EXPAND] Defines a list of variables which are to be treated incrementally and whose
     contents are to be expanded into the USE variable as passed to ebuilds. See
     section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_UNPREFIXED] Similar to \t{USE\_EXPAND}, but no prefix is used. If the repository
+\item[USE_EXPAND_UNPREFIXED] Similar to \t{USE_EXPAND}, but no prefix is used. If the repository
     contains any package using an EAPI supporting profile-defined \t{IUSE} injection (see
     table~\ref{tab:profile-iuse-injection-table}), this list must contain at least \t{ARCH}\@.
     See section~\ref{sec:use-iuse-handling} for details.
-\item[USE\_EXPAND\_HIDDEN] Contains a (possibly empty) subset of names from \t{USE\_EXPAND} and
-    \t{USE\_EXPAND\_UNPREFIXED}\@. The package manager may use this set as a hint to avoid
+\item[USE_EXPAND_HIDDEN] Contains a (possibly empty) subset of names from \t{USE_EXPAND} and
+    \t{USE_EXPAND_UNPREFIXED}\@. The package manager may use this set as a hint to avoid
     displaying uninteresting or unhelpful information to an end user.
-\item[USE\_EXPAND\_IMPLICIT, IUSE\_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See
+\item[USE_EXPAND_IMPLICIT, IUSE_IMPLICIT] Used to inject implicit values into \t{IUSE}\@. See
     section~\ref{sec:use-iuse-handling} for details.
 \end{description}
 
 In addition, for EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as supporting profile
-defined \t{IUSE} injection, the variables named in \t{USE\_EXPAND} and \t{USE\_EXPAND\_UNPREFIXED}
+defined \t{IUSE} injection, the variables named in \t{USE_EXPAND} and \t{USE_EXPAND_UNPREFIXED}
 have special handling as described in section~\ref{sec:use-iuse-handling}.
 
 Any other variables set in \t{make.defaults} must be passed on into the ebuild environment as-is,

diff --git a/profiles.tex b/profiles.tex
index 2d0656d..1641428 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -51,7 +51,7 @@ variable is combined or overridden individually as described in section~\ref{sec
 
 The file itself is a line-based key-value format. Each line contains a single \verb|VAR="value"|
 entry, where the value must be double quoted. A variable name must start with one of \t{a-zA-Z}
-and may contain \t{a-zA-Z0-9\_} only. Additional syntax, which is a small subset of
+and may contain \t{a-zA-Z0-9_} only. Additional syntax, which is a small subset of
 bash syntax, is allowed as follows:
 
 \begin{compactitem}
@@ -186,7 +186,7 @@ The logic for \t{use.force}, \t{use.stable.force}, \t{package.use.force}, and
 \t{package.use.\allowbreak stable.force} is identical. If a flag is both masked and forced, the
 mask is considered to take precedence.
 
-\t{USE\_EXPAND} values may be forced or masked by using \t{expand\_name\_value}.
+\t{USE_EXPAND} values may be forced or masked by using \t{expand_name_value}.
 
 A package manager may treat \t{ARCH} values that are not the current architecture as being masked.
 

diff --git a/tree-layout.tex b/tree-layout.tex
index e215cf8..1c23357 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -77,7 +77,7 @@ The profiles directory shall contain zero or more profile directories
 as described in section~\ref{sec:profiles}, as well as the following files
 and directories. In any line-based file, lines beginning with a \#
 character are treated as comments, whilst blank lines are ignored. All
-contents of this directory, with the exception of \t{repo\_name}, are
+contents of this directory, with the exception of \t{repo_name}, are
 optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
@@ -97,10 +97,10 @@ manager must ignore any files in this directory that it does not recognise.
 \item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories
     provided by this repository.
 \item[eapi] See above.
-\item[info\_pkgs] Contains a list, one entry per line, of qualified package names. Any package
+\item[info_pkgs] Contains a list, one entry per line, of qualified package names. Any package
     matching one of these is to be listed when a package manager displays a `system information'
     listing.
-\item[info\_vars] Contains a list, one entry per line, of profile, configuration, and environment
+\item[info_vars] Contains a list, one entry per line, of profile, configuration, and environment
     variables which are considered to be of interest. The value of each of these variables may be
     shown when the package manager displays a `system information' listing.
 \item[package.mask] \label{profiles-package.mask}
@@ -108,17 +108,17 @@ manager must ignore any files in this directory that it does not recognise.
     EAPI). Any package version matching one of these is considered to be masked, and will not be
     installed regardless of profile unless it is unmasked by the user configuration.
 \item[profiles.desc] Described below in section~\ref{sec:profiles.desc}.
-\item[repo\_name] Contains, on a single line, the name of this repository. The repository name must
+\item[repo_name] Contains, on a single line, the name of this repository. The repository name must
     conform to section~\ref{sec:repository-names}.
 \item[thirdpartymirrors] Described below in section~\ref{sec:thirdpartymirrors}.
 \item[use.desc] Contains descriptions of valid global USE flags for this repository. The format is
     described in section~\ref{sec:use.desc}.
 \item[use.local.desc] Contains descriptions of valid local USE flags for this repository, along with
     the packages to which they apply. The format is as described in section~\ref{sec:use.desc}.
-\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE\_EXPAND}
+\item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND}
     variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable
     name, in lowercase, whose possible values the file describes. The format of each file is as for
-    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE\_EXPAND} name is \e{not}
+    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \e{not}
     included as a prefix here.
 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-20  5:38 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-20  5:38 UTC (permalink / raw
  To: gentoo-commits

commit:     cadd19c44a66732ae9c2635cf5bf12842cd78e14
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 05:26:08 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 05:26:08 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cadd19c4

eapi-cheatsheet.tex: Include filename suffix for vc.tex input.

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index c14701f..c8b0190 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -1,5 +1,4 @@
 \documentclass[a4paper,nofoldmark]{leaflet}
-\input{vc}
 \usepackage[T1]{fontenc}
 \usepackage[utf8]{inputenc}
 \usepackage{
@@ -29,6 +28,7 @@
     Ulrich Müller \\
     \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
 }
+\input{vc.tex}
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Version \version{}, generated on: \\\today}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-20  5:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-20  5:40 UTC (permalink / raw
  To: gentoo-commits

commit:     497e6f5f6f0c7f2b2bf81a485ffae949a77a8d42
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 05:39:30 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 05:39:30 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=497e6f5f

eapi-cheatsheet.tex: Update PDF metadata.

 eapi-cheatsheet.tex | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index c8b0190..6833c79 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -49,6 +49,7 @@
     pdfsubject={Making look-up faster for EAPI features},
     pdflang={en},
     pdfkeywords={Gentoo, package manager, reference},
+    pdfcreator={pdfLaTeX and hyperref},
     pdfproducer={pdfLaTeX and hyperref},
 }
 \begin{document}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-21 17:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-21 17:47 UTC (permalink / raw
  To: gentoo-commits

commit:     108db50f22ed645a443934a233537a4eb97164a8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 06:21:17 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 06:21:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=108db50f

ebuild-env-vars.tex: Trim table that was too wide.

 ebuild-env-vars.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 8b43b09..5d42cba 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -239,9 +239,9 @@ variable.
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
       \multicolumn{1}{c}{\textbf{\t{MERGE_TYPE}?}} &
-      \multicolumn{1}{c}{\textbf{\t{REPLACING_VERSIONS}?}} &
-      \multicolumn{1}{c}{\textbf{\t{REPLACED_BY_VERSION}?}} &
-      \multicolumn{1}{c}{\textbf{\t{EBUILD_PHASE_FUNC}?}} \\
+      \multicolumn{1}{P{6em}}{\textbf{\t{REPLACING_VERSIONS}?}} &
+      \multicolumn{1}{P{6em}}{\textbf{\t{REPLACED_BY_VERSION}?}} &
+      \multicolumn{1}{P{6em}}{\textbf{\t{EBUILD_PHASE_FUNC}?}} \\
       \midrule
       0, 1, 2, 3        & No  & No  & No  & No  \\
       4                 & Yes & Yes & Yes & No  \\


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-21 17:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-21 17:47 UTC (permalink / raw
  To: gentoo-commits

commit:     707b5b1bba48c9decfd96b808a2ed80758a5b709
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 06:13:51 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 06:13:51 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=707b5b1b

pms.cls: Specify page layout with geometry.sty.

This is more flexible than typearea.sty because it allows to specify
width of margins directly.

 pms.cls | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pms.cls b/pms.cls
index 35e969d..e66838f 100644
--- a/pms.cls
+++ b/pms.cls
@@ -12,6 +12,11 @@
 \LoadClass{\ClassToLoad}
 \PassOptionsToPackage{T1}{fontenc}
 \PassOptionsToPackage{orig,english}{isodate}
+% Dimensions of the text area. Define a narrow left margin to make
+% room for margin notes in the right (outer) margin
+\PassOptionsToPackage{textwidth=400pt,textheight=700pt,
+    left=20mm,marginparsep=10pt,marginparwidth=40mm,
+    vmarginratio=1:2,includehead}{geometry}
 % Position caption of float environments at the top
 \PassOptionsToPackage{position=top,labelfont=bf}{caption}
 % Enable UTF-8 input encoding
@@ -24,7 +29,7 @@
 \RequirePackage{%
     fontenc,	% Load extended font sets
     isodate,	% Date formatting and conversions
-    typearea,	% Set page layout
+    geometry,   % Set page layout
     inputenc,	% Allow input methods apart from ASCII
     booktabs,	% Nicer formatting of tables
     ifthen,	% Comfortable conditional routines
@@ -158,11 +163,6 @@
 
 % Set page title
 \pagestyle{headings}
-% This is some kind of hack.  We set the proportions of the text area
-% and then move it 30mm to the left to increase the right (outer)
-% margin.
-\areaset[-30mm]{400pt}{700pt}
-\setlength{\marginparwidth}{40mm}
 
 % To find everywhere that needs updating when we add an EAPI
 \newcommand{\CurrentEAPIIs}[1]{\def\TheCurrentEAPI{#1}}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-21 17:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-21 17:47 UTC (permalink / raw
  To: gentoo-commits

commit:     95a25d4a05fedb72c5ed36fcc22cd29e578d5193
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat May 20 06:12:07 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 20 06:12:07 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=95a25d4a

pms.cls: More uniform formatting of captions.

Use bold face for the label and a colon as separator throughout,
i.e., in tables, algorithms and listings.

 pms.cls | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index 2bd86d8..35e969d 100644
--- a/pms.cls
+++ b/pms.cls
@@ -13,7 +13,7 @@
 \PassOptionsToPackage{T1}{fontenc}
 \PassOptionsToPackage{orig,english}{isodate}
 % Position caption of float environments at the top
-\PassOptionsToPackage{position=top}{caption}
+\PassOptionsToPackage{position=top,labelfont=bf}{caption}
 % Enable UTF-8 input encoding
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
@@ -72,6 +72,7 @@
 % tex4ht workaround: these need to happen after loading the float package
 \g@addto@macro\@documentclasshook{
     \floatstyle{ruled}
+    \captionsetup[ruled]{labelsep=default,labelfont=bf}
     \newfloat{listing}{tbp}{lol}[chapter]
     \floatname{listing}{Listing}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-25 18:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-25 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     ac633821166d2a8dc4a205b474e581e0943a5149
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Nov 26 06:54:44 2015 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu May 25 18:43:41 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ac633821

Rearrange front matter.

Move sections Reporting Issues and Acknowledgments to the Introduction
chapter (and number them). Copyright and licence information goes to
the verso of the title page.

For the printed version this follows common practice of books, while
keeping the text in front of the table of contents reasonably short
for the HTML version.

 credits.tex      | 52 ----------------------------------------------------
 introduction.tex | 31 +++++++++++++++++++++++++++++++
 pms.tex          | 14 ++++++++++++--
 3 files changed, 43 insertions(+), 54 deletions(-)

diff --git a/credits.tex b/credits.tex
deleted file mode 100644
index 6c54e60..0000000
--- a/credits.tex
+++ /dev/null
@@ -1,52 +0,0 @@
-\chapter*{}
-
-\section*{Acknowledgements}
-
-Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
-Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
-sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) and Michał Górny
-(various sections) for contributions. Thanks also to Mike Frysinger and Brian Harring for
-proof-reading and suggestions for fixes and/or clarification.
-
-\section*{Copyright and Licence}
-
-The bulk of this document is \textcopyright{} 2007--2017 Stephen Bennett, Christian Faulhammer,
-Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
-have been changed substantially before inclusion.
-
-This document is released under the Creative Commons Attribution-Share Alike 3.0 Licence. The full
-text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.
-
-\section*{Reporting Issues}
-
-Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
-Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI} and the default
-assignee. There should be one bug per issue, and one issue per bug.
-
-Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the
-\t{gentoo-pms@lists.gentoo.org} mailing list. Patches will be reviewed by the PMS team, who will do
-one of the following:
-
-\begin{compactitem}
-\item Accept and apply the patch.
-\item Explain why the patch cannot be applied as-is. The patch may then be updated and resubmitted
-if appropriate.
-\item Reject the patch outright.
-\item Take special action merited by the individual circumstances.
-\end{compactitem}
-
-When reporting issues, remember that this document is not the appropriate place for pushing
-through changes to the tree or the package manager, except where those changes are bugs.
-
-If any issue cannot be resolved by the PMS team, it may be escalated to the Gentoo Council.
-
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pms"
-%%% LaTeX-indent-level: 4
-%%% LaTeX-item-indent: 0
-%%% TeX-brace-indent-level: 4
-%%% fill-column: 100
-%%% End:

diff --git a/introduction.tex b/introduction.tex
index 7c22fd4..36e8b14 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -25,6 +25,29 @@ ebuild repository looks like, and how an ebuild is allowed to behave. Thus, both
 package managers can change aspects of their behaviour not defined here without worry of
 incompatibilities with any particular repository.
 
+\section{Reporting Issues}
+
+Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
+Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI} and the default
+assignee. There should be one bug per issue, and one issue per bug.
+
+Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the
+\t{gentoo-pms@lists.gentoo.org} mailing list. Patches will be reviewed by the PMS team, who will do
+one of the following:
+
+\begin{compactitem}
+\item Accept and apply the patch.
+\item Explain why the patch cannot be applied as-is. The patch may then be updated and resubmitted
+if appropriate.
+\item Reject the patch outright.
+\item Take special action merited by the individual circumstances.
+\end{compactitem}
+
+When reporting issues, remember that this document is not the appropriate place for pushing through
+changes to the tree or the package manager, except where those changes are bugs.
+
+If any issue cannot be resolved by the PMS team, it may be escalated to the Gentoo Council.
+
 \section{Conventions}
 
 Text in \t{teletype} is used for filenames or variable names. \i{Italic} text is used for terms
@@ -34,6 +57,14 @@ The term \i{package manager} is used throughout this document in a broad sense.
 of this document are only relevant to fully featured package managers, many items are equally
 applicable to tools or other applications that interact with ebuilds or ebuild repositories.
 
+\section{Acknowledgements}
+
+Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
+Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
+sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) and Michał Górny
+(various sections) for contributions. Thanks also to Mike Frysinger and Brian Harring for
+proof-reading and suggestions for fixes and/or clarification.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/pms.tex b/pms.tex
index 40d4ad5..73b7dac 100644
--- a/pms.tex
+++ b/pms.tex
@@ -27,13 +27,23 @@
 \begin{document}
 \maketitle
 
+\thispagestyle{empty}
+\vspace*{\fill}
+{%
+    \small
+    The bulk of this document is \textcopyright{} 2007--2017 Stephen Bennett, Christian Faulhammer,
+    Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
+    have been changed substantially before inclusion.
+
+    This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The
+    full text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.
+}
+
 \tableofcontents
 \listofalgorithms
 \listoflistings
 \listoftables
 
-\include{credits}
-
 \include{introduction}
 
 \include{eapis}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-25 18:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-25 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     c2f1a4fbd7e879243afa53cf3b313643e2815535
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 22 18:12:13 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 22 18:12:13 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c2f1a4fb

pms.tex: Make sure that the cheat sheet starts on an odd page.

 pms.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pms.tex b/pms.tex
index 01dee98..40d4ad5 100644
--- a/pms.tex
+++ b/pms.tex
@@ -76,6 +76,8 @@
 
     \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
 }{%
+    % Make sure that the cheat sheet starts on an odd page
+    \clearpage\ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
     \includepdf[pages=-,landscape,turn=false,%
         addtotoc={1,chapter,0,Desk Reference,cheatsheet}]{eapi-cheatsheet}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-30 17:14 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-30 17:14 UTC (permalink / raw
  To: gentoo-commits

commit:     6f049fdf1b718d0c65f006e3cc9254ac55bc91c4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu May 25 18:46:10 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu May 25 18:46:10 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6f049fdf

Makefile: Fix sed regexp.

 Makefile | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index a9666dd..74b6439 100644
--- a/Makefile
+++ b/Makefile
@@ -39,7 +39,7 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' $@
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
-	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]/\2\1/}' $@
+	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]\+/\2\1/}' $@
 	@# remove redundant span elements
 	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-31 12:32 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-31 12:32 UTC (permalink / raw
  To: gentoo-commits

commit:     e593adfd231d69cbf5e620c2f500f3cb5ca35d53
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 22:44:17 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 22:44:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e593adfd

Makefile: Option for two-sided layout.

 Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 74b6439..206a7fc 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,8 @@
 LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
 SOURCES = $(LATEXFILES) pms.bib vc vc-git.awk Makefile
 
+TWOSIDE =
+
 # latex chokes on aux files produced by tex4ht, so remove them
 aux-clean = if grep -q rEfLiNK pms.aux 2>/dev/null; then rm -f *.aux; fi
 
@@ -13,7 +15,11 @@ pms.pdf: $(LATEXFILES) pms.bbl vc.tex
 	set -e; \
 	while true; do \
 	  pdflatex eapi-cheatsheet; \
-	  pdflatex pms; \
+	  if test -z '$(TWOSIDE)'; then \
+	    pdflatex pms; \
+	  else \
+	    pdflatex '\PassOptionsToClass{twoside}{pms}\input{pms}'; \
+	  fi; \
 	  grep -q 'Warning.*Rerun' eapi-cheatsheet.log pms.log || break; \
 	done
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-31 12:32 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-31 12:32 UTC (permalink / raw
  To: gentoo-commits

commit:     ced60f05d4dd1377a271eb2527daad5488e6ff94
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 22:38:13 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 22:38:13 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ced60f05

pms.cls: Fix margin notes on landscape pages.

 pms.cls | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/pms.cls b/pms.cls
index e66838f..150a1a0 100644
--- a/pms.cls
+++ b/pms.cls
@@ -95,6 +95,11 @@
         \marginnote{\framebox{\textsc{#1}}}\ignorespaces
     }%
 }
+% Change marginnote test to pretend that landscape pages are odd numbered
+\g@addto@macro\@mn@margintest{%
+    \ifdim\columnwidth>\textheight\@tempswatrue\fi
+}
+
 \bibliographystyle{plainurl}
 
 % Redefine the titlepage environment not to reset the page number


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-05-31 17:48 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-05-31 17:48 UTC (permalink / raw
  To: gentoo-commits

commit:     1f44cdf96ee7ccc9ff17b05ad73330c2d89479aa
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed May 31 17:38:30 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed May 31 17:38:30 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1f44cdf9

Makefile: Disable parallel make.

Parallel make fails because of LaTeX's intermediate files. Making this
work may require a separate build directory for each target. Feel free
to fix if you think it's worth the effort.

 Makefile | 1 +
 1 file changed, 1 insertion(+)

diff --git a/Makefile b/Makefile
index 206a7fc..1f500d5 100644
--- a/Makefile
+++ b/Makefile
@@ -98,3 +98,4 @@ maintainer-clean: clean
 .PHONY: all html dist upload clean maintainer-clean
 
 .DELETE_ON_ERROR:
+.NOTPARALLEL:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-06-17  7:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-06-17  7:25 UTC (permalink / raw
  To: gentoo-commits

commit:     8e770ef7b2ec1c9b13e7df2d7ccadb9ad7550695
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  9 19:41:09 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  9 19:41:09 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8e770ef7

Add reference to latest git commit.

 Makefile | 2 +-
 pms.cls  | 5 +++++
 pms.tex  | 2 ++
 3 files changed, 8 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index 1f500d5..ef9991b 100644
--- a/Makefile
+++ b/Makefile
@@ -55,7 +55,7 @@ pms.bbl: pms.bib $(LATEXFILES) vc.tex
 	bibtex pms
 
 vc.tex: $(SOURCES)
-	/bin/sh ./vc
+	/bin/sh ./vc -m
 
 eapi-cheatsheet.pdf: pms.pdf
 	@# nothing to do here, since this is also part of the main document

diff --git a/pms.cls b/pms.cls
index 150a1a0..45705e3 100644
--- a/pms.cls
+++ b/pms.cls
@@ -162,8 +162,13 @@
 \ifthenelse{\equal{\VCDateISO}{}}
 {
     \date{Generated on: \today}
+    \newcommand{\commitinfo}{}
 }{
     \date{\printdate{\VCDateISO}}
+    \newcommand{\commitinfo}{%
+        This version corresponds to commit \VCRevision
+        \ifthenelse{\VCModified=0}{}{ with local changes}.
+    }
 }
 
 % Set page title

diff --git a/pms.tex b/pms.tex
index 73b7dac..3f338fb 100644
--- a/pms.tex
+++ b/pms.tex
@@ -37,6 +37,8 @@
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The
     full text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.
+
+    \commitinfo
 }
 
 \tableofcontents


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-06-17  7:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-06-17  7:25 UTC (permalink / raw
  To: gentoo-commits

commit:     b6d7c556d9c4fcfa858fe54224980989e2fb132c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  9 19:41:57 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  9 19:41:57 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b6d7c556

introduction.tex: Add hyperlink for mailing list.

 introduction.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/introduction.tex b/introduction.tex
index 36e8b14..fa47f7b 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -32,8 +32,8 @@ Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI}
 assignee. There should be one bug per issue, and one issue per bug.
 
 Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the
-\t{gentoo-pms@lists.gentoo.org} mailing list. Patches will be reviewed by the PMS team, who will do
-one of the following:
+\href{mailto:gentoo-pms@lists.gentoo.org}{\nolinkurl{gentoo-pms@lists.gentoo.org}} mailing list.
+Patches will be reviewed by the PMS team, who will do one of the following:
 
 \begin{compactitem}
 \item Accept and apply the patch.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-06-26 17:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-06-26 17:57 UTC (permalink / raw
  To: gentoo-commits

commit:     a06016425c6471838eba7ac810d97314fbfe850e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jun 17 08:33:17 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jun 17 08:33:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a0601642

unpack: Clarify where decompressed files are written.

It is not entirely clear from the current wording where decompressed
files are to be written, and if any name stored in their header (e.g.
for gzip compressed files) should be used as the target filename.

Thanks to mgorny for pointing this out.

 pkg-mgr-commands.tex | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 363dea6..6fd35ae 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -827,10 +827,12 @@ has returned.
     EAPIs. In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
-\item[unpack] Unpacks one or more source archives, in order, into the current directory. After
-    unpacking, must ensure that all filesystem objects inside the current working directory (but not
-    the current working directory itself) have permissions \t{a+r,u+w,go-w} and that all directories
-    under the current working directory additionally have permissions \t{a+x}.
+\item[unpack] Unpacks one or more source archives, in order, into the current directory.
+    For compressed files, creates the target file in the current directory, with the compression
+    suffix removed from its name. After unpacking, must ensure that all filesystem objects inside
+    the current working directory (but not the current working directory itself) have permissions
+    \t{a+r,u+w,go-w} and that all directories under the current working directory additionally have
+    permissions \t{a+x}.
 
     Arguments to \t{unpack} are interpreted as follows:
     \begin{compactitem}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-08-23 17:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-08-23 17:47 UTC (permalink / raw
  To: gentoo-commits

commit:     2e5addca849c99dc9b3b41f2d5906caac0b1d8e1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 23 17:44:54 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 23 17:44:54 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2e5addca

pms.cls: Untabify.

 pms.cls | 38 +++++++++++++++++++-------------------
 1 file changed, 19 insertions(+), 19 deletions(-)

diff --git a/pms.cls b/pms.cls
index 45705e3..16344a8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -27,32 +27,32 @@
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
-    fontenc,	% Load extended font sets
-    isodate,	% Date formatting and conversions
+    fontenc,    % Load extended font sets
+    isodate,    % Date formatting and conversions
     geometry,   % Set page layout
-    inputenc,	% Allow input methods apart from ASCII
-    booktabs,	% Nicer formatting of tables
-    ifthen,	% Comfortable conditional routines
-    longtable,	% Extend tables over more than one page
-    array,	% Extended tabular environments
-    lscape,	% Rotating pages
+    inputenc,   % Allow input methods apart from ASCII
+    booktabs,   % Nicer formatting of tables
+    ifthen,     % Comfortable conditional routines
+    longtable,  % Extend tables over more than one page
+    array,      % Extended tabular environments
+    lscape,     % Rotating pages
     marginnote, % Typeset a paragraph in the page margin
-    paralist,	% Additional list environments
-    parskip,	% Space between paragraphs instead of indentation
+    paralist,   % Additional list environments
+    parskip,    % Space between paragraphs instead of indentation
     underscore, % Allow simple _ instead of \_
-    verbatim,	% Extend the print-as-is functionality
-    chngcntr,	% Redefinition of counters
-    tocbibind	% Add bibliography to table of contents
+    verbatim,   % Extend the print-as-is functionality
+    chngcntr,   % Redefinition of counters
+    tocbibind   % Add bibliography to table of contents
 }
 
 % tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
 \g@addto@macro\@documentclasshook{
     \RequirePackage{
-        caption,	% Extended float environment formatting
-        float,		% More control over float environments
-        hyperref,	% Support for hyperlinks
-        algorithm,	%
-        algorithmic	% Set algorithms
+        caption,        % Extended float environment formatting
+        float,          % More control over float environments
+        hyperref,       % Support for hyperlinks
+        algorithm,      %
+        algorithmic     % Set algorithms
     }
 }
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
@@ -66,7 +66,7 @@
 \ifx\HCode\undefined
     \RequirePackage{%
         mathptmx,
-        pdfpages	% Insert whole PDF documents as separate pages
+        pdfpages        % Insert whole PDF documents as separate pages
     }
     \RequirePackage[scaled=.90]{helvet}
     \setboolean{TEX4HT-HACKS}{false}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-08-26 13:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-08-26 13:20 UTC (permalink / raw
  To: gentoo-commits

commit:     9c56c5df4d9eff51270136dc279911d4179e2bc6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 13:20:34 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 13:20:34 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9c56c5df

ebuild-format.tex: Typographic fix.

 ebuild-format.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-format.tex b/ebuild-format.tex
index fa49e8f..638f773 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -5,7 +5,7 @@
 a bash script. The interpreter is assumed to be GNU bash, version as listed in
 table~\ref{tab:bash-version}, or any later version. If possible, the package manager should set
 the shell's compatibility level to the exact version specified. It must ensure that any such
-compatibility settings (e.g. the \t{BASH_COMPAT} variable) are not exported to external programs.
+compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported to external programs.
 
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-08-26 20:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-08-26 20:05 UTC (permalink / raw
  To: gentoo-commits

commit:     ce5724914c352662a38d70166e46aeba78dbbd13
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 26 20:05:06 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 26 20:05:06 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ce572491

Makefile: Join eapi-cheatsheet.pdf with pms.pdf target.

 Makefile | 23 ++++++++++-------------
 1 file changed, 10 insertions(+), 13 deletions(-)

diff --git a/Makefile b/Makefile
index ef9991b..d10a65a 100644
--- a/Makefile
+++ b/Makefile
@@ -10,7 +10,7 @@ all: pms.pdf
 
 html: pms.html
 
-pms.pdf: $(LATEXFILES) pms.bbl vc.tex
+pms.pdf eapi-cheatsheet.pdf: $(LATEXFILES) pms.bbl vc.tex
 	$(aux-clean)
 	set -e; \
 	while true; do \
@@ -23,6 +23,15 @@ pms.pdf: $(LATEXFILES) pms.bbl vc.tex
 	  grep -q 'Warning.*Rerun' eapi-cheatsheet.log pms.log || break; \
 	done
 
+eapi-cheatsheet-nocombine.pdf: pms.pdf
+	@# cheat sheet with separate pages, for proofreading
+	set -e; \
+	while true; do \
+	  pdflatex -jobname eapi-cheatsheet-nocombine \
+	    '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet}'; \
+	  grep -q 'Warning.*Rerun' eapi-cheatsheet-nocombine.log || break; \
+	done
+
 pms.dvi: $(LATEXFILES) pms.bbl vc.tex
 	$(aux-clean)
 	set -e; \
@@ -57,18 +66,6 @@ pms.bbl: pms.bib $(LATEXFILES) vc.tex
 vc.tex: $(SOURCES)
 	/bin/sh ./vc -m
 
-eapi-cheatsheet.pdf: pms.pdf
-	@# nothing to do here, since this is also part of the main document
-
-eapi-cheatsheet-nocombine.pdf: pms.pdf
-	@# cheat sheet with separate pages, for proofreading
-	set -e; \
-	while true; do \
-	  pdflatex -jobname eapi-cheatsheet-nocombine \
-	    '\PassOptionsToClass{nocombine}{leaflet}\input{eapi-cheatsheet}'; \
-	  grep -q 'Warning.*Rerun' eapi-cheatsheet-nocombine.log || break; \
-	done
-
 dist: $(SOURCES) vc.tex pms.pdf pms.html
 	PV='$(PV)'; \
 	if test -z "$${PV}"; then \


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-09-02 17:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-09-02 17:56 UTC (permalink / raw
  To: gentoo-commits

commit:     afd6eb1938cb5a9b53d8f0965c5cd8bb10515273
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 30 15:51:21 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 30 15:51:21 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=afd6eb19

Delete redundant sentence in at-most-one-of dependency.

An empty group will automatically fulfill the condition of "at most
one immediate child element", therefore no special provision for an
empty group is necessary here.

 dependencies.tex | 2 --
 1 file changed, 2 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index d9a6f1a..21eeba5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -158,8 +158,6 @@ at-most-one-of group for match purposes.
 
 In an at-most-one-of group, at most one immediate child element must be matched.
 
-An empty at-most-one-of group counts as being matched.
-
 \subsection{Package dependency specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-09-29 10:07 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-09-29 10:07 UTC (permalink / raw
  To: gentoo-commits

commit:     6d6e6da3638bfa8a88fd10e035ca8f08edf9d6ec
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 24 21:25:49 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 29 10:05:29 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6d6e6da3

dependencies: Add extra vert spacing in phase-dep table

Add additional vertical space between rows of the 'Dependency classes
required to be satisfied for a particular phase function' to improve
readbility. For all but the last row, the phase function cell spans
multiple lines while the dependency class cell is one line only. Without
the extra spacing, it is not apparent at a first glance whether
a particular phase function uses dependencies above or below it.

 dependencies.tex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/dependencies.tex b/dependencies.tex
index 21eeba5..51455d0 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -13,11 +13,14 @@
       \midrule
       \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} &
           None (ebuilds can rely only on the packages in the system set) \\
+      \addlinespace
       \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test},
           \t{src_install} & \t{DEPEND} \\
+      \addlinespace
       \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
           \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
           case it may be installed later) \\
+      \addlinespace
       \t{pkg_config} & \t{RDEPEND}, \t{PDEPEND} \\
       \bottomrule
     \end{tabular}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-09-29 10:07 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-09-29 10:07 UTC (permalink / raw
  To: gentoo-commits

commit:     a941cc21bb5a853c18dcc47a53121d3f57fbdc19
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 10:06:54 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 29 10:06:54 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a941cc21

Fix wasteful layout of dependency classes table.

 dependencies.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 51455d0..1aea135 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -6,13 +6,13 @@
 
 \begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
     \label{tab:phase-function-dependency-classes}
-    \begin{tabular}{P{7.5em} P{0.7\textwidth}}
+    \begin{tabular}{P{13.5em} P{0.6\textwidth}}
       \toprule
       \multicolumn{1}{c}{\textbf{Phase function}} &
       \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
       \midrule
       \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} &
-          None (ebuilds can rely only on the packages in the system set) \\
+          None (ebuilds can rely only on the packages in the system~set) \\
       \addlinespace
       \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test},
           \t{src_install} & \t{DEPEND} \\


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     7ebb02b77f467b5f29012e6ea8d4dc6b183daaa3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 23 17:12:22 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 15:50:03 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7ebb02b7

vc: Use UTC in order to prevent flapping of date.

 vc | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/vc b/vc
index 4e13d71..4ad591e 100644
--- a/vc
+++ b/vc
@@ -17,7 +17,7 @@ while [ -n "$(echo $1 | grep '-')" ]; do
 done
 # English locale.
 LC_ALL=C
-git --no-pager log -1 HEAD --pretty=format:"Hash: %H%nAbr. Hash: %h%nParent Hashes: %P%nAbr. Parent Hashes: %p%nAuthor Name: %an%nAuthor Email: %ae%nAuthor Date: %ai%nCommitter Name: %cn%nCommitter Email: %ce%nCommitter Date: %ci%n" |gawk -v script=log -v full=$full -f vc-git.awk > vc.tex
+TZ=UTC git --no-pager log -1 HEAD --pretty=format:"Hash: %H%nAbr. Hash: %h%nParent Hashes: %P%nAbr. Parent Hashes: %p%nAuthor Name: %an%nAuthor Email: %ae%nAuthor Date: %ad%nCommitter Name: %cn%nCommitter Email: %ce%nCommitter Date: %cd%n" --date=iso-local | gawk -v script=log -v full=$full -f vc-git.awk > vc.tex
 if [ "$mod" = 1 ]
 then
   git status --porcelain |gawk -v script=status -f vc-git.awk >> vc.tex


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     bd52ad528d3fc7a6c178928c039b0b7097dec816
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 27 11:38:45 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 15:47:55 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bd52ad52

Appendix: Split off retroactive changes from historical curiosities.

 appendices.tex | 25 ++++++++++++++-----------
 1 file changed, 14 insertions(+), 11 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 8c97734..dd40041 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -26,12 +26,13 @@ been abused in the past.
 
 \chapter{Historical Curiosities}
 
-The items described in this chapter are included for information only. Unless otherwise noted,
-they were deprecated or abandoned long before \t{EAPI} was introduced. Ebuilds must not use these
-features, and package managers should not be changed to support them.
+\section{Long-obsolete Features}
 
-\section{If-else USE Blocks}
+The items described in this section are included for information only. Unless otherwise noted, they
+were deprecated or abandoned long before EAPI was introduced. Ebuilds must not use these features,
+and package managers should not be changed to support them.
 
+\subsection{If-else USE blocks}
 Historically, Portage supported if-else use conditionals, as shown by
 listing~\ref{lst:if-else-use-listing}. The block before the colon would be taken if the condition
 was met, and the block after the colon would be taken if the condition was not met.
@@ -49,27 +50,29 @@ DEPEND="
 \end{verbatim}
 \end{listing}
 
-\section{cvs Versions}
-
+\subsection{CVS versions}
 Portage has very crude support for CVS packages. The package \t{foo} could contain a file named
 \t{foo-cvs.1.2.3.ebuild}. This version would order \e{higher} than any non-CVS version (including
 \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so
 it must not be used.
 
-\section{use.defaults}
-
+\subsection{use.defaults}
 The \t{use.defaults} file in the profile directory was used to implement `autouse'---switching USE
 flags on or off depending upon which packages are installed. It was deprecated long ago and finally
 removed in 2009.
 
-\section{Old-style Virtuals}
+\section{Retroactive Changes}
+
+In some exceptional cases, changes to the specification have been approved by the Gentoo Council
+without introducing a new EAPI. This section lists such retroactive changes.
 
+\subsection{Old-style virtuals}
 Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
 the \t{PROVIDE} metadata that it supplied certain virtuals, and the package manager had to bear this
 in mind when handling dependencies.
 
-Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}, and were phased out
-via GLEP 37~\cite{Glep37}.
+Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}. They were phased
+out via GLEP 37~\cite{Glep37} and finally removed in 2011.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     299ec8356227cf7420f3eff962eccf50db68f185
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Sep 23 07:47:59 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 15:46:05 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=299ec835

Clarify that version components can have arbitrary length.

Bug: 270108

 names.tex | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/names.tex b/names.tex
index 6767c55..15c720a 100644
--- a/names.tex
+++ b/names.tex
@@ -55,8 +55,9 @@ hyphen, a dot or a plus sign.
 
 \section{Version Specifications}
 \label{sec:version-spec}
-The package manager must not impose fixed limits upon the number of version components. Package
-managers should indicate or reject any version that is invalid according to these rules.
+The package manager must neither impose fixed limits upon the number of version components, nor
+upon the length of any component. Package managers should indicate or reject any version that is
+invalid according to the rules below.
 
 A version starts with the number part, which is in the form \t{[0-9]+(\textbackslash.[0-9]+)*}
 (a positive integer, followed by zero or more dot-prefixed positive integers).


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     e755c1d3ab05e81bd23d0cd0605b0552691281bd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 15:01:17 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 29 15:01:17 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e755c1d3

Move shell options to "Ebuild file format" chapter.

Since this paragraph is about Bash options like failglob, it fits
better with the Bash version than with "System commands".

 eapi-differences.tex    |  8 ++++----
 ebuild-env-commands.tex | 16 ++++------------
 ebuild-format.tex       | 15 ++++++++++-----
 3 files changed, 18 insertions(+), 21 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 8f8bf72..2b74e05 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -46,6 +46,9 @@ Stable use masking/forcing & \compactfeatureref{stablemask} &
 Bash version & \compactfeatureref{bash-version} &
     3.2 & 3.2 & 3.2 & 3.2 & 4.2 \\
 
+\t{failglob} in global scope & \compactfeatureref{failglob} &
+    No & No & No & No & Yes \\
+
 \t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
     * & Yes & Yes & Yes & Yes \\
 
@@ -147,9 +150,6 @@ Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
 \t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
     No & Yes & Yes & Yes & Yes \\
 
-\t{failglob} in global scope & \compactfeatureref{failglob} &
-    No & No & No & No & Yes \\
-
 \t{find} is GNU? & \compactfeatureref{gnu-find} &
     Undefined & Undefined & Undefined & Yes & Yes \\
 
@@ -346,10 +346,10 @@ EAPI 6 is EAPI 5 with the following changes:
 
 \begin{compactitem}
 \item Bash version is 4.2, \featureref{bash-version}.
+\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item Default \t{src_prepare} no longer a no-op, \featureref{src-prepare-6}.
 \item Different \t{src_install} implementation, \featureref{src-install-6}.
 \item \t{LC_CTYPE} and \t{LC_COLLATE} compatible with POSIX locale, \featureref{locale-settings}.
-\item \t{failglob} is enabled in global scope, \featureref{failglob}.
 \item \t{einstall} banned, \featureref{banned-commands}.
 \item \t{die} and \t{assert} called with \t{-n} respect \t{nonfatal}, \featureref{nonfatal-die}.
 \item \t{eapply} support, \featureref{eapply}.

diff --git a/ebuild-env-commands.tex b/ebuild-env-commands.tex
index d1773f5..650d200 100644
--- a/ebuild-env-commands.tex
+++ b/ebuild-env-commands.tex
@@ -32,24 +32,16 @@ The following commands must always be available in the ebuild environment:
     table~\ref{tab:system-commands-table} as requiring GNU find.
 \end{compactitem}
 
-\subsubsection{Shell options}
-
-\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:system-commands-table}, the
-\t{failglob} option of bash is set in the global scope of ebuilds. If set, failed pattern matches
-during filename expansion result in an error when the ebuild is being sourced.
-
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{System commands for EAPIs}
     \label{tab:system-commands-table}
-    \begin{tabular}{lll}
+    \begin{tabular}{ll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} &
-      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
+      \multicolumn{1}{c}{\textbf{GNU \t{find}?}} \\
       \midrule
-      0, 1, 2, 3, 4     & Undefined & No  \\
-      5                 & Yes       & No  \\
-      6                 & Yes       & Yes \\
+      0, 1, 2, 3, 4     & Undefined \\
+      5, 6              & Yes       \\
       \bottomrule
     \end{tabular}
 \end{centertable}

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 638f773..fac5c81 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -7,21 +7,26 @@ table~\ref{tab:bash-version}, or any later version. If possible, the package man
 the shell's compatibility level to the exact version specified. It must ensure that any such
 compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported to external programs.
 
+\featurelabel{failglob} For EAPIs listed such in table~\ref{tab:bash-version}, the \t{failglob}
+option of bash is set in the global scope of ebuilds. If set, failed pattern matches during
+filename expansion result in an error when the ebuild is being sourced.
+
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
 certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
 for specific information), and must not call any external programs, write anything to standard
 output or standard error, or modify the state of the system in any way.
 
 \ChangeWhenAddingAnEAPI{6}
-\begin{centertable}{Bash version}
+\begin{centertable}{Bash version and options}
     \label{tab:bash-version}
-    \begin{tabular}{ll}
+    \begin{tabular}{lll}
       \toprule
       \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Bash version}} \\
+      \multicolumn{1}{c}{\textbf{Bash version}} &
+      \multicolumn{1}{c}{\textbf{\t{failglob} in global scope?}} \\
       \midrule
-      0, 1, 2, 3, 4, 5  & 3.2 \\
-      6                 & 4.2 \\
+      0, 1, 2, 3, 4, 5  & 3.2 & No  \\
+      6                 & 4.2 & Yes \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     ffea740f6d2522a07d335e57a00389fe278b7e14
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 27 11:41:40 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 15:47:55 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ffea740f

Appendix: Add a list of notable retroactive changes.

This should contain all retroactive changes that were approved by the
council (and after EAPIs 0, 1 and 2 were finalised).

 appendices.tex  | 30 ++++++++++++++++++++++++++++++
 ebuild-vars.tex |  1 +
 names.tex       |  1 +
 pms.bib         |  8 ++++++++
 4 files changed, 40 insertions(+)

diff --git a/appendices.tex b/appendices.tex
index dd40041..7227fc8 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -66,6 +66,10 @@ removed in 2009.
 In some exceptional cases, changes to the specification have been approved by the Gentoo Council
 without introducing a new EAPI. This section lists such retroactive changes.
 
+\subsection{Bash version}
+EAPIs \t{0}, \t{1} and \t{2} originally specified GNU Bash version 3.0. This was retroactively
+updated to version 3.2 (see table~\ref{tab:bash-version}) in November 2009.
+
 \subsection{Old-style virtuals}
 Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
 the \t{PROVIDE} metadata that it supplied certain virtuals, and the package manager had to bear this
@@ -74,6 +78,32 @@ in mind when handling dependencies.
 Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}. They were phased
 out via GLEP 37~\cite{Glep37} and finally removed in 2011.
 
+\subsection{EAPI parsing}
+The method to specify the EAPI of an ebuild used to be a shell variable assignment, and the
+package manager had to source the ebuild in order to determine the EAPI. Therefore any ebuild using
+a future EAPI would still have to be sourceable by old package managers, which imposed restrictions
+e.\,g.\ on updating the Bash version or on possible changes of global scope functions. Several
+approaches to overcome this limitation were discussed, notably GLEP 55~\cite{Glep55}, which was
+rejected though.
+
+The current syntax of the \t{EAPI} assignment statement (see section~\ref{sec:eapi}), allowing
+the package manager to obtain the EAPI from the ebuild by a regular expression match and without
+sourcing it, was introduced in May 2012.
+
+\subsection{Package names}
+Previously, package names were only required not to end in a hyphen followed by one or more digits.
+In October 2012 this was tightened to the specification in section~\ref{sec:package-names}, namely
+that they must not end in a hyphen followed by anything resembling a package version.
+
+\subsection{Asterisk in dependency specification}
+In the \t{=} dependency operator specified in section~\ref{sec:dep-operator}, an asterisk used to
+induce string prefix comparison instead of the normal version comparison logic. That could lead to
+surprising results, e.\,g.\ \t{=dev-lang/perl-5.2*} matching \t{dev-lang/perl-5.22.0}. Moreover,
+implementation in package managers deviated from what was specified.
+
+String prefix matching was effective in EAPIs \t{0}, \t{1}, \t{2}, \t{3}, \t{4} and \t{5}. It was
+retroactively dropped in favour of the current behaviour in October 2015.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index b910f25..8c05ce9 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -115,6 +115,7 @@ Ebuilds may define any of the following variables:
 \end{centertable}
 
 \subsection{EAPI}
+\label{sec:eapi}
 
 An empty or unset \t{EAPI} value is equivalent to \t{0}. Ebuilds must not assume that they will get
 a particular one of these two values if they are expecting one of these two values.

diff --git a/names.tex b/names.tex
index 15c720a..d00088e 100644
--- a/names.tex
+++ b/names.tex
@@ -13,6 +13,7 @@ a hyphen, a dot or a plus sign.
 names will contain a hyphen.
 
 \subsection{Package names}
+\label{sec:package-names}
 A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not begin with a
 hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
 syntax described in section~\ref{sec:version-spec}.

diff --git a/pms.bib b/pms.bib
index 2221f75..914c41f 100644
--- a/pms.bib
+++ b/pms.bib
@@ -14,6 +14,14 @@
     howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:44}"
 }
 
+@misc{Glep55,
+    author = {Piotr Jaroszyński},
+    title = {{GLEP} 55: Use {EAPI}-suffixed ebuilds},
+    year = 2007,
+    month = Dec,
+    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:55}"
+}
+
 @misc{Glep68,
     author = {Michał Górny},
     title = {{GLEP} 68: Package and category metadata},


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 16:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 16:05 UTC (permalink / raw
  To: gentoo-commits

commit:     bc35add47d38f60824491c5ef1ced7dbdab3dd33
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 29 15:16:48 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 29 15:16:48 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bc35add4

Promote "Available commands" from section to chapter.

"The ebuild environment" is the largest chapter by far with 23 pages,
mainly due to section "Available commands" which alone has 15 pages.
Therefore, promote this section to a chapter of its own (which will
still be the largest chapter of the document).

 ebuild-env-commands.tex => commands.tex | 10 +++++-----
 ebuild-environment.tex                  |  2 --
 pkg-mgr-commands.tex                    | 34 ++++++++++++++++-----------------
 pms.tex                                 |  2 ++
 4 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/ebuild-env-commands.tex b/commands.tex
similarity index 92%
rename from ebuild-env-commands.tex
rename to commands.tex
index 650d200..5f6fe7a 100644
--- a/ebuild-env-commands.tex
+++ b/commands.tex
@@ -1,13 +1,13 @@
-\section{Available Commands}
+\chapter{Available Commands}
 
-This section documents the commands available to an ebuild. Unless otherwise specified, they may be
+This chapter documents the commands available to an ebuild. Unless otherwise specified, they may be
 aliases, shell functions, or executables in the ebuild's \t{PATH}.
 
 When an ebuild is being sourced for metadata querying rather than for a build (that is to say,
 when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may
 be executed. The package manager may take steps to enforce this.
 
-\subsection{System commands}
+\section{System Commands}
 
 Any ebuild not listed in the system set for the active profile(s) may assume the presence of every
 command that is always provided by the system set for that profile. However, it must target the
@@ -17,7 +17,7 @@ equivalent, which is inherited by all available profiles. If an ebuild requires
 provided by the system profile, or that are provided conditionally based on USE flags, appropriate
 dependencies must be used to ensure their presence.
 
-\subsubsection{Guaranteed system commands}
+\subsection{Guaranteed system commands}
 \label{sec:guaranteed-system-commands}
 
 The following commands must always be available in the ebuild environment:
@@ -46,7 +46,7 @@ The following commands must always be available in the ebuild environment:
     \end{tabular}
 \end{centertable}
 
-\subsection{Commands provided by package dependencies}
+\section{Commands Provided by Package Dependencies}
 
 In some cases a package's build process will require the availability of executables not provided by
 the core system, a common example being autotools. The availability of commands provided by the

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index 99e7967..82c036c 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -4,8 +4,6 @@
 
 \input{ebuild-env-state.tex}
 
-\input{ebuild-env-commands.tex}
-
 \input{ebuild-env-invariancy.tex}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6fd35ae..ab9c586 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1,4 +1,4 @@
-\subsection{Ebuild-specific commands}
+\section{Ebuild-specific Commands}
 \label{sec:pkg-mgr-commands}
 
 The following commands will always be available in the ebuild environment, provided by the package
@@ -8,7 +8,7 @@ behaviour.
 
 Unless otherwise noted, any output of these commands ends with a newline.
 
-\subsubsection{Failure behaviour and related commands}
+\subsection{Failure behaviour and related commands}
 \label{sec:failure-behaviour}
 
 \featurelabel{die-on-failure} Where a command is listed as having EAPI dependent failure behaviour,
@@ -41,7 +41,7 @@ The following commands affect this behaviour:
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Banned commands}
+\subsection{Banned commands}
 \label{sec:banned-commands}
 
 \featurelabel{banned-commands} Some commands are banned in some EAPIs. If a banned command is
@@ -66,7 +66,7 @@ called, the package manager must abort the build process indicating an error.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Sandbox commands}
+\subsection{Sandbox commands}
 These commands affect the behaviour of the sandbox. Each command takes a single directory as
 argument. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
@@ -77,7 +77,7 @@ argument. Ebuilds must not run any of these commands once the current phase func
 \item[adddeny] Add a directory to the deny list.
 \end{description}
 
-\subsubsection{Package manager query commands}
+\subsection{Package manager query commands}
 These commands are used to extract information about the system. Ebuilds must not run any of
 these commands in parallel with any other package manager command. Ebuilds must not run any of
 these commands once the current phase function has returned.
@@ -107,7 +107,7 @@ to the host root instead of \t{ROOT}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Output commands}
+\subsection{Output commands}
 These commands display messages to the user. Unless otherwise stated, the entire argument list is
 used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of
 bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} for a new line, and
@@ -130,7 +130,7 @@ stderr or some other appropriate facility.
     message followed by a failure indicator. Returns its first argument as exit status.
 \end{description}
 
-\subsubsection{Error commands}
+\subsection{Error commands}
 These commands are used when an error is detected that will prevent the build process from
 completing. Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
@@ -158,7 +158,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Patch commands}
+\subsection{Patch commands}
 These commands are used during the \t{src_prepare} phase to apply patches to the package's sources.
 Ebuilds must not run any of these commands once the current phase function has returned.
 
@@ -232,7 +232,7 @@ Ebuilds must not run any of these commands once the current phase function has r
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Build commands}
+\subsection{Build commands}
 These commands are used during the \t{src_configure}, \t{src_compile}, and \t{src_install}
 phases to run the package's build commands. Ebuilds must not run any of these commands once the
 current phase function has returned.
@@ -356,7 +356,7 @@ emake \
 
 \end{description}
 
-\subsubsection{Installation commands}
+\subsection{Installation commands}
 These commands are used to install files into the staging area, in cases where the package's \t{make
 install} target cannot be used or does not install all needed files. Except where otherwise stated,
 all filenames created or modified are relative to the staging directory including the offset-prefix
@@ -624,7 +624,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Commands affecting install destinations}
+\subsection{Commands affecting install destinations}
 The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
 offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the
 above installation commands. They must be shell functions or aliases, due to the need to set variables
@@ -659,7 +659,7 @@ has returned.
 
 \end{description}
 
-\subsubsection{Commands affecting install compression}
+\subsection{Commands affecting install compression}
 
 \featurelabel{docompress} In EAPIs listed in table~\ref{tab:compression-table} as supporting
 controllable compression, the package manager may optionally compress a subset of the files under
@@ -721,7 +721,7 @@ in table~\ref{tab:compression-table} as supporting \t{docompress}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{USE list functions}
+\subsection{USE list functions}
 These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
 these commands once the current phase function has returned. It is an error if an ebuild calls any
 of these functions in global scope.
@@ -803,7 +803,7 @@ table~\ref{tab:use-list-strictness}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Text list functions}
+\subsection{Text list functions}
 These functions check whitespace-separated lists for a particular value.
 
 \begin{description}
@@ -813,7 +813,7 @@ These functions check whitespace-separated lists for a particular value.
 \item[hasq] Deprecated synonym for \t{has}.
 \end{description}
 
-\subsubsection{Misc commands}
+\subsection{Misc commands}
 The following commands are always available in the ebuild environment, but don't really fit in any
 of the above categories. Ebuilds must not run any of these commands once the current phase function
 has returned.
@@ -992,7 +992,7 @@ has returned.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Debug commands}
+\subsection{Debug commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.
 Ebuilds must not run any of these commands once the current phase function has returned.
@@ -1005,7 +1005,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \item[debug-print-section] Calls \t{debug-print} with \t{now in section \$*}.
 \end{description}
 
-\subsubsection{Reserved commands and variables}
+\subsection{Reserved commands and variables}
 
 Except where documented otherwise, all functions and variables that contain any of the following
 strings (ignoring case) are reserved for package manager use and may not be used or relied upon by

diff --git a/pms.tex b/pms.tex
index 3f338fb..4d2cd99 100644
--- a/pms.tex
+++ b/pms.tex
@@ -68,6 +68,8 @@
 
 \include{ebuild-environment}
 
+\include{commands}
+
 \include{merge}
 
 \include{metadata-cache}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-08 19:13 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-08 19:13 UTC (permalink / raw
  To: gentoo-commits

commit:     693019a78e99a0329b0609c01b0bad3e4b037027
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Oct  2 16:52:41 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct  8 19:11:24 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=693019a7

Ban empty groups in dependency specifications.

The specification for empty groups was originally added to match
historical Portage behaviour. However, Portage was changed in 2011
to treat empty dependency groups as an error, therefore ebuilds cannot
rely on any definite behaviour. Consequently, empty groups are not used
by any ebuild or eclass in the Gentoo repository.

Note that the explicit handling for empty groups is still retained for
the case of implicit empty groups resulting from collapsing USE
conditionals in any-of groups et al.

This is a retroactive change for all EAPIs.

Bug: https://bugs.gentoo.org/370565

 dependencies.tex | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 1aea135..ed3ea01 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -60,33 +60,33 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}.
 \item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}.
 \item An all-of group, which consists of an open parenthesis, followed by whitespace,
-    followed by zero or more of (a dependency item of any kind followed by whitespace), followed
+    followed by one or more of (a dependency item of any kind followed by whitespace), followed
     by a close parenthesis. More formally:
-    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)* ')'}. Permitted in all specification
+    \t{all-of} \t{::=} \t{'(' whitespace (item whitespace)+ ')'}. Permitted in all specification
     style variables.
 \item An any-of group, which consists of the string \t{||}, followed by whitespace,
-    followed by an open parenthesis, followed by whitespace, followed by zero or more
+    followed by an open parenthesis, followed by whitespace, followed by one or more
     of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
-    More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)* ')'}.
+    More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)+ ')'}.
     Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
 \item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
-    zero or more of (a dependency item of any kind followed by whitespace), followed by a close
+    one or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum'
-    whitespace '(' whitespace (item whitespace)* ')'}.
+    whitespace '(' whitespace (item whitespace)+ ')'}.
     Permitted in \t{REQUIRED_USE}.
 \item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
     followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
-    zero or more of (a dependency item of any kind followed by whitespace), followed by a close
+    one or more of (a dependency item of any kind followed by whitespace), followed by a close
     parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace
-    (item whitespace)* ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
+    (item whitespace)+ ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
     table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
-    an open parenthesis, followed by whitespace, followed by zero or more of (a dependency item
+    an open parenthesis, followed by whitespace, followed by one or more of (a dependency item
     of any kind followed by whitespace), followed by a close parenthesis. More formally:
     \t{use-conditional} \t{::=} \t{'!'?\ flag-name '?'\ whitespace '(' whitespace (item
-    whitespace)* ')'}.
+    whitespace)+ ')'}.
     Permitted in all specification style variables.
 \end{compactitem}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-15 14:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-15 14:20 UTC (permalink / raw
  To: gentoo-commits

commit:     04e3e077a99e337cb9b9f0d6e710037ba488b6bb
Author:     Ulrich Müller <ulm <AT> kph <DOT> uni-mainz <DOT> de>
AuthorDate: Tue Oct 10 10:19:31 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct 10 10:28:30 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=04e3e077

Appendix: Document retroactive ban of empty dependency groups.

Bug: https://bugs.gentoo.org/370565

 appendices.tex   | 6 ++++++
 dependencies.tex | 1 +
 2 files changed, 7 insertions(+)

diff --git a/appendices.tex b/appendices.tex
index 7227fc8..60e3512 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -104,6 +104,12 @@ implementation in package managers deviated from what was specified.
 String prefix matching was effective in EAPIs \t{0}, \t{1}, \t{2}, \t{3}, \t{4} and \t{5}. It was
 retroactively dropped in favour of the current behaviour in October 2015.
 
+\subsection{Empty dependency groups}
+The dependency specification format (see section~\ref{sec:dependency-spec}) originally permitted
+all-of, any-of, exactly-one-of, at-most-one-of and use-conditional groups with zero sub-elements.
+However, such empty groups were neither supported by all package managers nor used in ebuilds.
+They were dropped from the specification in October 2017.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/dependencies.tex b/dependencies.tex
index ed3ea01..093a30b 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -45,6 +45,7 @@ In addition, \t{SRC_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE
 \t{REQUIRED_USE} use dependency-style specifications to specify their values.
 
 \section{Dependency Specification Format}
+\label{sec:dependency-spec}
 
 The following elements are recognised in at least one class of specification. All elements must
 be surrounded on both sides by whitespace, except at the start and end of the string.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-17  9:41 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-17  9:41 UTC (permalink / raw
  To: gentoo-commits

commit:     3821ea48319116532d72cf65f08a8cca9428056c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 12 12:41:16 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 12:41:16 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3821ea48

metadata-cache: Correct directory path.

This should be metadata/cache rather than profiles/metadata/cache.
The correct path is already mentioned in section "Tree Layout" /
"The Metadata Directory".

Fixes: ef961a6f9b91fc0e4ff41da84a3f92888c13d116

 metadata-cache.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 80018e4..ed0fa89 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -3,9 +3,9 @@
 
 \section{Directory Contents}
 
-The \t{profiles/metadata/cache} directory, if it exists, contains directories whose names are the
-same as categories in the repository. Each subdirectory may optionally contain one file per package
-version in that category, named \t{<package>-<version>}, in the format described below.
+The \t{metadata/cache} directory, if it exists, contains directories whose names are the same as
+categories in the repository. Each subdirectory may optionally contain one file per package version
+in that category, named \t{<package>-<version>}, in the format described below.
 
 The metadata cache may be incomplete or non-existent, and may contain additional bogus entries.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-17  9:41 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-17  9:41 UTC (permalink / raw
  To: gentoo-commits

commit:     36ac2950e13dabe42f7c6fede7cda1beca4e6302
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 13 17:03:33 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 13 17:03:33 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=36ac2950

pms.bib: Update URI of GLEP references.

 pms.bib | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pms.bib b/pms.bib
index 914c41f..b3413db 100644
--- a/pms.bib
+++ b/pms.bib
@@ -3,7 +3,7 @@
     title = {{GLEP} 37: Virtuals deprecation},
     year = 2005,
     month = Apr,
-    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:37}"
+    howpublished = "\url{https://www.gentoo.org/glep/glep-0037.html}"
 }
 
 @misc{Glep44,
@@ -11,7 +11,7 @@
     title = {{GLEP} 44: Manifest2 format},
     year = 2005,
     month = Dec,
-    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:44}"
+    howpublished = "\url{https://www.gentoo.org/glep/glep-0044.html}"
 }
 
 @misc{Glep55,
@@ -19,7 +19,7 @@
     title = {{GLEP} 55: Use {EAPI}-suffixed ebuilds},
     year = 2007,
     month = Dec,
-    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:55}"
+    howpublished = "\url{https://www.gentoo.org/glep/glep-0055.html}"
 }
 
 @misc{Glep68,
@@ -27,5 +27,5 @@
     title = {{GLEP} 68: Package and category metadata},
     year = 2016,
     month = Apr,
-    howpublished = "\url{https://wiki.gentoo.org/wiki/GLEP:68}"
+    howpublished = "\url{https://www.gentoo.org/glep/glep-0068.html}"
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-17  9:41 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-17  9:41 UTC (permalink / raw
  To: gentoo-commits

commit:     4e9a228d090df1abf56b12f35849b8b219443ed9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Oct 12 12:43:14 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Oct 12 12:43:14 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4e9a228d

metadata-cache: Fix section label.

 metadata-cache.tex | 2 +-
 tree-layout.tex    | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/metadata-cache.tex b/metadata-cache.tex
index ed0fa89..47e70a4 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -1,5 +1,5 @@
 \chapter{Metadata Cache}
-\label{metadata-cache}
+\label{sec:metadata-cache}
 
 \section{Directory Contents}
 

diff --git a/tree-layout.tex b/tree-layout.tex
index 1c23357..fc28c8a 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -235,7 +235,7 @@ various XML files used in the repository, and repository timestamps.
 \subsection{The metadata cache}
 
 The \t{metadata/cache} directory may contain a cached form of all important ebuild metadata
-variables. The contents of this directory are described in section~\ref{metadata-cache}.
+variables. The contents of this directory are described in chapter~\ref{sec:metadata-cache}.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-29 10:28 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-29 10:28 UTC (permalink / raw
  To: gentoo-commits

commit:     d5a8a13b864bb66bb28644b163562efe4cc6018b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 29 10:26:25 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 29 10:26:25 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d5a8a13b

pms.cls: Allow line breaks after hyphens in URLs.

This fixes a bad line break in the bibliography, caused by updating
of GLEP references in the previous commit 36ac295.

 pms.cls | 1 +
 1 file changed, 1 insertion(+)

diff --git a/pms.cls b/pms.cls
index 16344a8..89e7d5a 100644
--- a/pms.cls
+++ b/pms.cls
@@ -24,6 +24,7 @@
 \PassOptionsToPackage{quiet}{marginnote}
 \PassOptionsToPackage{nohyphen}{underscore}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
+\PassOptionsToPackage{hyphens}{url} % url.sty implicitly loaded by hyperref
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-10-31  9:17 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-10-31  9:17 UTC (permalink / raw
  To: gentoo-commits

commit:     0a2577bd7ac038a2b6849a40bc0a05fe3d535bd5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Oct 29 11:22:14 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 29 11:22:14 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0a2577bd

Straighten out specification of integer version components.

Reported-by: John R. Graham <john_r_graham <AT> gentoo.org>
Closes: https://bugs.gentoo.org/635340

 names.tex | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/names.tex b/names.tex
index d00088e..7bf9475 100644
--- a/names.tex
+++ b/names.tex
@@ -61,16 +61,16 @@ upon the length of any component. Package managers should indicate or reject any
 invalid according to the rules below.
 
 A version starts with the number part, which is in the form \t{[0-9]+(\textbackslash.[0-9]+)*}
-(a positive integer, followed by zero or more dot-prefixed positive integers).
+(an unsigned integer, followed by zero or more dot-prefixed unsigned integers).
 
 This may optionally be followed by one of \t{[a-z]} (a lowercase letter).
 
-This may be followed by zero or more of the suffixes \t{_alpha}, \t{_beta}, \t{_pre},
-\t{_rc} or \t{_p}, which themselves may be followed by an optional integer. Suffix and integer
+This may be followed by zero or more of the suffixes \t{_alpha}, \t{_beta}, \t{_pre}, \t{_rc}
+or \t{_p}, each of which may optionally be followed by an unsigned integer. Suffix and integer
 count as separate version components.
 
-This may optionally be followed by the suffix \t{-r} followed immediately by an integer (the
-``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.
+This may optionally be followed by the suffix \t{-r} followed immediately by an unsigned integer
+(the ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.
 
 \section{Version Comparison}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-11-01 18:36 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-11-01 18:36 UTC (permalink / raw
  To: gentoo-commits

commit:     63a5ec481f665636907b6c234da920f6e5b30a9a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  1 18:34:00 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  1 18:34:00 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=63a5ec48

appendices.tex: Fix sentence-end spacing.

 appendices.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 60e3512..011430c 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -64,7 +64,7 @@ removed in 2009.
 \section{Retroactive Changes}
 
 In some exceptional cases, changes to the specification have been approved by the Gentoo Council
-without introducing a new EAPI. This section lists such retroactive changes.
+without introducing a new EAPI\@. This section lists such retroactive changes.
 
 \subsection{Bash version}
 EAPIs \t{0}, \t{1} and \t{2} originally specified GNU Bash version 3.0. This was retroactively
@@ -79,8 +79,8 @@ Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}.
 out via GLEP 37~\cite{Glep37} and finally removed in 2011.
 
 \subsection{EAPI parsing}
-The method to specify the EAPI of an ebuild used to be a shell variable assignment, and the
-package manager had to source the ebuild in order to determine the EAPI. Therefore any ebuild using
+The method to specify the EAPI of an ebuild used to be a shell variable assignment, and the package
+manager had to source the ebuild in order to determine the EAPI\@. Therefore any ebuild using
 a future EAPI would still have to be sourceable by old package managers, which imposed restrictions
 e.\,g.\ on updating the Bash version or on possible changes of global scope functions. Several
 approaches to overcome this limitation were discussed, notably GLEP 55~\cite{Glep55}, which was


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-11-02 15:43 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-11-02 15:43 UTC (permalink / raw
  To: gentoo-commits

commit:     f537553bfebc7372715013767264452fe4f3e994
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct 31 21:32:07 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  1 18:34:49 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f537553b

metadata-cache.tex: Save one line by preventing a line break.

 metadata-cache.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 47e70a4..952f03d 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -40,9 +40,9 @@ order. Other lines may be present following these; their meanings are not define
 
 Future EAPIs may define new variables, remove existing variables, change the line number or
 format used for a particular variable, add or reduce the total length of the file and so on.
-Any future EAPI that uses this cache format will continue to place the EAPI value on
-line 15 if such a concept makes sense for that EAPI, and will place a value that is clearly
-not a supported EAPI on line 15 if it does not.
+Any future EAPI that uses this cache format will continue to place the EAPI value on line~15 if
+such a concept makes sense for that EAPI, and will place a value that is clearly not a supported
+EAPI on line~15 if it does~not.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-11-10 12:36 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-11-10 12:36 UTC (permalink / raw
  To: gentoo-commits

commit:     71ba3c3be20643b45993c912fbbba9ac6122bbce
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  7 17:20:39 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Nov  7 17:20:39 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=71ba3c3b

Add dilfridge and zmedico to acknowledgements.

 ebuild-vars.tex  | 1 +
 introduction.tex | 7 ++++---
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 8c05ce9..d653d09 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -21,6 +21,7 @@ Globally defined ebuild variables without a special meaning must similarly not r
 variable data.
 
 \section{Mandatory Ebuild-defined Variables}
+\label{sec:mandatory-vars}
 
 All ebuilds must define at least the following variables:
 

diff --git a/introduction.tex b/introduction.tex
index fa47f7b..5990f86 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -61,9 +61,10 @@ applicable to tools or other applications that interact with ebuilds or ebuild r
 
 Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
 Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
-sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) and Michał Górny
-(various sections) for contributions. Thanks also to Mike Frysinger and Brian Harring for
-proof-reading and suggestions for fixes and/or clarification.
+sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}), Michał Górny
+(various sections), Andreas K. Hüttel (stable use masking, section~\ref{sec:use-masking}) and
+Zac Medico (sub-slots, section~\ref{sec:mandatory-vars}) for contributions. Thanks also to
+Mike Frysinger and Brian Harring for proof-reading and suggestions for fixes and/or clarification.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2017-11-10 12:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2017-11-10 12:42 UTC (permalink / raw
  To: gentoo-commits

commit:     e736399b13b42484d77f3f95965b90f0c4e32709
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Nov  7 17:20:39 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 10 12:41:55 2017 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e736399b

Add dilfridge and zmedico to acknowledgements.

 ebuild-vars.tex  | 1 +
 introduction.tex | 7 ++++---
 profiles.tex     | 1 +
 3 files changed, 6 insertions(+), 3 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 8c05ce9..d653d09 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -21,6 +21,7 @@ Globally defined ebuild variables without a special meaning must similarly not r
 variable data.
 
 \section{Mandatory Ebuild-defined Variables}
+\label{sec:mandatory-vars}
 
 All ebuilds must define at least the following variables:
 

diff --git a/introduction.tex b/introduction.tex
index fa47f7b..5990f86 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -61,9 +61,10 @@ applicable to tools or other applications that interact with ebuilds or ebuild r
 
 Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
 Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
-sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}) and Michał Górny
-(various sections) for contributions. Thanks also to Mike Frysinger and Brian Harring for
-proof-reading and suggestions for fixes and/or clarification.
+sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}), Michał Górny
+(various sections), Andreas K. Hüttel (stable use masking, section~\ref{sec:use-masking}) and
+Zac Medico (sub-slots, section~\ref{sec:mandatory-vars}) for contributions. Thanks also to
+Mike Frysinger and Brian Harring for proof-reading and suggestions for fixes and/or clarification.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 

diff --git a/profiles.tex b/profiles.tex
index 1641428..88fc397 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -106,6 +106,7 @@ that the package should have the USE flag disabled.  The package dependency spec
 the forms defined by the directory's EAPI.
 
 \subsection{USE masking and forcing}
+\label{sec:use-masking}
 This section covers the eight files \t{use.mask}, \t{use.force}, \t{use.stable.mask},
 \t{use.stable.force}, \t{package.use.mask}, \t{package.use.force}, \t{package.use.stable.mask},
 and \t{package.use.\allowbreak stable.force}. They are described together because they interact in


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-01-17 17:07 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-01-17 17:07 UTC (permalink / raw
  To: gentoo-commits

commit:     25b3aeecb9b88304d86b0f310cc83a3a0eae34d1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 13 20:14:18 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 14 17:35:32 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=25b3aeec

pkg-mgr-commands.tex: keepdir accepts multiple arguments.

Similar to dodir, keepdir accepts multiple arguments.
It has done so since its inception in 2002:
https://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-src/portage/bin/ebuild.sh?revision=1.46&view=markup#l89

 pkg-mgr-commands.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ab9c586..9a80370 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -518,10 +518,10 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
 \item[fperms] Acts as for \t{chmod}, but takes paths relative to the image directory. Failure
     behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[keepdir] Creates a directory as for \t{dodir}, and an empty file whose name starts with
-    \t{.keep} in that directory to ensure that the directory does not get removed by the
-    package manager should it be empty at any point. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+\item[keepdir] For each argument, creates a directory as for \t{dodir}, and an empty file whose
+    name starts with \t{.keep} in that directory to ensure that the directory does not get removed
+    by the package manager should it be empty at any point. Failure behaviour is EAPI dependent
+    as per section~\ref{sec:failure-behaviour}.
 
 \item[newbin] \featurelabel{newfoo-stdin} As for \t{dobin}, but takes two parameters. The first is
     the file to install; the second is the new filename under which it will be installed. In EAPIs


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-01-17 17:10 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-01-17 17:10 UTC (permalink / raw
  To: gentoo-commits

commit:     66c2db27cb1296d79113cf7a0d81d8e11bb0ade2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 17 17:10:03 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 17 17:10:03 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=66c2db27

Update copyright years.

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index 4d2cd99..c4a72e9 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    The bulk of this document is \textcopyright{} 2007--2017 Stephen Bennett, Christian Faulhammer,
+    The bulk of this document is \textcopyright{} 2007--2018 Stephen Bennett, Christian Faulhammer,
     Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
     have been changed substantially before inclusion.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-01-29 21:58 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-01-29 21:58 UTC (permalink / raw
  To: gentoo-commits

commit:     313af8b350603105aa181ec40037e1095ffb0251
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 19 21:19:42 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 19 21:19:42 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=313af8b3

appendices.tex: Clarify unspecified items.

The spec neither mentions any EMERGE_ nor any PORTAGE_ variable,
so the restriction is not needed.

 appendices.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/appendices.tex b/appendices.tex
index 011430c..434aa3f 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -13,7 +13,7 @@ been abused in the past.
 
 \begin{compactitem}
 \item The \t{FEATURES} variable. This is Portage specific.
-\item Similarly, any \t{EMERGE_} variable and any \t{PORTAGE_} variable not explicitly listed.
+\item Similarly, any \t{EMERGE_} variable and any \t{PORTAGE_} variable.
 \item Any Portage configuration file.
 \item The VDB (\t{/var/db/pkg}). Ebuilds must not access this or rely upon it existing or being
     in any particular format.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-02-24 11:03 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-02-24 11:03 UTC (permalink / raw
  To: gentoo-commits

commit:     5f912acaaadf02605f350aac89cbaaa9dd9b00cb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 15:13:21 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 10:56:17 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5f912aca

names.tex: Deprecate the at-sign in USE flag names.

The at-sign was required only for the LINGUAS USE_EXPAND variable
which has been phased out.

 names.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/names.tex b/names.tex
index 7bf9475..d60e97b 100644
--- a/names.tex
+++ b/names.tex
@@ -31,7 +31,7 @@ A USE flag name may contain any of the characters [\t{A-Za-z0-9+_@-}]. It must b
 alphanumeric character. Underscores should be considered reserved for \t{USE_EXPAND}, as
 described in section~\ref{sec:use-iuse-handling}.
 
-\note The at-sign is required for \t{LINGUAS}.
+\note Usage of the at-sign is deprecated. It was previously required for \t{LINGUAS}.
 
 \subsection{Repository names}
 \label{sec:repository-names}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-02-24 11:03 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-02-24 11:03 UTC (permalink / raw
  To: gentoo-commits

commit:     fa19a32ef1ca7c56dd56e477e3535ca5a310c8ee
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 18 14:48:14 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 10:55:54 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=fa19a32e

pkg-mgr-commands: Add --build and --target to econf (retroactively)

Amend the econf parameter list with --build and --target options
corresponding to CBUILD and CTARGET variables respectively. They are
useful for cross-compilation purposes (whose support is improved
in EAPI 7), and all three package managers have been passing them dating
back at least to 2005 and/or their inception appropriately.

 pkg-mgr-commands.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9a80370..7883709 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -258,7 +258,11 @@ current phase function has returned.
     \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
         in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
+    \item -{}-build must be the value of the \t{CBUILD} environment variable. This option will only
+        be passed if \t{CBUILD} is non-empty.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
+    \item -{}-target must be the value of the \t{CTARGET} environment variable. This option will
+        only be passed if \t{CTARGET} is non-empty.
     \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-02-24 12:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-02-24 12:57 UTC (permalink / raw
  To: gentoo-commits

commit:     5267d136c1e9131f550d85eb99275f2579554418
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 12:43:12 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 12:43:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5267d136

Make letter case more consistent.

Write "algorithm", "listing" and "table" in sentence case throughout
the document.

 names.tex            | 14 +++++++-------
 pkg-mgr-commands.tex | 24 ++++++++++++------------
 profiles.tex         |  4 ++--
 3 files changed, 21 insertions(+), 21 deletions(-)

diff --git a/names.tex b/names.tex
index d60e97b..be55698 100644
--- a/names.tex
+++ b/names.tex
@@ -75,7 +75,7 @@ This may optionally be followed by the suffix \t{-r} followed immediately by an
 \section{Version Comparison}
 
 Version specifications are compared component by component, moving from left to right,
-as detailed in Algorithm~\ref{alg:version-comparison} and sub-algorithms.
+as detailed in algorithm~\ref{alg:version-comparison} and sub-algorithms.
 If a sub-algorithm returns a decision, then that is the result of the whole comparison;
 if it terminates without returning a decision, the process continues from the point
 from which it was invoked.
@@ -84,10 +84,10 @@ from which it was invoked.
 \caption{Version comparison top-level logic} \label{alg:version-comparison}
 \begin{algorithmic}[1]
     \STATE let $A$ and $B$ be the versions to be compared
-    \STATE compare numeric components using Algorithm~\ref{alg:version-comparison-numeric}
-    \STATE compare letter components using Algorithm~\ref{alg:version-comparison-letter}
-    \STATE compare suffixes using Algorithm~\ref{alg:version-comparison-suffix}
-    \STATE compare revision components using Algorithm~\ref{alg:version-comparison-revision}
+    \STATE compare numeric components using algorithm~\ref{alg:version-comparison-numeric}
+    \STATE compare letter components using algorithm~\ref{alg:version-comparison-letter}
+    \STATE compare suffixes using algorithm~\ref{alg:version-comparison-suffix}
+    \STATE compare revision components using algorithm~\ref{alg:version-comparison-revision}
     \RETURN $A=B$
 \end{algorithmic}
 \end{algorithm}
@@ -105,7 +105,7 @@ from which it was invoked.
   \STATE let $Ann$ be the number of numeric components of $A$
   \STATE let $Bnn$ be the number of numeric components of $B$
   \FORALL{$i$ such that $i\geq1$ and $i<Ann$ and $i<Bnn$, in ascending order}
-    \STATE compare $An_i$ and $Bn_i$ using Algorithm~\ref{alg:version-comparison-numeric-nonfirst}
+    \STATE compare $An_i$ and $Bn_i$ using algorithm~\ref{alg:version-comparison-numeric-nonfirst}
   \ENDFOR
   \IF{$Ann>Bnn$}
     \RETURN $A>B$
@@ -158,7 +158,7 @@ from which it was invoked.
   \STATE let $Asn$ be the number of suffixes of $A$
   \STATE let $Bsn$ be the number of suffixes of $B$
   \FORALL{$i$ such that $i\geq0$ and $i<Asn$ and $i<Bsn$, in ascending order}
-    \STATE compare $As_i$ and $Bs_i$ using Algorithm~\ref{alg:version-comparison-suffix-each}
+    \STATE compare $As_i$ and $Bs_i$ using algorithm~\ref{alg:version-comparison-suffix-each}
   \ENDFOR
   \IF{$Asn>Bsn$}
     \IF{$As_{Bsn}$ is of type \t{_p}}

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7883709..07abfbb 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -165,7 +165,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \begin{description}
 \item[eapply] \featurelabel{eapply} Takes zero or more GNU patch options, followed by one or more
     file or directory paths. Processes options and applies all patches found in specified locations
-    according to Algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
+    according to algorithm~\ref{alg:eapply}. If applying the patches fails, it aborts the build
     using \t{die}, unless run using \t{nonfatal}, in which case it returns non-zero exit status.
     Only available in EAPIs listed in table~\ref{tab:patch-commands} as supporting \t{eapply}.
 
@@ -263,7 +263,7 @@ current phase function has returned.
     \item -{}-host must be the value of the \t{CHOST} environment variable.
     \item -{}-target must be the value of the \t{CTARGET} environment variable. This option will
         only be passed if \t{CTARGET} is non-empty.
-    \item -{}-libdir must be set according to Algorithm~\ref{alg:econf-libdir}.
+    \item -{}-libdir must be set according to algorithm~\ref{alg:econf-libdir}.
     \item -{}-disable-dependency-tracking, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
@@ -292,8 +292,8 @@ current phase function has returned.
     \end{centertable}
 
     Note that the \t{\$\{EPREFIX\}} component represents the same offset-prefix as described in
-    Table~\ref{tab:defined-vars}. It facilitates offset-prefix installations which is supported by
-    EAPIs listed in Table~\ref{tab:offset-env-vars-table}. When no offset-prefix installation is in
+    table~\ref{tab:defined-vars}. It facilitates offset-prefix installations which is supported by
+    EAPIs listed in table~\ref{tab:offset-env-vars-table}. When no offset-prefix installation is in
     effect, \t{EPREFIX} becomes the empty string, making the behaviour of \t{econf} equal for both
     offset-prefix supporting and agnostic EAPIs.
 
@@ -327,19 +327,19 @@ current phase function has returned.
     section~\ref{sec:guaranteed-system-commands}. \t{emake} must be an external program and cannot
     be a function or alias---it must be callable from e.\,g.\ \t{xargs}. Failure behaviour is EAPI
     dependent as per section~\ref{sec:failure-behaviour}.
-\item[einstall] A shortcut for the command given in Listing~\ref{lst:einstall}. Any arguments given
+\item[einstall] A shortcut for the command given in listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
     In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
-    The variable \t{ED} is defined as in Table~\ref{tab:defined-vars} and depends on the use of an
+    The variable \t{ED} is defined as in table~\ref{tab:defined-vars} and depends on the use of an
     offset-prefix. When such offset-prefix is absent, \t{ED} is equivalent to \t{D}\@. \t{ED} is
     always available in EAPIs that support offset-prefix installations as listed in
-    Table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use
-    \t{D} instead of \t{ED} in the command given in Listing~\ref{lst:einstall}.
+    table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use
+    \t{D} instead of \t{ED} in the command given in listing~\ref{lst:einstall}.
     Variable \t{libdir} is an auxiliary local variable whose value is determined by
-    Algorithm~\ref{alg:ebuild-libdir}.
+    algorithm~\ref{alg:ebuild-libdir}.
 
 \begin{listing}[H]
 \caption{\t{einstall} command} \label{lst:einstall}
@@ -457,7 +457,7 @@ can be extended or reduced (see below). The options that can be passed to \t{doh
     section~\ref{sec:failure-behaviour}.
 
 \item[dolib] For each argument, installs it into the appropriate library subdirectory under
-    \t{DESTTREE}, as determined by Algorithm~\ref{alg:ebuild-libdir}. Files are installed by default
+    \t{DESTTREE}, as determined by algorithm~\ref{alg:ebuild-libdir}. Files are installed by default
     with file mode \t{0644}, or with the \t{install} options set by the most recent \t{libopts}
     call. Any symlinks are installed into the same directory as relative links to their original
     target. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
@@ -927,7 +927,7 @@ has returned.
 
 \item[einstalldocs] \featurelabel{einstalldocs} Takes no arguments. Installs the files specified
     by the \t{DOCS} and \t{HTML_DOCS} variables or a default set of files, according to
-    Algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
+    algorithm~\ref{alg:einstalldocs}. If called using \t{nonfatal} and any of the called commands
     returns a non-zero exit status, returns immediately with the same exit status. Only available
     in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{einstalldocs}.
 
@@ -960,7 +960,7 @@ has returned.
 \end{algorithm}
 
 \item[get_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    Algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
+    algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
     as supporting \t{get_libdir}.
 
 \begin{algorithm}

diff --git a/profiles.tex b/profiles.tex
index 88fc397..7299350 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -140,7 +140,7 @@ stable in a package.
 
 The precise manner in which the eight files interact is less simple, and is best described in terms
 of the algorithm used to determine whether a flag is masked for a given package version. This is
-described in Algorithm~\ref{alg:use-masking}.
+described in algorithm~\ref{alg:use-masking}.
 \begin{algorithm}
 \caption{\t{USE} masking logic} \label{alg:use-masking}
 \begin{algorithmic}[1]
@@ -178,7 +178,7 @@ described in Algorithm~\ref{alg:use-masking}.
 \end{algorithmic}
 \end{algorithm}
 
-Stable restrictions (``stable keyword in use'' in Algorithm~\ref{alg:use-masking}) are applied
+Stable restrictions (``stable keyword in use'' in algorithm~\ref{alg:use-masking}) are applied
 exactly if replacing in \t{KEYWORDS} all stable keywords by the corresponding tilde prefixed
 keywords (see subsection~\ref{sec:keywords}) would result in the package installation being
 prevented due to the \t{KEYWORDS} setting.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-02-25 14:49 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-02-25 14:49 UTC (permalink / raw
  To: gentoo-commits

commit:     43d5710a02d0aed0e4e6e29aa7cfa75809fb822b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 24 13:48:46 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 24 13:48:46 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=43d5710a

pkg-mgr-commands.tex: Typeset list of commands consistently.

Use teletype font for options, and fix indentation.
No changes of wording.

 pkg-mgr-commands.tex | 71 +++++++++++++++++++++++++++-------------------------
 1 file changed, 37 insertions(+), 34 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 07abfbb..b6d15c6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -246,30 +246,31 @@ current phase function has returned.
 
     \featurelabel{econf-options} \t{econf} must pass the following options to the configure script:
     \begin{itemize}
-    \item -{}-prefix must default to \t{\$\{EPREFIX\}/usr} unless overridden by \t{econf}'s caller.
-    \item -{}-mandir must be \t{\$\{EPREFIX\}/usr/share/man}
-    \item -{}-infodir must be \t{\$\{EPREFIX\}/usr/share/info}
-    \item -{}-datadir must be \t{\$\{EPREFIX\}/usr/share}
-    \item -{}-sysconfdir must be \t{\$\{EPREFIX\}/etc}
-    \item -{}-localstatedir must be \t{\$\{EPREFIX\}/var/lib}
-    \item -{}-docdir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
+    \item \t{-{}-prefix} must default to \t{\$\{EPREFIX\}/usr} unless overridden by \t{econf}'s
+        caller.
+    \item \t{-{}-mandir} must be \t{\$\{EPREFIX\}/usr/share/man}
+    \item \t{-{}-infodir} must be \t{\$\{EPREFIX\}/usr/share/info}
+    \item \t{-{}-datadir} must be \t{\$\{EPREFIX\}/usr/share}
+    \item \t{-{}-sysconfdir} must be \t{\$\{EPREFIX\}/etc}
+    \item \t{-{}-localstatedir} must be \t{\$\{EPREFIX\}/var/lib}
+    \item \t{-{}-docdir} must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}}, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{-{}-docdir} occurs in the output of \t{configure -{}-help}.
-    \item -{}-htmldir must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is listed
-        in table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
-        string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
-    \item -{}-build must be the value of the \t{CBUILD} environment variable. This option will only
-        be passed if \t{CBUILD} is non-empty.
-    \item -{}-host must be the value of the \t{CHOST} environment variable.
-    \item -{}-target must be the value of the \t{CTARGET} environment variable. This option will
+    \item \t{-{}-htmldir} must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is
+        listed in table~\ref{tab:econf-options-table} as using it. This option will only be passed
+        if the string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
+    \item \t{-{}-build} must be the value of the \t{CBUILD} environment variable. This option will
+        only be passed if \t{CBUILD} is non-empty.
+    \item \t{-{}-host} must be the value of the \t{CHOST} environment variable.
+    \item \t{-{}-target} must be the value of the \t{CTARGET} environment variable. This option will
         only be passed if \t{CTARGET} is non-empty.
-    \item -{}-libdir must be set according to algorithm~\ref{alg:econf-libdir}.
-    \item -{}-disable-dependency-tracking, if the EAPI is listed in
+    \item \t{-{}-libdir} must be set according to algorithm~\ref{alg:econf-libdir}.
+    \item \t{-{}-disable-dependency-tracking}, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{-{}-disable-dependency-tracking} occurs in the output of \t{configure -{}-help}.
-    \item -{}-disable-silent-rules, if the EAPI is listed in table~\ref{tab:econf-options-table} as
-        using it. This option will only be passed if the string \t{-{}-disable-silent-rules} occurs
-        in the output of \t{configure -{}-help}.
+    \item \t{-{}-disable-silent-rules}, if the EAPI is listed in table~\ref{tab:econf-options-table}
+        as using it. This option will only be passed if the string \t{-{}-disable-silent-rules}
+        occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{6}
@@ -327,6 +328,7 @@ current phase function has returned.
     section~\ref{sec:guaranteed-system-commands}. \t{emake} must be an external program and cannot
     be a function or alias---it must be callable from e.\,g.\ \t{xargs}. Failure behaviour is EAPI
     dependent as per section~\ref{sec:failure-behaviour}.
+
 \item[einstall] A shortcut for the command given in listing~\ref{lst:einstall}. Any arguments given
     to \t{einstall} are passed verbatim to \t{emake}, as shown. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
@@ -420,21 +422,22 @@ the current phase function has returned.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
-The subdirectory is \t{html} by default, but this can be overridden with the \t{docinto} function.
-Files to be installed automatically are determined by extension and the default extensions are
-\t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg}, \t{js} and \t{png}. These default extensions
-can be extended or reduced (see below). The options that can be passed to \t{dohtml} are as follows:
-\begin{description}
-    \item{\t{-r}} --- enables recursion into directories.
-    \item{\t{-V}} --- enables verbosity.
-    \item{\t{-A}} --- adds file type extensions to the default list.
-    \item{\t{-a}} --- sets file type extensions to only those specified.
-    \item{\t{-f}} --- list of files that are able to be installed.
-    \item{\t{-x}} --- list of directories that files will not be installed from (only used in
-    conjunction with \t{-r}).
-    \item{\t{-p}} --- sets a document prefix for installed files, not to be confused with the global
-    offset-prefix.
-\end{description}
+    The subdirectory is \t{html} by default, but this can be overridden with the \t{docinto}
+    function. Files to be installed automatically are determined by extension and the default
+    extensions are \t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg}, \t{js} and \t{png}.
+    These default extensions can be extended or reduced (see below). The options that can be passed
+    to \t{dohtml} are as follows:
+    \begin{description}
+    \item[\t{-r}] enables recursion into directories.
+    \item[\t{-V}] enables verbosity.
+    \item[\t{-A}] adds file type extensions to the default list.
+    \item[\t{-a}] sets file type extensions to only those specified.
+    \item[\t{-f}] list of files that are able to be installed.
+    \item[\t{-x}] list of directories that files will not be installed from (only used in
+        conjunction with \t{-r}).
+    \item[\t{-p}] sets a document prefix for installed files, not to be confused with the global
+        offset-prefix.
+    \end{description}
 
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-04-02  7:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-04-02  7:39 UTC (permalink / raw
  To: gentoo-commits

commit:     bd0323fb313fed1349a3d79fdb4a7bfcb1c8f597
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 29 19:29:14 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 19:29:14 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bd0323fb

pms.cls: Update \note command to suppress vertical space.

Use the command correctly throughout; it requires an argument.

 dependencies.tex     |  6 +++---
 eapi-differences.tex |  6 +++---
 ebuild-env-state.tex |  4 ++--
 ebuild-functions.tex |  4 ++--
 ebuild-vars.tex      | 12 ++++++------
 names.tex            | 10 +++++-----
 pms.cls              |  2 +-
 profiles.tex         |  4 ++--
 8 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 381dc04..065034f 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -176,7 +176,7 @@ or 4-style \t{USE} dependencies, a specification may additionally be suffixed by
 2-style or 4-style \t{[use]} restriction, as described in section~\ref{sec:use-dep}. A package
 manager must warn or error if this feature is used with an EAPI not supporting use dependencies.
 
-\note Order is important. The slot restriction must come before use dependencies.
+\note{Order is important. The slot restriction must come before use dependencies.}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{Support for \t{SLOT} dependencies and sub-slots in EAPIs}
@@ -327,9 +327,9 @@ the latter, present and disabled.
 Unless a 4-style default is specified, it is an error for a use dependency to be applied to an
 ebuild which does not have the flag in question in \t{IUSE_REFERENCEABLE}.
 
-\note By extension of the above, a default that could reference an ebuild using an EAPI not
+\note{By extension of the above, a default that could reference an ebuild using an EAPI not
 supporting profile \t{IUSE} injections cannot rely upon any particular behaviour for flags that
-would not have to be part of \t{IUSE}.
+would not have to be part of \t{IUSE}.}
 
 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
 flag in \t{IUSE_EFFECTIVE}.

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 2b74e05..8a2c3af 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,9 +1,9 @@
 \chapter{Feature Availability by EAPI}
 
-\note This chapter is informative and for convenience only. Refer to the main text for specifics.
+\note{This chapter is informative and for convenience only. Refer to the main text for specifics.
 For lack of space, EAPIs 0, 1, and~2 have been consolidated into a single column in the table
 below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
-of this document for a complete table of previous EAPIs.
+of this document for a complete table of previous EAPIs.}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{landscape}
@@ -247,7 +247,7 @@ File mtimes preserved & \compactfeatureref{mtime-preserve} &
 
 \chapter{Differences Between EAPIs}
 
-\note This chapter is informative and for convenience only. Refer to the main text for specifics.
+\note{This chapter is informative and for convenience only. Refer to the main text for specifics.}
 
 \section{EAPI 0}
 

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 2333b01..34c41c4 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,8 +5,8 @@ Exported and default scope variables are saved between functions. A non-local va
 function earlier in the call sequence must have its value preserved for later functions, including
 functions executed as part of a later uninstall.
 
-\note \t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
-environment saving.
+\note{\t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
+environment saving.}
 
 Variables that were exported must remain exported in later functions; variables with default
 visibility may retain default visibility or be exported. Variables with special meanings to the

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index e90c050..6240cf5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -516,9 +516,9 @@ The call order for upgrading, downgrading or reinstalling a package is:
 \item \t{pkg_postinst}
 \end{compactitem}
 
-Note: When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
+\note{When up- or downgrading a package in EAPI 0 or 1, the last four phase functions can
 alternatively be called in the order \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm},
-\t{pkg_postrm}. This behaviour is deprecated.
+\t{pkg_postrm}. This behaviour is deprecated.}
 
 The \t{pkg_config}, \t{pkg_info} and \t{pkg_nofetch} functions are not called in a normal
 sequence. The \t{pkg_pretend} function is called some unspecified time before a (possibly

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d653d09..0a3051c 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -1,8 +1,8 @@
 \chapter{Ebuild-defined Variables}
 \label{sec:ebuild-vars}
 
-\note This section describes variables that may or must be defined by ebuilds. For
-variables that are passed from the package manager to the ebuild, see section~\ref{sec:ebuild-env-vars}.
+\note{This section describes variables that may or must be defined by ebuilds. For variables that
+are passed from the package manager to the ebuild, see section~\ref{sec:ebuild-env-vars}.}
 
 If any of these variables are set to invalid values, or if any of the mandatory variables are
 undefined, the package manager's behaviour is undefined; ideally, an error in one ebuild should not
@@ -203,8 +203,8 @@ considered to be part of the ebuild's metadata:
 \item[INHERITED] List of inherited eclass names. Again, this is handled magically by \t{inherit}.
 \end{description}
 
-\note Thus, by extension of section~\ref{sec:metadata-invariance}, \t{inherit} may not be used
-    conditionally, except upon constant conditions.
+\note{Thus, by extension of section~\ref{sec:metadata-invariance}, \t{inherit} may not be used
+conditionally, except upon constant conditions.}
 
 The following are special variables defined by the package manager for internal use and may or may
 not be exported to the ebuild environment:
@@ -218,8 +218,8 @@ optional \t{DEFINED_PHASES} support, package managers may not rely upon the meta
 this variable defined, and must treat an empty string as ``this information is not available''.
 \end{description}
 
-\note Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be defined
-based upon any variant condition.
+\note{Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be
+defined based upon any variant condition.}
 
 \ChangeWhenAddingAnEAPI{6}
 \begin{centertable}{EAPIs supporting \t{DEFINED_PHASES}}

diff --git a/names.tex b/names.tex
index be55698..c8e1129 100644
--- a/names.tex
+++ b/names.tex
@@ -9,8 +9,8 @@ name. A package manager should indicate or reject any name that is invalid accor
 A category name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with
 a hyphen, a dot or a plus sign.
 
-\note A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
-names will contain a hyphen.
+\note{A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
+names will contain a hyphen.}
 
 \subsection{Package names}
 \label{sec:package-names}
@@ -18,8 +18,8 @@ A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not
 hyphen or a plus sign, and must not end in a hyphen followed by anything matching the version
 syntax described in section~\ref{sec:version-spec}.
 
-\note A package name does not include the category. The term \i{qualified package name} is used
-where a \t{category/package} pair is meant.
+\note{A package name does not include the category. The term \i{qualified package name} is used
+where a \t{category/package} pair is meant.}
 
 \subsection{Slot names}
 \label{sec:slot-names}
@@ -31,7 +31,7 @@ A USE flag name may contain any of the characters [\t{A-Za-z0-9+_@-}]. It must b
 alphanumeric character. Underscores should be considered reserved for \t{USE_EXPAND}, as
 described in section~\ref{sec:use-iuse-handling}.
 
-\note Usage of the at-sign is deprecated. It was previously required for \t{LINGUAS}.
+\note{Usage of the at-sign is deprecated. It was previously required for \t{LINGUAS}.}
 
 \subsection{Repository names}
 \label{sec:repository-names}

diff --git a/pms.cls b/pms.cls
index 89e7d5a..66e1828 100644
--- a/pms.cls
+++ b/pms.cls
@@ -121,7 +121,7 @@
     \renewcommand{\t}[1]{\texttt{#1}}
 }
 \newcommand{\e}[1]{\emph{#1}}
-\newcommand{\note}[1]{\paragraph{Note:} #1}
+\newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
 % Because we are lazy, we define a table environment to fulfil our needs
 \newenvironment{centertable}[1]%

diff --git a/profiles.tex b/profiles.tex
index 7299350..9263418 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -89,8 +89,8 @@ installed unless unmasked by the user's configuration.
 Note that the \t{-spec} syntax can be used to remove a mask in a parent profile, but not
 necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles-package.mask}).
 
-\note Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
-    inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.
+\note{Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
+inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.}
 
 \subsection{package.provided}
 \t{package.provided} is used to tell the package manager that a certain package version should be


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-04-02  7:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-04-02  7:39 UTC (permalink / raw
  To: gentoo-commits

commit:     81324662c4ecfde267d8593578dbe2b885e822dc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 29 17:36:17 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 17:36:17 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=81324662

dependencies.tex: Clarify wording for = slot operator.

 dependencies.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/dependencies.tex b/dependencies.tex
index f019348..381dc04 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -279,7 +279,8 @@ indicates that the package will not break if the matched package is uninstalled
 a different matching package in a different slot.
 \item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
 indicates that the package will break unless a matching package with slot and sub-slot equal to the
-slot and sub-slot of the best installed version at the time the package was built is available.
+slot and sub-slot of the best version installed as a build-time (\t{DEPEND}) dependency is
+available.
 \item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
 identically to the plain equals slot operator.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-04-02  7:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-04-02  7:39 UTC (permalink / raw
  To: gentoo-commits

commit:     02a0c1ab2cd8fde0313adc17a73831912dde6d8b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  1 16:37:29 2017 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 29 17:35:20 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=02a0c1ab

dependencies.tex: Describe similar dep groups only once.

Any-of, exactly-one-of, and at-most-one-of groups have similar format,
so there is no need to repeat the same description three times.

 dependencies.tex | 17 +++++------------
 1 file changed, 5 insertions(+), 12 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 093a30b..f019348 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -70,18 +70,11 @@ be surrounded on both sides by whitespace, except at the start and end of the st
     of (a dependency item of any kind followed by whitespace), followed by a close parenthesis.
     More formally: \t{any-of} \t{::=} \t{'||' whitespace '(' whitespace (item whitespace)+ ')'}.
     Permitted in \t{DEPEND}, \t{RDEPEND}, \t{PDEPEND}, \t{LICENSE}, \t{REQUIRED_USE}.
-\item An exactly-one-of group, which consists of the string \t{\textasciicircum\textasciicircum},
-    followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
-    one or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{exactly-one-of} \t{::=} \t{'\textasciicircum\textasciicircum'
-    whitespace '(' whitespace (item whitespace)+ ')'}.
-    Permitted in \t{REQUIRED_USE}.
-\item \featurelabel{at-most-one-of} An at-most-one-of group, which consists of the string \t{??},
-    followed by whitespace, followed by an open parenthesis, followed by whitespace, followed by
-    one or more of (a dependency item of any kind followed by whitespace), followed by a close
-    parenthesis. More formally: \t{at-most-one-of} \t{::=} \t{'??'\ whitespace '(' whitespace
-    (item whitespace)+ ')'}. Permitted in \t{REQUIRED_USE} in EAPIs listed in
-    table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups.
+\item An exactly-one-of group, which has the same format as the any-of group, but begins with the
+    string \t{\textasciicircum\textasciicircum} instead. Permitted in \t{REQUIRED_USE}.
+\item \featurelabel{at-most-one-of} An at-most-one-of group, which has the same format as the
+    any-of group, but begins with the string \t{??}\ instead. Permitted in \t{REQUIRED_USE} in
+    EAPIs listed in table~\ref{tab:at-most-one-of-table} as supporting \t{REQUIRED_USE ??}\ groups.
 \item A use-conditional group, which consists of an optional exclamation mark, followed by
     a use flag name, followed by a question mark, followed by whitespace, followed by
     an open parenthesis, followed by whitespace, followed by one or more of (a dependency item


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-04-26  6:21 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-04-26  6:21 UTC (permalink / raw
  To: gentoo-commits

commit:     229b385a95e1c2f73c03638b08da34d07203b94f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 26 04:45:47 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 26 04:45:47 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=229b385a

Cheat sheet: Small typographic fix.

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 6833c79..3eaad9a 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -391,7 +391,7 @@ differences between these previous EAPIs.
     ebuild for USE queries.
     See \featureref{in-iuse}.
     \item[\code{get_libdir}] The \code{get_libdir} command outputs
-    the \code{lib*} directory basename suitable for the current ABI.
+    the \code{lib*} directory basename suitable for the current ABI\@.
     See \featureref{get-libdir}.
 \end{description}
 \subsection{Removals/Bans}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-04-30 22:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-04-30 22:15 UTC (permalink / raw
  To: gentoo-commits

commit:     78bf8ab7f65b63c91515fd8e69c9de4a2979467e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Apr 30 22:13:12 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 30 22:13:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=78bf8ab7

Merge branch 'eapi-7'

 commands.tex          |  15 +-
 dependencies.tex      |  96 +++++++++---
 eapi-cheatsheet.tex   | 322 +++++++++++++++++++++++++++-------------
 eapi-differences.tex  | 239 ++++++++++++++++++++++--------
 eapis.tex             |   7 +-
 ebuild-env-vars.tex   | 150 ++++++++++++++-----
 ebuild-format.tex     |   4 +-
 ebuild-functions.tex  |  36 ++---
 ebuild-vars.tex       |  19 +--
 eclasses.tex          |  10 +-
 introduction.tex      |   7 +-
 merge.tex             |   4 +-
 metadata-cache.tex    |   3 +-
 pkg-mgr-commands.tex  | 402 ++++++++++++++++++++++++++++++++++++--------------
 pms.tex               |   4 +-
 profile-variables.tex |  27 +++-
 profiles.tex          |  66 +++++++--
 tree-layout.tex       |  20 +++
 18 files changed, 1033 insertions(+), 398 deletions(-)


^ permalink raw reply	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     671adf4f9e4c9c964a44edaf13a09a98ebf83024
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:19 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:49 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=671adf4f

Account for 'Build commands' being run in src_test

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ffa7566..42fdced 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -283,9 +283,9 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{centertable}
 
 \subsection{Build commands}
-These commands are used during the \t{src_configure}, \t{src_compile}, and \t{src_install}
-phases to run the package's build commands. Ebuilds must not run any of these commands once the
-current phase function has returned.
+These commands are used during the \t{src_configure}, \t{src_compile}, \t{src_test},
+and \t{src_install} phases to run the package's build commands. Ebuilds must not run any of these
+commands once the current phase function has returned.
 
 \begin{description}
 \item[econf] Calls the program's \t{./configure} script. This is designed to work with GNU


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     06a9a7d92c016c3fa9f8f2fd606fbd95ffae45f4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:22 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:52 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=06a9a7d9

*into, *opts: Remove redundant offset-prefix sentence from heading

Remove the offset-prefix reference from heading to 'Commands affecting
install destinations'.  The offset-prefix situation is explained
in 'into' already, and it applies only to the *into commands.

 pkg-mgr-commands.tex | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 07b8d9f..01c0c6d 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -706,11 +706,10 @@ the current phase function has returned.
 \end{centertable}
 
 \subsection{Commands affecting install destinations}
-The following commands are used to set the various destination trees, all relative to \t{\$\{ED\}} in
-offset-prefix aware EAPIs and relative to \t{\$\{D\}} in offset-prefix agnostic EAPIs, used by the
-above installation commands. They must be shell functions or aliases, due to the need to set variables
-read by the above commands. Ebuilds must not run any of these commands once the current phase function
-has returned.
+The following commands are used to set the various destination trees and options used by the above
+installation commands. They must be shell functions or aliases, due to the need to set variables
+read by the above commands. Ebuilds must not run any of these commands once the current phase
+function has returned.
 
 \begin{description}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     2955b2dfaa5599677bf33e56c7619ccc557ebfff
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:21 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:51 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2955b2df

*into, *opts: Clarify the number of arguments

Clarify the number of arguments taken by *into and *opts.  The former
always takes a single argument, so clarify that calling it without
arguments is invalid.  The latter may take 0+ arguments (with 0
resetting the list), so clarify that the correct way is to pass multiple
arguments rather than a single quoted argument.

 pkg-mgr-commands.tex | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 058be89..07b8d9f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -714,12 +714,11 @@ has returned.
 
 \begin{description}
 
-\item[into] Sets the value of \t{DESTTREE} for future invocations
-    of the above utilities. Creates the directory under \t{\$\{ED\}}
-    in offset-prefix aware EAPIs or under \t{\$\{D\}} in offset-prefix
-    agnostic EAPIs, using \t{install -d} with no additional options,
-    if it does not already exist. Failure behaviour is EAPI dependent
-    as per section~\ref{sec:failure-behaviour}.
+\item[into] Takes exactly one argument, and sets the value of \t{DESTTREE} for future invocations
+    of the above utilities to it. Creates the directory under \t{\$\{ED\}} in offset-prefix aware
+    EAPIs or under \t{\$\{D\}} in offset-prefix agnostic EAPIs, using \t{install -d} with no
+    additional options, if it does not already exist. Failure behaviour is EAPI dependent as per
+    section~\ref{sec:failure-behaviour}.
 
 \item[insinto] As \t{into}, for \t{INSDESTTREE}.
 
@@ -727,7 +726,9 @@ has returned.
 
 \item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al.
 
-\item[insopts] Sets the options passed by \t{doins} et al.\ to the \t{install} command.
+\item[insopts] Takes zero or more arguments, and sets the options passed by \t{doins} et al.\
+    to the \t{install} command to them. When called with no arguments, resets the option list
+    to empty.
 
 \item[diropts] As \t{insopts}, for \t{dodir} et al.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     22c28618b72b959829f8d9f7d586fb49cfa92c46
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:17 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:47 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=22c28618

nonfatal: Reword argument handling to be cleaner

Reword the description of 'nonfatal' to explicitly indicate that it
takes 1+ args and executes them as a command.  The original 'remainder
of its argument' wording sounds weird, given that there is no earlier
mention of argument processing (-> remainder from what?).  This also
clarifies that calling nonfatal with no argument is not valid.

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 506673b..cb704f0 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -17,7 +17,7 @@ table~\ref{tab:commands-die-table}.
 
 The following commands affect this behaviour:
 \begin{description}
-\item[nonfatal] \featurelabel{nonfatal} Executes the remainder of its arguments as a command,
+\item[nonfatal] \featurelabel{nonfatal} Takes one or more arguments and executes them as a command,
     preserving the exit status. If this results in a command being called that would normally abort
     the build process due to a failure, instead a non-zero exit status shall be returned. Only in
     EAPIs listed in table~\ref{tab:commands-die-table} as supporting \t{nonfatal}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     f203c29ba2c8b1aead20f5f04b74d7d89288133e
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:20 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:50 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f203c29b

*into, *opts: Reword to use 'as ...' wording from 'do*'

Reword the *into and *opts commands to use the 'As ..., for ...' wording
used in do*/new* commands.  This makes the descriptions a bit shorter,
and makes it possible to extend the information given in original
commands without having to update the wording of derived commands.

 pkg-mgr-commands.tex | 15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 42fdced..058be89 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -721,22 +721,19 @@ has returned.
     if it does not already exist. Failure behaviour is EAPI dependent
     as per section~\ref{sec:failure-behaviour}.
 
-\item[insinto] Sets the value of \t{INSDESTTREE} for future invocations of the above utilities. May
-    create the directory, as specified for \t{into}.
+\item[insinto] As \t{into}, for \t{INSDESTTREE}.
 
-\item[exeinto] Sets the install path for \t{doexe} and \t{newexe}. May create the directory, as specified
-    for \t{into}.
+\item[exeinto] As \t{into}, for install path of \t{doexe} and \t{newexe}.
 
-\item[docinto] Sets the install subdirectory for \t{dodoc} et al. May create the directory, as specified
-    for \t{into}.
+\item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al.
 
 \item[insopts] Sets the options passed by \t{doins} et al.\ to the \t{install} command.
 
-\item[diropts] Sets the options passed by \t{dodir} et al.\ to the \t{install} command.
+\item[diropts] As \t{insopts}, for \t{dodir} et al.
 
-\item[exeopts] Sets the options passed by \t{doexe} et al.\ to the \t{install} command.
+\item[exeopts] As \t{insopts}, for \t{doexe} et al.
 
-\item[libopts] Sets the options passed by \t{dolib} et al.\ to the \t{install} command.
+\item[libopts] As \t{insopts}, for \t{dolib} et al.
     In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as
     per section~\ref{sec:banned-commands}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-04  7:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-04  7:26 UTC (permalink / raw
  To: gentoo-commits

commit:     9aec81ada7d355f462972eedb853dba393107dc6
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Tue May  1 16:59:18 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 06:53:48 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9aec81ad

best_version: Explicitly specify the output format

Explain the format used by best_version command explicitly.  Currently,
the function only lists what gets printed but not in what form or how it
is separated.

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index cb704f0..ffa7566 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -104,9 +104,9 @@ are given, \t{-r} is assumed.
 \begin{description}
 \item[has_version] Takes exactly one package dependency specification as an argument. Returns
     true if a package matching the specification is installed, and false otherwise.
-\item[best_version] Takes exactly one package dependency specification as an argument. If a
-    matching package is installed, prints the category, package name and version of the highest
-    matching version; otherwise, prints an empty string. The exit code is unspecified.
+\item[best_version] Takes exactly one package dependency specification as an argument. If a matching
+    package is installed, prints \t{category/package-version} of the highest matching version;
+    otherwise, prints an empty string. The exit code is unspecified.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{7}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-07 17:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-07 17:05 UTC (permalink / raw
  To: gentoo-commits

commit:     0ce392fe023c489a1834a25e1fbf7dc406f86a0c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 19 18:55:09 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 20:07:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0ce392fe

Change from vc to gitinfo2 for git metadata.

The gitinfo2 package is included with TeXLive, has better support for
git (e.g., information about branches and tags), and doesn't need any
local scripts in the repository itself.

 .gitignore          |  2 +-
 Makefile            | 44 +++++++++++++++++----------
 eapi-cheatsheet.tex | 12 ++++----
 pms.cls             | 25 ++++++++--------
 vc                  | 24 ---------------
 vc-git.awk          | 85 -----------------------------------------------------
 6 files changed, 47 insertions(+), 145 deletions(-)

diff --git a/.gitignore b/.gitignore
index 6d150b7..583b6ae 100644
--- a/.gitignore
+++ b/.gitignore
@@ -5,6 +5,7 @@
 *.blg
 *.css
 *.dvi
+*.gin
 *.html
 *.idv
 *.lg
@@ -18,7 +19,6 @@
 *.tmp
 *.toc
 *.xref
-vc.tex
 
 # Emacs backup files and locks
 *~

diff --git a/Makefile b/Makefile
index d10a65a..5359342 100644
--- a/Makefile
+++ b/Makefile
@@ -1,5 +1,6 @@
-LATEXFILES := $(filter-out vc.tex,$(wildcard *.tex)) pms.cls
-SOURCES = $(LATEXFILES) pms.bib vc vc-git.awk Makefile
+LATEXFILES := $(wildcard *.tex) pms.cls
+SOURCES = $(LATEXFILES) pms.bib Makefile
+COMMITINFO = gitHeadLocal.gin
 
 TWOSIDE =
 
@@ -10,7 +11,7 @@ all: pms.pdf
 
 html: pms.html
 
-pms.pdf eapi-cheatsheet.pdf: $(LATEXFILES) pms.bbl vc.tex
+pms.pdf eapi-cheatsheet.pdf: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	$(aux-clean)
 	set -e; \
 	while true; do \
@@ -32,7 +33,7 @@ eapi-cheatsheet-nocombine.pdf: pms.pdf
 	  grep -q 'Warning.*Rerun' eapi-cheatsheet-nocombine.log || break; \
 	done
 
-pms.dvi: $(LATEXFILES) pms.bbl vc.tex
+pms.dvi: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	$(aux-clean)
 	set -e; \
 	while true; do \
@@ -40,7 +41,7 @@ pms.dvi: $(LATEXFILES) pms.bbl vc.tex
 	  grep -q 'Warning.*Rerun' pms.log || break; \
 	done
 
-pms.html: $(LATEXFILES) pms.bbl vc.tex
+pms.html: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	set -e; sum=''; \
 	while true; do \
 	  mk4ht xhlatex pms xhtml,fn-in; \
@@ -58,26 +59,37 @@ pms.html: $(LATEXFILES) pms.bbl vc.tex
 	@# remove redundant span elements
 	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
 
-pms.bbl: pms.bib $(LATEXFILES) vc.tex
+pms.bbl: pms.bib $(LATEXFILES) $(COMMITINFO)
 	$(aux-clean)
 	latex pms
 	bibtex pms
 
-vc.tex: $(SOURCES)
-	/bin/sh ./vc -m
-
-dist: $(SOURCES) vc.tex pms.pdf pms.html
+$(COMMITINFO): $(SOURCES)
+	@# see gitinfo2 documentation
+	reltag=$$(git describe --tags --long --always --dirty='-*' \
+	  --match='eapi-*-approved*' 2>/dev/null); \
+	if test -n "$${reltag}"; then \
+	  TZ=UTC git log -1 --date=short-local --decorate=short \
+	    --pretty="format:\usepackage[%%%n  shash={%h},%n\
+	  lhash={%H},%n  authname={%an},%n  authemail={%ae},%n\
+	  authsdate={%ad},%n  authidate={%ai},%n  authudate={%at},%n\
+	  commname={%cn},%n  commemail={%ce},%n  commsdate={%cd},%n\
+	  commidate={%ci},%n  commudate={%ct},%n  refnames={%d},%n\
+	  reltag={$${reltag}}%n]{gitexinfo}%n" > $@; \
+	fi
+
+dist: $(SOURCES) $(COMMITINFO) pms.pdf pms.html
 	PV='$(PV)'; \
 	if test -z "$${PV}"; then \
 	  current_eapi=$$(sed -n 's/.*CurrentEAPIIs{\(.*\)}.*/\1/p' pms.tex); \
-	  vc_date=$$(sed -n \
-	    's/.*VCDateISO{\([0-9]*\)-\([0-9]*\)-\([0-9]*\)}.*/\1\2\3/p' \
-	    vc.tex); \
-	  PV=$${current_eapi}_p$${vc_date}; \
+	  commit_date=$$(sed -n \
+	    's/.*commsdate={\([0-9]*\)-\([0-9]*\)-\([0-9]*\)}.*/\1\2\3/p' \
+	    $(COMMITINFO)); \
+	  PV=$${current_eapi}_p$${commit_date}; \
 	fi; \
 	echo "PV = $${PV}"; \
 	tar -cJf pms-"$${PV}".tar.xz --transform="s%^%pms-$${PV}/%" \
-	  $(SOURCES) vc.tex && \
+	  $(SOURCES) $(COMMITINFO) && \
 	tar -cJf pms-"$${PV}"-prebuilt.tar.xz --transform="s%^%pms-$${PV}/%" \
 	  pms.pdf eapi-cheatsheet.pdf pms*.html pms.css
 
@@ -90,7 +102,7 @@ clean:
 	  *.lot *.out *.html *.css *.png *.4ct *.4tc *.idv *.lg *.tmp *.xref
 
 maintainer-clean: clean
-	rm -f vc.tex
+	rm -f $(COMMITINFO)
 
 .PHONY: all html dist upload clean maintainer-clean
 

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 61481d0..e785ed6 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -12,6 +12,7 @@
 \usepackage[orig,english]{isodate}
 \usepackage[scaled=.90]{helvet}
 \usepackage[nohyphen]{underscore}
+\usepackage[local]{gitinfo2}
 \newcommand{\code}[1]{\texttt{#1}}
 % This should reflect the latest approved EAPI version
 \newcommand{\version}{7.0}
@@ -28,12 +29,11 @@
     Ulrich Müller \\
     \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
 }
-\input{vc.tex}
-\ifthenelse{\equal{\VCDateISO}{}}
-{
-    \date{Version \version{}, generated on: \\\today}
-}{
-    \date{Version \version\\\printdate{\VCDateISO}}
+\date{%
+    Version \version \\
+    \ifthenelse{\equal{\gitCommitterDate}{(None)}}
+    {Generated on: \today}
+    {\printdate{\gitCommitterDate}}%
 }
 \CutLine*{1}
 \CutLine*{3}

diff --git a/pms.cls b/pms.cls
index 66e1828..e00b4e9 100644
--- a/pms.cls
+++ b/pms.cls
@@ -25,6 +25,7 @@
 \PassOptionsToPackage{nohyphen}{underscore}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 \PassOptionsToPackage{hyphens}{url} % url.sty implicitly loaded by hyperref
+\PassOptionsToPackage{local}{gitinfo2}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
@@ -52,15 +53,13 @@
         caption,        % Extended float environment formatting
         float,          % More control over float environments
         hyperref,       % Support for hyperlinks
+        gitinfo2,       % Metadata from git
         algorithm,      %
         algorithmic     % Set algorithms
     }
 }
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
     Specification, loaded baseclass: \ClassToLoad\MessageBreak}
-% Contains information over the source control system, generated
-% through Makefile
-\input{vc.tex}
 
 % Make processing with TeX4HT possible
 \newboolean{TEX4HT-HACKS}
@@ -160,16 +159,16 @@
 }
 % Reads the last commit date from the Git repository and even succeeds
 % when none is available
-\ifthenelse{\equal{\VCDateISO}{}}
-{
-    \date{Generated on: \today}
-    \newcommand{\commitinfo}{}
-}{
-    \date{\printdate{\VCDateISO}}
-    \newcommand{\commitinfo}{%
-        This version corresponds to commit \VCRevision
-        \ifthenelse{\VCModified=0}{}{ with local changes}.
-    }
+\date{%
+    \ifthenelse{\equal{\gitCommitterDate}{(None)}}
+    {Generated on: \today}
+    {\printdate{\gitCommitterDate}}%
+}
+\newcommand{\commitinfo}{%
+    \ifthenelse{\equal{\gitCommitterDate}{(None)}}{}{%
+        This version corresponds to commit \gitAbbrevHash
+        \ifthenelse{\equal{\gitDirty}{}}{}{ with local changes}.%
+    }%
 }
 
 % Set page title

diff --git a/vc b/vc
deleted file mode 100644
index 4ad591e..0000000
--- a/vc
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-# This is file 'vc' from the vc bundle for TeX.
-# The original file can be found at CTAN:support/vc.
-# This file is Public Domain.
-
-# Parse command line options.
-full=0
-mod=0
-while [ -n "$(echo $1 | grep '-')" ]; do
-    case $1 in
-       -f ) full=1 ;;
-       -m ) mod=1 ;;
-       *  ) echo 'usage: vc [-f] [-m]'
-            exit 1
-    esac
-    shift
-done
-# English locale.
-LC_ALL=C
-TZ=UTC git --no-pager log -1 HEAD --pretty=format:"Hash: %H%nAbr. Hash: %h%nParent Hashes: %P%nAbr. Parent Hashes: %p%nAuthor Name: %an%nAuthor Email: %ae%nAuthor Date: %ad%nCommitter Name: %cn%nCommitter Email: %ce%nCommitter Date: %cd%n" --date=iso-local | gawk -v script=log -v full=$full -f vc-git.awk > vc.tex
-if [ "$mod" = 1 ]
-then
-  git status --porcelain |gawk -v script=status -f vc-git.awk >> vc.tex
-fi

diff --git a/vc-git.awk b/vc-git.awk
deleted file mode 100644
index 8b9b052..0000000
--- a/vc-git.awk
+++ /dev/null
@@ -1,85 +0,0 @@
-# This is file 'vc-git.awk' from the vc bundle for TeX.
-# The original file can be found at CTAN:support/vc.
-# This file is Public Domain.
-BEGIN {
-### Process output of "git status".
-		if (script=="status") {
-				modified = 0
-		}
-}
-
-
-
-### Process output of "git log".
-script=="log" && /^Hash:/ { Hash = substr($0, 2+match($0, ":")) }
-script=="log" && /^Abr. Hash:/ { AbrHash = substr($0, 2+match($0, ":")) }
-script=="log" && /^Parent Hashes:/ { ParentHashes = substr($0, 2+match($0, ":")) }
-script=="log" && /^Abr. Parent Hashes:/ { AbrParentHashes = substr($0, 2+match($0, ":")) }
-script=="log" && /^Author Name:/ { AuthorName = substr($0, 2+match($0, ":")) }
-script=="log" && /^Author Email:/ { AuthorEmail = substr($0, 2+match($0, ":")) }
-script=="log" && /^Author Date:/ { AuthorDate = substr($0, 2+match($0, ":")) }
-script=="log" && /^Committer Name:/ { CommitterName = substr($0, 2+match($0, ":")) }
-script=="log" && /^Committer Email:/ { CommitterEmail = substr($0, 2+match($0, ":")) }
-script=="log" && /^Committer Date:/ { CommitterDate = substr($0, 2+match($0, ":")) }
-
-### Process output of "git status".
-### Changed index?
-script=="status" && /^[MADRC]/ { if (modified == 0) modified = 1 }
-### Unstaged modifications?
-script=="status" && /^.[MD]/ { modified = 2 }
-
-
-
-END {
-### Process output of "git log".
-		if (script=="log") {
-### Standard encoding is UTF-8.
-				if (Encoding == "") Encoding = "UTF-8"
-### Extract relevant information from variables.
-				LongDate = substr(CommitterDate, 1, 25)
-				DateRAW = substr(LongDate, 1, 10)
-				DateISO = DateRAW
-				DateTEX = DateISO
-				gsub("-", "/", DateTEX)
-				Time = substr(LongDate, 12, 14)
-### Write file identification to vc.tex.
-				print "%%% This file has been generated by the vc bundle for TeX."
-				print "%%% Do not edit this file!"
-				print "%%%"
-### Write Git specific macros.
-				print "%%% Define Git specific macros."
-				print "\\gdef\\GITHash{" Hash "}%"
-				print "\\gdef\\GITAbrHash{" AbrHash "}%"
-				print "\\gdef\\GITParentHashes{" ParentHashes "}%"
-				print "\\gdef\\GITAbrParentHashes{" AbrParentHashes "}%"
-				print "\\gdef\\GITAuthorName{" AuthorName "}%"
-				print "\\gdef\\GITAuthorEmail{" AuthorEmail "}%"
-				print "\\gdef\\GITAuthorDate{" AuthorDate "}%"
-				print "\\gdef\\GITCommitterName{" CommitterName "}%"
-				print "\\gdef\\GITCommitterEmail{" CommitterEmail "}%"
-				print "\\gdef\\GITCommitterDate{" CommitterDate "}%"
-### Write generic version control macros.
-				print "%%% Define generic version control macros."
-				print "\\gdef\\VCRevision{\\GITAbrHash}%"
-				print "\\gdef\\VCAuthor{\\GITAuthorName}%"
-				print "\\gdef\\VCDateRAW{" DateRAW "}%"
-				print "\\gdef\\VCDateISO{" DateISO "}%"
-				print "\\gdef\\VCDateTEX{" DateTEX "}%"
-				print "\\gdef\\VCTime{" Time "}%"
-				print "\\gdef\\VCModifiedText{\\textcolor{red}{with local modifications!}}%"
-				print "%%% Assume clean working copy."
-				print "\\gdef\\VCModified{0}%"
-				print "\\gdef\\VCRevisionMod{\\VCRevision}%"
-		}
-
-### Process output of "git status".
-		if (script=="status") {
-				print "%%% Is working copy modified?"
-				print "\\gdef\\VCModified{" modified "}%"
-				if (modified==0) {
-						print "\\gdef\\VCRevisionMod{\\VCRevision}%"
-				} else {
-						print "\\gdef\\VCRevisionMod{\\VCRevision~\\VCModifiedText}%"
-				}
-		}
-}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-07 17:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-07 17:05 UTC (permalink / raw
  To: gentoo-commits

commit:     e9536369d4c032f088683bd8fddfe30d12c3dcc8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  4 20:01:35 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 20:07:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e9536369

pms.cls: Another workaround for tex4ht.

Prevent loading of eso-pic, which produces spurious <img/> elements
(bug 654676). This is fixed in tex4ht-20090611_p1038-r6, but the
workaround doesn't harm and will allow processing with older versions.

 pms.cls | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pms.cls b/pms.cls
index e00b4e9..8e18929 100644
--- a/pms.cls
+++ b/pms.cls
@@ -71,6 +71,8 @@
     \RequirePackage[scaled=.90]{helvet}
     \setboolean{TEX4HT-HACKS}{false}
 \else
+    % Prevent implicit loading of eso-pic (by gitinfo2)
+    \@namedef{ver@eso-pic.sty}{9999/12/31}
     \setboolean{TEX4HT-HACKS}{true}
 \fi
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-07 17:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-07 17:05 UTC (permalink / raw
  To: gentoo-commits

commit:     472776d8d36625dc3f6ba638b4a2353424438245
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri May  4 20:06:17 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May  4 20:07:12 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=472776d8

pms.cls: Output git branch information too, if not on master.

 pms.cls | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/pms.cls b/pms.cls
index 8e18929..e8a444d 100644
--- a/pms.cls
+++ b/pms.cls
@@ -169,6 +169,8 @@
 \newcommand{\commitinfo}{%
     \ifthenelse{\equal{\gitCommitterDate}{(None)}}{}{%
         This version corresponds to commit \gitAbbrevHash
+        \ifthenelse{\equal{\gitBranch}{\detokenize{master}}}{}
+        { on branch \gitBranch}%
         \ifthenelse{\equal{\gitDirty}{}}{}{ with local changes}.%
     }%
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-05-11 10:49 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-05-11 10:49 UTC (permalink / raw
  To: gentoo-commits

commit:     ab3d520ce95ce2dd52b6404e28f94a5cfcfe6ace
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu May 10 16:51:34 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu May 10 16:51:34 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ab3d520c

pms.cls: Do not define \b for \textbf.

We use \textbf almost everywhere, so remove the few uses of \b
(which is not recognised by AUCTeX either).

 eapi-differences.tex | 12 ++++++------
 ebuild-env-vars.tex  | 16 ++++++++--------
 pms.cls              |  1 -
 3 files changed, 14 insertions(+), 15 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a626b74..a2d04f8 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -11,9 +11,9 @@ of this document for a complete table of previous EAPIs.}
 \begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
 \caption{Features in EAPIs}\\
 \toprule
-\multicolumn{1}{c}{\b{Feature}} &
-\multicolumn{1}{c}{\b{Reference}} &
-\multicolumn{5}{c}{\b{EAPIs}} \\
+\multicolumn{1}{c}{\textbf{Feature}} &
+\multicolumn{1}{c}{\textbf{Reference}} &
+\multicolumn{5}{c}{\textbf{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0, 1, 2, 3} &
@@ -24,9 +24,9 @@ of this document for a complete table of previous EAPIs.}
 \midrule
 \endfirsthead
 \midrule
-\multicolumn{1}{c}{\b{Feature}} &
-\multicolumn{1}{c}{\b{Reference}} &
-\multicolumn{5}{c}{\b{EAPIs}} \\
+\multicolumn{1}{c}{\textbf{Feature}} &
+\multicolumn{1}{c}{\textbf{Reference}} &
+\multicolumn{5}{c}{\textbf{EAPIs}} \\
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{} &
 \multicolumn{1}{c}{0, 1, 2, 3} &

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index f84263d..1b53f20 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -21,17 +21,17 @@ variable.
 \begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
 \caption{Defined variables\label{tab:defined-vars}}\\
 \toprule
-\multicolumn{1}{c}{\b{Variable}} &
-\multicolumn{1}{c}{\b{Legal in}} &
-\multicolumn{1}{c}{\b{Consistent?}} &
-\multicolumn{1}{c}{\b{Description}} \\
+\multicolumn{1}{c}{\textbf{Variable}} &
+\multicolumn{1}{c}{\textbf{Legal in}} &
+\multicolumn{1}{c}{\textbf{Consistent?}} &
+\multicolumn{1}{c}{\textbf{Description}} \\
 \midrule
 \endfirsthead
 \midrule
-\multicolumn{1}{c}{\b{Variable}} &
-\multicolumn{1}{c}{\b{Legal in}} &
-\multicolumn{1}{c}{\b{Consistent?}} &
-\multicolumn{1}{c}{\b{Description}} \\
+\multicolumn{1}{c}{\textbf{Variable}} &
+\multicolumn{1}{c}{\textbf{Legal in}} &
+\multicolumn{1}{c}{\textbf{Consistent?}} &
+\multicolumn{1}{c}{\textbf{Description}} \\
 \midrule
 \endhead
 \midrule

diff --git a/pms.cls b/pms.cls
index e8a444d..6cc5a77 100644
--- a/pms.cls
+++ b/pms.cls
@@ -117,7 +117,6 @@
 % Some shorthands for the lazy ones.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{
-    \renewcommand{\b}[1]{\textbf{#1}}
     \renewcommand{\i}[1]{\textit{#1}}
     \renewcommand{\t}[1]{\texttt{#1}}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-06-08 12:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-06-08 12:02 UTC (permalink / raw
  To: gentoo-commits

commit:     5fd849af91969bf6262004ff59cc65ac5c40811c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May 22 17:03:39 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue May 22 17:03:39 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5fd849af

pkg-mgr-commands.tex: Two small fixes for version commands.

Version separators can consist of several characters. Clarify this
in the regexp accordingly.

A range of components or separators is not a "range of versions".
Say "range" only, because the meaning is clear from context.

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 01c0c6d..be05322 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -930,7 +930,7 @@ a series of version components and version separators.
 
 A version component consists either purely of digits (\t{[0-9]+}) or purely of uppercase and
 lowercase ASCII letters (\t{[A-Za-z]+}). A version separator is either a string of any other
-characters (\t{[\textasciicircum A-Za-z0-9]}) or it occurs at the transition between a sequence
+characters (\t{[\textasciicircum A-Za-z0-9]+}), or it occurs at the transition between a sequence
 of digits and a sequence of letters, or vice versa. In the latter case, the version separator is
 an empty string.
 
@@ -948,8 +948,8 @@ followed by a hyphen (\t{-}), which in turn is optionally followed by another un
 
 A single integer specifies a single component or separator index. An integer followed by a hyphen
 specifies all components or separators starting with the one at the specified index. Two integers
-separated by a hyphen specify a range of versions starting at the index specified by the first
-and ending at the second, inclusively.
+separated by a hyphen specify a range starting at the index specified by the first and ending at
+the second, inclusively.
 
 \begin{description}
 \item[ver_cut] Takes a range as the first argument, and optionally a version string as the second.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-06-11  5:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-06-11  5:25 UTC (permalink / raw
  To: gentoo-commits

commit:     d85de06bb7565fe73ae1fda4d1157ad8a67e1351
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Fri Jun  8 11:51:20 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jun  8 12:03:18 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d85de06b

pkg-mgr-commands: Correct 'empty' insopts behavior to match PMs

My previous fix to insopts turns out twice wrong: firstly, because I did
not really type what I meant, and secondly because package managers have
inconsistent behavior there.  Portage uses the default mode (specified
by PMS) when insopts was called with no arguments or arguments forming
an empty string; PkgCore and Paludis literally pass empty argument list
to install.  Mark the behavior as undefined to match that.

Fixes: 2955b2dfaa5599677bf33e56c7619ccc557ebfff

 pkg-mgr-commands.tex | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index be05322..e45f9c7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -725,9 +725,8 @@ function has returned.
 
 \item[docinto] As \t{into}, for install subdirectory of \t{dodoc} et al.
 
-\item[insopts] Takes zero or more arguments, and sets the options passed by \t{doins} et al.\
-    to the \t{install} command to them. When called with no arguments, resets the option list
-    to empty.
+\item[insopts] Takes one or more arguments, and sets the options passed by \t{doins} et al.\
+    to the \t{install} command to them. Behaviour upon encountering empty arguments is undefined.
 
 \item[diropts] As \t{insopts}, for \t{dodir} et al.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-07-20  5:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-07-20  5:15 UTC (permalink / raw
  To: gentoo-commits

commit:     c37d8c1de54a99f4dc2c2717810ddc43a67ffd78
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul 14 06:54:54 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul 15 06:02:43 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c37d8c1d

pkg-mgr-commands.tex: dobin file ownership is not distro specific.

For the non-prefix case, return to a wording close to that from before
the prefix changes (commit f49a53b3a97dbe299f1b71dad5a6bf5b9b6805ba),
which was simply "Gives the files mode 0755 and ownership root:root."

 pkg-mgr-commands.tex | 13 +++++--------
 1 file changed, 5 insertions(+), 8 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e45f9c7..f51e0f0 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -428,14 +428,11 @@ commands without a filename parameter is an error. Ebuilds must not run any of t
 the current phase function has returned.
 
 \begin{description}
-\item[dobin] Installs the given files into \t{DESTTREE/bin}, where
-    \t{DESTTREE} defaults to \t{/usr}. Gives the files mode \t{0755}
-    and transfers file ownership to the superuser or its equivalent on
-    the system or installation at hand. For instance on Gentoo Linux in
-    a non-offset-prefix installation this ownership is \t{root:root},
-    while on an offset-prefix aware installation this may be
-    \t{joe:users}. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+\item[dobin] Installs the given files into \t{DESTTREE/bin}, where \t{DESTTREE} defaults to
+    \t{/usr}. Gives the files mode \t{0755} and transfers file ownership to the superuser or its
+    equivalent on the system or installation at hand. In a non-offset-prefix installation this
+    ownership is \t{root:root}, while in an offset-prefix aware installation this may be e.\,g.\
+    \t{joe:users}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode
     \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-08-17  4:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-08-17  4:55 UTC (permalink / raw
  To: gentoo-commits

commit:     525c0460eb2bc9cbe65755f5df4ab833b2107d65
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 12 13:17:27 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 12 13:17:27 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=525c0460

Fix whitespace in list items.

 dependencies.tex     | 14 +++++++-------
 ebuild-vars.tex      | 13 +++++++------
 eclasses.tex         |  2 +-
 introduction.tex     |  2 +-
 merge.tex            |  6 +++---
 pkg-mgr-commands.tex | 36 +++++++++++++++++++-----------------
 profiles.tex         | 11 ++++++-----
 tree-layout.tex      |  6 +++---
 8 files changed, 47 insertions(+), 43 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 39b43f5..deb5d9c 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -60,7 +60,7 @@ as supporting \t{BDEPEND}, the build dependencies are split into two subclasses:
 \item \t{BDEPEND} build dependencies that are binary compatible with the native build system
     (\t{CBUILD}). The ebuild is allowed to call binary executables installed by this kind of
     dependency.
-    \item \t{DEPEND} build dependencies that are binary compatible with the system being built
+\item \t{DEPEND} build dependencies that are binary compatible with the system being built
     (\t{CHOST}). The ebuild must not execute binary executables installed by this kind of
     dependency.
 \end{compactitem}
@@ -335,14 +335,14 @@ the following operators:
 
 \begin{description}
 \item[*] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
-indicates that the package will not break if the matched package is uninstalled and replaced by
-a different matching package in a different slot.
+    indicates that the package will not break if the matched package is uninstalled and replaced by
+    a different matching package in a different slot.
 \item[=] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
-indicates that the package will break unless a matching package with slot and sub-slot equal to the
-slot and sub-slot of the best version installed as a build-time (\t{DEPEND}) dependency is
-available.
+    indicates that the package will break unless a matching package with slot and sub-slot equal to
+    the slot and sub-slot of the best version installed as a build-time (\t{DEPEND}) dependency is
+    available.
 \item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
-identically to the plain equals slot operator.
+    identically to the plain equals slot operator.
 \end{description}
 
 To implement the equals slot operator, the package manager will need to store the slot/sub-slot

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index faecf8f..497bd77 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -211,12 +211,13 @@ The following are special variables defined by the package manager for internal
 not be exported to the ebuild environment:
 
 \begin{description}
-\item[DEFINED_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list of
-phase names (e.\,g.\ \t{configure setup unpack}) whose phase functions are defined by the ebuild or
-an eclass inherited by the ebuild. If no phase functions are defined, a single hyphen is used
-instead of an empty string. For EAPIs listed in table~\ref{tab:defined-phases-table} as having
-optional \t{DEFINED_PHASES} support, package managers may not rely upon the metadata cache having
-this variable defined, and must treat an empty string as ``this information is not available''.
+\item[DEFINED_PHASES] \featurelabel{defined-phases} A space separated arbitrarily ordered list
+    of phase names (e.\,g.\ \t{configure setup unpack}) whose phase functions are defined by the
+    ebuild or an eclass inherited by the ebuild. If no phase functions are defined, a single hyphen
+    is used instead of an empty string. For EAPIs listed in table~\ref{tab:defined-phases-table}
+    as having optional \t{DEFINED_PHASES} support, package managers may not rely upon the metadata
+    cache having this variable defined, and must treat an empty string as ``this information is not
+    available''.
 \end{description}
 
 \note{Thus, by extension of section~\ref{sec:metadata-invariance}, phase functions must not be

diff --git a/eclasses.tex b/eclasses.tex
index 7a8bfbd..8305504 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -29,7 +29,7 @@ The \t{inherit} command must also ensure that:
 \begin{compactitem}
 \item The \t{ECLASS} variable is set to the name of the current eclass, when sourcing that eclass.
 \item Once all inheriting has been done, the \t{INHERITED} metadata variable contains the name of
-    every eclass used, separated  by whitespace.
+    every eclass used, separated by whitespace.
 \end{compactitem}
 
 \section{Eclass-defined Metadata Keys}

diff --git a/introduction.tex b/introduction.tex
index afbe708..b5b63c6 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -38,7 +38,7 @@ Patches will be reviewed by the PMS team, who will do one of the following:
 \begin{compactitem}
 \item Accept and apply the patch.
 \item Explain why the patch cannot be applied as-is. The patch may then be updated and resubmitted
-if appropriate.
+    if appropriate.
 \item Reject the patch outright.
 \item Take special action merited by the individual circumstances.
 \end{compactitem}

diff --git a/merge.tex b/merge.tex
index d23d5f0..6649d35 100644
--- a/merge.tex
+++ b/merge.tex
@@ -112,9 +112,9 @@ In order to ensure interoperability with configuration update tools, the followi
 used by all package managers when merging any regular file:
 
 \begin{compactenum}
-\item If the directory containing the file to be merged is not listed in \t{CONFIG_PROTECT}, and
-     is not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG_PROTECT},
-     the file is merged normally.
+\item If the directory containing the file to be merged is not listed in \t{CONFIG_PROTECT}, and is
+    not a subdirectory of any such directory, and if the file is not listed in \t{CONFIG_PROTECT},
+    the file is merged normally.
 \item If the directory containing the file to be merged is listed in \t{CONFIG_PROTECT_MASK}, or
     is a subdirectory of such a directory, or if the file is listed in \t{CONFIG_PROTECT_MASK},
     the file is merged normally.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 74c8983..1e414d4 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -443,12 +443,13 @@ the current phase function has returned.
     dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dodoc] \featurelabel{dodoc} Installs the given files into a subdirectory under
-    \t{/usr/share/doc/\$\{PF\}/} with file mode \t{0644}. The subdirectory is set by the most recent
-    call to \t{docinto}. If \t{docinto} has not yet been called, instead installs to the directory
-    \t{/usr/share/doc/\$\{PF\}/}. For EAPIs listed in table~\ref{tab:dodoc-table} as supporting \t{-r},
-    if the first argument is \t{-r}, any subsequent arguments that are directories are installed
-    recursively to the appropriate location; in any other case, it is an error for a directory to be
-    specified. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
+    \t{/usr/share/doc/\$\{PF\}/} with file mode \t{0644}. The subdirectory is set by the most
+    recent call to \t{docinto}. If \t{docinto} has not yet been called, instead installs to the
+    directory \t{/usr/share/doc/\$\{PF\}/}. For EAPIs listed in table~\ref{tab:dodoc-table}
+    as supporting \t{-r}, if the first argument is \t{-r}, any subsequent arguments that are
+    directories are installed recursively to the appropriate location; in any other case, it is
+    an error for a directory to be specified. Failure behaviour is EAPI dependent as per
+    section~\ref{sec:failure-behaviour}.
 
 \item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode
     \t{0644}, or with the \t{install} options set by the most recent \t{insopts} call.
@@ -1003,12 +1004,12 @@ has returned.
 
 \begin{description}
 \item[dosed] Takes any number of arguments, which can be files or \t{sed} expressions. For each
-    argument, if it names, relative to \t{ED} (offset-prefix aware EAPIs) or \t{D} (offset-prefix agnostic
-    EAPIs) a file which exists, then \t{sed} is run with the current expression on that file. Otherwise,
-    the current expression is set to the text of the argument. The initial value of the expression is
-    \t{s:\$\{ED\}::g} in offset-prefix aware EAPIs and \t{s:\$\{D\}::g} in offset-prefix agnostic
-    EAPIs. In EAPIs listed in table~\ref{tab:banned-commands-table}, this command is banned as per
-    section~\ref{sec:banned-commands}.
+    argument, if it names, relative to \t{ED} (offset-prefix aware EAPIs) or \t{D} (offset-prefix
+    agnostic EAPIs) a file which exists, then \t{sed} is run with the current expression on that
+    file. Otherwise, the current expression is set to the text of the argument. The initial value
+    of the expression is \t{s:\$\{ED\}::g} in offset-prefix aware EAPIs and \t{s:\$\{D\}::g} in
+    offset-prefix agnostic EAPIs. In EAPIs listed in table~\ref{tab:banned-commands-table}, this
+    command is banned as per section~\ref{sec:banned-commands}.
 
 \item[unpack] Unpacks one or more source archives, in order, into the current directory.
     For compressed files, creates the target file in the current directory, with the compression
@@ -1036,19 +1037,20 @@ has returned.
     \item tar files (\t{*.tar}). Ebuilds must ensure that GNU tar is installed.
     \item gzip-compressed files (\t{*.gz, *.Z}). Ebuilds must ensure that GNU gzip is installed.
     \item gzip-compressed tar files (\t{*.tar.gz, *.tgz, *.tar.Z}). Ebuilds must ensure that
-    GNU gzip and GNU tar are installed.
+        GNU gzip and GNU tar are installed.
     \item bzip2-compressed files (\t{*.bz2, *.bz}). Ebuilds must ensure that bzip2 is installed.
     \item bzip2-compressed tar files (\t{*.tar.bz2, *.tbz2, *.tar.bz, *.tbz}). Ebuilds must ensure
-    that bzip2 and GNU tar are installed.
+        that bzip2 and GNU tar are installed.
     \item zip files (\t{*.zip, *.ZIP, *.jar}). Ebuilds must ensure that Info-ZIP Unzip is installed.
     \item 7zip files (\t{*.7z, *.7Z}). Ebuilds must ensure that P7ZIP is installed.
     \item rar files (\t{*.rar, *.RAR}). Ebuilds must ensure that RARLAB's unrar is installed.
     \item LHA archives (\t{*.LHA, *.LHa, *.lha, *.lzh}). Ebuilds must ensure that the lha program is
-    installed.
+        installed.
     \item ar archives (\t{*.a}). Ebuilds must ensure that GNU binutils is installed.
     \item deb packages (\t{*.deb}). Ebuilds must ensure that the deb2targz program is installed on
-    those platforms where the GNU binutils ar program is not available and the installed ar program is
-    incompatible with GNU archives. Otherwise, ebuilds must ensure that GNU binutils is installed.
+        those platforms where the GNU binutils ar program is not available and the installed ar
+        program is incompatible with GNU archives. Otherwise, ebuilds must ensure that GNU binutils
+        is installed.
     \item lzma-compressed files (\t{*.lzma}). Ebuilds must ensure that XZ Utils is installed.
     \item lzma-compressed tar files (\t{*.tar.lzma}). Ebuilds must ensure that XZ Utils and GNU tar
         are installed.

diff --git a/profiles.tex b/profiles.tex
index 58c6d3b..b423697 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -55,11 +55,12 @@ and may contain \t{a-zA-Z0-9_} only. Additional syntax, which is a small subset
 bash syntax, is allowed as follows:
 
 \begin{compactitem}
-\item Variables to the right of the equals sign in the form \t{\$\{foo\}} or \t{\$foo} are recognised and
-  expanded from variables previously set in this or earlier \t{make.defaults} files.
-\item One logical line may be continued over multiple physical lines by escaping the newline with a
-  backslash. A quoted string may be continued over multiple physical lines by either a simple
-  newline or a backslash-escaped newline.
+\item Variables to the right of the equals sign in the form \t{\$\{foo\}} or \t{\$foo} are
+    recognised and expanded from variables previously set in this or earlier \t{make.defaults}
+    files.
+\item One logical line may be continued over multiple physical lines by escaping the newline with
+    a backslash. A quoted string may be continued over multiple physical lines by either a simple
+    newline or a backslash-escaped newline.
 \item Backslashes, except for line continuations, are not allowed.
 \end{compactitem}
 

diff --git a/tree-layout.tex b/tree-layout.tex
index 9e60af4..9397e4b 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -30,9 +30,9 @@ be contained in one directory, whose name shall be that of the
 category. Each category directory shall contain:
 \begin{compactitem}
 \item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional.
-\item Zero or more package directories, one for each package in the
-  category, as described in section~\ref{sec:package-dirs}. The name of
-  the package directory shall be the corresponding package name.
+\item Zero or more package directories, one for each package in the category, as described in
+    section~\ref{sec:package-dirs}. The name of the package directory shall be the corresponding
+    package name.
 \end{compactitem}
 
 Category directories may contain additional files, whose purpose is not covered by this


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-08-17  4:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-08-17  4:55 UTC (permalink / raw
  To: gentoo-commits

commit:     1643f4a687d0fe4760c99b6baf18649f314b690d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 12 13:09:54 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 12 13:09:54 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1643f4a6

pkg-mgr-commands.tex: Allow inverted condition in use_with.

This allows calls like "use_with !foo bar" or "use_enable !foo bar"
which are supported by all three package managers and widely used in
the tree.

Explicitly forbid the "use_with !foo" one-argument form. It is not
used in the tree, and ebuilds can use the more explicit two-argument
form instead. (Current portage-2.3.46 outputs "--with-!foo".)

 pkg-mgr-commands.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index f51e0f0..74c8983 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -846,7 +846,8 @@ table~\ref{tab:use-list-strictness}.
     an empty third argument is treated as if it weren't provided. If the USE flag is set, outputs
     \t{-{}-with-\$\{opt\}=\$\{value\}} if the third argument was provided, and
     \t{-{}-with-\$\{opt\}} otherwise. If the flag is not set, then it outputs
-    \t{-{}-without-\$\{opt\}}.
+    \t{-{}-without-\$\{opt\}}. The condition is inverted if the flag name is prefixed with~\t{!};
+    this is valid only for the two- and three-argument forms.
 \item[use_enable] Works the same as \t{use_with()}, but outputs \t{-{}-enable-} or
     \t{-{}-disable-} instead of \t{-{}-with-} or \t{-{}-without-}.
 \item[usex] \featurelabel{usex} Accepts at least one and at most five arguments. The first argument


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-10-04 15:29 Michał Górny
  0 siblings, 0 replies; 385+ messages in thread
From: Michał Górny @ 2018-10-04 15:29 UTC (permalink / raw
  To: gentoo-commits

commit:     e380089851b24af5e3f9fae9d0605184b88ad637
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Sep 23 16:44:06 2018 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Thu Oct  4 15:22:24 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e3800898

docompress: Specify the behavior for compressed files more strictly

Specify the behavior for dealing with already compressed files more
strictly, by requiring them not to be compressed twice if compressed
using the same format already.  This replaces the previous vague
statement of 'behaving sensibly if already compressed'.  This statement
had a number of problems.

Firstly, it was entirely vague on what 'sensible behavior' is.  Most
of the developers seemed to presume it means decompressing the file
and compressing it again.  However, without a clearly defined list
of compression formats to support, this is impossible to implement
properly.

Secondly, different package managers disagreed on the implementation.
For example, Portage recompressed the file, with the implementation
originally supporting .Z, .gz and .bz2, and later gaining support for
.lzma and .xz (independently of EAPI support for those formats).
PkgCore and Paludis never supported controllable compression, so they
always installed the files in original format.

The new wording aims to be more precise and strict while preserving
the spirit of the original and allowing the behavior currently exhibited
by the package manager implementations.  Most notably, it accounts for
the possibility of the same file being iterated over by the compression
routine twice.

It does not require the package manager to recognize arbitrary
compressed file formats, making the current implementations compliant
with it.  At the same time, it implies that the developers need to
account for the package manager not handling the particular compressed
file format used upstream, and appropriately needing to decompress
the file in order to fully respect controllable compression.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 pkg-mgr-commands.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 1e414d4..90b62aa 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -774,9 +774,9 @@ times or if an item is a symlink.
 
 \featurelabel{docompress} In EAPIs listed in table~\ref{tab:staging-area-commands} as supporting
 controllable compression, the package manager may optionally compress a subset of the files under
-the \t{ED} directory. The package manager shall ensure that its compression mechanisms behave
-sensibly even if a file is already compressed. For compression, the initial values of the two lists
-are as follows:
+the \t{ED} directory. The package manager shall ensure that its compression mechanisms do not
+compress a file twice if it is already compressed using the same compressed file format.
+For compression, the initial values of the two lists are as follows:
 
 \begin{compactitem}
 \item The inclusion list contains \t{/usr/share/doc}, \t{/usr/share/info} and \t{/usr/share/man}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-10-28 18:12 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-10-28 18:12 UTC (permalink / raw
  To: gentoo-commits

commit:     b7079f361efcc44d774b525b8907ae8d1a329b27
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  4 17:13:38 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 28 18:09:05 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b7079f36

dependencies: Remove the circular dep special case for RDEPEND

Remove the circular dependency note for RDEPEND.  This is confusing
at best, and there is no gain from claiming that non-standard, redundant
Portage behavior is valid.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 9675d9e..299974e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -21,8 +21,7 @@
           \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
       \addlinespace
       \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm}, \t{pkg_postrm} &
-          \t{RDEPEND} (unless the particular dependency results in a circular dependency, in which
-          case it may be installed later) \\
+          \t{RDEPEND} \\
       \addlinespace
       \t{pkg_config} & \t{RDEPEND}, \t{PDEPEND} \\
       \bottomrule


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2018-10-28 18:12 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2018-10-28 18:12 UTC (permalink / raw
  To: gentoo-commits

commit:     ab9099c3e51badb8fe81dc8b37b7f41ee74257fb
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Thu Oct  4 17:13:37 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Oct 28 18:08:24 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ab9099c3

dependencies: Permit {,B}DEPEND in source-initiated pkg_setup

Account for build dependencies being satisfied in pkg_setup, when
executed as part of source build, in order to match the realistic
implementation and widespread use in Gentoo.  This changes pkg_setup
from the previous state of no dependencies being guaranteed.

Firstly, this matches the standard package manager implementation
better.  Since pkg_setup is executed as part of the sequence of
successive phases comprising a source build, it is natural that build
dependencies are installed already when it's executed, and not between
pkg_setup and src_unpack.

Secondly, it accounts for widespread use of pkg_setup to determine
installed dependencies in order to set the build environment
appropriately.  This is a case e.g. with python-any-r1 or llvm eclasses,
which query installed packages in order to determine the Python or LLVM
version to use, appropriately.  This behavior can't be changed without
major changes to a large number of ebuilds, and without making ebuild
development harder.

Technically, we could extend the same rule to RDEPEND being satisfied
when package is going to be installed.  However, this would restrict
the flexibility of parallel builds.  With regard to the current rules,
the package manager can start building package from sources before all
of its runtime dependencies are installed.  The unclear benefit
of having RDEPEND satisfied in pkg_setup does not seem to justify losing
this possibility.

Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index deb5d9c..9675d9e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -11,9 +11,12 @@
       \multicolumn{1}{c}{\textbf{Phase function}} &
       \multicolumn{1}{c}{\textbf{Satisfied dependency classes}} \\
       \midrule
-      \t{pkg_pretend}, \t{pkg_setup}, \t{pkg_info}, \t{pkg_nofetch} &
+      \t{pkg_pretend}, \t{pkg_info}, \t{pkg_nofetch} &
           None (ebuilds can rely only on the packages in the system~set) \\
       \addlinespace
+      \t{pkg_setup} & Same as \t{src_unpack} if executed as part of source build,
+          same as \t{pkg_pretend} otherwise \\
+      \addlinespace
       \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile}, \t{src_test},
           \t{src_install} & \t{DEPEND}, \t{BDEPEND} \\
       \addlinespace
@@ -44,9 +47,10 @@
 There are three classes of dependencies supported by ebuilds:
 
 \begin{compactitem}
-\item Build dependencies (\t{DEPEND}). These must be installed and usable before any of
-    the ebuild \t{src_*} phase functions is executed. These may not be installed at all
-    if a binary package is being merged.
+\item Build dependencies (\t{DEPEND}). These must be installed and usable before the \t{pkg_setup}
+    phase function is executed as a part of source build and throughout all \t{src_*} phase
+    functions executed as part of that build. These may not be installed at all if a binary package
+    is being merged.
 \item Runtime dependencies (\t{RDEPEND}). These must be installed and usable before
     the results of an ebuild merging are treated as usable.
 \item Post dependencies (\t{PDEPEND}). These must be installed at some point before


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-01-12 17:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-01-12 17:22 UTC (permalink / raw
  To: gentoo-commits

commit:     c00487d1433ca139f34c5ab17ff891c894423afc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec  9 23:51:32 2018 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec  9 23:51:32 2018 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c00487d1

pms.tex: Update copyright notice to comply with GLEP 76.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/pms.tex b/pms.tex
index 761aade..a1f7a03 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,9 +31,8 @@
 \vspace*{\fill}
 {%
     \small
-    The bulk of this document is \textcopyright{} 2007--2018 Stephen Bennett, Christian Faulhammer,
-    Ciaran McCreesh and Ulrich Müller. Contributions are owned by their respective authors, and may
-    have been changed substantially before inclusion.
+    \textcopyright{} 2007--2018 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The
     full text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-04  7:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-04  7:05 UTC (permalink / raw
  To: gentoo-commits

commit:     0384205c13607c93526a384b193ad3b6a77ee1cb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  3 12:48:27 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 12:48:27 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0384205c

Update URI of Creative Commons licence.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 2 +-
 pms.tex             | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index e785ed6..e09c524 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -73,7 +73,7 @@
 
     This work is released under the Creative Commons
     Attribution-Share Alike 3.0 Licence.%
-    \footnote{\url{http://creativecommons.org/licenses/by-sa/3.0/}}
+    \footnote{\url{https://creativecommons.org/licenses/by-sa/3.0/}}
 \end{abstract}
 
 \section{EAPIs 0, 1, 2, 3, and 4}

diff --git a/pms.tex b/pms.tex
index 7f86faa..aea0d4d 100644
--- a/pms.tex
+++ b/pms.tex
@@ -35,7 +35,7 @@
     by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The
-    full text of this licence can be found at \url{http://creativecommons.org/licenses/by-sa/3.0/}.
+    full text of this licence can be found at \url{https://creativecommons.org/licenses/by-sa/3.0/}.
 
     \commitinfo
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-04  7:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-04  7:05 UTC (permalink / raw
  To: gentoo-commits

commit:     d3e1c27de6b84312959dc3ce91e681dd54378398
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  3 12:48:55 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 12:48:55 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d3e1c27d

Cheat sheet: Whitespace.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index e09c524..14a56a3 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -490,7 +490,7 @@ differences between these previous EAPIs.
         Replace all version separators in \emph{range} by string
         \emph{repl}. Multiple \emph{range repl} pairs are allowed.
         \emph{version} defaults to \code{PV}.
-        \item[\code{ver_test} {[\emph{v1}]} \emph{op  v2}]
+        \item[\code{ver_test} {[\emph{v1}]} \emph{op v2}]
         Check if the relation \emph{v1 op v2} is true.
         \emph{v1} defaults to \code{PVR}; \emph{op} can be \code{-eq},
         \code{-ne}, \code{-gt}, \code{-ge}, \code{-lt} or \code{-le}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-04  7:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-04  7:05 UTC (permalink / raw
  To: gentoo-commits

commit:     6533ffb533c7b29f05315e11c8fdb43854519d37
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Mar  1 07:52:07 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Mar  1 07:52:07 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6533ffb5

pkg-mgr-commands.tex: Version commands must be shell functions.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 90b62aa..e3e831f 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -919,8 +919,9 @@ These functions check whitespace-separated lists for a particular value.
 
 \subsection{Version manipulation and comparison commands}
 \featurelabel{ver-commands}
-These commands provide utilities for working with version strings. Their availability per EAPI is
-listed in table~\ref{tab:version-commands}.
+These commands provide utilities for working with version strings. They must all be implemented
+internally as shell functions, i.\,e., they are callable in global scope. Availability of these
+commands per EAPI is listed in table~\ref{tab:version-commands}.
 
 For the purpose of version manipulation commands, the specification provides a method for splitting
 an arbitrary version string (not necessarily conforming to section~\ref{sec:version-spec}) into


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-04  7:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-04  7:05 UTC (permalink / raw
  To: gentoo-commits

commit:     43da26d7adfef4997cc30c3bf259e3c1d0ad8e7c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar  3 12:47:52 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 12:47:52 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=43da26d7

Update copyright years.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index a1f7a03..7f86faa 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2018 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2019 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-09  7:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-09  7:40 UTC (permalink / raw
  To: gentoo-commits

commit:     0038f90a942f0856ae2533b26f709002a3ec80ae
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Mar  5 21:53:58 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Mar  5 21:53:58 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0038f90a

ebuild-functions.tex: S to WORKDIR fallback is conditional for src_test.

Arguably, section 9.1.1 "Initial working directories" applies also to
src_test, even if section 9.1.8 "src_test" doesn't refer back to 9.1.1.

In src_test, a fallback from S to WORKDIR could only happen for an
ebuild that:
- Has no files in A to be unpacked.
- Doesn't define any of the unpack, prepare, configure, compile or
  install phases (otherwise it would die in one of these phases).

Since that scenario is very unlikely, fix the wording in section 9.1.8
retroactively for EAPI 4 and later.

Note: Implementations also differ about this: portage will always fall
back, while for pkgcore it is a conditional error.

Closes: https://bugs.gentoo.org/652050
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-functions.tex | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index a4547fa..5c675ab 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -38,9 +38,9 @@ fallback to \t{WORKDIR} is used:
 \begin{compactitem}
 \item The \t{A} variable contains no items.
 \item The phase function in question is not in \t{DEFINED_PHASES}.
-\item None of the phase functions \t{unpack}, \t{prepare}, \t{configure}, \t{compile} or \t{install},
-    if supported by the EAPI in question and occurring prior to the phase about to be executed, are
-    in \t{DEFINED_PHASES}.
+\item None of the phase functions \t{unpack}, \t{prepare}, \t{configure}, \t{compile}, \t{test} or
+    \t{install}, if supported by the EAPI in question and occurring prior to the phase about to be
+    executed, are in \t{DEFINED_PHASES}.
 \end{compactitem}
 
 \ChangeWhenAddingAnEAPI{7}
@@ -277,7 +277,9 @@ src_compile() {
 The \t{src_test} function runs unit tests for the newly built but not yet installed package as
 provided.
 
-The initial working directory must be \t{S} if that exists, falling back to \t{WORKDIR} otherwise.
+The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} as discussed in
+section~\ref{sec:s-to-workdir-fallback}.
+
 The default implementation used when the ebuild lacks the \t{src_test} function must, if tests are
 enabled, run \t{emake check} if and only if such a target is available, or if not run
 \t{emake test} if and only if such a target is available. In both cases, if \t{emake} returns


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-13 18:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-13 18:40 UTC (permalink / raw
  To: gentoo-commits

commit:     3db08691f11a7e6e823120073b11bd578acec57e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Mar 11 21:29:48 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Mar 11 21:29:48 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3db08691

Makefile: Change encoding of HTML file to UTF-8.

This will allow to drop the dependency on app-text/recode.

Replace ligatures in tex4ht output by their components, because they
would interfere with text search. Update sed expression for the list
of tables workaround.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 Makefile | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/Makefile b/Makefile
index 5359342..612af4c 100644
--- a/Makefile
+++ b/Makefile
@@ -44,20 +44,20 @@ pms.dvi: $(LATEXFILES) pms.bbl $(COMMITINFO)
 pms.html: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	set -e; sum=''; \
 	while true; do \
-	  mk4ht xhlatex pms xhtml,fn-in; \
+	  mk4ht xhlatex pms 'xhtml,fn-in,charset=utf-8' ' -cunihtf -utf8'; \
 	  oldsum=$${sum}; sum=$$(cksum $@); \
 	  test "$${sum}" != "$${oldsum}" || break; \
 	done
-	@# some www servers ignore meta tags, resulting in a wrong charset.
-	@# therefore recode the very few non-ascii characters
-	recode -d l1..h3 $@
-	@# declare encoding as utf-8, although it is pure ascii
-	LC_ALL=C sed -i -e '/<?xml\|<meta/s/iso-8859-1/utf-8/' $@
+	@# replace ligatures by their component letters
+	LC_ALL=C sed -i "$$(printf 's/\\xef\\xac\\x8%s/%s/g;' \
+	  0 ff 1 fi 2 fl 3 ffi 4 ffl)" $@
 	@# work around irregularity in how links to longtables are
 	@# formatted in the List of Tables
-	LC_ALL=C sed -i -e '/<span class="lotToc" >&#x00A0;/{N;N;s/\(&#x00A0;<a \nhref="[^"]\+">\)\([0-9A-Z.]\+\)[ \n]\+/\2\1/}' $@
+	LC_ALL=C sed -Ei '/<span class="lotToc" *>\B/{N;N;'\
+	's/([^>]*<a\s+href="[^"]+">)([0-9A-Z.]+)\s+/\2\1/;}' $@
 	@# remove redundant span elements
-	LC_ALL=C sed -i -e ':x;/<span\(\s\+[^>]*\)\?$$/{N;bx;};:y;s/\(<span\s\+[^>]*>\)\([^<]*\)<\/span>\1/\1\2/;ty' $@
+	LC_ALL=C sed -Ei ':x;/<span(\s+[^>]*)?$$/{N;bx;};'\
+	':y;s,(<span\s+[^>]*>)([^<]*)</span>\1,\1\2,;ty' $@
 
 pms.bbl: pms.bib $(LATEXFILES) $(COMMITINFO)
 	$(aux-clean)


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-28  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-28  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     6ad22460da6944677323e74694f2623ba76175e9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 20:38:39 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6ad22460

Promote "Package Dependency Specifications" to section.

Its subsubsections "Operators", "Block operator", "Slot dependencies",
and "2-style and 4-style USE dependencies" will become subsections,
so the maximum section number depth of the document will be 2.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index a38b61e..09becdb 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -204,7 +204,7 @@ at-most-one-of group for match purposes.
 
 In an at-most-one-of group, at most one immediate child element must be matched.
 
-\subsection{Package dependency specifications}
+\section{Package Dependency Specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or
 error on non-compliant input.
@@ -258,7 +258,7 @@ manager must warn or error if this feature is used with an EAPI not supporting u
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Operators}
+\subsection{Operators}
 \label{sec:dep-operator}
 
 The following operators are available:
@@ -276,7 +276,7 @@ The following operators are available:
 \item[\t{>}] Strictly greater than the specified version.
 \end{description}
 
-\subsubsection{Block operator}
+\subsection{Block operator}
 
 If the specification is prefixed with one or two exclamation marks, the named dependency is a block
 rather than a requirement---that is to say, the specified package must not be installed, with the
@@ -307,7 +307,7 @@ described in table~\ref{tab:bang-strength-table}.
     \end{tabular}
 \end{centertable}
 
-\subsubsection{Slot dependencies}
+\subsection{Slot dependencies}
 \label{sec:slot-dep}
 
 \featurelabel{slot-deps} A named slot dependency consists of a colon followed by a slot name. A
@@ -345,7 +345,7 @@ Whenever the equals slot operator is used in an enabled dependency group, the de
 (\t{DEPEND}) must ensure that a matching package is installed at build time. It is invalid to use
 the equals slot operator inside \t{PDEPEND} or inside any-of dependency specifications.
 
-\subsubsection{2-style and 4-style USE dependencies}
+\subsection{2-style and 4-style USE dependencies}
 \label{sec:use-dep}
 
 A 2-style or 4-style use dependency consists of one of the following:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-28  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-28  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     4c284a710ad02b49167b4c5ddd4210b3ce304d47
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 20:32:56 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4c284a71

ebuild-vars.tex: More precise cross references.

Where appropriate, refer to the "Dependency Specification Format"
section, instead of the "Dependencies" chapter.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index bdd0f6b..c1b8b73 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -45,16 +45,17 @@ All ebuilds must define at least the following variables:
 Ebuilds may define any of the following variables:
 
 \begin{description}
-\item[EAPI] The EAPI\@. See below.
+\item[EAPI] The EAPI\@. See below in section~\ref{sec:eapi}.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
-    See section~\ref{sec:dependencies} for full syntax.
+    See section~\ref{sec:dependency-spec} for full syntax.
 \item[SRC_URI] A list of source URIs for the package. Valid protocols are \t{http://},
     \t{https://}, \t{ftp://} and \t{mirror://} (see section~\ref{sec:thirdpartymirrors} for mirror
     behaviour). Fetch restricted packages may include URL parts consisting of just a filename.
-    See section~\ref{sec:dependencies} for full syntax.
+    See section~\ref{sec:src-uri-behaviour} for description and section~\ref{sec:dependency-spec}
+    for full syntax.
 \item[LICENSE] The package's license. Each text token must be a valid license name, as per
     section~\ref{sec:license-names}, and must correspond to a tree ``licenses/'' entry
-    (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependencies} for full syntax.
+    (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependency-spec} for full syntax.
     \label{ebuild-var-LICENSE}
 \item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid
     keyword name, as per section~\ref{sec:keyword-names}. See section~\ref{sec:keywords} for full
@@ -70,15 +71,15 @@ Ebuilds may define any of the following variables:
     the default value of the use flag if no other configuration overrides it.
 \item[REQUIRED_USE] \featurelabel{required-use} Zero or more assertions that must be met by the
     configuration of \t{USE} flags to be valid for this ebuild. See section~\ref{sec:required-use}
-    for description and section~\ref{sec:dependencies} for full syntax. Only in EAPIs listed in
+    for description and section~\ref{sec:dependency-spec} for full syntax. Only in EAPIs listed in
     table~\ref{tab:optional-vars-table} as supporting \t{REQUIRED_USE}.
 \item[PROPERTIES] \featurelabel{properties} Zero or more properties for this package.
-    See section~\ref{sec:properties} for value meanings and section~\ref{sec:dependencies} for full
-    syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support,
+    See section~\ref{sec:properties} for value meanings and section~\ref{sec:dependency-spec} for
+    full syntax. For EAPIs listed in table~\ref{tab:optional-vars-table} as having optional support,
     ebuilds must not rely upon the package manager recognising or understanding this variable in
     any way.
 \item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict}
-    for value meanings and section~\ref{sec:dependencies} for full syntax.
+    for value meanings and section~\ref{sec:dependency-spec} for full syntax.
 \item[DEPEND] See section~\ref{sec:dependencies}.
 \item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-28  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-28  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     e0e98974e025ee7e71e1a62c81957008cec69dd7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 20:27:04 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e0e98974

Move some subsections out of the "Dependencies" chapter.

SRC_URI, REQUIRED_USE, PROPERTIES, and RESTRICT are ebuild-defined
variables. Move them to that chapter.

Add reference to tab:uri-arrows-table in SRC_URI section. Otherwise,
no change of wording.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex     | 79 --------------------------------------------------
 eapi-differences.tex | 10 +++----
 ebuild-vars.tex      | 81 ++++++++++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 86 insertions(+), 84 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 299974e..a38b61e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -132,20 +132,6 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 
 In particular, note that whitespace is not optional.
 
-\ChangeWhenAddingAnEAPI{7}
-\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
-    \label{tab:uri-arrows-table}
-    \begin{tabular}{ll}
-      \toprule
-      \multicolumn{1}{c}{\textbf{EAPI}} &
-      \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
-      \midrule
-      0, 1              & No  \\
-      2, 3, 4, 5, 6, 7  & Yes \\
-      \bottomrule
-    \end{tabular}
-\end{centertable}
-
 \ChangeWhenAddingAnEAPI{7}
 \begin{centertable}{EAPIs supporting \t{REQUIRED_USE ??}\ groups}
     \label{tab:at-most-one-of-table}
@@ -397,71 +383,6 @@ would not have to be part of \t{IUSE}.}
 It is an error for an ebuild to use a conditional use dependency when that ebuild does not have the
 flag in \t{IUSE_EFFECTIVE}.
 
-\subsection{USE state constraints}
-\label{sec:required-use}
-\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
-flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
-must be enabled (or disabled if it has an exclamation mark prefix).
-
-If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
-it must treat this package version as if it was masked. No phase functions must be called.
-
-It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
-
-\subsection{Restrict}
-\label{sec:restrict}
-
-The following tokens are permitted inside \t{RESTRICT}:
-
-\begin{description}
-\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not
-    be checked when fetching.
-\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If
-    entries are not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
-\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
-    listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
-    behaviour may be altered by the \t{dostrip} command.
-\item[userpriv] The package manager may not drop root privileges when building the package.
-\item[test] The \t{src_test} phase must not be run.
-\end{description}
-
-Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
-
-\subsection{Properties}
-\label{sec:properties}
-
-The following tokens are permitted inside \t{PROPERTIES}:
-
-\begin{description}
-\item[interactive] The package may require interaction with the user via the tty.
-\end{description}
-
-Ebuilds may not rely upon any token being supported.
-
-\subsection{SRC_URI}
-\label{sec:src-uri-behaviour}
-
-All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
-matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
-components are used to make the \t{A} and \t{AA} variables.
-
-If a component contains a full URI with protocol, that download location must be used. Package
-managers may also consult mirrors for their files.
-
-The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for mirror
-details.
-
-If a simple filename rather than a full URI is provided, the package manager can only use mirrors to
-download the file.
-
-The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
-section~\ref{sec:restrict} for details.
-
-\featurelabel{src-uri-arrows} In EAPIs supporting arrows, if an arrow is used, the filename used
-when saving to \t{DISTDIR} shall instead be the name on the right of the arrow. When consulting
-mirrors (except for those explicitly listed on the left of the arrow, if \t{mirror://} is used), the
-filename to the right of the arrow shall be requested instead of the filename in the URI.
-
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a2d04f8..4c22473 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -68,6 +68,9 @@ Bash version & \compactfeatureref{bash-version} &
 \t{PROPERTIES} & \compactfeatureref{properties} &
     Optionally & Yes & Yes & Yes & Yes \\
 
+\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
+    * & Yes & Yes & Yes & Yes \\
+
 \t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
     Yes & No & No & No & No \\
 
@@ -84,9 +87,6 @@ Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
     \compactfeatureref{empty-dep-groups} &
     Yes & Yes & Yes & Yes & No \\
 
-\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    * & Yes & Yes & Yes & Yes \\
-
 Slot dependencies & \compactfeatureref{slot-deps} &
     * & Named & Named and Operator & Named and Operator & Named and Operator \\
 
@@ -343,9 +343,9 @@ EAPI 1 is EAPI 0 with the following changes:
 EAPI 2 is EAPI 1 with the following changes:
 
 \begin{compactitem}
+\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
 \item Use dependencies, \featureref{use-deps}.
 \item \t{!}\ and \t{!!}\ blockers, \featureref{bang-strength}.
-\item \t{SRC_URI} arrows, \featureref{src-uri-arrows}.
 \item \t{src_prepare}, \featureref{src-prepare}.
 \item \t{src_configure}, \featureref{src-configure}.
 \item Different \t{src_compile} implementation, \featureref{src-compile-2}.
@@ -370,8 +370,8 @@ EAPI 3 is EAPI 2 with the following changes:
 EAPI 4 is EAPI 3 with the following changes:
 
 \begin{compactitem}
-\item \t{PROPERTIES} support is mandatory, \featureref{properties}.
 \item \t{REQUIRED_USE}, \featureref{required-use}.
+\item \t{PROPERTIES} support is mandatory, \featureref{properties}.
 \item \t{RDEPEND=DEPEND} no longer done, \featureref{rdepend-depend}.
 \item \t{DEFINED_PHASES} support is mandatory, \featureref{defined-phases}.
 \item Use dependency defaults, \featureref{use-dep-defaults}.

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 497bd77..bdd0f6b 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -145,6 +145,45 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou
 with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
 these values are different.
 
+\subsection{SRC_URI}
+\label{sec:src-uri-behaviour}
+
+All filename components that are enabled (i.\,e.\ not inside a use-conditional block that is not
+matched) in \t{SRC_URI} must be available in the \t{DISTDIR} directory. In addition, these
+components are used to make the \t{A} and \t{AA} variables.
+
+If a component contains a full URI with protocol, that download location must be used. Package
+managers may also consult mirrors for their files.
+
+The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for
+mirror details.
+
+If a simple filename rather than a full URI is provided, the package manager can only use mirrors
+to download the file.
+
+The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
+section~\ref{sec:restrict} for details.
+
+\featurelabel{src-uri-arrows} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting
+arrows, if an arrow is used, the filename used when saving to \t{DISTDIR} shall instead be the name
+on the right of the arrow. When consulting mirrors (except for those explicitly listed on the left
+of the arrow, if \t{mirror://} is used), the filename to the right of the arrow shall be requested
+instead of the filename in the URI.
+
+\ChangeWhenAddingAnEAPI{7}
+\begin{centertable}{EAPIs supporting \t{SRC_URI} arrows}
+    \label{tab:uri-arrows-table}
+    \begin{tabular}{ll}
+      \toprule
+      \multicolumn{1}{c}{\textbf{EAPI}} &
+      \multicolumn{1}{c}{\textbf{Supports \t{SRC_URI} arrows?}} \\
+      \midrule
+      0, 1              & No  \\
+      2, 3, 4, 5, 6, 7  & Yes \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 \subsection{Keywords}
 \label{sec:keywords}
 
@@ -166,6 +205,48 @@ unlisted architectures.
 
 An empty \t{KEYWORDS} variable indicates uncertain functionality on any architecture.
 
+\subsection{USE state constraints}
+\label{sec:required-use}
+
+\t{REQUIRED_USE} contains a list of assertions that must be met by the configuration of \t{USE}
+flags to be valid for this ebuild. In order to be matched, a \t{USE} flag in a terminal element
+must be enabled (or disabled if it has an exclamation mark prefix).
+
+If the package manager encounters a package version where \t{REQUIRED_USE} assertions are not met,
+it must treat this package version as if it was masked. No phase functions must be called.
+
+It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}.
+
+\subsection{Properties}
+\label{sec:properties}
+
+The following tokens are permitted inside \t{PROPERTIES}:
+
+\begin{description}
+\item[interactive] The package may require interaction with the user via the tty.
+\end{description}
+
+Ebuilds may not rely upon any token being supported.
+
+\subsection{Restrict}
+\label{sec:restrict}
+
+The following tokens are permitted inside \t{RESTRICT}:
+
+\begin{description}
+\item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not be
+    checked when fetching.
+\item[fetch] The package's \t{SRC_URI} entries may not be downloaded automatically. If entries are
+    not available, \t{pkg_nofetch} is called. Implies \t{mirror}.
+\item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
+    listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
+    behaviour may be altered by the \t{dostrip} command.
+\item[userpriv] The package manager may not drop root privileges when building the package.
+\item[test] The \t{src_test} phase must not be run.
+\end{description}
+
+Package managers may recognise other tokens, but ebuilds may not rely upon them being supported.
+
 \subsection{RDEPEND value}
 \label{sec:rdepend-depend}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-28  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-28  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     4761fe1f5f5b9ba75abcf7f974e2ebf3f8966cec
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 23 21:30:07 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4761fe1f

Refer to chapters as chapters.

Also rename label prefixes, "ch:" for chapters, "sec:" for sections,
as suggested by Michael Orlitzky.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex        |  2 +-
 dependencies.tex      |  2 +-
 ebuild-env-vars.tex   |  3 +--
 ebuild-format.tex     |  4 ++--
 ebuild-functions.tex  |  4 ++--
 ebuild-vars.tex       | 14 +++++++-------
 eclasses.tex          |  2 +-
 glossary.tex          |  4 ++--
 introduction.tex      |  4 ++--
 metadata-cache.tex    |  2 +-
 profile-variables.tex |  6 +++---
 profiles.tex          |  4 ++--
 tree-layout.tex       | 38 +++++++++++++++++---------------------
 13 files changed, 42 insertions(+), 47 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 434aa3f..ee537f7 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -1,5 +1,5 @@
 \chapter{metadata.xml}
-\label{sec:metadata-xml}
+\label{ch:metadata-xml}
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,

diff --git a/dependencies.tex b/dependencies.tex
index 09becdb..89d1405 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -1,5 +1,5 @@
 \chapter{Dependencies}
-\label{sec:dependencies}
+\label{ch:dependencies}
 
 \section{Dependency Classes}
 \label{sec:dependency-classes}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 1b53f20..56f959c 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -98,8 +98,7 @@ variable.
 \t{WORKDIR} &
     Ditto &
     Yes &
-    The full path to the ebuild's working directory, where all build data should be contained.%
-    \label{env-var-WORKDIR} \\
+    The full path to the ebuild's working directory, where all build data should be contained. \\
 \t{S} &
     \t{src_*} &
     Yes &

diff --git a/ebuild-format.tex b/ebuild-format.tex
index e7b8133..d53d773 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -1,5 +1,5 @@
 \chapter{Ebuild File Format}
-\label{sec:ebuild-format}
+\label{ch:ebuild-format}
 
 \featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of
 a bash script. The interpreter is assumed to be GNU bash, version as listed in
@@ -12,7 +12,7 @@ option of bash is set in the global scope of ebuilds. If set, failed pattern mat
 filename expansion result in an error when the ebuild is being sourced.
 
 The file encoding must be UTF-8 with Unix-style newlines. When sourced, the ebuild must define
-certain variables and functions (see sections~\ref{sec:ebuild-vars} and~\ref{sec:ebuild-functions}
+certain variables and functions (see chapters~\ref{ch:ebuild-vars} and~\ref{ch:ebuild-functions}
 for specific information), and must not call any external programs, write anything to standard
 output or standard error, or modify the state of the system in any way.
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 5c675ab..10247a8 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -1,5 +1,5 @@
 \chapter{Ebuild-defined Functions}
-\label{sec:ebuild-functions}
+\label{ch:ebuild-functions}
 
 \section{List of Functions}
 
@@ -7,7 +7,7 @@ The following is a list of functions that an ebuild, or eclass, may define, and
 by the package manager as part of the build and/or install process. In all cases the package manager
 must provide a default implementation of these functions; unless otherwise stated this must be a
 no-op. Most functions must assume only that they have write access to the package's working
-directory (the \t{WORKDIR} environment variable; see section~\ref{env-var-WORKDIR}), and the
+directory (the \t{WORKDIR} environment variable; see section~\ref{sec:ebuild-env-vars}), and the
 temporary directory \t{T}; exceptions are noted below. All functions may assume that they have read
 access to all system libraries, binaries and configuration files that are accessible to normal
 users.

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index c1b8b73..2ca30f2 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -1,7 +1,7 @@
 \chapter{Ebuild-defined Variables}
-\label{sec:ebuild-vars}
+\label{ch:ebuild-vars}
 
-\note{This section describes variables that may or must be defined by ebuilds. For variables that
+\note{This chapter describes variables that may or must be defined by ebuilds. For variables that
 are passed from the package manager to the ebuild, see section~\ref{sec:ebuild-env-vars}.}
 
 If any of these variables are set to invalid values, or if any of the mandatory variables are
@@ -41,6 +41,7 @@ All ebuilds must define at least the following variables:
 \end{description}
 
 \section{Optional Ebuild-defined Variables}
+\label{sec:optional-vars}
 
 Ebuilds may define any of the following variables:
 
@@ -56,7 +57,6 @@ Ebuilds may define any of the following variables:
 \item[LICENSE] The package's license. Each text token must be a valid license name, as per
     section~\ref{sec:license-names}, and must correspond to a tree ``licenses/'' entry
     (see section~\ref{sec:licenses-dir}). See section~\ref{sec:dependency-spec} for full syntax.
-    \label{ebuild-var-LICENSE}
 \item[KEYWORDS] A whitespace separated list of keywords for the ebuild. Each token must be a valid
     keyword name, as per section~\ref{sec:keyword-names}. See section~\ref{sec:keywords} for full
     syntax.
@@ -80,12 +80,12 @@ Ebuilds may define any of the following variables:
     any way.
 \item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict}
     for value meanings and section~\ref{sec:dependency-spec} for full syntax.
-\item[DEPEND] See section~\ref{sec:dependencies}.
-\item[RDEPEND] See section~\ref{sec:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
+\item[DEPEND] See chapter~\ref{ch:dependencies}.
+\item[RDEPEND] See chapter~\ref{ch:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
     details.
-\item[PDEPEND] See section~\ref{sec:dependencies}.
-\item[BDEPEND] See section~\ref{sec:dependencies}.
+\item[PDEPEND] See chapter~\ref{ch:dependencies}.
+\item[BDEPEND] See chapter~\ref{ch:dependencies}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{7}

diff --git a/eclasses.tex b/eclasses.tex
index 8305504..bf0007b 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -1,5 +1,5 @@
 \chapter{Eclasses}
-\label{sec:eclasses}
+\label{ch:eclasses}
 
 Eclasses serve to store common code that is used by more than one ebuild, which greatly aids
 maintainability and reduces the tree size. However, due to metadata cache issues, care must be taken

diff --git a/glossary.tex b/glossary.tex
index 100c09a..5666aa2 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -1,7 +1,7 @@
 \chapter{Glossary}
-\label{sec:glossary}
+\label{ch:glossary}
 
-This section contains explanations of some of the terms used in this document whose meaning may not
+This chapter contains explanations of some of the terms used in this document whose meaning may not
 be immediately obvious.
 
 \begin{description}

diff --git a/introduction.tex b/introduction.tex
index b5b63c6..8d1f793 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -7,7 +7,7 @@ well as certain aspects of package manager behaviour required to support such a
 
 This document is \e{not} designed to be an introduction to ebuild development. Prior knowledge of
 ebuild creation and an understanding of how the package management system works is assumed; certain
-less familiar terms are explained in the Glossary in chapter~\ref{sec:glossary}.
+less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}.
 
 This document does not specify any user or package manager configuration information.
 
@@ -60,7 +60,7 @@ applicable to tools or other applications that interact with ebuilds or ebuild r
 \section{Acknowledgements}
 
 Thanks to Mike Kelly (package manager provided utilities, section~\ref{sec:pkg-mgr-commands}),
-Danny van Dyk (ebuild functions, section~\ref{sec:ebuild-functions}), David Leverton (various
+Danny van Dyk (ebuild functions, chapter~\ref{ch:ebuild-functions}), David Leverton (various
 sections), Petteri Räty (environment state, section~\ref{sec:ebuild-env-state}), Michał Górny
 (various sections), Andreas K. Hüttel (stable use masking, section~\ref{sec:use-masking}),
 Zac Medico (sub-slots, section~\ref{sec:mandatory-vars}) and James Le Cuirot (build dependencies,

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 3ac64a6..33574c4 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -1,5 +1,5 @@
 \chapter{Metadata Cache}
-\label{sec:metadata-cache}
+\label{ch:metadata-cache}
 
 \section{Directory Contents}
 

diff --git a/profile-variables.tex b/profile-variables.tex
index 6cd770c..f34c7c5 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -72,10 +72,10 @@ completely override those in parent profiles.
 The following variables have specific meanings when set in profiles.
 \begin{description}
 \item[ARCH] The system's architecture. Must be a value listed in \t{profiles/arch.list}; see
-    section~\ref{arch.list} for more information. Must be equal to the primary \t{KEYWORD} for this
-    profile.
+    section~\ref{sec:profiles-dir} for more information. Must be equal to the primary \t{KEYWORD}
+    for this profile.
 \item[CONFIG_PROTECT, CONFIG_PROTECT_MASK] Contain whitespace-delimited lists used to control the
-    configuration file protection. Described more fully in chapter~\ref{sec:config-protect}.
+    configuration file protection. Described more fully in section~\ref{sec:config-protect}.
 \item[USE] Defines the list of default USE flags for this profile. Flags may be added or removed by
     the user's configuration. \t{USE_EXPAND} values must not be specified in this way.
 \item[USE_EXPAND] Defines a list of variables which are to be treated incrementally and whose

diff --git a/profiles.tex b/profiles.tex
index b423697..38e1be1 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -1,5 +1,5 @@
 \chapter{Profiles}
-\label{sec:profiles}
+\label{ch:profiles}
 
 \section{General Principles}
 Generally, a profile defines information specific to a certain `type' of system---it lies somewhere
@@ -111,7 +111,7 @@ installed unless unmasked by the user's configuration. In some EAPIs, \t{package
 directory instead of a regular file as per section~\ref{sec:line-stacking}.
 
 Note that the \t{-spec} syntax can be used to remove a mask in a parent profile, but not
-necessarily a global mask (from \t{profiles/package.mask}, section~\ref{profiles-package.mask}).
+necessarily a global mask (from \t{profiles/package.mask}, section~\ref{sec:profiles-dir}).
 
 \note{Portage currently treats \t{profiles/package.mask} as being on the leftmost branch of the
 inherit tree when it comes to \t{-lines}. This behaviour may not be relied upon.}

diff --git a/tree-layout.tex b/tree-layout.tex
index 9397e4b..0ff1ec9 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -24,12 +24,11 @@ An ebuild repository shall occupy one directory on disk, with the following subd
 \section{Category Directories}
 \label{sec:category-dirs}
 
-Each category provided by the repository (see also: the
-\t{profiles/categories} file, section~\ref{profiles-categories}) shall
-be contained in one directory, whose name shall be that of the
-category. Each category directory shall contain:
+Each category provided by the repository (see also: the \t{profiles/categories} file,
+section~\ref{sec:profiles-dir}) shall be contained in one directory, whose name shall be that of
+the category. Each category directory shall contain:
 \begin{compactitem}
-\item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional.
+\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional.
 \item Zero or more package directories, one for each package in the category, as described in
     section~\ref{sec:package-dirs}. The name of the package directory shall be the corresponding
     package name.
@@ -49,8 +48,8 @@ a package manager may treat an empty category as a category that does not exist)
 
 A package directory contains the following:
 \begin{compactitem}
-\item Zero or more ebuilds. These are as described in section~\ref{sec:ebuild-format} and others.
-\item A \t{metadata.xml} file, as described in appendix~\ref{sec:metadata-xml}\@. Optional only for
+\item Zero or more ebuilds. These are as described in chapter~\ref{ch:ebuild-format} and others.
+\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
 \item A \t{Manifest} file, whose format is described in~\cite{Glep44}. Can be omitted if the file
@@ -73,12 +72,10 @@ this specification.
 \section{The Profiles Directory}
 \label{sec:profiles-dir}
 
-The profiles directory shall contain zero or more profile directories
-as described in section~\ref{sec:profiles}, as well as the following files
-and directories. In any line-based file, lines beginning with a \#
-character are treated as comments, whilst blank lines are ignored. All
-contents of this directory, with the exception of \t{repo_name}, are
-optional.
+The profiles directory shall contain zero or more profile directories as described in
+chapter~\ref{ch:profiles}, as well as the following files and directories. In any line-based file,
+lines beginning with a \# character are treated as comments, whilst blank lines are ignored.
+All contents of this directory, with the exception of \t{repo_name}, are optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single
 line with the name of an EAPI\@. This specifies the EAPI to use when handling the profiles
@@ -92,10 +89,9 @@ Other files not described by this specification may exist, but may not be relied
 manager must ignore any files in this directory that it does not recognise.
 
 \begin{description}
-\item[arch.list] \label{arch.list} Contains a list, one entry per line, of permissible values for
-    the \t{ARCH} variable, and hence permissible keywords for packages in this repository.
-\item[categories] \label{profiles-categories} Contains a list, one entry per line, of categories
-    provided by this repository.
+\item[arch.list] Contains a list, one entry per line, of permissible values for the \t{ARCH}
+    variable, and hence permissible keywords for packages in this repository.
+\item[categories] Contains a list, one entry per line, of categories provided by this repository.
 \item[eapi] See above.
 \item[info_pkgs] Contains a list, one entry per line, of qualified package names. Any package
     matching one of these is to be listed when a package manager displays a `system information'
@@ -103,7 +99,7 @@ manager must ignore any files in this directory that it does not recognise.
 \item[info_vars] Contains a list, one entry per line, of profile, configuration, and environment
     variables which are considered to be of interest. The value of each of these variables may be
     shown when the package manager displays a `system information' listing.
-\item[package.mask] \label{profiles-package.mask}
+\item[package.mask]
     Contains a list, one entry per line, of package dependency specifications (using the directory's
     EAPI). Any package version matching one of these is considered to be masked, and will not be
     installed regardless of profile unless it is unmasked by the user configuration.
@@ -234,14 +230,14 @@ that slot move in the future.
 
 The \t{licenses} directory shall contain copies of the licenses used by packages in the
 repository. Each file will be named according to the name used in the \t{LICENSE} variable as
-described in section~\ref{ebuild-var-LICENSE}, and will contain the complete text of the license in
+described in section~\ref{sec:optional-vars}, and will contain the complete text of the license in
 human-readable form. Plain text format is strongly preferred but not required.
 
 \section{The Eclass Directory}
 \label{sec:eclass-dir}
 
 The \t{eclass} directory shall contain copies of the eclasses provided by this repository. The
-format of these files is described in section~\ref{sec:eclasses}. It may also contain, in their own
+format of these files is described in chapter~\ref{ch:eclasses}. It may also contain, in their own
 directory, support files needed by these eclasses.
 
 \section{The Metadata Directory}
@@ -255,7 +251,7 @@ various XML files used in the repository, and repository timestamps.
 \subsection{The metadata cache}
 
 The \t{metadata/cache} directory may contain a cached form of all important ebuild metadata
-variables. The contents of this directory are described in chapter~\ref{sec:metadata-cache}.
+variables. The contents of this directory are described in chapter~\ref{ch:metadata-cache}.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-03-28  7:23 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-03-28  7:23 UTC (permalink / raw
  To: gentoo-commits

commit:     1e7756e2ba3d85ef88430c480361bbf54160bb54
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Mar 24 15:54:45 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar 24 15:56:04 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1e7756e2

dependencies.tex: Reorder variables to match ebuild-vars section.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 89d1405..44382d1 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -86,8 +86,8 @@ Table~\ref{tab:phase-function-dependency-classes} lists dependencies which must
 a particular phase function is executed. Table~\ref{tab:dep-class-api} summarises additional
 interfaces related to the dependency classes.
 
-In addition, \t{SRC_URI}, \t{HOMEPAGE}, \t{RESTRICT}, \t{PROPERTIES}, \t{LICENSE} and
-\t{REQUIRED_USE} use dependency-style specifications to specify their values.
+In addition, \t{HOMEPAGE}, \t{SRC_URI}, \t{LICENSE}, \t{REQUIRED_USE}, \t{PROPERTIES} and
+\t{RESTRICT} use dependency-style specifications to specify their values.
 
 \section{Dependency Specification Format}
 \label{sec:dependency-spec}
@@ -98,14 +98,14 @@ be surrounded on both sides by whitespace, except at the start and end of the st
 \begin{compactitem}
 \item A package dependency specification. Permitted in \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
     \t{PDEPEND}.
-\item A URI, in the form \t{proto://host/path}. Permitted in \t{SRC_URI} and \t{HOMEPAGE}\@.
+\item A URI, in the form \t{proto://host/path}. Permitted in \t{HOMEPAGE} and \t{SRC_URI}\@.
     In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting \t{SRC_URI} arrows, may
     optionally be followed by whitespace, then \t{->}, then whitespace, then a simple filename when
     in \t{SRC_URI}\@. For \t{SRC_URI} behaviour, see section~\ref{sec:src-uri-behaviour}.
 \item A flat filename. Permitted in \t{SRC_URI}.
 \item A license name (e.\,g.\ \t{GPL-2}). Permitted in \t{LICENSE}.
 \item A use flag name, optionally preceded by an exclamation mark. Permitted in \t{REQUIRED_USE}.
-\item A simple string. Permitted in \t{RESTRICT} and \t{PROPERTIES}.
+\item A simple string. Permitted in \t{PROPERTIES} and \t{RESTRICT}.
 \item An all-of group, which consists of an open parenthesis, followed by whitespace,
     followed by one or more of (a dependency item of any kind followed by whitespace), followed
     by a close parenthesis. More formally:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-04-13  9:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-04-13  9:05 UTC (permalink / raw
  To: gentoo-commits

commit:     2a2b395df1b334f2cd28791056891123331daf92
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  7 17:34:08 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  7 17:34:08 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2a2b395d

eapi-cheatsheet.tex: Fix colour of cross reference links.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 1 +
 1 file changed, 1 insertion(+)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 14a56a3..3919d17 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -44,6 +44,7 @@
     colorlinks=true,
     citecolor=black,
     linkcolor=black,
+    filecolor=black,
     pdftitle={EAPI Desk Reference},
     pdfauthor={Christian Faulhammer, Ulrich Müller},
     pdfsubject={Making look-up faster for EAPI features},


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-04-13  9:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-04-13  9:05 UTC (permalink / raw
  To: gentoo-commits

commit:     afa3fc20f142911ecd0da534d8cc73dd48dee1df
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  7 17:31:28 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  7 17:31:28 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=afa3fc20

pms.cls: Drop page references when processing with tex4ht.

They are meaningless in the HTML output. Delete \pageref in the text;
it was used only once.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 commands.tex |  3 +--
 pms.cls      | 18 ++++++++++--------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/commands.tex b/commands.tex
index 5ba9626..1733ebd 100644
--- a/commands.tex
+++ b/commands.tex
@@ -22,8 +22,7 @@ dependencies must be used to ensure their presence.
 
 The following commands must always be available in the ebuild environment:
 \begin{compactitem}
-\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version} on
-    page~\pageref{tab:bash-version}.
+\item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed
     version 4 or later.
 \item \featurelabel{gnu-patch} \t{patch} must be available, and must support all inputs valid

diff --git a/pms.cls b/pms.cls
index f0ec4b3..4015f98 100644
--- a/pms.cls
+++ b/pms.cls
@@ -87,15 +87,17 @@
 
 % Define own label and reference commands, that display the label in
 % the page margin.
-\newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
-\newcommand{\compactfeatureref}[1]{#1~p\pageref{feat:#1}}
-\newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
-    \ifthenelse{\boolean{TEX4HT-HACKS}}{%
+\ifthenelse{\boolean{TEX4HT-HACKS}}{%
+    \newcommand{\featureref}[1]{\hyperref[feat:#1]{\textsc{#1}}}
+    \newcommand{\compactfeatureref}[1]{\hyperref[feat:#1]{#1}}
+    \newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
         % tex4ht does not support marginnote
-        \framebox{\textsc{#1}}%
-    }{%
-        \marginnote{\framebox{\textsc{#1}}}\ignorespaces
-    }%
+        \framebox{\textsc{#1}}}
+}{%
+    \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
+    \newcommand{\compactfeatureref}[1]{#1~p\pageref{feat:#1}}
+    \newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
+        \marginnote{\framebox{\textsc{#1}}}\ignorespaces}
 }
 % Change marginnote test to pretend that landscape pages are odd numbered
 \g@addto@macro\@mn@margintest{%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-04-13  9:05 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-04-13  9:05 UTC (permalink / raw
  To: gentoo-commits

commit:     786e294e720a945157a73e65da65ae037f4eb277
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  7 17:22:32 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr  7 17:22:32 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=786e294e

pms.cls: Change bibliographystyle to unsrturl.

This will list references in order of citation. Also, use the url
field to specify URLs.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.bib | 16 ++++++++--------
 pms.cls |  3 ++-
 2 files changed, 10 insertions(+), 9 deletions(-)

diff --git a/pms.bib b/pms.bib
index b3413db..5bd52a2 100644
--- a/pms.bib
+++ b/pms.bib
@@ -1,31 +1,31 @@
-@misc{Glep37,
+@manual{Glep37,
     author = {Jason Stubbs},
     title = {{GLEP} 37: Virtuals deprecation},
     year = 2005,
     month = Apr,
-    howpublished = "\url{https://www.gentoo.org/glep/glep-0037.html}"
+    url = {https://www.gentoo.org/glep/glep-0037.html}
 }
 
-@misc{Glep44,
+@manual{Glep44,
     author = {Marius Mauch},
     title = {{GLEP} 44: Manifest2 format},
     year = 2005,
     month = Dec,
-    howpublished = "\url{https://www.gentoo.org/glep/glep-0044.html}"
+    url = {https://www.gentoo.org/glep/glep-0044.html}
 }
 
-@misc{Glep55,
+@manual{Glep55,
     author = {Piotr Jaroszyński},
     title = {{GLEP} 55: Use {EAPI}-suffixed ebuilds},
     year = 2007,
     month = Dec,
-    howpublished = "\url{https://www.gentoo.org/glep/glep-0055.html}"
+    url = {https://www.gentoo.org/glep/glep-0055.html}
 }
 
-@misc{Glep68,
+@manual{Glep68,
     author = {Michał Górny},
     title = {{GLEP} 68: Package and category metadata},
     year = 2016,
     month = Apr,
-    howpublished = "\url{https://www.gentoo.org/glep/glep-0068.html}"
+    url = {https://www.gentoo.org/glep/glep-0068.html}
 }

diff --git a/pms.cls b/pms.cls
index 6cc5a77..f0ec4b3 100644
--- a/pms.cls
+++ b/pms.cls
@@ -102,7 +102,8 @@
     \ifdim\columnwidth>\textheight\@tempswatrue\fi
 }
 
-\bibliographystyle{plainurl}
+% Support url fields in bibliography entries
+\bibliographystyle{unsrturl}
 
 % Redefine the titlepage environment not to reset the page number
 \renewenvironment{titlepage}{\newpage\thispagestyle{empty}}{\newpage}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-05-13 21:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-05-13 21:56 UTC (permalink / raw
  To: gentoo-commits

commit:     264267c8e39776baa398a576909987910ec31376
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun May  5 18:43:18 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 13 21:54:47 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=264267c8

ebuild-env-vars.tex: Allow SYSROOT & BROOT in pkg_setup

Allow using SYSROOT & BROOT in pkg_setup(), when building from source.
This follows the earlier change allowing for build-time dependencies
in pkg_setup under the same circumstances.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 56f959c..660d17b 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -132,19 +132,20 @@ variable.
     table~\ref{tab:offset-env-vars-table} as supporting \t{EROOT}\@. The presence of a trailing
     slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\
 \t{SYSROOT} &
-    \t{src_*} &
+    \t{src_*}, \t{pkg_setup}\footnote{Not necessarily present when installing from a binary
+    package.} &
     No &
     \featurelabel{sysroot} The absolute path to the root directory containing build dependencies
     satisfied by \t{DEPEND}\@. Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
     as supporting \t{SYSROOT}. \\
 \t{ESYSROOT} &
-    \t{src_*} &
+    Ditto &
     No &
     Contains the concatenation of the paths in the \t{SYSROOT} and \t{EPREFIX} variables,
     for convenience. See also the \t{EPREFIX} variable. Only for EAPIs listed
     in table~\ref{tab:offset-env-vars-table} as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
-    \t{src_*} &
+    Ditto &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND}, typically executable build tools. This includes any applicable offset


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-07-09 13:30 Michał Górny
  0 siblings, 0 replies; 385+ messages in thread
From: Michał Górny @ 2019-07-09 13:30 UTC (permalink / raw
  To: gentoo-commits

commit:     248f1eaefec15b7c9537ad68a818e34065036b0d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Mon Jul  8 16:44:07 2019 +0000
Commit:     Michał Górny <mgorny <AT> gentoo <DOT> org>
CommitDate: Mon Jul  8 19:14:56 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=248f1eae

pkg-mgr-commands: Correct ver_cut and ver_rs to use ${PV} by default

Correct the description of ver_cut and ver_rs commands to indicate
that they process ${PV} when no version argument is specified, rather
than wrongly ${PVR}.

It seems that the latter was introduced as a typo, as it neither agrees
with initial Bugzilla proposal of the function [1], pre-EAPI
implementation in eapi7-ver.eclass [2] or EAPI 7 cheatsheet in PMS.
Furthermore, it simply makes little sense as the common usage of those
functions is to manipulate URLs and filenames, and those do not use
ebuild revisions..

It is also how it was implemented in Portage, and initially in PkgCore
(afterwards the PkgCore implementation changed to conform to PMS, with
expectably breaking results).

[1] https://bugs.gentoo.org/482170#c15
[2] https://gitweb.gentoo.org/repo/gentoo.git/commit/eclass/eapi7-ver.eclass?id=59a1a0dda7300177a263eb1de347da493f09fdee

Bug: https://bugs.gentoo.org/689494
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index e3e831f..95e3306 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -954,7 +954,7 @@ the second, inclusively.
 \item[ver_cut] Takes a range as the first argument, and optionally a version string as the second.
     Prints a substring of the version string starting at the version component specified as start
     of the range and ending at the version component specified as end of the range. If the version
-    string is not specified, \t{\$\{PVR\}} is used.
+    string is not specified, \t{\$\{PV\}} is used.
 
     If the range spans outside the present version components, the missing components and separators
     are presumed empty. In particular, the range starting at zero includes the zeroth version
@@ -965,7 +965,7 @@ the second, inclusively.
 \item[ver_rs] Takes one or more pairs of arguments, optionally followed by a version string.
     Every argument pair specifies a range and a replacement string. Prints a version string after
     performing the specified separator substitutions. If the version string is not specified,
-    \t{\$\{PVR\}} is used.
+    \t{\$\{PV\}} is used.
 
     For every argument pair specified, each of the version separators present at indices specified
     by the range is replaced with the replacement string, in order. If the range spans outside


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-07-10  7:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-07-10  7:22 UTC (permalink / raw
  To: gentoo-commits

commit:     f7ba53891494300ccc3b2f2c2469acb149e0efc8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jul 10 07:19:17 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jul 10 07:19:17 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f7ba5389

pms.cls: Drop unused verbatim.sty.

Only needed for \verbatiminput which is no longer used in the text.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index 4015f98..d7047cf 100644
--- a/pms.cls
+++ b/pms.cls
@@ -42,7 +42,6 @@
     paralist,   % Additional list environments
     parskip,    % Space between paragraphs instead of indentation
     underscore, % Allow simple _ instead of \_
-    verbatim,   % Extend the print-as-is functionality
     chngcntr,   % Redefinition of counters
     tocbibind   % Add bibliography to table of contents
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-07-27  8:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-07-27  8:26 UTC (permalink / raw
  To: gentoo-commits

commit:     6d4551098981d4886ecb18bee62d77f58989ae4e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jul 19 15:45:41 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jul 19 15:45:41 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6d455109

Recognise "live" as token in PROPERTIES.

Bug: https://bugs.gentoo.org/690220
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 2ca30f2..2f81db7 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -225,6 +225,8 @@ The following tokens are permitted inside \t{PROPERTIES}:
 
 \begin{description}
 \item[interactive] The package may require interaction with the user via the tty.
+\item[live] The package uses ``live'' source code that may vary each time that the package is
+    installed.
 \end{description}
 
 Ebuilds may not rely upon any token being supported.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-01  8:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-01  8:15 UTC (permalink / raw
  To: gentoo-commits

commit:     38cd722865b60f901f7616884a44a84d96ea9a0b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 15:23:01 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 15:23:01 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=38cd7228

ebuild-env-vars.tex: Clarify trailing slash rule.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 660d17b..ae8bd7d 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -466,8 +466,9 @@ set, though.
 \label{sec:trailing-slash}
 
 Unless specified otherwise, the paths provided through package manager variables do not end with
-a trailing slash and cannot be empty. A few exceptions to that rule are listed
-in table~\ref{tab:trailing-slash} along with applicable EAPIs.
+a trailing slash. Consequently, the system root directory will be represented by the empty string.
+A few exceptions to this rule are listed in table~\ref{tab:trailing-slash} along with applicable
+EAPIs.
 
 For EAPIs where those variables are defined to always end with a trailing slash, the package manager
 guarantees that a trailing slash will always be appended to the path in question. If the path


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-01  8:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-01  8:15 UTC (permalink / raw
  To: gentoo-commits

commit:     3b8646696a4d64a216caf5f4154fc874f29cccfb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jul 29 15:27:34 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jul 29 15:27:34 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3b864669

pkg-mgr-commands.tex: Specify --with-sysroot in econf correctly.

If ESYSROOT is empty, then econf must pass --with-sysroot="/"
as option to configure.

This agrees with the implementation in portage and pkgcore.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 95e3306..4d44baf 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -309,7 +309,7 @@ commands once the current phase function has returned.
     \item \t{-{}-htmldir} must be \t{\$\{EPREFIX\}/usr/share/doc/\$\{PF\}/html}, if the EAPI is
         listed in table~\ref{tab:econf-options-table} as using it. This option will only be passed
         if the string \t{-{}-htmldir} occurs in the output of \t{configure -{}-help}.
-    \item \t{-{}-with-sysroot} must be \t{\$\{ESYSROOT\}}, if the EAPI is listed in
+    \item \t{-{}-with-sysroot} must be \t{\$\{ESYSROOT:-/\}}, if the EAPI is listed in
         table~\ref{tab:econf-options-table} as using it. This option will only be passed if the
         string \t{-{}-with-sysroot} occurs in the output of \t{configure -{}-help}.
     \item \t{-{}-build} must be the value of the \t{CBUILD} environment variable. This option will


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-01  8:15 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-01  8:15 UTC (permalink / raw
  To: gentoo-commits

commit:     94796921109099bd183a837ce6758d7034f7799b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  1 08:12:36 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug  1 08:12:36 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=94796921

eapi-cheatsheet.tex: Specify --with-sysroot in econf correctly.

Also reword the sentence, in order to prevent an overfull box.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 3919d17..98300c0 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -439,9 +439,8 @@ differences between these previous EAPIs.
         \code{BDEPEND} type dependencies, typically executable build
         tools.
         See \featureref{broot}.
-        \item[\code{econf}]
-        Option \code{-{}-with-sysroot=\$\{ESYSROOT\}} is passed to
-        configure, if this option is supported.
+        \item[\code{econf}] If supported, configure will be called
+        with the \code{-{}-with-sysroot=\$\{ESYSROOT:-/\}} option.
         See \featureref{econf-options}.
         \item[\code{has_version} and \code{best_version}] These
         helpers support \code{-b}, \code{-d} or \code{-r} options,


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-10  9:49 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-10  9:49 UTC (permalink / raw
  To: gentoo-commits

commit:     0fcd4aeb9985ce903d572718f241529916477e84
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 10 09:44:18 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 10 09:44:18 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0fcd4aeb

pkg-mgr-commands.tex: Fix indentation in einstall listing.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4d44baf..9aacc70 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -402,16 +402,16 @@ commands once the current phase function has returned.
 \caption{\t{einstall} command} \label{lst:einstall}
 \begin{verbatim}
 emake \
-   prefix="${ED}"/usr \
-   datadir="${ED}"/usr/share \
-   mandir="${ED}"/usr/share/man \
-   infodir="${ED}"/usr/share/info \
-   libdir="${ED}"/usr/${libdir} \
-   localstatedir="${ED}"/var/lib \
-   sysconfdir="${ED}"/etc \
-   -j1 \
-   "$@" \
-   install
+    prefix="${ED}"/usr \
+    datadir="${ED}"/usr/share \
+    mandir="${ED}"/usr/share/man \
+    infodir="${ED}"/usr/share/info \
+    libdir="${ED}"/usr/${libdir} \
+    localstatedir="${ED}"/var/lib \
+    sysconfdir="${ED}"/etc \
+    -j1 \
+    "$@" \
+    install
 \end{verbatim}
 \end{listing}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-24 19:02 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-24 19:02 UTC (permalink / raw
  To: gentoo-commits

commit:     6804b582062eeb492d1edaf499d43f2808a36750
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 24 19:01:45 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 24 19:01:45 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=6804b582

tree-layout.tex: Typographic fix.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 tree-layout.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tree-layout.tex b/tree-layout.tex
index 0ff1ec9..f84f6f5 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -74,7 +74,7 @@ this specification.
 
 The profiles directory shall contain zero or more profile directories as described in
 chapter~\ref{ch:profiles}, as well as the following files and directories. In any line-based file,
-lines beginning with a \# character are treated as comments, whilst blank lines are ignored.
+lines beginning with a \t{\#} character are treated as comments, whilst blank lines are ignored.
 All contents of this directory, with the exception of \t{repo_name}, are optional.
 
 The profiles directory may contain an \t{eapi} file. This file, if it exists, must contain a single


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-08-25  8:44 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-08-25  8:44 UTC (permalink / raw
  To: gentoo-commits

commit:     9884350336c8dc7ae68101f65896cd294b9a5381
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Aug 24 23:47:32 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Aug 24 23:47:32 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=98843503

profiles.tex: Wording and typographic fix.

The phrase "once again" referred to the preceding virtuals subsection,
which was removed in commit c8ab6b99bffa85bcd686284ba60a30f53c31c8b0.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 profiles.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles.tex b/profiles.tex
index 38e1be1..76c9278 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -69,7 +69,7 @@ bash syntax, is allowed as follows:
 These files are a simple one-item-per-line list, which is inherited in the following manner: the
 parent profile's list is taken, and the current profile's list appended. If any line begins with a
 hyphen, then any lines previous to it whose contents are equal to the remainder of that line are
-removed from the list. Once again, blank lines and those beginning with a \# are discarded.
+removed from the list. Blank lines and those beginning with a \t{\#} are discarded.
 
 \featurelabel{profile-file-dirs} In EAPIs listed in table~\ref{tab:profile-file-dirs} as supporting
 directories for profile files, any of the files \t{package.mask}, \t{package.use}, \t{use.*} and


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-10-07 12:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-10-07 12:55 UTC (permalink / raw
  To: gentoo-commits

commit:     3c8af0420f4dc0cfabd8dd1fad0d74d2837b414a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Oct  1 09:47:08 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Oct  1 09:47:08 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3c8af042

doins, dodoc: Clarify how directories are created.

With the -r option, it was unspecified what the mode of any created
directories is. Clarify that doins -r will create them as if dodir was
called (i.e., respect diropts), and that dodoc -r will create them as
if plain install -d was used.

For doins, this agrees with package manager implementations.

For dodoc, this agrees with historic Paludis behaviour. Portage
behaviour has changed in the past, when dodoc was changed from a
standalone helper to reusing parts of doins. Usage in the Gentoo
repository indicates that no ebuilds call diropts specifically for
installing of documentation. However, for several ebuilds dodoc -r is
affected by diropts called previously for another directory, which
looks like an unwanted side effect.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 9aacc70..00ae3a7 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -448,7 +448,8 @@ the current phase function has returned.
     directory \t{/usr/share/doc/\$\{PF\}/}. For EAPIs listed in table~\ref{tab:dodoc-table}
     as supporting \t{-r}, if the first argument is \t{-r}, any subsequent arguments that are
     directories are installed recursively to the appropriate location; in any other case, it is
-    an error for a directory to be specified. Failure behaviour is EAPI dependent as per
+    an error for a directory to be specified. Any directories that don't already exist are created
+    using \t{install -d} with no additional options. Failure behaviour is EAPI dependent as per
     section~\ref{sec:failure-behaviour}.
 
 \item[doenvd] Installs the given environment files into \t{/etc/env.d/}, by default with file mode
@@ -509,10 +510,10 @@ the current phase function has returned.
 \item[doins] \featurelabel{doins} Takes one or more files as arguments and installs them into
     \t{INSDESTTREE}, by default with file mode \t{0644}, or with the \t{install} options set by
     the most recent \t{insopts} call. If the first argument is \t{-r}, then operates recursively,
-    descending into any directories given. For EAPIs listed in table~\ref{tab:doins-table},
-    \t{doins} must install symlinks as symlinks; for other EAPIs, behaviour is undefined if any
-    symlink is encountered. Failure behaviour is EAPI dependent as per
-    section~\ref{sec:failure-behaviour}.
+    descending into any directories given. Any directories are created as if \t{dodir} was called.
+    For EAPIs listed in table~\ref{tab:doins-table}, \t{doins} must install symlinks as symlinks;
+    for other EAPIs, behaviour is undefined if any symlink is encountered. Failure behaviour is
+    EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dolib.a] For each argument, installs it into the appropriate library subdirectory under
     \t{DESTTREE}, as determined by algorithm~\ref{alg:ebuild-libdir}. Files are installed with file


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-11-07 20:42 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-11-07 20:42 UTC (permalink / raw
  To: gentoo-commits

commit:     b2a2d654a20e0389b65a5c9a1a18f5748386253d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Oct 18 13:35:17 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Oct 18 13:35:17 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b2a2d654

get_libdir: Clarify that it must be a shell function.

It is implemented as a bash function in all package managers.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 00ae3a7..b807117 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1143,8 +1143,8 @@ has returned.
 \end{algorithm}
 
 \item[get_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    algorithm~\ref{alg:get-libdir}. Only available in EAPIs listed in table~\ref{tab:misc-commands}
-    as supporting \t{get_libdir}.
+    algorithm~\ref{alg:get-libdir}. Must be implemented internally as a shell function.
+    Only available in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{get_libdir}.
 
 \begin{algorithm}
 \caption{\t{get_libdir} logic} \label{alg:get-libdir}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-11-11  8:19 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-11-11  8:19 UTC (permalink / raw
  To: gentoo-commits

commit:     561197425c2f43afdbfd2f29343f26ae4d4f7693
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  6 17:37:15 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  6 17:37:15 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=56119742

pms.bib: Add GLEP 74 to bibliography.

GLEP 74 has replaced GLEP 44, so use it as reference for the Manifest
file.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.bib         | 8 ++++++++
 tree-layout.tex | 2 +-
 2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/pms.bib b/pms.bib
index e505418..8b718af 100644
--- a/pms.bib
+++ b/pms.bib
@@ -29,3 +29,11 @@
     month = Feb,
     url = {https://www.gentoo.org/glep/glep-0068.html}
 }
+
+@manual{Glep74,
+    author = {Michał Górny and Robin Hugh Johnson and Ulrich Müller},
+    title = {{GLEP} 74: Full-tree verification using Manifest files},
+    year = 2018,
+    month = Feb,
+    url = {https://www.gentoo.org/glep/glep-0074.html}
+}

diff --git a/tree-layout.tex b/tree-layout.tex
index f84f6f5..80d70d6 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -52,7 +52,7 @@ A package directory contains the following:
 \item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
-\item A \t{Manifest} file, whose format is described in~\cite{Glep44}. Can be omitted if the file
+\item A \t{Manifest} file, whose format is described in~\cite{Glep74}. Can be omitted if the file
     would be empty.
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-11-11  8:19 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-11-11  8:19 UTC (permalink / raw
  To: gentoo-commits

commit:     b72617efdf52ad9cb67a0492ef4ef978e364c4c3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Nov  6 17:29:10 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Nov  6 17:29:10 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b72617ef

pms.bib: Use last date listed in Post-History for GLEPs.

This seems to be a closer substitute for the publication date than
the "Created" field used until now.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.bib | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/pms.bib b/pms.bib
index 5bd52a2..e505418 100644
--- a/pms.bib
+++ b/pms.bib
@@ -1,31 +1,31 @@
 @manual{Glep37,
     author = {Jason Stubbs},
     title = {{GLEP} 37: Virtuals deprecation},
-    year = 2005,
-    month = Apr,
+    year = 2006,
+    month = Sep,
     url = {https://www.gentoo.org/glep/glep-0037.html}
 }
 
 @manual{Glep44,
     author = {Marius Mauch},
     title = {{GLEP} 44: Manifest2 format},
-    year = 2005,
-    month = Dec,
+    year = 2006,
+    month = Sep,
     url = {https://www.gentoo.org/glep/glep-0044.html}
 }
 
 @manual{Glep55,
     author = {Piotr Jaroszyński},
     title = {{GLEP} 55: Use {EAPI}-suffixed ebuilds},
-    year = 2007,
-    month = Dec,
+    year = 2009,
+    month = May,
     url = {https://www.gentoo.org/glep/glep-0055.html}
 }
 
 @manual{Glep68,
     author = {Michał Górny},
     title = {{GLEP} 68: Package and category metadata},
-    year = 2016,
-    month = Apr,
+    year = 2018,
+    month = Feb,
     url = {https://www.gentoo.org/glep/glep-0068.html}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-11-25 13:43 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-11-25 13:43 UTC (permalink / raw
  To: gentoo-commits

commit:     8b404a13673c35a1fa7bf4eb4aa2b29e9ce120a2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Nov 25 10:55:37 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Nov 25 10:55:37 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8b404a13

ebuild-functions.tex: Reorder phase functions in table.

Ordering corresponding to their call order (except pkg_nofetch).

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-differences.tex | 8 ++++----
 ebuild-functions.tex | 2 +-
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 4c22473..bc49a33 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -132,13 +132,13 @@ Parallel tests & \compactfeatureref{parallel-tests} &
 \t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
     * &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_install}, \t{src_test} &
+        \t{src_compile}, \t{src_test}, \t{src_install} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_install}, \t{src_test} &
+        \t{src_compile}, \t{src_test}, \t{src_install} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_install}, \t{src_test} &
+        \t{src_compile}, \t{src_test}, \t{src_install} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_install}, \t{src_test} \\
+        \t{src_compile}, \t{src_test}, \t{src_install} \\
 
 \t{AA} & \compactfeatureref{aa} &
     Yes & No & No & No & No \\

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 10247a8..33c003a 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -470,7 +470,7 @@ when in the phase in question.
       2, 3              & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
                           \t{src_compile}, \t{src_test} \\
       4, 5, 6, 7        & \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-                          \t{src_compile}, \t{src_install}, \t{src_test} \\
+                          \t{src_compile}, \t{src_test}, \t{src_install} \\
       \bottomrule
     \end{tabular}
 \end{centertable}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-12-23 18:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-12-23 18:47 UTC (permalink / raw
  To: gentoo-commits

commit:     b5b919182974a94e3d14d359edb11cd22339942e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Dec 23 18:46:14 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 23 18:46:14 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b5b91918

ebuild-vars.tex: Consistent order of *DEPEND variables.

It is DEPEND, BDEPEND, RDEPEND, PDEPEND elsewhere.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 2f81db7..9de9d55 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -81,11 +81,11 @@ Ebuilds may define any of the following variables:
 \item[RESTRICT] Zero or more behaviour restrictions for this package. See section~\ref{sec:restrict}
     for value meanings and section~\ref{sec:dependency-spec} for full syntax.
 \item[DEPEND] See chapter~\ref{ch:dependencies}.
+\item[BDEPEND] See chapter~\ref{ch:dependencies}.
 \item[RDEPEND] See chapter~\ref{ch:dependencies}. For some EAPIs, \t{RDEPEND} has special behaviour
     for its value if unset and when used with an eclass. See section~\ref{sec:rdepend-depend} for
     details.
 \item[PDEPEND] See chapter~\ref{ch:dependencies}.
-\item[BDEPEND] See chapter~\ref{ch:dependencies}.
 \end{description}
 
 \ChangeWhenAddingAnEAPI{7}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2019-12-30 14:37 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2019-12-30 14:37 UTC (permalink / raw
  To: gentoo-commits

commit:     2f8a07cf6b41b8883ad751d0e67705ab3cd264d4
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 22 18:52:00 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Dec 30 14:35:25 2019 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2f8a07cf

ebuild-vars: Remove 'simple filename' mirror fetching

The feature of using 'simple filename' to fetch from mirrors
is ill-defined (which mirrors?).  The Portage implementation works only
if GENTOO_MIRRORS are explicitly set.  It's not used in any ebuilds.
Let's remove it retroactively from the specification.

Bug: https://bugs.gentoo.org/695814
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 9de9d55..476ea13 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -159,11 +159,9 @@ managers may also consult mirrors for their files.
 The special \t{mirror://} protocol must be supported. See section~\ref{sec:thirdpartymirrors} for
 mirror details.
 
-If a simple filename rather than a full URI is provided, the package manager can only use mirrors
-to download the file.
-
 The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see
-section~\ref{sec:restrict} for details.
+section~\ref{sec:restrict} for details. Fetch restricted packages may use a simple filename instead
+of a full URI.
 
 \featurelabel{src-uri-arrows} In EAPIs listed in table~\ref{tab:uri-arrows-table} as supporting
 arrows, if an arrow is used, the filename used when saving to \t{DISTDIR} shall instead be the name


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-01-17 19:31 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-01-17 19:31 UTC (permalink / raw
  To: gentoo-commits

commit:     2821d4b280e383e1964033385c2e1a92b189fe0b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan  5 11:38:54 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan  5 11:38:54 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2821d4b2

dependencies.tex: Don't mention blocks on provided virtuals.

This is a remnant of old-style virtuals and should have been removed
long ago.

Fixes: c8ab6b99bffa85bcd686284ba60a30f53c31c8b0
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 9 ++-------
 1 file changed, 2 insertions(+), 7 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 44382d1..3305b86 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -279,13 +279,8 @@ The following operators are available:
 \subsection{Block operator}
 
 If the specification is prefixed with one or two exclamation marks, the named dependency is a block
-rather than a requirement---that is to say, the specified package must not be installed, with the
-following exceptions:
-
-\begin{compactitem}
-\item Blocks on a package provided exclusively by the ebuild do not count.
-\item Weak blocks on the package version of the ebuild itself do not count.
-\end{compactitem}
+rather than a requirement---that is to say, the specified package must not be installed. As an
+exception, weak blocks on the package version of the ebuild itself do not count.
 
 \featurelabel{bang-strength} There are two strengths of block: weak and strong. A weak block may be
 ignored by the package manager, so long as any blocked package will be uninstalled later on. A


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-01-17 19:31 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-01-17 19:31 UTC (permalink / raw
  To: gentoo-commits

commit:     cf17bf885e702a6bbb2b00baad6ac1622c4bb718
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Jan 17 19:29:12 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Jan 17 19:29:12 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=cf17bf88

Update copyright years.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index aea0d4d..f9b2460 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2019 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2020 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-02-18 10:18 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-02-18 10:18 UTC (permalink / raw
  To: gentoo-commits

commit:     0d4ffd51d3dc86782dae2db9fe632f45af7eec87
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Feb 15 09:56:55 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Feb 15 09:56:55 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0d4ffd51

ebuild-functions.tex: Update array detection code.

Remove the space after "declare -a" for matching "declare -p" output.
With the update of the bash version to 4.2 in EAPI 6, variables can
have other attributes in addition, which would make the test fail.
For example, see https://bugs.gentoo.org/444832#c7. The implementation
in Portage already omits the space.

Replace grep by functionally equivalent code in bash. This is how the
test is implemented in package managers, and follows the principle
that external programs should not be called unnecessarily.

Redirect stderr for "declare -p", because it outputs an error message
if the PATCHES variable is not defined.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-functions.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 33c003a..4a13db6 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -133,7 +133,7 @@ as:
 \caption{\t{src_prepare}, format~6}
 \begin{verbatim}
 src_prepare() {
-    if declare -p PATCHES | grep -q "^declare -a "; then
+    if [[ $(declare -p PATCHES 2>/dev/null) == "declare -a"* ]]; then
         [[ -n ${PATCHES[@]} ]] && eapply "${PATCHES[@]}"
     else
         [[ -n ${PATCHES} ]] && eapply ${PATCHES}
@@ -325,13 +325,13 @@ src_install() {
         emake DESTDIR="${D}" install
     fi
 
-    if ! declare -p DOCS >/dev/null 2>&1 ; then
+    if ! declare -p DOCS >/dev/null 2>&1; then
         local d
         for d in README* ChangeLog AUTHORS NEWS TODO CHANGES \
-                THANKS BUGS FAQ CREDITS CHANGELOG ; do
+                THANKS BUGS FAQ CREDITS CHANGELOG; do
             [[ -s "${d}" ]] && dodoc "${d}"
         done
-    elif declare -p DOCS | grep -q "^declare -a " ; then
+    elif [[ $(declare -p DOCS) == "declare -a"* ]]; then
         dodoc "${DOCS[@]}"
     else
         dodoc ${DOCS}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-04-20 13:08 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-04-20 13:08 UTC (permalink / raw
  To: gentoo-commits

commit:     58d5831ef7cc673858ea85d54ff0693f6a2f9914
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 11 09:56:39 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Apr 11 12:13:22 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=58d5831e

glossary.tex: Move explanation of new-style virtuals to the appendix.

The term "new-style virtual" is not used in the spec, so we need not
explain it in the glossary.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex | 4 ++++
 glossary.tex   | 4 ----
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index ee537f7..21716d6 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -78,6 +78,10 @@ in mind when handling dependencies.
 Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}. They were phased
 out via GLEP 37~\cite{Glep37} and finally removed in 2011.
 
+\note{A `new-style virtual' is a normal package that installs no files and uses its dependency
+requirements to pull in a `provider'. This does not require any special handling from the package
+manager.}
+
 \subsection{EAPI parsing}
 The method to specify the EAPI of an ebuild used to be a shell variable assignment, and the package
 manager had to source the ebuild in order to determine the EAPI\@. Therefore any ebuild using

diff --git a/glossary.tex b/glossary.tex
index 5666aa2..f8cd376 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -7,10 +7,6 @@ be immediately obvious.
 \begin{description}
 \item[qualified package name] A package name along with its associated category. For example,
     \t{app-editors/vim} is a qualified package name.
-\item[new-style virtual] A new-style virtual is a normal package in the \t{virtual} category which
-    installs no files and uses its dependency requirements to pull in a `provider'. Historically,
-    old-style virtuals required special handling from the package manager; new-style virtuals do
-    not.
 \item[stand-alone repository] An (ebuild) repository which is intended to function on its own as the
     only, or primary, repository on a system. Contrast with \i{slave repository} below.
 \item[slave repository, non-stand-alone repository] An (ebuild) repository which is not complete


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-04-20 13:08 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-04-20 13:08 UTC (permalink / raw
  To: gentoo-commits

commit:     ca1a05d5e1f79e24dcce5b0fb74a23ee2efab449
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 12 11:38:23 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 12 11:38:23 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ca1a05d5

Revert "(vapier 2.1.1) document why hyphens are not required in category names"

Specific category names are tree policy and don't belong in the spec.
This reverts commit 5c9ee872cb8d953bc037c765e2ef154eb0b96e4a (svn r63).

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 names.tex | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/names.tex b/names.tex
index c8e1129..2994719 100644
--- a/names.tex
+++ b/names.tex
@@ -9,9 +9,6 @@ name. A package manager should indicate or reject any name that is invalid accor
 A category name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with
 a hyphen, a dot or a plus sign.
 
-\note{A hyphen is \e{not} required because of the \t{virtual} category. Usually, however, category
-names will contain a hyphen.}
-
 \subsection{Package names}
 \label{sec:package-names}
 A package name may contain any of the characters [\t{A-Za-z0-9+_-}]. It must not begin with a


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-06-15 17:38 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-06-15 17:38 UTC (permalink / raw
  To: gentoo-commits

commit:     ee879159b86b19cb72ccd708eb7a42de664f72c9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 15 17:03:21 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 15 17:03:21 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ee879159

Makefile: Remove workaround for list of tables.

This broke HTML output with TeX Live 2020. Without the workaround,
formatting within the list of tables is consistent, but the list of
tables is now inconsistent with the table of contents.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 Makefile | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/Makefile b/Makefile
index 612af4c..89fd7a2 100644
--- a/Makefile
+++ b/Makefile
@@ -51,10 +51,6 @@ pms.html: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	@# replace ligatures by their component letters
 	LC_ALL=C sed -i "$$(printf 's/\\xef\\xac\\x8%s/%s/g;' \
 	  0 ff 1 fi 2 fl 3 ffi 4 ffl)" $@
-	@# work around irregularity in how links to longtables are
-	@# formatted in the List of Tables
-	LC_ALL=C sed -Ei '/<span class="lotToc" *>\B/{N;N;'\
-	's/([^>]*<a\s+href="[^"]+">)([0-9A-Z.]+)\s+/\2\1/;}' $@
 	@# remove redundant span elements
 	LC_ALL=C sed -Ei ':x;/<span(\s+[^>]*)?$$/{N;bx;};'\
 	':y;s,(<span\s+[^>]*>)([^<]*)</span>\1,\1\2,;ty' $@


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-06-28 10:46 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-06-28 10:46 UTC (permalink / raw
  To: gentoo-commits

commit:     039b450670c4b7c632c0c4b52f3f4dfed3e7ae15
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 28 21:37:35 2019 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 28 09:01:27 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=039b4506

Correct the definition of ESYSROOT as EPREFIX isn't always applicable

It was originally envisaged (but not stated in PMS) that SYSROOT would
only ever need to equal / or ROOT as a distinct SYSROOT would have no
benefit. A check was added to Portage to ensure this held. Myself, the
ChromiumOS team, and others have since been caught out by this check
when trying to bootstrap brand new systems from scratch. You cannot
bootstrap with no headers at all! The check will therefore be adjusted
to merely ensure that SYSROOT is / when ROOT is /.

There were differing assumptions about how prefixes applied to the
above. EPREFIX is traditionally something the user sets so some
thought that it would be applied to SYSROOT, regardless of the
latter's value. In order to honor the rule about there being no
distinct SYSROOT, this would mean that if SYSROOT is / then EPREFIX
would have to match BROOT. Despite that limitation, ESYSROOT was
written into PMS with a fixed value of ${SYSROOT}${EPREFIX}. Being
somewhat unfamiliar with prefix at the time, I didn't realise that
this view didn't align with what I'd had in mind and it was only when
I came to need a distinct SYSROOT that I realised there was a problem.

crossdev toolchains are installed to ${EPREFIX}/usr/${CHOST} but have
no further prefix appended and packages subsequently installed with
cross-emerge are placed in this location by setting ROOT. Bug #642604
recently revealed that the build system's prefix was being erroneously
duplicated on the end but I have now fixed this.

What if we want to bootstrap a brand new prefixed system using the
crossdev system as SYSROOT? This is the distinct SYSROOT case. The
problem is that there is no distinct variable for SYSROOT's prefix
and, as already stated, ESYSROOT is always ${SYSROOT}${EPREFIX}. We
therefore cannot do it! If the crossdev prefix is blank then ROOT's
must be blank too.

I also never intended to have the aforementioned limitation where
EPREFIX must match BROOT when SYSROOT is /. These are both entirely
artificial restrictions.

So how should it work instead? We originally intended for SYSROOT to
equal either / or ROOT so I imagined the prefix would automatically be
adjusted to match the prefix applicable at the matching location,
namely BROOT or EPREFIX. This is obviously more flexible than forcing
it to match EPREFIX.

What about the distinct SYSROOT case? With no distinct variable, we
have no way to explicitly set a prefix but this is likely only needed
when bootstrapping against crossdev systems, which are unprefixed by
nature. We therefore simply assume that the prefix is blank in this
case.

What about the cross-prefix case? Here, SYSROOT matches both / and
ROOT so which prefix do we choose? The bootstrap-prefix.sh script sets
flags to build against the target prefix so EPREFIX is used in this
case. This happens to fit the current definition of ESYSROOT anyway.

Legitimate concerns have been raised about building for a system with
a different prefix to the one you're building against. The only
binaries that leak from SYSROOT to ROOT are static libraries. Headers
from SYSROOT will obviously also influence how ROOT's binaries are
built. It is entirely possible that SYSROOT's prefix may leak through
a header but grepping /usr/include on my own main system reveals only
a few paths from a small handful of packages. pkg-config files
invariably include paths but these are almost always used at build
time, not runtime. A differing prefix would likely only occur in cases
involving core packages like the libc and kernel headers anyway. Also
consider that we have never prevented this from happening in the
past. It has always been possible to do "EPREFIX=/foo emerge bar" from
some system with a different prefix or no prefix at all. All we're
doing here is including the prefix (if any) in the ESYSROOT variable.

Should this warrant a new EAPI? I don't think so. All existing usage
of ESYSROOT that I have seen still fits with this new definition and
most of that usage has come from me. We're not even changing what the
variable is used for, just loosening the constraints around what it
can be set to.

If you have doubts about whether this makes sense or actually works in
practise, I have experimented with a prefixed system using all the
different combinations I could think of, including cross-compiling,
and it all worked as expected. Keep in mind that ESYSROOT is not magic
and currently isn't used very much. As such, neither the toolchain nor
pkg-config will use this sysroot if you don't explicitly tell them
to. For the former, I find CC="${CHOST}-gcc --sysroot=${ESYSROOT}"
works well. For the latter, crossdev installs a cross-pkg-config
wrapper but it is completely lacking prefix support at the moment. I
have fixes waiting on this change.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>
[Replaced "/" by "empty", reworded table cell in ebuild-env-vars.tex]
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex    | 16 +++++++++++++++-
 ebuild-env-vars.tex |  6 +++---
 2 files changed, 18 insertions(+), 4 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 3305b86..a641014 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -36,13 +36,27 @@
       \midrule
       Binary compatible with    & \t{CBUILD}      & \t{CHOST}          & \t{CHOST}         \\
       Base unprefixed path      & \t{/}           & \t{\$\{SYSROOT\}}  & \t{\$\{ROOT\}}    \\
-      Relevant offset-prefix    & \t{\$\{BROOT\}} & \t{\$\{EPREFIX\}}  & \t{\$\{EPREFIX\}} \\
+      Relevant offset-prefix    & \t{\$\{BROOT\}} & See table~\ref{tab:depend-prefix}
+                                                                       & \t{\$\{EPREFIX\}} \\
       Path combined with prefix & \t{\$\{BROOT\}} & \t{\$\{ESYSROOT\}} & \t{\$\{EROOT\}}   \\
       PM query command option   & \t{-b}          & \t{-d}             & \t{-r}            \\
       \bottomrule
     \end{tabular}
 \end{centertable}
 
+\begin{centertable}{Prefix values for \t{DEPEND}}
+    \label{tab:depend-prefix}
+    \begin{tabular}{llll}
+      \toprule
+      If \t{SYSROOT} is:     & \t{\$\{ROOT\}}    & Empty, and \t{ROOT} is non-empty
+                                                                   & Other             \\
+      \midrule
+      Then offset-prefix is: & \t{\$\{EPREFIX\}} & \t{\$\{BROOT\}} & Empty             \\
+      And \t{ESYSROOT} is:   & \t{\$\{EROOT\}}   & \t{\$\{BROOT\}} & \t{\$\{SYSROOT\}} \\
+      \bottomrule
+    \end{tabular}
+\end{centertable}
+
 There are three classes of dependencies supported by ebuilds:
 
 \begin{compactitem}

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ae8bd7d..117a19d 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -141,9 +141,9 @@ variable.
 \t{ESYSROOT} &
     Ditto &
     No &
-    Contains the concatenation of the paths in the \t{SYSROOT} and \t{EPREFIX} variables,
-    for convenience. See also the \t{EPREFIX} variable. Only for EAPIs listed
-    in table~\ref{tab:offset-env-vars-table} as supporting \t{ESYSROOT}. \\
+    Contains the concatenation of the \t{SYSROOT} path and applicable prefix value, as determined
+    by table~\ref{tab:depend-prefix}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
+    as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
     Ditto &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2020-06-28 10:46 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-06-28 10:46 UTC (permalink / raw
  To: gentoo-commits

commit:     1a510e755d964b4b96a1cbc429b3e5774e8234bc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jun 24 16:39:44 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jun 24 16:39:44 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1a510e75

pms.cls: Drop the caption package because it interferes with TeX4ht.

The "caption" package already caused issues in the past (for example,
see commits b35f619 and 467f1b7), and version v3.4h finally broke the
list of tables in HTML output. TeX4ht upstream says that the package
should be avoided: https://puszcza.gnu.org.ua/bugs/?313#comment8

Positioning the caption above the table is simple enough without using
the package. So we only lose the boldface labels which is a very minor
issue.

As an added bonus, this allows removal of most workarounds that were
necessary for TeX4ht.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 67 +++++++++++++++++++++++++++--------------------------------------
 1 file changed, 28 insertions(+), 39 deletions(-)

diff --git a/pms.cls b/pms.cls
index d7047cf..d7dc8e8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -17,8 +17,6 @@
 \PassOptionsToPackage{textwidth=400pt,textheight=700pt,
     left=20mm,marginparsep=10pt,marginparwidth=40mm,
     vmarginratio=1:2,includehead}{geometry}
-% Position caption of float environments at the top
-\PassOptionsToPackage{position=top,labelfont=bf}{caption}
 % Enable UTF-8 input encoding
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
@@ -43,20 +41,14 @@
     parskip,    % Space between paragraphs instead of indentation
     underscore, % Allow simple _ instead of \_
     chngcntr,   % Redefinition of counters
-    tocbibind   % Add bibliography to table of contents
+    tocbibind,  % Add bibliography to table of contents
+    float,      % More control over float environments
+    hyperref,   % Support for hyperlinks
+    gitinfo2,   % Metadata from git
+    algorithm,  %
+    algorithmic % Set algorithms
 }
 
-% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
-\g@addto@macro\@documentclasshook{
-    \RequirePackage{
-        caption,        % Extended float environment formatting
-        float,          % More control over float environments
-        hyperref,       % Support for hyperlinks
-        gitinfo2,       % Metadata from git
-        algorithm,      %
-        algorithmic     % Set algorithms
-    }
-}
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
     Specification, loaded baseclass: \ClassToLoad\MessageBreak}
 
@@ -75,15 +67,6 @@
     \setboolean{TEX4HT-HACKS}{true}
 \fi
 
-% tex4ht workaround: these need to happen after loading the float package
-\g@addto@macro\@documentclasshook{
-    \floatstyle{ruled}
-    \captionsetup[ruled]{labelsep=default,labelfont=bf}
-    \newfloat{listing}{tbp}{lol}[chapter]
-    \floatname{listing}{Listing}
-}
-\newcommand{\listoflistings}{\listof{listing}{List of Listings}}
-
 % Define own label and reference commands, that display the label in
 % the page margin.
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
@@ -117,11 +100,8 @@
 \counterwithout{footnote}{chapter}
 
 % Some shorthands for the lazy ones.
-% tex4ht workaround: this needs to happen after loading hyperref
-\g@addto@macro\@documentclasshook{
-    \renewcommand{\i}[1]{\textit{#1}}
-    \renewcommand{\t}[1]{\texttt{#1}}
-}
+\renewcommand{\i}[1]{\textit{#1}}
+\renewcommand{\t}[1]{\texttt{#1}}
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
@@ -138,6 +118,17 @@
 % Define a new column type P for tables, like p but with ragged-right text
 \newcolumntype{P}[1]{>{\setlength\rightskip{0pt plus 1fil}}p{#1}}
 
+% Define a float environment for listings
+\floatstyle{ruled}
+\newfloat{listing}{tbp}{lol}[chapter]
+\floatname{listing}{Listing}
+\newcommand{\listoflistings}{\listof{listing}{List of Listings}}
+
+% We always place captions above floats, so redefine vertical spacings
+% Don't use the "caption" package because it interferes with TeX4ht
+\setlength\belowcaptionskip{\abovecaptionskip}
+\setlength\abovecaptionskip{0pt}
+
 % Prevent numbers in list of tables from overrunning into the table captions
 \renewcommand*{\l@figure}{\@dottedtocline{1}{1.5em}{2.8em}} % was 2.3em
 \let\l@table\l@figure
@@ -148,18 +139,16 @@
 \setlength\emergencystretch{1em} % was 0
 
 % Define some PDF meta-data.
-% tex4ht workaround: this needs to happen after loading hyperref
-\g@addto@macro\@documentclasshook{
-    \hypersetup{%
-        urlcolor=black,
-        colorlinks=true,
-        citecolor=black,
-        linkcolor=black,
-        pdflang={en},
-        pdfcreator={pdfLaTeX and hyperref},
-        pdfproducer={pdfLaTeX and hyperref},
-    }
+\hypersetup{%
+    urlcolor=black,
+    colorlinks=true,
+    citecolor=black,
+    linkcolor=black,
+    pdflang={en},
+    pdfcreator={pdfLaTeX and hyperref},
+    pdfproducer={pdfLaTeX and hyperref},
 }
+
 % Reads the last commit date from the Git repository and even succeeds
 % when none is available
 \date{%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-06-29 17:35 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-06-29 17:35 UTC (permalink / raw
  To: gentoo-commits

commit:     01c81d95476ce0cc44aa485c36c953ca135ba410
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jun 29 16:08:09 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jun 29 16:08:09 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=01c81d95

Revert "pms.cls: Another workaround for tex4ht."

The workaround for gitinfo2/eso-pic is no longer needed (and won't
work anyway, as we no longer load gitinfo2 in the documentclasshook).

This reverts commit e9536369d4c032f088683bd8fddfe30d12c3dcc8.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 2 --
 1 file changed, 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index d7dc8e8..88dbb89 100644
--- a/pms.cls
+++ b/pms.cls
@@ -62,8 +62,6 @@
     \RequirePackage[scaled=.90]{helvet}
     \setboolean{TEX4HT-HACKS}{false}
 \else
-    % Prevent implicit loading of eso-pic (by gitinfo2)
-    \@namedef{ver@eso-pic.sty}{9999/12/31}
     \setboolean{TEX4HT-HACKS}{true}
 \fi
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-07-05 19:03 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-07-05 19:03 UTC (permalink / raw
  To: gentoo-commits

commit:     38e58b37949f3bd8e3fbac4bc83432cc4e3f3183
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 25 18:38:51 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 18:59:18 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=38e58b37

ebuild-functions.tex: Phase functions can write to temporary dirs.

All package managers support that functions like pkg_pretend() write
to temporary directories T, TMPDIR and HOME. This is also used in the
tree, see for example bug 469210. Update the spec to match this.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-functions.tex | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 4a13db6..3935800 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -6,11 +6,12 @@
 The following is a list of functions that an ebuild, or eclass, may define, and which will be called
 by the package manager as part of the build and/or install process. In all cases the package manager
 must provide a default implementation of these functions; unless otherwise stated this must be a
-no-op. Most functions must assume only that they have write access to the package's working
-directory (the \t{WORKDIR} environment variable; see section~\ref{sec:ebuild-env-vars}), and the
-temporary directory \t{T}; exceptions are noted below. All functions may assume that they have read
-access to all system libraries, binaries and configuration files that are accessible to normal
-users.
+no-op. All functions may assume that they have read access to all system libraries, binaries and
+configuration files that are accessible to normal users, as well as write access to the temporary
+directories specified by the \t{T}, \t{TMPDIR} and \t{HOME} environment variables
+(see section~\ref{sec:ebuild-env-vars}). Most functions must assume only that they have additional
+write access to the package's working directory (the \t{WORKDIR} environment variable); exceptions
+are noted below.
 
 The environment for functions run outside of the build sequence (that is, \t{pkg_config},
 \t{pkg_info}, \t{pkg_prerm} and \t{pkg_postrm}) must be the environment used for the build of the


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2020-07-05 19:04 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-07-05 19:04 UTC (permalink / raw
  To: gentoo-commits

commit:     e39511f0353770fdc4b7e4ce45b7ff0ed034b6d8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 25 18:38:51 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul  5 19:03:44 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e39511f0

ebuild-functions.tex: Phase functions can write to temporary dirs.

All package managers support that functions like pkg_pretend() write
to temporary directories T, TMPDIR and HOME. This is also used in the
tree, see for example bug 469210. Update the spec to match this.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-functions.tex | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 4a13db6..3935800 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -6,11 +6,12 @@
 The following is a list of functions that an ebuild, or eclass, may define, and which will be called
 by the package manager as part of the build and/or install process. In all cases the package manager
 must provide a default implementation of these functions; unless otherwise stated this must be a
-no-op. Most functions must assume only that they have write access to the package's working
-directory (the \t{WORKDIR} environment variable; see section~\ref{sec:ebuild-env-vars}), and the
-temporary directory \t{T}; exceptions are noted below. All functions may assume that they have read
-access to all system libraries, binaries and configuration files that are accessible to normal
-users.
+no-op. All functions may assume that they have read access to all system libraries, binaries and
+configuration files that are accessible to normal users, as well as write access to the temporary
+directories specified by the \t{T}, \t{TMPDIR} and \t{HOME} environment variables
+(see section~\ref{sec:ebuild-env-vars}). Most functions must assume only that they have additional
+write access to the package's working directory (the \t{WORKDIR} environment variable); exceptions
+are noted below.
 
 The environment for functions run outside of the build sequence (that is, \t{pkg_config},
 \t{pkg_info}, \t{pkg_prerm} and \t{pkg_postrm}) must be the environment used for the build of the


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-07-07  7:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-07-07  7:55 UTC (permalink / raw
  To: gentoo-commits

commit:     b0127163c5cb1fdd5f0c2f27135c20c90b0dca26
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul  7 07:52:00 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jul  7 07:52:00 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b0127163

Cheat sheet: Update ESYSROOT, following PMS.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 98300c0..d4abb1a 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -433,8 +433,8 @@ differences between these previous EAPIs.
         \item[\code{SYSROOT}] The path to the root directory for
         \code{DEPEND} type dependencies.
         See \featureref{sysroot}.
-        \item[\code{ESYSROOT}] The concatenation of the \code{SYSROOT}
-        and \code{EPREFIX} paths, for convenience.
+        \item[\code{ESYSROOT}] The concatenation of \code{SYSROOT} and
+        the applicable offset-prefix. See \featureref{sysroot}.
         \item[\code{BROOT}] The prefixed root directory path for
         \code{BDEPEND} type dependencies, typically executable build
         tools.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-08-06 16:12 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-08-06 16:12 UTC (permalink / raw
  To: gentoo-commits

commit:     29644801858ad0fffc23f1dcfc444e2da827ed64
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jul 14 16:09:47 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jul 14 16:09:47 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=29644801

glossary: The term "slave repository" is not used anywhere else.

So we need not explain it in the glossary.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 glossary.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/glossary.tex b/glossary.tex
index f8cd376..181febc 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -8,10 +8,10 @@ be immediately obvious.
 \item[qualified package name] A package name along with its associated category. For example,
     \t{app-editors/vim} is a qualified package name.
 \item[stand-alone repository] An (ebuild) repository which is intended to function on its own as the
-    only, or primary, repository on a system. Contrast with \i{slave repository} below.
-\item[slave repository, non-stand-alone repository] An (ebuild) repository which is not complete
-    enough to function on its own, but needs one or more \i{master repositories} to
-    satisfy dependencies and provide repository-level support files. Known in Portage as an overlay.
+    only, or primary, repository on a system. Contrast with \i{non-stand-alone repository} below.
+\item[non-stand-alone repository] An (ebuild) repository which is not complete enough to function
+    on its own, but needs one or more \i{master repositories} to satisfy dependencies and provide
+    repository-level support files. Known in Portage as an overlay.
 \item[master repository] See above.
 
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-09-21 19:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-09-21 19:25 UTC (permalink / raw
  To: gentoo-commits

commit:     c5013f3b60593f9155b0cd4beaba347c82e370d5
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 21 19:13:59 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 21 19:13:59 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c5013f3b

pms.cls: Change line length to reflect what is actually used.

fill-column (Emacs) and tw (Vim) set to 80.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index a5e3084..f01ace6 100644
--- a/pms.cls
+++ b/pms.cls
@@ -175,7 +175,7 @@
     }%
 }
 
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
+% vim: set filetype=tex fileencoding=utf8 et tw=80 spell spelllang=en :
 
 %%% Local Variables:
 %%% mode: latex
@@ -183,5 +183,5 @@
 %%% LaTeX-indent-level: 4
 %%% LaTeX-item-indent: 0
 %%% TeX-brace-indent-level: 4
-%%% fill-column: 100
+%%% fill-column: 80
 %%% End:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-09-21 19:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-09-21 19:25 UTC (permalink / raw
  To: gentoo-commits

commit:     78b49d4523e4f36a256d6c160a197346ed910f3f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Sep 16 15:48:39 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 21 19:23:18 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=78b49d45

ebuild-vars.tex: Allow other tokens in PROPERTIES.

The spec allows other tokens for RESTRICT but not for PROPERTIES.
There appears to be not good reason to treat the variables differently
in this respect.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 476ea13..cd03882 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -227,7 +227,7 @@ The following tokens are permitted inside \t{PROPERTIES}:
     installed.
 \end{description}
 
-Ebuilds may not rely upon any token being supported.
+Package managers may recognise other tokens. Ebuilds may not rely upon any token being supported.
 
 \subsection{Restrict}
 \label{sec:restrict}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-09-21 19:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-09-21 19:25 UTC (permalink / raw
  To: gentoo-commits

commit:     06cfb9db11d6708fd0fe911bbceaa45e93d18dbc
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 21 19:19:04 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 21 19:19:04 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=06cfb9db

pms.tex: Fix an \includepdf warning in DVI mode.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pms.tex b/pms.tex
index f9b2460..e2e434c 100644
--- a/pms.tex
+++ b/pms.tex
@@ -86,12 +86,11 @@
 
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
     \chapter{Desk Reference}
-
     \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
 }{%
     % Make sure that the cheat sheet starts on an odd page
     \clearpage\ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
-    \includepdf[pages=-,landscape,turn=false,%
+    \includepdf[pages=-,landscape,turn=false,lastpage=2,%
         addtotoc={1,chapter,0,Desk Reference,cheatsheet}]{eapi-cheatsheet}
 }
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2020-09-21 19:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-09-21 19:25 UTC (permalink / raw
  To: gentoo-commits

commit:     9d681052334b8b581e0c1218a0fc0c4f6897d091
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 21 19:13:22 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 21 19:13:22 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9d681052

pms.cls: Remove some tex4ht conditionals.

mathptmx.sty and helvet.sty work just fine. (Apparently Helvetica
isn't used, but leave the package in place.)

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index 88dbb89..a5e3084 100644
--- a/pms.cls
+++ b/pms.cls
@@ -11,6 +11,7 @@
 \ProcessOptions\relax
 \LoadClass{\ClassToLoad}
 \PassOptionsToPackage{T1}{fontenc}
+\PassOptionsToPackage{scaled=0.92}{helvet}
 \PassOptionsToPackage{orig,english}{isodate}
 % Dimensions of the text area. Define a narrow left margin to make
 % room for margin notes in the right (outer) margin
@@ -28,6 +29,8 @@
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
     fontenc,    % Load extended font sets
+    mathptmx,   % Use Postscript fonts: Times ...
+    helvet,     % ... and Helvetica
     isodate,    % Date formatting and conversions
     geometry,   % Set page layout
     inputenc,   % Allow input methods apart from ASCII
@@ -56,10 +59,8 @@
 \newboolean{TEX4HT-HACKS}
 \ifx\HCode\undefined
     \RequirePackage{%
-        mathptmx,
         pdfpages        % Insert whole PDF documents as separate pages
     }
-    \RequirePackage[scaled=.90]{helvet}
     \setboolean{TEX4HT-HACKS}{false}
 \else
     \setboolean{TEX4HT-HACKS}{true}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2020-09-28 18:16 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2020-09-28 18:16 UTC (permalink / raw
  To: gentoo-commits

commit:     c338e3716133ee676b9fcf1252103a855e47831f
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Sep 28 18:14:55 2020 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Sep 28 18:14:55 2020 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c338e371

Revert "pms.cls: Remove some tex4ht conditionals."

The PSNFSS packages cause an issue with missing whitespace between
normal and boldface text in HTML output.

This partially reverts commit 9d681052334b8b581e0c1218a0fc0c4f6897d091.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pms.cls b/pms.cls
index f01ace6..351b3dd 100644
--- a/pms.cls
+++ b/pms.cls
@@ -29,8 +29,6 @@
 % algorithmic and algorithm to be loaded last to avoid failures
 \RequirePackage{%
     fontenc,    % Load extended font sets
-    mathptmx,   % Use Postscript fonts: Times ...
-    helvet,     % ... and Helvetica
     isodate,    % Date formatting and conversions
     geometry,   % Set page layout
     inputenc,   % Allow input methods apart from ASCII
@@ -59,6 +57,8 @@
 \newboolean{TEX4HT-HACKS}
 \ifx\HCode\undefined
     \RequirePackage{%
+        mathptmx,       % Use Postscript fonts: Times ...
+        helvet,         % ... and Helvetica
         pdfpages        % Insert whole PDF documents as separate pages
     }
     \setboolean{TEX4HT-HACKS}{false}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-01-19 20:01 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-01-19 20:01 UTC (permalink / raw
  To: gentoo-commits

commit:     e16c8dc8a5e6aedbbec768e9d1c807e456bd1230
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 16 12:56:41 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 16 12:56:41 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e16c8dc8

pms.cls: Silence hyperref messages

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pms.cls b/pms.cls
index 351b3dd..7fff027 100644
--- a/pms.cls
+++ b/pms.cls
@@ -123,6 +123,10 @@
 \floatname{listing}{Listing}
 \newcommand{\listoflistings}{\listof{listing}{List of Listings}}
 
+% Silence hyperref messages (see hint 11.3 in the hyperref manual)
+\providecommand*{\toclevel@algorithm}{0}
+\providecommand*{\toclevel@listing}{0}
+
 % We always place captions above floats, so redefine vertical spacings
 % Don't use the "caption" package because it interferes with TeX4ht
 \setlength\belowcaptionskip{\abovecaptionskip}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-04-25 20:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-04-25 20:39 UTC (permalink / raw
  To: gentoo-commits

commit:     df255447c59ccff0873134ff58ef629d91a0a715
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Apr 15 08:00:42 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Apr 15 08:00:42 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=df255447

ebuild-env-vars.tex: Clarify wording for profile IUSE injection

Subsume IUSE_REFERENCEABLE and IUSE_EFFECTIVE under a single
conditional, which will clarify that these variables are equal if the
feature is supported.

Also the profile-iuse-inject featurelabel was misplaced (it didn't
cover IUSE_REFERENCEABLE).

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 117a19d..2736423 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -375,12 +375,8 @@ In all cases, the values of \t{IUSE_REFERENCEABLE} and \t{IUSE_EFFECTIVE} are un
 metadata generation.
 
 For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE_REFERENCEABLE} is equal to the calculated \t{IUSE} value. For EAPIs
-where profile defined \t{IUSE} injection is supported, \t{IUSE_REFERENCEABLE} is equal to
-\t{IUSE_EFFECTIVE}.
-
-For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporting profile defined
-\t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values:
+\t{IUSE} injection, \t{IUSE_REFERENCEABLE} is equal to the calculated \t{IUSE} value, and
+\t{IUSE_EFFECTIVE} contains the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.
@@ -390,7 +386,8 @@ For EAPIs listed in table~\ref{tab:profile-iuse-injection-table} as not supporti
 \end{compactitem}
 
 \featurelabel{profile-iuse-inject} For EAPIs listed in table~\ref{tab:profile-iuse-injection-table}
-as supporting profile defined \t{IUSE} injection, \t{IUSE_EFFECTIVE} contains the following values:
+as supporting profile defined \t{IUSE} injection, \t{IUSE_REFERENCEABLE} and \t{IUSE_EFFECTIVE}
+are equal and contain the following values:
 
 \begin{compactitem}
 \item All values in the calculated \t{IUSE} value.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-04-25 20:39 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-04-25 20:39 UTC (permalink / raw
  To: gentoo-commits

commit:     4e97d4a54ce404d8eb076a8368809750f1799023
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 20:23:51 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 20:23:51 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4e97d4a5

pms.cls: Reinstate TeX4ht/hyperref workaround

This had been removed in commit 1a510e7, but apparently it is needed
again with TeX Live 2021.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 32 +++++++++++++++++++++-----------
 1 file changed, 21 insertions(+), 11 deletions(-)

diff --git a/pms.cls b/pms.cls
index 7fff027..a64d7d8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -44,12 +44,16 @@
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents
     float,      % More control over float environments
-    hyperref,   % Support for hyperlinks
     gitinfo2,   % Metadata from git
     algorithm,  %
     algorithmic % Set algorithms
 }
 
+% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
+\g@addto@macro\@documentclasshook{
+    \RequirePackage{hyperref}   % Support for hyperlinks
+}
+
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
     Specification, loaded baseclass: \ClassToLoad\MessageBreak}
 
@@ -99,8 +103,11 @@
 \counterwithout{footnote}{chapter}
 
 % Some shorthands for the lazy ones.
-\renewcommand{\i}[1]{\textit{#1}}
-\renewcommand{\t}[1]{\texttt{#1}}
+% tex4ht workaround: this needs to happen after loading hyperref
+\g@addto@macro\@documentclasshook{
+    \renewcommand{\i}[1]{\textit{#1}}
+    \renewcommand{\t}[1]{\texttt{#1}}
+}
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
@@ -142,14 +149,17 @@
 \setlength\emergencystretch{1em} % was 0
 
 % Define some PDF meta-data.
-\hypersetup{%
-    urlcolor=black,
-    colorlinks=true,
-    citecolor=black,
-    linkcolor=black,
-    pdflang={en},
-    pdfcreator={pdfLaTeX and hyperref},
-    pdfproducer={pdfLaTeX and hyperref},
+% tex4ht workaround: this needs to happen after loading hyperref
+\g@addto@macro\@documentclasshook{
+    \hypersetup{%
+        urlcolor=black,
+        colorlinks=true,
+        citecolor=black,
+        linkcolor=black,
+        pdflang={en},
+        pdfcreator={pdfLaTeX and hyperref},
+        pdfproducer={pdfLaTeX and hyperref},
+    }
 }
 
 % Reads the last commit date from the Git repository and even succeeds


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-04-25 20:47 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-04-25 20:47 UTC (permalink / raw
  To: gentoo-commits

commit:     e864d21375202a7c888930404666849aa3e8e072
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 20:46:01 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 20:46:01 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e864d213

pms.tex: Update copyright years

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index e2e434c..7840252 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2020 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2021 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-04-27  8:31 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-04-27  8:31 UTC (permalink / raw
  To: gentoo-commits

commit:     ad2974244a47995ba0499ef83325ba5238418001
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 21:20:55 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 21:20:55 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ad297424

pms.cls: Do not define \e for \emph

This is only used a few times, so a shorthand is not needed.
(We preally should get rid of \i and \t as well, because redefining
LaTeX internal commands sucks.)

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex       | 2 +-
 dependencies.tex     | 4 ++--
 ebuild-env-state.tex | 2 +-
 ebuild-env-vars.tex  | 2 +-
 ebuild-functions.tex | 2 +-
 introduction.tex     | 4 ++--
 pkg-mgr-commands.tex | 4 ++--
 pms.cls              | 1 -
 profiles.tex         | 2 +-
 tree-layout.tex      | 4 ++--
 10 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 21716d6..3d2ef52 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -52,7 +52,7 @@ DEPEND="
 
 \subsection{CVS versions}
 Portage has very crude support for CVS packages. The package \t{foo} could contain a file named
-\t{foo-cvs.1.2.3.ebuild}. This version would order \e{higher} than any non-CVS version (including
+\t{foo-cvs.1.2.3.ebuild}. This version would order \emph{higher} than any non-CVS version (including
 \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so
 it must not be used.
 

diff --git a/dependencies.tex b/dependencies.tex
index a641014..557ddce 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -377,8 +377,8 @@ Multiple requirements may be combined using commas, e.\,g.\ \t{[first,-second,th
 When multiple requirements are specified, all must match for a successful match.
 
 \featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be
-followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when
-applying the use dependency to a package that does not have the flag in question in
+followed by a \emph{default} specified by either \t{(+)} or \t{(-)}. The former indicates that,
+when applying the use dependency to a package that does not have the flag in question in
 \t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
 the latter, present and disabled.
 

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 34c41c4..a998660 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va
 function earlier in the call sequence must have its value preserved for later functions, including
 functions executed as part of a later uninstall.
 
-\note{\t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
+\note{\t{pkg_pretend} is \emph{not} part of the normal call sequence, and does not take part in
 environment saving.}
 
 Variables that were exported must remain exported in later functions; variables with default

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 2736423..332c3d8 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -421,7 +421,7 @@ installing a package. Details are beyond the scope of this specification.
 
 \featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
 supporting it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and
-\t{pkg_postinst}.  In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
+\t{pkg_postinst}. In addition, it \emph{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
 although ebuild authors should take care to handle binary package creation and installation
 correctly when using it in these phases.
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 3935800..ab3ed9c 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -24,7 +24,7 @@ Ebuilds must not call nor assume the existence of any phase functions.
 
 Some functions may assume that their initial working directory is set to a particular location;
 these are noted below. If no initial working directory is mandated, it may be set to anything and
-the ebuild must not rely upon a particular location for it. The ebuild \e{may} assume that the
+the ebuild must not rely upon a particular location for it. The ebuild \emph{may} assume that the
 initial working directory for any phase is a trusted location that may only be written to by a
 privileged user and group.
 

diff --git a/introduction.tex b/introduction.tex
index 8d1f793..b72acc3 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -5,7 +5,7 @@
 This document aims to fully describe the format of an ebuild repository and the ebuilds therein, as
 well as certain aspects of package manager behaviour required to support such a repository.
 
-This document is \e{not} designed to be an introduction to ebuild development. Prior knowledge of
+This document is \emph{not} designed to be an introduction to ebuild development. Prior knowledge of
 ebuild creation and an understanding of how the package management system works is assumed; certain
 less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}.
 
@@ -28,7 +28,7 @@ incompatibilities with any particular repository.
 \section{Reporting Issues}
 
 Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
-Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI} and the default
+Gentoo Bugzilla using product \i{Gentoo Hosted Projects}, component \i{PMS/EAPI} and the default
 assignee. There should be one bug per issue, and one issue per bug.
 
 Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b807117..59edc1c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -184,7 +184,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     a failure message provided in its first and only argument, and then aborts the build process.
 
     \featurelabel{subshell-die} In EAPIs listed in table~\ref{tab:die-properties} as not providing
-    subshell support, \t{die} is \e{not} guaranteed to work correctly if called from a subshell
+    subshell support, \t{die} is \emph{not} guaranteed to work correctly if called from a subshell
     environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
     (indicating failure), calls \t{die}, passing any parameters to it.
@@ -1027,7 +1027,7 @@ has returned.
     \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
         table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
         interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
-        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+        listed as \emph{not} supporting such paths, \t{unpack} shall abort the build process.
     \end{compactitem}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format

diff --git a/pms.cls b/pms.cls
index a64d7d8..cbe9470 100644
--- a/pms.cls
+++ b/pms.cls
@@ -108,7 +108,6 @@
     \renewcommand{\i}[1]{\textit{#1}}
     \renewcommand{\t}[1]{\texttt{#1}}
 }
-\newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
 % Because we are lazy, we define a table environment to fulfil our needs

diff --git a/profiles.tex b/profiles.tex
index 76c9278..a3e666e 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -40,7 +40,7 @@ If a profile contains a file named \t{deprecated}, it is treated as such. The fi
 file should contain the path from the \t{profiles} directory of the repository to a valid profile
 that is the recommended upgrade path from this profile. The remainder of the file can contain any
 text, which may be displayed to users using this profile by the package manager. This file is not
-inherited---profiles which inherit from a deprecated profile are \e{not} deprecated.
+inherited---profiles which inherit from a deprecated profile are \emph{not} deprecated.
 
 This file must not contain comments or make use of line continuations.
 

diff --git a/tree-layout.tex b/tree-layout.tex
index 80d70d6..138e533 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -35,7 +35,7 @@ the category. Each category directory shall contain:
 \end{compactitem}
 
 Category directories may contain additional files, whose purpose is not covered by this
-specification. Additional directories that are not for a package may \e{not} be present, to avoid
+specification. Additional directories that are not for a package may \emph{not} be present, to avoid
 conflicts with package name directories; an exception is made for filesystem components whose name
 starts with a dot, which the package manager must ignore, and for any directory named \t{CVS}.
 
@@ -120,7 +120,7 @@ manager must ignore any files in this directory that it does not recognise.
 \item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND}
     variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable
     name, in lowercase, whose possible values the file describes. The format of each file is as for
-    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \e{not}
+    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \emph{not}
     included as a prefix here.
 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-04-27 18:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-04-27 18:57 UTC (permalink / raw
  To: gentoo-commits

commit:     ed196f4c419e7fb57223f9d8fd0947fd55d9fa4a
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 21:20:55 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Apr 25 21:20:55 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ed196f4c

pms.cls: Do not define \e for \emph

This is only used a few times, so a shorthand is not needed.
(We really should get rid of \i and \t as well, because redefining
LaTeX internal commands sucks.)

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex       | 2 +-
 dependencies.tex     | 4 ++--
 ebuild-env-state.tex | 2 +-
 ebuild-env-vars.tex  | 2 +-
 ebuild-functions.tex | 2 +-
 introduction.tex     | 4 ++--
 pkg-mgr-commands.tex | 4 ++--
 pms.cls              | 1 -
 profiles.tex         | 2 +-
 tree-layout.tex      | 4 ++--
 10 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 21716d6..3d2ef52 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -52,7 +52,7 @@ DEPEND="
 
 \subsection{CVS versions}
 Portage has very crude support for CVS packages. The package \t{foo} could contain a file named
-\t{foo-cvs.1.2.3.ebuild}. This version would order \e{higher} than any non-CVS version (including
+\t{foo-cvs.1.2.3.ebuild}. This version would order \emph{higher} than any non-CVS version (including
 \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so
 it must not be used.
 

diff --git a/dependencies.tex b/dependencies.tex
index a641014..557ddce 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -377,8 +377,8 @@ Multiple requirements may be combined using commas, e.\,g.\ \t{[first,-second,th
 When multiple requirements are specified, all must match for a successful match.
 
 \featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be
-followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when
-applying the use dependency to a package that does not have the flag in question in
+followed by a \emph{default} specified by either \t{(+)} or \t{(-)}. The former indicates that,
+when applying the use dependency to a package that does not have the flag in question in
 \t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
 the latter, present and disabled.
 

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 34c41c4..a998660 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va
 function earlier in the call sequence must have its value preserved for later functions, including
 functions executed as part of a later uninstall.
 
-\note{\t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
+\note{\t{pkg_pretend} is \emph{not} part of the normal call sequence, and does not take part in
 environment saving.}
 
 Variables that were exported must remain exported in later functions; variables with default

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 2736423..332c3d8 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -421,7 +421,7 @@ installing a package. Details are beyond the scope of this specification.
 
 \featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
 supporting it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and
-\t{pkg_postinst}.  In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
+\t{pkg_postinst}. In addition, it \emph{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
 although ebuild authors should take care to handle binary package creation and installation
 correctly when using it in these phases.
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 3935800..ab3ed9c 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -24,7 +24,7 @@ Ebuilds must not call nor assume the existence of any phase functions.
 
 Some functions may assume that their initial working directory is set to a particular location;
 these are noted below. If no initial working directory is mandated, it may be set to anything and
-the ebuild must not rely upon a particular location for it. The ebuild \e{may} assume that the
+the ebuild must not rely upon a particular location for it. The ebuild \emph{may} assume that the
 initial working directory for any phase is a trusted location that may only be written to by a
 privileged user and group.
 

diff --git a/introduction.tex b/introduction.tex
index 8d1f793..b72acc3 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -5,7 +5,7 @@
 This document aims to fully describe the format of an ebuild repository and the ebuilds therein, as
 well as certain aspects of package manager behaviour required to support such a repository.
 
-This document is \e{not} designed to be an introduction to ebuild development. Prior knowledge of
+This document is \emph{not} designed to be an introduction to ebuild development. Prior knowledge of
 ebuild creation and an understanding of how the package management system works is assumed; certain
 less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}.
 
@@ -28,7 +28,7 @@ incompatibilities with any particular repository.
 \section{Reporting Issues}
 
 Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
-Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI} and the default
+Gentoo Bugzilla using product \i{Gentoo Hosted Projects}, component \i{PMS/EAPI} and the default
 assignee. There should be one bug per issue, and one issue per bug.
 
 Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b807117..59edc1c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -184,7 +184,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     a failure message provided in its first and only argument, and then aborts the build process.
 
     \featurelabel{subshell-die} In EAPIs listed in table~\ref{tab:die-properties} as not providing
-    subshell support, \t{die} is \e{not} guaranteed to work correctly if called from a subshell
+    subshell support, \t{die} is \emph{not} guaranteed to work correctly if called from a subshell
     environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
     (indicating failure), calls \t{die}, passing any parameters to it.
@@ -1027,7 +1027,7 @@ has returned.
     \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
         table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
         interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
-        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+        listed as \emph{not} supporting such paths, \t{unpack} shall abort the build process.
     \end{compactitem}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format

diff --git a/pms.cls b/pms.cls
index a64d7d8..cbe9470 100644
--- a/pms.cls
+++ b/pms.cls
@@ -108,7 +108,6 @@
     \renewcommand{\i}[1]{\textit{#1}}
     \renewcommand{\t}[1]{\texttt{#1}}
 }
-\newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
 % Because we are lazy, we define a table environment to fulfil our needs

diff --git a/profiles.tex b/profiles.tex
index 76c9278..a3e666e 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -40,7 +40,7 @@ If a profile contains a file named \t{deprecated}, it is treated as such. The fi
 file should contain the path from the \t{profiles} directory of the repository to a valid profile
 that is the recommended upgrade path from this profile. The remainder of the file can contain any
 text, which may be displayed to users using this profile by the package manager. This file is not
-inherited---profiles which inherit from a deprecated profile are \e{not} deprecated.
+inherited---profiles which inherit from a deprecated profile are \emph{not} deprecated.
 
 This file must not contain comments or make use of line continuations.
 

diff --git a/tree-layout.tex b/tree-layout.tex
index 80d70d6..138e533 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -35,7 +35,7 @@ the category. Each category directory shall contain:
 \end{compactitem}
 
 Category directories may contain additional files, whose purpose is not covered by this
-specification. Additional directories that are not for a package may \e{not} be present, to avoid
+specification. Additional directories that are not for a package may \emph{not} be present, to avoid
 conflicts with package name directories; an exception is made for filesystem components whose name
 starts with a dot, which the package manager must ignore, and for any directory named \t{CVS}.
 
@@ -120,7 +120,7 @@ manager must ignore any files in this directory that it does not recognise.
 \item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND}
     variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable
     name, in lowercase, whose possible values the file describes. The format of each file is as for
-    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \e{not}
+    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \emph{not}
     included as a prefix here.
 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-05-01 10:28 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-01 10:28 UTC (permalink / raw
  To: gentoo-commits

commit:     aede3621e7208e29d65d0cf1af656ca2ac0c528b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 20:23:51 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 30 16:24:30 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=aede3621

pms.cls: Reinstate TeX4ht/hyperref workaround

This had been removed in commit 1a510e7, but apparently it is needed
again with TeX Live 2021.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 40 ++++++++++++++++++++++++++--------------
 1 file changed, 26 insertions(+), 14 deletions(-)

diff --git a/pms.cls b/pms.cls
index 7fff027..d7c6ed8 100644
--- a/pms.cls
+++ b/pms.cls
@@ -44,10 +44,16 @@
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents
     float,      % More control over float environments
-    hyperref,   % Support for hyperlinks
-    gitinfo2,   % Metadata from git
-    algorithm,  %
-    algorithmic % Set algorithms
+    gitinfo2    % Metadata from git
+}
+
+% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
+\g@addto@macro\@documentclasshook{
+    \RequirePackage{%
+        hyperref,       % Support for hyperlinks
+        algorithm,      %
+        algorithmic     % Set algorithms
+    }
 }
 
 \ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
@@ -99,8 +105,11 @@
 \counterwithout{footnote}{chapter}
 
 % Some shorthands for the lazy ones.
-\renewcommand{\i}[1]{\textit{#1}}
-\renewcommand{\t}[1]{\texttt{#1}}
+% tex4ht workaround: this needs to happen after loading hyperref
+\g@addto@macro\@documentclasshook{
+    \renewcommand{\i}[1]{\textit{#1}}
+    \renewcommand{\t}[1]{\texttt{#1}}
+}
 \newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
@@ -142,14 +151,17 @@
 \setlength\emergencystretch{1em} % was 0
 
 % Define some PDF meta-data.
-\hypersetup{%
-    urlcolor=black,
-    colorlinks=true,
-    citecolor=black,
-    linkcolor=black,
-    pdflang={en},
-    pdfcreator={pdfLaTeX and hyperref},
-    pdfproducer={pdfLaTeX and hyperref},
+% tex4ht workaround: this needs to happen after loading hyperref
+\g@addto@macro\@documentclasshook{
+    \hypersetup{%
+        urlcolor=black,
+        colorlinks=true,
+        citecolor=black,
+        linkcolor=black,
+        pdflang={en},
+        pdfcreator={pdfLaTeX and hyperref},
+        pdfproducer={pdfLaTeX and hyperref},
+    }
 }
 
 % Reads the last commit date from the Git repository and even succeeds


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-05-01 10:28 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-01 10:28 UTC (permalink / raw
  To: gentoo-commits

commit:     224ba73717ad9dac063156290a15afdecf9a55d9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 20:46:01 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 30 16:24:30 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=224ba737

pms.tex: Update copyright years

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index e2e434c..7840252 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2020 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2021 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This document is released under the Creative Commons Attribution-ShareAlike 3.0 Licence. The


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2021-05-01 10:28 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-01 10:28 UTC (permalink / raw
  To: gentoo-commits

commit:     54330c67cb6374e0bd704ea775871161ba7fdf72
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr 25 21:20:55 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 30 16:24:30 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=54330c67

pms.cls: Do not define \e for \emph

This is only used a few times, so a shorthand is not needed.
(We really should get rid of \i and \t as well, because redefining
LaTeX internal commands sucks.)

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex       | 2 +-
 dependencies.tex     | 4 ++--
 ebuild-env-state.tex | 2 +-
 ebuild-env-vars.tex  | 2 +-
 ebuild-functions.tex | 2 +-
 introduction.tex     | 4 ++--
 pkg-mgr-commands.tex | 4 ++--
 pms.cls              | 1 -
 profiles.tex         | 2 +-
 tree-layout.tex      | 4 ++--
 10 files changed, 13 insertions(+), 14 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 21716d6..3d2ef52 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -52,7 +52,7 @@ DEPEND="
 
 \subsection{CVS versions}
 Portage has very crude support for CVS packages. The package \t{foo} could contain a file named
-\t{foo-cvs.1.2.3.ebuild}. This version would order \e{higher} than any non-CVS version (including
+\t{foo-cvs.1.2.3.ebuild}. This version would order \emph{higher} than any non-CVS version (including
 \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so
 it must not be used.
 

diff --git a/dependencies.tex b/dependencies.tex
index a641014..557ddce 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -377,8 +377,8 @@ Multiple requirements may be combined using commas, e.\,g.\ \t{[first,-second,th
 When multiple requirements are specified, all must match for a successful match.
 
 \featurelabel{use-dep-defaults} In a 4-style use dependency, the flag name may immediately be
-followed by a \e{default} specified by either \t{(+)} or \t{(-)}. The former indicates that, when
-applying the use dependency to a package that does not have the flag in question in
+followed by a \emph{default} specified by either \t{(+)} or \t{(-)}. The former indicates that,
+when applying the use dependency to a package that does not have the flag in question in
 \t{IUSE_REFERENCEABLE}, the package manager shall behave as if the flag were present and enabled;
 the latter, present and disabled.
 

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
index 34c41c4..a998660 100644
--- a/ebuild-env-state.tex
+++ b/ebuild-env-state.tex
@@ -5,7 +5,7 @@ Exported and default scope variables are saved between functions. A non-local va
 function earlier in the call sequence must have its value preserved for later functions, including
 functions executed as part of a later uninstall.
 
-\note{\t{pkg_pretend} is \e{not} part of the normal call sequence, and does not take part in
+\note{\t{pkg_pretend} is \emph{not} part of the normal call sequence, and does not take part in
 environment saving.}
 
 Variables that were exported must remain exported in later functions; variables with default

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 2736423..332c3d8 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -421,7 +421,7 @@ installing a package. Details are beyond the scope of this specification.
 
 \featurelabel{replace-version-vars} In EAPIs listed in table~\ref{tab:added-env-vars-table} as
 supporting it, the \t{REPLACING_VERSIONS} variable shall be defined in \t{pkg_preinst} and
-\t{pkg_postinst}.  In addition, it \e{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
+\t{pkg_postinst}. In addition, it \emph{may} be defined in \t{pkg_pretend} and \t{pkg_setup},
 although ebuild authors should take care to handle binary package creation and installation
 correctly when using it in these phases.
 

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 3935800..ab3ed9c 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -24,7 +24,7 @@ Ebuilds must not call nor assume the existence of any phase functions.
 
 Some functions may assume that their initial working directory is set to a particular location;
 these are noted below. If no initial working directory is mandated, it may be set to anything and
-the ebuild must not rely upon a particular location for it. The ebuild \e{may} assume that the
+the ebuild must not rely upon a particular location for it. The ebuild \emph{may} assume that the
 initial working directory for any phase is a trusted location that may only be written to by a
 privileged user and group.
 

diff --git a/introduction.tex b/introduction.tex
index 8d1f793..b72acc3 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -5,7 +5,7 @@
 This document aims to fully describe the format of an ebuild repository and the ebuilds therein, as
 well as certain aspects of package manager behaviour required to support such a repository.
 
-This document is \e{not} designed to be an introduction to ebuild development. Prior knowledge of
+This document is \emph{not} designed to be an introduction to ebuild development. Prior knowledge of
 ebuild creation and an understanding of how the package management system works is assumed; certain
 less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}.
 
@@ -28,7 +28,7 @@ incompatibilities with any particular repository.
 \section{Reporting Issues}
 
 Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
-Gentoo Bugzilla using product \e{Gentoo Hosted Projects}, component \e{PMS/EAPI} and the default
+Gentoo Bugzilla using product \i{Gentoo Hosted Projects}, component \i{PMS/EAPI} and the default
 assignee. There should be one bug per issue, and one issue per bug.
 
 Patches (in \t{git format-patch} form if possible) may be submitted either via Bugzilla or to the

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b807117..59edc1c 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -184,7 +184,7 @@ completing. Ebuilds must not run any of these commands once the current phase fu
     a failure message provided in its first and only argument, and then aborts the build process.
 
     \featurelabel{subshell-die} In EAPIs listed in table~\ref{tab:die-properties} as not providing
-    subshell support, \t{die} is \e{not} guaranteed to work correctly if called from a subshell
+    subshell support, \t{die} is \emph{not} guaranteed to work correctly if called from a subshell
     environment.
 \item[assert] Checks the value of the shell's pipe status variable, and if any component is non-zero
     (indicating failure), calls \t{die}, passing any parameters to it.
@@ -1027,7 +1027,7 @@ has returned.
     \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
         table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is
         interpreted as a literal path (absolute, or relative to the working directory); for EAPIs
-        listed as \e{not} supporting such paths, \t{unpack} shall abort the build process.
+        listed as \emph{not} supporting such paths, \t{unpack} shall abort the build process.
     \end{compactitem}
 
     Any unrecognised file format shall be skipped silently. If unpacking a supported file format

diff --git a/pms.cls b/pms.cls
index d7c6ed8..ee0d60f 100644
--- a/pms.cls
+++ b/pms.cls
@@ -110,7 +110,6 @@
     \renewcommand{\i}[1]{\textit{#1}}
     \renewcommand{\t}[1]{\texttt{#1}}
 }
-\newcommand{\e}[1]{\emph{#1}}
 \newcommand{\note}[1]{\begin{trivlist}\item\textbf{Note:} #1\end{trivlist}}
 
 % Because we are lazy, we define a table environment to fulfil our needs

diff --git a/profiles.tex b/profiles.tex
index 76c9278..a3e666e 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -40,7 +40,7 @@ If a profile contains a file named \t{deprecated}, it is treated as such. The fi
 file should contain the path from the \t{profiles} directory of the repository to a valid profile
 that is the recommended upgrade path from this profile. The remainder of the file can contain any
 text, which may be displayed to users using this profile by the package manager. This file is not
-inherited---profiles which inherit from a deprecated profile are \e{not} deprecated.
+inherited---profiles which inherit from a deprecated profile are \emph{not} deprecated.
 
 This file must not contain comments or make use of line continuations.
 

diff --git a/tree-layout.tex b/tree-layout.tex
index 80d70d6..138e533 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -35,7 +35,7 @@ the category. Each category directory shall contain:
 \end{compactitem}
 
 Category directories may contain additional files, whose purpose is not covered by this
-specification. Additional directories that are not for a package may \e{not} be present, to avoid
+specification. Additional directories that are not for a package may \emph{not} be present, to avoid
 conflicts with package name directories; an exception is made for filesystem components whose name
 starts with a dot, which the package manager must ignore, and for any directory named \t{CVS}.
 
@@ -120,7 +120,7 @@ manager must ignore any files in this directory that it does not recognise.
 \item[desc/] This directory contains files analogous to \t{use.desc} for the various \t{USE_EXPAND}
     variables. Each file in it is named \t{<varname>.desc}, where \t{<varname>} is the variable
     name, in lowercase, whose possible values the file describes. The format of each file is as for
-    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \e{not}
+    \t{use.desc}, described in section~\ref{sec:use.desc}. The \t{USE_EXPAND} name is \emph{not}
     included as a prefix here.
 \item[updates/] This directory is described in section~\ref{sec:updates-dir}.
 \end{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-19 15:38 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2021-05-20 18:55 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-20 18:55 UTC (permalink / raw
  To: gentoo-commits

commit:     4ebd8cb10bcf73fba3bbf06e9aa8370fcf692538
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 19:34:16 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue May 18 19:34:16 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4ebd8cb1

pms.cls: Require version 1 of parskip.sty

Newer versions change the spacing after headings which causes
different page breaks.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index ee0d60f..1a09407 100644
--- a/pms.cls
+++ b/pms.cls
@@ -27,6 +27,7 @@
 \PassOptionsToPackage{local}{gitinfo2}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
+\RequirePackage{parskip}[=v1] % Space between paragraphs instead of indentation
 \RequirePackage{%
     fontenc,    % Load extended font sets
     isodate,    % Date formatting and conversions
@@ -39,7 +40,6 @@
     lscape,     % Rotating pages
     marginnote, % Typeset a paragraph in the page margin
     paralist,   % Additional list environments
-    parskip,    % Space between paragraphs instead of indentation
     underscore, % Allow simple _ instead of \_
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-22  6:36 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2021-05-24  8:53 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-24  8:53 UTC (permalink / raw
  To: gentoo-commits

commit:     3e558f678cf36228c51eaf36d59a48577c3e25e3
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 19:43:12 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri May 21 04:42:39 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3e558f67

Fix bad page breaks before lists

Taken from https://tex.stackexchange.com/a/2645.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 commands.tex              | 1 +
 dependencies.tex          | 4 ++--
 ebuild-env-invariancy.tex | 4 ++--
 ebuild-env-vars.tex       | 2 +-
 ebuild-functions.tex      | 2 +-
 ebuild-vars.tex           | 8 ++++----
 pkg-mgr-commands.tex      | 3 ++-
 pms.cls                   | 3 +++
 tree-layout.tex           | 4 +++-
 9 files changed, 19 insertions(+), 12 deletions(-)

diff --git a/commands.tex b/commands.tex
index 1733ebd..799a20c 100644
--- a/commands.tex
+++ b/commands.tex
@@ -21,6 +21,7 @@ dependencies must be used to ensure their presence.
 \label{sec:guaranteed-system-commands}
 
 The following commands must always be available in the ebuild environment:
+\nobreakpar
 \begin{compactitem}
 \item All builtin commands in GNU bash, version as listed in table~\ref{tab:bash-version}.
 \item \t{sed} must be available, and must support all forms of invocations valid for GNU sed

diff --git a/dependencies.tex b/dependencies.tex
index 557ddce..67855f5 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -330,7 +330,7 @@ delimited by a \t{/} character.
 
 \featurelabel{slot-operator-deps} An operator slot dependency consists of a colon followed by one of
 the following operators:
-
+\nobreakpar
 \begin{description}
 \item[*] Indicates that any slot value is acceptable. In addition, for runtime dependencies,
     indicates that the package will not break if the matched package is uninstalled and replaced by
@@ -358,7 +358,7 @@ the equals slot operator inside \t{PDEPEND} or inside any-of dependency specific
 \label{sec:use-dep}
 
 A 2-style or 4-style use dependency consists of one of the following:
-
+\nobreakpar
 \begin{description}
 \item[{[opt]}] The flag must be enabled.
 \item[{[opt=]}] The flag must be enabled if the flag is enabled for the package with the

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
index cc95a2b..9484103 100644
--- a/ebuild-env-invariancy.tex
+++ b/ebuild-env-invariancy.tex
@@ -1,7 +1,7 @@
 \section{The State of the System Between Functions}
 
 For the sake of this section:
-
+\nobreakpar
 \begin{compactitem}
 \item Variancy is any package manager action that modifies either
     \t{ROOT} or \t{/} in any way that isn't merely a simple addition of
@@ -14,7 +14,7 @@ For the sake of this section:
 \end{compactitem}
 
 The following exclusivity and invariancy requirements are mandated:
-
+\nobreakpar
 \begin{compactitem}
 \item No variancy shall be introduced at any point between a package's
     \t{pkg_setup} being started up to the point that that package is

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 332c3d8..006b8e4 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -358,7 +358,7 @@ table~\ref{tab:locale-settings}.
 \label{sec:use-iuse-handling}
 
 This section discusses the handling of four variables:
-
+\nobreakpar
 \begin{description}
 \item[IUSE] is the variable calculated from the \t{IUSE} values defined in ebuilds and eclasses.
 \item[IUSE_REFERENCEABLE] is a variable calculated from \t{IUSE} and a variety of other sources

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index ab3ed9c..4e691c5 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -479,7 +479,7 @@ when in the phase in question.
 \section{Call Order}
 
 The call order for installing a package is:
-
+\nobreakpar
 \begin{compactitem}
 \item \t{pkg_pretend} (only for EAPIs listed in table~\ref{tab:pkg-pretend-table}), which is called
     outside of the normal call order process.

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index cd03882..fca8565 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -24,7 +24,7 @@ variable data.
 \label{sec:mandatory-vars}
 
 All ebuilds must define at least the following variables:
-
+\nobreakpar
 \begin{description}
 \item[DESCRIPTION] A short human-readable description of the package's purpose. May be defined by an
     eclass. Must not be empty.
@@ -44,7 +44,7 @@ All ebuilds must define at least the following variables:
 \label{sec:optional-vars}
 
 Ebuilds may define any of the following variables:
-
+\nobreakpar
 \begin{description}
 \item[EAPI] The EAPI\@. See below in section~\ref{sec:eapi}.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
@@ -220,7 +220,7 @@ It is an error for a flag to be used if it is not included in \t{IUSE_EFFECTIVE}
 \label{sec:properties}
 
 The following tokens are permitted inside \t{PROPERTIES}:
-
+\nobreakpar
 \begin{description}
 \item[interactive] The package may require interaction with the user via the tty.
 \item[live] The package uses ``live'' source code that may vary each time that the package is
@@ -233,7 +233,7 @@ Package managers may recognise other tokens. Ebuilds may not rely upon any token
 \label{sec:restrict}
 
 The following tokens are permitted inside \t{RESTRICT}:
-
+\nobreakpar
 \begin{description}
 \item[mirror] The package's \t{SRC_URI} entries may not be mirrored, and mirrors should not be
     checked when fetching.

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 59edc1c..bc6d1ac 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -16,6 +16,7 @@ a failure shall either result in a non-zero exit status or abort the build proce
 table~\ref{tab:commands-die-table}.
 
 The following commands affect this behaviour:
+\nobreakpar
 \begin{description}
 \item[nonfatal] \featurelabel{nonfatal} Takes one or more arguments and executes them as a command,
     preserving the exit status. If this results in a command being called that would normally abort
@@ -910,7 +911,7 @@ table~\ref{tab:use-list-strictness}.
 
 \subsection{Text list functions}
 These functions check whitespace-separated lists for a particular value.
-
+\nobreakpar
 \begin{description}
 \item[has] Returns shell true (0) if the first argument (a word) is found in the list of subsequent
     arguments, false otherwise. Guaranteed quiet.

diff --git a/pms.cls b/pms.cls
index 1a09407..2e2e9bf 100644
--- a/pms.cls
+++ b/pms.cls
@@ -131,6 +131,9 @@
 \floatname{listing}{Listing}
 \newcommand{\listoflistings}{\listof{listing}{List of Listings}}
 
+% Prevent page break before a list
+\newcommand{\nobreakpar}{\par\nobreak\@afterheading}
+
 % Silence hyperref messages (see hint 11.3 in the hyperref manual)
 \providecommand*{\toclevel@algorithm}{0}
 \providecommand*{\toclevel@listing}{0}

diff --git a/tree-layout.tex b/tree-layout.tex
index 138e533..719b489 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -8,6 +8,7 @@ differently from normal.
 \section{Top Level}
 
 An ebuild repository shall occupy one directory on disk, with the following subdirectories:
+\nobreakpar
 \begin{compactitem}
 \item One directory per category, whose name shall be the name of the category. The layout of
     these directories shall be as described in section~\ref{sec:category-dirs}.
@@ -47,6 +48,7 @@ a package manager may treat an empty category as a category that does not exist)
 \label{sec:package-dirs}
 
 A package directory contains the following:
+\nobreakpar
 \begin{compactitem}
 \item Zero or more ebuilds. These are as described in chapter~\ref{ch:ebuild-format} and others.
 \item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for
@@ -151,7 +153,7 @@ status. Each line has the format:
 \end{verbatim}
 
 Where:
-
+\nobreakpar
 \begin{compactitem}
 \item \t{<keyword>} is the default keyword for the profile and the \t{ARCH} for which the profile is
     valid.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-24  8:54 [gentoo-commits] proj/pms:retroactive " Ulrich Müller
@ 2021-05-24  8:53 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-24  8:53 UTC (permalink / raw
  To: gentoo-commits

commit:     0db12c169b7f4bfd773792199cff0081846828c6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 23 09:53:12 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 23 09:53:12 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0db12c16

pms.cls: Specify \raggedbottom also in twoside mode

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/pms.cls b/pms.cls
index 2e2e9bf..a41d96c 100644
--- a/pms.cls
+++ b/pms.cls
@@ -152,6 +152,10 @@
 \setlength\hfuzz{0.2pt}          % was 0.1pt
 \setlength\emergencystretch{1em} % was 0
 
+% Don't add extra vertical space, to avoid underfull boxes. Only affects
+% two-sided layout, for one-sided it is already the default
+\raggedbottom
+
 % Define some PDF meta-data.
 % tex4ht workaround: this needs to happen after loading hyperref
 \g@addto@macro\@documentclasshook{


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-24 10:35 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2021-05-27 16:43 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-27 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     897ea77dc60e125899b440496d75011e8ae18742
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May 18 22:45:12 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 23 09:54:20 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=897ea77d

Clarify that updates files are processed in no particular order

Bug: https://bugs.gentoo.org/296713#c14
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 tree-layout.tex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/tree-layout.tex b/tree-layout.tex
index 719b489..fdf4b65 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -223,6 +223,9 @@ The second form instructs the package manager that any currently installed packa
 package dependency specification \t{spec} whose \t{SLOT} is set to \t{slot1} should have it updated
 to \t{slot2}.
 
+It is unspecified in what order the files in the \t{updates} directory are processed. Lines within
+each file are processed in ascending order.
+
 Any name that has appeared as the origin of a move must not be reused in the future. Any slot
 that has appeared as the origin of a slot move may not be used by packages matching the spec of
 that slot move in the future.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2021-05-24 10:35 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
@ 2021-05-27 16:43 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-05-27 16:43 UTC (permalink / raw
  To: gentoo-commits

commit:     e8a781295a5ea78570c5f186317a7cf4d5ae6758
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed May 19 14:54:00 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun May 23 09:54:20 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e8a78129

Recognise "test_network" as token in PROPERTIES

This was originally proposed as a RESTRICT token for EAPI 8, but
implementing it retroactively in PROPERTIES (where it is optional
from the spec's point of view) appears to be more feasible.

Bug: https://bugs.gentoo.org/553696
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index fca8565..bbd286f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -225,6 +225,8 @@ The following tokens are permitted inside \t{PROPERTIES}:
 \item[interactive] The package may require interaction with the user via the tty.
 \item[live] The package uses ``live'' source code that may vary each time that the package is
     installed.
+\item[test_network] The package manager may run tests that require an internet connection, even if
+    the ebuild has \t{RESTRICT=test}.
 \end{description}
 
 Package managers may recognise other tokens. Ebuilds may not rely upon any token being supported.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-06-13 19:19 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-06-13 19:19 UTC (permalink / raw
  To: gentoo-commits

commit:     06af57dc10ba883707b8841c4ddd9817437c650d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 13 19:15:30 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 13 19:15:30 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=06af57dc

Merge branch 'eapi-8'

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 commands.tex          |   4 +-
 dependencies.tex      |  49 +++++----
 eapi-cheatsheet.tex   | 210 ++++++++++++++++++++++++--------------
 eapi-differences.tex  | 239 ++++++++++++++++++++++++++++----------------
 eapis.tex             |  22 +---
 ebuild-env-vars.tex   |  29 +++---
 ebuild-format.tex     |   5 +-
 ebuild-functions.tex  | 233 +++++++++++++++++++++++--------------------
 ebuild-vars.tex       |  39 +++++---
 eclasses.tex          |  27 ++++-
 merge.tex             |   4 +-
 metadata-cache.tex    |   2 +
 pkg-mgr-commands.tex  | 271 +++++++++++++++++++++++++++++++++++---------------
 pms.tex               |   9 +-
 profile-variables.tex |   8 +-
 profiles.tex          |  12 +--
 tree-layout.tex       |  29 ++++--
 17 files changed, 753 insertions(+), 439 deletions(-)


^ permalink raw reply	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-06-17 20:32 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-06-17 20:32 UTC (permalink / raw
  To: gentoo-commits

commit:     3693c368bf2e7d2150c56780e9f52e6597418968
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Jun 17 20:29:49 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Jun 17 20:29:49 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3693c368

Drop comma after "i.e." throughout, for consistency

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex  | 4 ++--
 pkg-mgr-commands.tex | 4 ++--
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 0d28251..c5e795d 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -554,11 +554,11 @@ differences between these previous EAPIs.
     path specified for the link target will be converted to a path
     relative to the link location. See \featureref{dosym-relative}. 
     \item[\code{insopts}] Commands \code{doconfd}, \code{doenvd},
-    \code{doheader} install files with fixed mode 0644, i.\,e.,
+    \code{doheader} install files with fixed mode 0644, i.\,e.\
     they are no longer affected by \code{insopts}.
     See \featureref{insopts}.
     \item[\code{exeopts}] Command \code{doinitd} installs files
-    with fixed mode 0755, i.\,e., it is no longer affected by
+    with fixed mode 0755, i.\,e.\ it is no longer affected by
     \code{exeopts}. See \featureref{exeopts}.
     \item[\code{usev}] This helper has an optional second argument
     now: \code{usev} \emph{<flag> [true]}. If the flag is set,

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 04a8ac4..0a34db9 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1030,7 +1030,7 @@ These functions check whitespace-separated lists for a particular value.
 \subsection{Version manipulation and comparison commands}
 \featurelabel{ver-commands}
 These commands provide utilities for working with version strings. They must all be implemented
-internally as shell functions, i.\,e., they are callable in global scope. Availability of these
+internally as shell functions, i.\,e.\ they are callable in global scope. Availability of these
 commands per EAPI is listed in table~\ref{tab:version-commands}.
 
 For the purpose of version manipulation commands, the specification provides a method for splitting
@@ -1131,7 +1131,7 @@ has returned.
 
     Arguments to \t{unpack} are interpreted as follows:
     \begin{compactitem}
-    \item A filename without path (i.\,e., not containing any slash) is looked up in \t{DISTDIR}.
+    \item A filename without path (i.\,e.\ not containing any slash) is looked up in \t{DISTDIR}.
     \item An argument starting with the string \t{./} is a path relative to the working directory.
     \item \featurelabel{unpack-absolute} Otherwise, for EAPIs listed in
         table~\ref{tab:unpack-behaviour} as supporting absolute and relative paths, the argument is


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-06-20 12:51 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-06-20 12:51 UTC (permalink / raw
  To: gentoo-commits

commit:     244714ba25b52e6437bf12302a6e633ebbc10a9c
Author:     akater <nuclearspace <AT> gmail <DOT> com>
AuthorDate: Sun Jun 20 01:01:13 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 20 12:27:09 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=244714ba

ebuild-env-vars.tex: Fix a reference

Fixes: 27a0bf1961ae56fd6b948d5ffea9a9e4ae35fd91
Closes: https://bugs.gentoo.org/796794
Signed-off-by: Dmitrii Neskoromnyi <nuclearspace <AT> gmail.com>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index ddea935..b52f0b3 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -149,7 +149,7 @@ variable.
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any
-    applicable offset prefix. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table} as
+    applicable offset prefix. Only for EAPIs listed in table~\ref{tab:added-env-vars-table} as
     supporting \t{BROOT}.
     \\
 \t{T} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-08-09  4:50 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-09  4:50 UTC (permalink / raw
  To: gentoo-commits

commit:     140aac7de90b44e7a14b4f5aaf5952911ad074ea
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  4 10:10:59 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug  4 10:10:59 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=140aac7d

pkg-mgr-commands.tex: Fix econf --libdir logic

Portage uses both --exec-prefix and --prefix in its econf logic,
introduced in 2005:
https://gitweb.gentoo.org/archive/proj/portage-cvs.git/commit/?h=portage_2_0&id=865508e5cb2fd3e6ef7c312b6a7bb88cf8799f9c

Pkgcore agrees with Portage.

Paludis uses --prefix first, then --exec-prefix.

Closes: https://bugs.gentoo.org/806374
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 0a34db9..4431435 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -386,7 +386,9 @@ commands once the current phase function has returned.
 \caption{\t{econf -{}-libdir} logic} \label{alg:econf-libdir}
 \begin{algorithmic}[1]
 \STATE let prefix=\$\{EPREFIX\}/usr
-\IF{the caller specified -{}-prefix=\$p}
+\IF{the caller specified -{}-exec-prefix=\$ep}
+    \STATE let prefix=\$ep
+\ELSIF{the caller specified -{}-prefix=\$p}
     \STATE let prefix=\$p
 \ENDIF
 \STATE let libdir=


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-08-15 12:37 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-15 12:37 UTC (permalink / raw
  To: gentoo-commits

commit:     88bd72dfbce9d889f9cf865cac72f26a06e8914e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 15 12:14:44 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 15 12:14:44 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=88bd72df

eapi-cheatsheet.tex: Define \i and \t commands

These occur in external aux files used with the xr-hyper package and
would normally cause an "undefined control sequence" error. The problem
was hidden by LaTeX using its internal \i and \t macros instead.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index c5e795d..c333b32 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -19,6 +19,10 @@
 \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
 \renewcommand{\familydefault}{\sfdefault}
 \urlstyle{sf}
+
+% These commands may occur in external aux files from pms
+\renewcommand{\i}[1]{\textit{#1}}
+\renewcommand{\t}[1]{\texttt{#1}}
 \externaldocument{pms}
 
 \title{EAPI Cheat Sheet}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-08-17 11:45 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-17 11:45 UTC (permalink / raw
  To: gentoo-commits

commit:     edae70c9cc4b936670151088e9e97c51331b6440
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 17 11:45:08 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 17 11:45:08 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=edae70c9

profiles.tex: Don't use \verb

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 profiles.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/profiles.tex b/profiles.tex
index d6e8649..30da81b 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -49,7 +49,7 @@ This file must not contain comments or make use of line continuations.
 This file is unusual in that it is not combined at a file level with the parent---instead, each
 variable is combined or overridden individually as described in section~\ref{sec:profile-variables}.
 
-The file itself is a line-based key-value format. Each line contains a single \verb|VAR="value"|
+The file itself is a line-based key-value format. Each line contains a single \t{VAR="value"}
 entry, where the value must be double quoted. A variable name must start with one of \t{a-zA-Z}
 and may contain \t{a-zA-Z0-9_} only. Additional syntax, which is a small subset of
 bash syntax, is allowed as follows:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-08-19 19:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-19 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     09bb58f347eef04cf9c29c7158beb1b04e645c75
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 18 16:04:59 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 18 16:04:59 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=09bb58f3

pms.cls: Output class info after packages are loaded

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 24 ++++++++++++------------
 1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/pms.cls b/pms.cls
index a41d96c..b29a9c3 100644
--- a/pms.cls
+++ b/pms.cls
@@ -47,18 +47,6 @@
     gitinfo2    % Metadata from git
 }
 
-% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
-\g@addto@macro\@documentclasshook{
-    \RequirePackage{%
-        hyperref,       % Support for hyperlinks
-        algorithm,      %
-        algorithmic     % Set algorithms
-    }
-}
-
-\ClassInfo{pms}{Capsulation of LaTeX stuff for the Package Manager
-    Specification, loaded baseclass: \ClassToLoad\MessageBreak}
-
 % Make processing with TeX4HT possible
 \newboolean{TEX4HT-HACKS}
 \ifx\HCode\undefined
@@ -72,6 +60,18 @@
     \setboolean{TEX4HT-HACKS}{true}
 \fi
 
+% tex4ht workaround: hyperref needs to be loaded /after/ tex4ht injects itself
+\g@addto@macro\@documentclasshook{
+    \RequirePackage{%
+        hyperref,       % Support for hyperlinks
+        algorithm,      %
+        algorithmic     % Set algorithms
+    }
+}
+
+\ClassInfo{pms}{LaTeX class for the Package Manager Specification,
+    loaded baseclass: \ClassToLoad\MessageBreak}
+
 % Define own label and reference commands, that display the label in
 % the page margin.
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-08-19 19:40 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-19 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     3c246ad9dd49c23f87ec12fc859ffd76cf2ca9f1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 18 16:21:41 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 18 16:21:41 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3c246ad9

pms.tex: Delete some empty lines

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 17 -----------------
 1 file changed, 17 deletions(-)

diff --git a/pms.tex b/pms.tex
index e0a41b5..630fc16 100644
--- a/pms.tex
+++ b/pms.tex
@@ -47,44 +47,27 @@
 \listoftables
 
 \include{introduction}
-
 \include{eapis}
-
 \include{names}
-
 \include{tree-layout}
-
 \include{profiles}
-
 \include{ebuild-format}
-
 \include{ebuild-vars}
-
 \include{dependencies}
-
 \include{ebuild-functions}
-
 \include{eclasses}
-
 \include{ebuild-environment}
-
 \include{commands}
-
 \include{merge}
-
 \include{metadata-cache}
-
 \include{glossary}
 
 \bibliography{pms}
 
 \appendix
 \setcounter{secnumdepth}{0}
-
 \include{appendices}
-
 \include{eapi-differences}
-
 \include{desk-reference}
 
 \end{document}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-08-19 19:40 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-08-19 19:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b02e81a59e6a31198a3d023003144cc3938bbc02
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug 18 16:19:36 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Aug 18 16:19:36 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b02e81a5

desk-reference.tex: Include the cheat sheet from a separate file

The desk reference (cheat sheet) is an own chapter. For consistency,
include it from a separate file, and prefix its label with "ch:".

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 desk-reference.tex | 21 +++++++++++++++++++++
 pms.tex            | 10 +---------
 2 files changed, 22 insertions(+), 9 deletions(-)

diff --git a/desk-reference.tex b/desk-reference.tex
new file mode 100644
index 0000000..a096032
--- /dev/null
+++ b/desk-reference.tex
@@ -0,0 +1,21 @@
+\ifthenelse{\boolean{TEX4HT-HACKS}}{%
+    \chapter{Desk Reference}
+    \label{ch:cheatsheet}
+    \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
+}{%
+    % Make sure that the cheat sheet starts on an odd page
+    \ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
+    \includepdf[pages=-,landscape,turn=false,lastpage=2,%
+        addtotoc={1,chapter,0,Desk Reference,ch:cheatsheet}]{eapi-cheatsheet}
+}
+
+% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
+
+%%% Local Variables:
+%%% mode: latex
+%%% TeX-master: "pms"
+%%% LaTeX-indent-level: 4
+%%% LaTeX-item-indent: 0
+%%% TeX-brace-indent-level: 4
+%%% fill-column: 100
+%%% End:

diff --git a/pms.tex b/pms.tex
index 8bbd037..e0a41b5 100644
--- a/pms.tex
+++ b/pms.tex
@@ -85,15 +85,7 @@
 
 \include{eapi-differences}
 
-\ifthenelse{\boolean{TEX4HT-HACKS}}{%
-    \chapter{Desk Reference}
-    \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
-}{%
-    % Make sure that the cheat sheet starts on an odd page
-    \clearpage\ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
-    \includepdf[pages=-,landscape,turn=false,lastpage=2,%
-        addtotoc={1,chapter,0,Desk Reference,cheatsheet}]{eapi-cheatsheet}
-}
+\include{desk-reference}
 
 \end{document}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-09-01 17:35 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-01 17:35 UTC (permalink / raw
  To: gentoo-commits

commit:     f5f8e42eeb8ea1e8c2ac182f30214ef0c559dd88
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 29 08:10:29 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 31 16:02:50 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f5f8e42e

eclasses.tex: Clarify precedence of EXPORT_FUNCTIONS calls

Clarify that the last call to EXPORT_FUNCTIONS takes precedence over
earlier calls.

Unfortunately, we need an exception when inherit is called after
EXPORT_FUNCTIONS because Portage changed its behaviour in 2009:
https://gitweb.gentoo.org/proj/portage.git/commit/?id=06d4433e8b8be60d606733b9e23f57f8a5869d8f

Pkgcore and Paludis apply precedence consistently based on call order
of EXPORT_FUNCTIONS.

Bug: https://bugs.gentoo.org/399039
Bug: https://bugs.gentoo.org/422513
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclasses.tex | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/eclasses.tex b/eclasses.tex
index a92ce1f..e23dcd8 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -88,6 +88,10 @@ should the author wish to override it he can access the function in \t{foo.eclas
 \t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
 must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the name of the eclass.
 
+If \t{EXPORT_FUNCTIONS} is called multiple times for the same phase function, the last call takes
+precedence. Eclasses may not rely upon any particular behaviour if they inherit another eclass
+after calling \t{EXPORT_FUNCTIONS}.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-09-02  7:31 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-02  7:31 UTC (permalink / raw
  To: gentoo-commits

commit:     e68df128f8cd3b427168f9a76a655460766e6d70
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 31 16:05:08 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 31 16:05:08 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e68df128

pkg-mgr-commands.tex: Update description of text list functions

Closes: https://bugs.gentoo.org/374791
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4431435..331cd33 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1016,7 +1016,7 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \subsection{Text list functions}
-These functions check whitespace-separated lists for a particular value.
+These functions check a list of arguments for a particular value.
 \nobreakpar
 \begin{description}
 \item[has] Returns shell true (0) if the first argument (a word) is found in the list of subsequent


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-09-03  6:56 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-03  6:56 UTC (permalink / raw
  To: gentoo-commits

commit:     153324136107543ef07b1378f08bce81199a9022
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Aug 30 19:32:16 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Aug 31 16:05:50 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=15332413

pkg-mgr-commands.tex: Clarify which commands are allowed in global scope

For most commands this is already implied by the combination of the
statements "When an ebuild is being sourced for metadata querying
rather than for a build [...], no external command may be executed."
in chapter 12 ("Available Commands") and "Except where otherwise
noted, they may be internal [...] or external commands available in
PATH; where this is not specified, ebuilds may not rely upon either
behaviour." in section 12.3 ("Ebuild-specific Commands").

For output commands (einfo etc.) and debug commands (debug-print etc.)
to be allowed in global scope, they must be implemented as shell
functions. Specify this, which follows the implementation in all three
package managers.

Closes: https://bugs.gentoo.org/520528
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 20 ++++++++++++--------
 1 file changed, 12 insertions(+), 8 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 331cd33..ebb4b7e 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -4,7 +4,8 @@
 The following commands will always be available in the ebuild environment, provided by the package
 manager. Except where otherwise noted, they may be internal (shell functions or aliases) or external
 commands available in \t{PATH}; where this is not specified, ebuilds may not rely upon either
-behaviour.
+behaviour. Unless otherwise specified, it is an error if an ebuild calls any of these commands in
+global scope.
 
 Unless otherwise noted, any output of these commands ends with a newline.
 
@@ -142,8 +143,9 @@ are given, \t{-r} is assumed.
 These commands display messages to the user. Unless otherwise stated, the entire argument list is
 used as a message, with backslash-escaped characters interpreted as for the \t{echo -e} command of
 bash, notably \t{\textbackslash t} for a horizontal tab, \t{\textbackslash n} for a new line, and
-\t{\textbackslash\textbackslash} for a literal backslash. Ebuilds must not run any of these commands
-once the current phase function has returned.
+\t{\textbackslash\textbackslash} for a literal backslash. These commands must be implemented
+internally as shell functions and may be called in global scope. Ebuilds must not run any of these
+commands once the current phase function has returned.
 
 \featurelabel{output-no-stdout} Unless otherwise noted, output may be sent to stderr or some other
 appropriate facility. In EAPIs listed in table~\ref{tab:output-commands} as not allowing stdout
@@ -927,8 +929,7 @@ any of these functions from any other phase.
 
 \subsection{USE list functions}
 These functions provide behaviour based upon set or unset use flags. Ebuilds must not run any of
-these commands once the current phase function has returned. It is an error if an ebuild calls any
-of these functions in global scope.
+these commands once the current phase function has returned.
 
 Unless otherwise noted, if any of these functions is called with a flag value that is not included
 in \t{IUSE_EFFECTIVE}, either behaviour is undefined or it is an error as decided by
@@ -1016,7 +1017,8 @@ table~\ref{tab:use-list-strictness}.
 \end{centertable}
 
 \subsection{Text list functions}
-These functions check a list of arguments for a particular value.
+These functions check a list of arguments for a particular value. They must be implemented
+internally as shell functions and may be called in global scope.
 \nobreakpar
 \begin{description}
 \item[has] Returns shell true (0) if the first argument (a word) is found in the list of subsequent
@@ -1261,8 +1263,9 @@ has returned.
 \end{algorithm}
 
 \item[get_libdir] \featurelabel{get-libdir} Prints the libdir name obtained according to
-    algorithm~\ref{alg:get-libdir}. Must be implemented internally as a shell function.
-    Only available in EAPIs listed in table~\ref{tab:misc-commands} as supporting \t{get_libdir}.
+    algorithm~\ref{alg:get-libdir}. Must be implemented internally as a shell function and may be
+    called in global scope. Only available in EAPIs listed in table~\ref{tab:misc-commands} as
+    supporting \t{get_libdir}.
 
 \begin{algorithm}
 \caption{\t{get_libdir} logic} \label{alg:get-libdir}
@@ -1300,6 +1303,7 @@ has returned.
 \subsection{Debug commands}
 The following commands are available for debugging. Normally all of these commands should be no ops;
 a package manager may provide a special debug mode where these commands instead do something.
+These commands must be implemented internally as shell functions and may be called in global scope.
 Ebuilds must not run any of these commands once the current phase function has returned.
 
 \begin{description}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-09-03 15:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-03 15:26 UTC (permalink / raw
  To: gentoo-commits

commit:     823cc48478a0bb108baa03f0e33e5f77824e5db2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  3 15:24:25 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep  3 15:24:25 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=823cc484

eapi-cheatsheet.tex: Delete trailing whitespace

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index c333b32..8c379bc 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -556,7 +556,7 @@ differences between these previous EAPIs.
     to configure, respectively. See \featureref{econf-options}.
     \item[\code{dosym}] With the new option \code{-r}, an absolute
     path specified for the link target will be converted to a path
-    relative to the link location. See \featureref{dosym-relative}. 
+    relative to the link location. See \featureref{dosym-relative}.
     \item[\code{insopts}] Commands \code{doconfd}, \code{doenvd},
     \code{doheader} install files with fixed mode 0644, i.\,e.\
     they are no longer affected by \code{insopts}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2021-09-03 15:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-03 15:26 UTC (permalink / raw
  To: gentoo-commits

commit:     0d8e19d85038ad2433e655cdbca8189d72163f60
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep  3 15:23:57 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep  3 15:23:57 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0d8e19d8

ebuild-env-vars.tex: Add missing \\ in table

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index b52f0b3..a55c366 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -256,10 +256,10 @@ variable.
 \t{REPLACED_BY_VERSION} &
     \t{pkg_prerm}, \t{pkg_postrm} &
     Yes &
-    The single version of this package (including revision, if specified) that is replacing us, if
-    we are being uninstalled as part of an install, or an empty string otherwise. See
-    section~\ref{sec:replacing-versions}.  Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
-    as supporting \t{REPLACED_BY_VERSION}.
+    The single version of this package (including revision, if specified) that is replacing us,
+    if we are being uninstalled as part of an install, or an empty string otherwise.
+    See section~\ref{sec:replacing-versions}. Only for EAPIs listed in
+    table~\ref{tab:added-env-vars-table} as supporting \t{REPLACED_BY_VERSION}. \\
 \end{longtable}
 \end{landscape}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2021-09-27 17:00 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2021-09-27 17:00 UTC (permalink / raw
  To: gentoo-commits

commit:     8ce3a9c94407c8bfcf27c8455fac32d3a38fc981
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Sep 24 12:12:38 2021 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Sep 24 13:06:45 2021 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8ce3a9c9

pkg-mgr-commands.tex: Update condition for econf --disable-static

The help message produced by LT_INIT in libtool-2.4.6 always says
--enable-static regardless of the default value, see m4/ltoptions.m4:

AC_ARG_ENABLE([static],
    [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
	[build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
    ...)

This means that looking only for --disable-static in output of
configure --help results in non-functional behaviour.

Implementation in Portage (which predates the PMS wording) looks for
--enable-static in addition.

Bug: https://bugs.gentoo.org/814368
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index ebb4b7e..45706af 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -341,8 +341,8 @@ commands once the current phase function has returned.
         as using it. This option will only be passed if the string \t{-{}-disable-silent-rules}
         occurs in the output of \t{configure -{}-help}.
     \item \t{-{}-disable-static}, if the EAPI is listed in table~\ref{tab:econf-options-table}
-        as using it. This option will only be passed if the string \t{-{}-disable-static} occurs
-        in the output of \t{configure -{}-help}.
+        as using it. This option will only be passed if the string \t{-{}-disable-static} or
+        \t{-{}-enable-static} occurs in the output of \t{configure -{}-help}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{8}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-02-07  8:13 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-02-07  8:13 UTC (permalink / raw
  To: gentoo-commits

commit:     ca1f5785608d6962dab2b863d508061fa6a9e0f6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  8 10:22:25 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan  8 10:22:25 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ca1f5785

pkg-mgr-commands.tex: Add some braces for consistency

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index eb15d64..7f57539 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -406,7 +406,7 @@ commands once the current phase function has returned.
 \end{algorithmic}
 \end{algorithm}
 
-\item[emake] Calls the \t{\$MAKE} program, or GNU make if the \t{MAKE} variable is unset.
+\item[emake] Calls the \t{\$\{MAKE\}} program, or GNU make if the \t{MAKE} variable is unset.
     Any arguments given are passed directly to the make command, as are the user's chosen
     \t{MAKEOPTS}\@. Arguments given to \t{emake} override user configuration. See also
     section~\ref{sec:guaranteed-system-commands}. \t{emake} must be an external program and cannot
@@ -507,7 +507,7 @@ the current phase function has returned.
     Only available in EAPIs listed in table~\ref{tab:doheader-table} as supporting \t{doheader}.
     Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
-\item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$PF/}.
+\item[dohtml] Installs the given HTML files into a subdirectory under \t{/usr/share/doc/\$\{PF\}/}.
     The subdirectory is \t{html} by default, but this can be overridden with the \t{docinto}
     function. Files to be installed automatically are determined by extension and the default
     extensions are \t{css}, \t{gif}, \t{htm}, \t{html}, \t{jpeg}, \t{jpg}, \t{js} and \t{png}.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-02-07  8:13 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-02-07  8:13 UTC (permalink / raw
  To: gentoo-commits

commit:     075f3eb4751531ae04a86d6ebd4ca1f8b2a66e5e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  8 10:23:04 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan  8 10:23:04 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=075f3eb4

pms.tex: Update copyright years

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index 630fc16..97d6d30 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2021 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2022 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This work is released under the Creative Commons Attribution-ShareAlike 4.0 International


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-02-07  8:13 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-02-07  8:13 UTC (permalink / raw
  To: gentoo-commits

commit:     19011b5efffa577d35daa9dfe32820e3fc04d0a8
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan  8 09:13:02 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan  8 09:13:02 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=19011b5e

pkg-mgr-commands.tex: Teletype font for literal string in get_libdir

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 45706af..eb15d64 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1270,7 +1270,7 @@ has returned.
 \begin{algorithm}
 \caption{\t{get_libdir} logic} \label{alg:get-libdir}
 \begin{algorithmic}[1]
-\STATE let libdir=lib
+\STATE let libdir=\t{lib}
 \IF{the ABI environment variable is set}
     \STATE let libvar=LIBDIR_\$ABI
     \IF{the environment variable named by libvar is set}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-02-13 16:26 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-02-13 16:26 UTC (permalink / raw
  To: gentoo-commits

commit:     2be267efa07e60e3ec5d0ef55c66778ef20362ff
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 13 16:25:14 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Feb 13 16:25:14 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2be267ef

ebuild-environment.tex: Consolidate source files

These small sections need not be in their own file. No change of
wording.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-invariancy.tex | 39 -----------------------
 ebuild-env-state.tex      | 63 -------------------------------------
 ebuild-environment.tex    | 79 +++++++++++++++++++++++++++++++++++++++++++++--
 3 files changed, 77 insertions(+), 104 deletions(-)

diff --git a/ebuild-env-invariancy.tex b/ebuild-env-invariancy.tex
deleted file mode 100644
index 9484103..0000000
--- a/ebuild-env-invariancy.tex
+++ /dev/null
@@ -1,39 +0,0 @@
-\section{The State of the System Between Functions}
-
-For the sake of this section:
-\nobreakpar
-\begin{compactitem}
-\item Variancy is any package manager action that modifies either
-    \t{ROOT} or \t{/} in any way that isn't merely a simple addition of
-    something that doesn't alter other packages. This includes any
-    non-default call to any \t{pkg} phase function except \t{pkg_setup},
-    a merge of any package or an unmerge of any package.
-\item As an exception, changes to \t{DISTDIR} do not count as variancy.
-\item The \t{pkg_setup} function may be assumed not to introduce variancy.
-    Thus, ebuilds must not perform variant actions in this phase.
-\end{compactitem}
-
-The following exclusivity and invariancy requirements are mandated:
-\nobreakpar
-\begin{compactitem}
-\item No variancy shall be introduced at any point between a package's
-    \t{pkg_setup} being started up to the point that that package is
-    merged, except for any variancy introduced by that package.
-\item There must be no variancy between a package's \t{pkg_setup} and
-    a package's \t{pkg_postinst}, except for any variancy introduced
-    by that package.
-\item Any non-default \t{pkg} phase function must be run exclusively.
-\item Each phase function must be called at most once during the build
-    process for any given package.
-\end{compactitem}
-
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pms"
-%%% LaTeX-indent-level: 4
-%%% LaTeX-item-indent: 0
-%%% TeX-brace-indent-level: 4
-%%% fill-column: 100
-%%% End:

diff --git a/ebuild-env-state.tex b/ebuild-env-state.tex
deleted file mode 100644
index a998660..0000000
--- a/ebuild-env-state.tex
+++ /dev/null
@@ -1,63 +0,0 @@
-\section{The State of Variables Between Functions}
-\label{sec:ebuild-env-state}
-
-Exported and default scope variables are saved between functions. A non-local variable set in a
-function earlier in the call sequence must have its value preserved for later functions, including
-functions executed as part of a later uninstall.
-
-\note{\t{pkg_pretend} is \emph{not} part of the normal call sequence, and does not take part in
-environment saving.}
-
-Variables that were exported must remain exported in later functions; variables with default
-visibility may retain default visibility or be exported. Variables with special meanings to the
-package manager are excluded from this rule.
-
-Global variables must only contain invariant values (see~\ref{sec:metadata-invariance}). If a global
-variable's value is invariant, it may have the value that would be generated at any given point
-in the build sequence.
-
-This is demonstrated by code listing~\ref{lst:env-saving}.
-
-\begin{listing}
-\caption{Environment state between functions} \label{lst:env-saving}
-\begin{verbatim}
-GLOBAL_VARIABLE="a"
-
-src_compile()
-{
-    GLOBAL_VARIABLE="b"
-    DEFAULT_VARIABLE="c"
-    export EXPORTED_VARIABLE="d"
-    local LOCAL_VARIABLE="e"
-}
-
-src_install(){
-    [[ ${GLOBAL_VARIABLE} == "a" ]] \
-        || [[ ${GLOBAL_VARIABLE} == "b" ]] \
-        || die "broken env saving for globals"
-
-    [[ ${DEFAULT_VARIABLE} == "c" ]] \
-        || die "broken env saving for default"
-
-    [[ ${EXPORTED_VARIABLE} == "d" ]] \
-        || die "broken env saving for exported"
-
-    [[ $(printenv EXPORTED_VARIABLE ) == "d" ]] \
-        || die "broken env saving for exported"
-
-    [[ -z ${LOCAL_VARIABLE} ]] \
-        || die "broken env saving for locals"
-}
-\end{verbatim}
-\end{listing}
-
-% vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
-
-%%% Local Variables:
-%%% mode: latex
-%%% TeX-master: "pms"
-%%% LaTeX-indent-level: 4
-%%% LaTeX-item-indent: 0
-%%% TeX-brace-indent-level: 4
-%%% fill-column: 100
-%%% End:

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index 82c036c..b9f3622 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -2,9 +2,84 @@
 
 \input{ebuild-env-vars.tex}
 
-\input{ebuild-env-state.tex}
+\section{The State of Variables Between Functions}
+\label{sec:ebuild-env-state}
 
-\input{ebuild-env-invariancy.tex}
+Exported and default scope variables are saved between functions. A non-local variable set in a
+function earlier in the call sequence must have its value preserved for later functions, including
+functions executed as part of a later uninstall.
+
+\note{\t{pkg_pretend} is \emph{not} part of the normal call sequence, and does not take part in
+environment saving.}
+
+Variables that were exported must remain exported in later functions; variables with default
+visibility may retain default visibility or be exported. Variables with special meanings to the
+package manager are excluded from this rule.
+
+Global variables must only contain invariant values (see~\ref{sec:metadata-invariance}). If a global
+variable's value is invariant, it may have the value that would be generated at any given point
+in the build sequence.
+
+This is demonstrated by code listing~\ref{lst:env-saving}.
+
+\begin{listing}
+\caption{Environment state between functions} \label{lst:env-saving}
+\begin{verbatim}
+GLOBAL_VARIABLE="a"
+
+src_compile()
+{
+    GLOBAL_VARIABLE="b"
+    DEFAULT_VARIABLE="c"
+    export EXPORTED_VARIABLE="d"
+    local LOCAL_VARIABLE="e"
+}
+
+src_install(){
+    [[ ${GLOBAL_VARIABLE} == "a" ]] \
+        || [[ ${GLOBAL_VARIABLE} == "b" ]] \
+        || die "broken env saving for globals"
+
+    [[ ${DEFAULT_VARIABLE} == "c" ]] \
+        || die "broken env saving for default"
+
+    [[ ${EXPORTED_VARIABLE} == "d" ]] \
+        || die "broken env saving for exported"
+
+    [[ $(printenv EXPORTED_VARIABLE ) == "d" ]] \
+        || die "broken env saving for exported"
+
+    [[ -z ${LOCAL_VARIABLE} ]] \
+        || die "broken env saving for locals"
+}
+\end{verbatim}
+\end{listing}
+
+\section{The State of the System Between Functions}
+
+For the sake of this section:
+\nobreakpar
+\begin{compactitem}
+\item Variancy is any package manager action that modifies either \t{ROOT} or \t{/} in any way that
+    isn't merely a simple addition of something that doesn't alter other packages. This includes
+    any non-default call to any \t{pkg} phase function except \t{pkg_setup}, a merge of any package
+    or an unmerge of any package.
+\item As an exception, changes to \t{DISTDIR} do not count as variancy.
+\item The \t{pkg_setup} function may be assumed not to introduce variancy. Thus, ebuilds must not
+    perform variant actions in this phase.
+\end{compactitem}
+
+The following exclusivity and invariancy requirements are mandated:
+\nobreakpar
+\begin{compactitem}
+\item No variancy shall be introduced at any point between a package's \t{pkg_setup} being started
+    up to the point that that package is merged, except for any variancy introduced by that package.
+\item There must be no variancy between a package's \t{pkg_setup} and a package's \t{pkg_postinst},
+    except for any variancy introduced by that package.
+\item Any non-default \t{pkg} phase function must be run exclusively.
+\item Each phase function must be called at most once during the build process for any given
+    package.
+\end{compactitem}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-03-23 12:09 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-03-23 12:09 UTC (permalink / raw
  To: gentoo-commits

commit:     8bcf0e2f9b6234e2e752d68df0ef054fd2cc49b1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Mar 17 19:00:47 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Mar 17 19:00:47 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8bcf0e2f

ebuild-vars.tex: Clarify which variables can be defined by an eclass

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index d07cca4..e7aab0a 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -43,8 +43,9 @@ All ebuilds must define at least the following variables:
 \section{Optional Ebuild-defined Variables}
 \label{sec:optional-vars}
 
-Ebuilds may define any of the following variables:
-\nobreakpar
+Ebuilds may define any of the following variables. Unless otherwise stated, any of them may be
+defined by an eclass.
+
 \begin{description}
 \item[EAPI] The EAPI\@. See below in section~\ref{sec:eapi}.
 \item[HOMEPAGE] The URI or URIs for a package's homepage, including protocols.
@@ -147,6 +148,8 @@ EAPI, the package manager must make sure that the \t{EAPI} value obtained by sou
 with bash is identical to the EAPI obtained by parsing. The ebuild must be treated as invalid if
 these values are different.
 
+Eclasses must not attempt to modify the \t{EAPI} variable.
+
 \subsection{SRC_URI}
 \label{sec:src-uri-behaviour}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-04-07  6:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-04-07  6:22 UTC (permalink / raw
  To: gentoo-commits

commit:     bcc0be554b5fc3300a0db6a3d3d7765c262aaa43
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 26 10:06:01 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 10:06:01 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bcc0be55

pkg-mgr-commands.tex: Specify file ownership for dobin more accurately

In a non-prefix installation, files are to be owned by UID 0 / GID 0.
This is also what is implemented in Portage's dobin command.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 7f57539..a964859 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -460,7 +460,7 @@ the current phase function has returned.
 \item[dobin] Installs the given files into \t{DESTTREE/bin}, where \t{DESTTREE} defaults to
     \t{/usr}. Gives the files mode \t{0755} and transfers file ownership to the superuser or its
     equivalent on the system or installation at hand. In a non-offset-prefix installation this
-    ownership is \t{root:root}, while in an offset-prefix aware installation this may be e.\,g.\
+    ownership is \t{0:0}, while in an offset-prefix aware installation this may be e.\,g.\
     \t{joe:users}. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[doconfd] Installs the given config files into \t{/etc/conf.d/}, by default with file mode


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-04-07  6:22 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-04-07  6:22 UTC (permalink / raw
  To: gentoo-commits

commit:     c5dca7fe3158fccb49a74054b7ed8f98e73bf243
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Mar 26 21:02:18 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Mar 26 21:02:18 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c5dca7fe

Replace "root user" by "superuser" throughout

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 +-
 merge.tex       | 8 ++++----
 2 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index e7aab0a..5f3f583 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -256,7 +256,7 @@ The following tokens are permitted inside \t{RESTRICT}:
 \item[strip] No stripping of debug symbols from files to be installed may be performed. In EAPIs
     listed in table~\ref{tab:staging-area-commands} as supporting controllable stripping, this
     behaviour may be altered by the \t{dostrip} command.
-\item[userpriv] The package manager may not drop root privileges when building the package.
+\item[userpriv] The package manager may not drop superuser privileges when building the package.
 \item[test] The \t{src_test} phase must not be run.
 \end{description}
 

diff --git a/merge.tex b/merge.tex
index 0e6738d..6fcfeec 100644
--- a/merge.tex
+++ b/merge.tex
@@ -25,9 +25,9 @@ The owner, group and mode (including set*id and sticky bits) of the directory mu
 except as follows:
 
 \begin{compactitem}
-\item Any directory owned by the user used to perform the build must become owned by the root user.
+\item Any directory owned by the user used to perform the build must become owned by the superuser.
 \item Any directory whose group is the primary group of the user used to perform the build must have
-    its group be that of the root user.
+    its group be that of the superuser.
 \end{compactitem}
 
 On SELinux systems, the SELinux context must also be preserved. Other directory attributes, including
@@ -53,9 +53,9 @@ The owner, group and mode (including set*id and sticky bits) of the file must be
 as follows:
 
 \begin{compactitem}
-\item Any file owned by the user used to perform the build must become owned by the root user.
+\item Any file owned by the user used to perform the build must become owned by the superuser.
 \item Any file whose group is the primary group of the user used to perform the build must have
-    its group be that of the root user.
+    its group be that of the superuser.
 \item The package manager may reduce read and write permissions on executable files that have a
     set*id bit set.
 \end{compactitem}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-04-12 10:56 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-04-12 10:56 UTC (permalink / raw
  To: gentoo-commits

commit:     7839a316822eae2fcb534cba697993ca8772b9f9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr 12 10:56:38 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr 12 10:56:38 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7839a316

pkg-mgr-commands.tex: Whitespace

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a964859..6df5f32 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -613,7 +613,7 @@ the current phase function has returned.
     \featurelabel{dosym-relative} In EAPIs listed in table~\ref{tab:dosym-r} as supporting creation
     of relative paths, when called with option \t{-r}, the first parameter (the link target) is
     converted from an absolute path to a path relative to the the second parameter (the link name).
-    The  algorithm must return a result identical to the one returned by the function in
+    The algorithm must return a result identical to the one returned by the function in
     listing~\ref{lst:dosym-r}, with \t{realpath} and \t{dirname} from GNU coreutils version~8.32.
     Specifying option \t{-r} together with a relative path as first (target) parameter is an error.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-05-16  6:15 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-05-16  6:15 UTC (permalink / raw
  To: gentoo-commits

commit:     260e21bf65f67ad424e990306a7a4789b6b2f1de
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed May 11 21:55:40 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat May 14 07:29:57 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=260e21bf

pkg-mgr-commands.tex: Tighten the spec for reserved names

"abort", "dyn" and "prep" are only reserved at the beginning of a name.
This appears to be their only (historical and recent) usage in Portage.

"ebuild" is allowed as substring of words like "rebuild", which is
somewhat common in names.

Bug: https://bugs.gentoo.org/843779
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 14 ++++++++++----
 1 file changed, 10 insertions(+), 4 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 6df5f32..d4dcffe 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1316,19 +1316,25 @@ Ebuilds must not run any of these commands once the current phase function has r
 
 \subsection{Reserved commands and variables}
 
-Except where documented otherwise, all functions and variables that contain any of the following
+Except where documented otherwise, all functions and variables that begin with any of the following
 strings (ignoring case) are reserved for package manager use and may not be used or relied upon by
 ebuilds:
 
 \begin{compactitem}
-\item \t{__} (two underscores) at beginning of string
+\item \t{__} (two underscores)
 \item \t{abort}
 \item \t{dyn}
-\item \t{ebuild}
+\item \t{prep}
+\end{compactitem}
+
+The same applies to functions and variables that contain any of the following strings (ignoring
+case):
+\nobreakpar
+\begin{compactitem}
+\item \t{ebuild} (unless immediately preceded by another letter)
 \item \t{hook}
 \item \t{paludis}
 \item \t{portage}
-\item \t{prep}
 \end{compactitem}
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2022-08-21  9:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-08-21  9:40 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-08-21  9:40 UTC (permalink / raw
  To: gentoo-commits

commit:     b469e965174baa27f344faeb23fa0e8e0eacc914
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 21 09:33:45 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug 21 09:33:45 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b469e965

eapi-differences.tex: Small updates to the feature table

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-differences.tex | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 900f415..a5ba486 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -111,7 +111,7 @@ Use dependencies & \compactfeatureref{use-deps} &
 \t{!!}\ blockers & \compactfeatureref{bang-strength} &
     * & Strong & Strong & Strong & Strong \\
 
-Working directory in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
+Working dir in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
     Any & Any & Any & Any & Empty \\
 
 \t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
@@ -152,7 +152,10 @@ Parallel tests & \compactfeatureref{parallel-tests} &
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
         \t{src_compile}, \t{src_test}, \t{src_install} \\
 
-Accumulate \t{RESTRICT} etc. & \compactfeatureref{accumulate-vars} &
+Accumulate \t{PROPERTIES} & \compactfeatureref{accumulate-vars} &
+    No & No & No & No & Yes \\
+
+Accumulate \t{RESTRICT} & \compactfeatureref{accumulate-vars} &
     No & No & No & No & Yes \\
 
 \t{AA} & \compactfeatureref{aa} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-10-20  7:06 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-10-20  7:06 UTC (permalink / raw
  To: gentoo-commits

commit:     2c69291b26fea14b6a93f1bf6b4f0bfd7f74f7b9
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Sep  7 06:35:09 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Sep  7 06:35:09 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=2c69291b

ebuild-format.tex: Document that umask is set to 022

Portage has been doing this since 2001.

Closes: https://bugs.gentoo.org/868669
Reported-by: Mike Frysinger <vapier <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-format.tex | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/ebuild-format.tex b/ebuild-format.tex
index 25ba28e..cf06668 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -7,6 +7,9 @@ table~\ref{tab:bash-version}, or any later version. If possible, the package man
 the shell's compatibility level to the exact version specified. It must ensure that any such
 compatibility settings (e.\,g.\ the \t{BASH_COMPAT} variable) are not exported to external programs.
 
+The file creation mask (\t{umask}) is set to \t{022} in the shell execution environment. It is
+\emph{not} saved between phase functions but always reset to this initial value.
+
 \featurelabel{failglob} For EAPIs listed such in table~\ref{tab:bash-version}, the \t{failglob}
 option of bash is set in the global scope of ebuilds. If set, failed pattern matches during
 filename expansion result in an error when the ebuild is being sourced.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-11-25 17:59 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-11-25 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     603b5c5a6b9e94a8a9fc02982dca14fe46048594
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 21:35:46 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 21:35:46 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=603b5c5a

Appendix: Document retroactive change of econf --disable-static

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex       | 8 ++++++++
 pkg-mgr-commands.tex | 1 +
 2 files changed, 9 insertions(+)

diff --git a/appendices.tex b/appendices.tex
index 3d2ef52..69bd2ed 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -114,6 +114,14 @@ all-of, any-of, exactly-one-of, at-most-one-of and use-conditional groups with z
 However, such empty groups were neither supported by all package managers nor used in ebuilds.
 They were dropped from the specification in October 2017.
 
+\subsection{econf -{}-disable-static option}
+The \t{-{}-disable-static} option in \t{econf} (see section~\ref{sec:build-commands}) was intended
+to disable only static Libtool archive building. The original check for either
+\t{-{}-disable-static} or \t{-{}-enable-static} occuring in \t{configure -{}-help} output produced
+false positives. The specification was therefore updated in November 2022; it now requires both
+\t{-{}-enable-static} and \t{-{}-enable-shared}, and in addition checks for a proper end of the
+option string.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index a3e8a41..95caa0b 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -296,6 +296,7 @@ Ebuilds must not run any of these commands once the current phase function has r
 \end{centertable}
 
 \subsection{Build commands}
+\label{sec:build-commands}
 These commands are used during the \t{src_configure}, \t{src_compile}, \t{src_test},
 and \t{src_install} phases to run the package's build commands. Ebuilds must not run any of these
 commands once the current phase function has returned.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-11-25 17:59 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-11-25 17:59 UTC (permalink / raw
  To: gentoo-commits

commit:     e0aa80cc0d28a25bfc68b4671771083e282f6ba2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Nov 19 20:22:34 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Nov 19 20:22:34 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e0aa80cc

pkg-mgr-commands.tex: Update condition for econf --disable-static (again)

The intention is to pass --disable-static, in order to (only) disable
static libtool archive building. The current condition asks for either
of --{disable,enable}-static in configure --help output, which causes
false positives:
https://archives.gentoo.org/gentoo-portage-dev/message/efc3f424d1dffd3415da538ec25532a9

Therefore, narrow the condition to require both --enable-static and
--enable-shared. In addition, backport the check for proper end of
string from the EAPI 9 feature list, but restrict it to this option
for now.

Bug: https://bugs.gentoo.org/814368
Bug: https://bugs.gentoo.org/815169
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index d4dcffe..a3e8a41 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -341,8 +341,9 @@ commands once the current phase function has returned.
         as using it. This option will only be passed if the string \t{-{}-disable-silent-rules}
         occurs in the output of \t{configure -{}-help}.
     \item \t{-{}-disable-static}, if the EAPI is listed in table~\ref{tab:econf-options-table}
-        as using it. This option will only be passed if the string \t{-{}-disable-static} or
-        \t{-{}-enable-static} occurs in the output of \t{configure -{}-help}.
+        as using it. This option will only be passed if both strings \t{-{}-enable-static} and
+        \t{-{}-enable-shared} occur in the output of \t{configure -{}-help}, and if neither of them
+        is immediately followed by any of the characters \t{[A-Za-z0-9+_.-]}.
     \end{itemize}
 
     \ChangeWhenAddingAnEAPI{8}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-12-08 21:51 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-08 21:51 UTC (permalink / raw
  To: gentoo-commits

commit:     a2bf8fdc638f79a5c8438b095cd043b18b9f7794
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 25 17:58:05 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 17:58:05 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=a2bf8fdc

glossary.tex: Drop chapter number

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 glossary.tex     | 6 +++---
 introduction.tex | 2 +-
 pms.tex          | 3 ++-
 3 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/glossary.tex b/glossary.tex
index 181febc..4ed3e82 100644
--- a/glossary.tex
+++ b/glossary.tex
@@ -1,7 +1,7 @@
-\chapter{Glossary}
-\label{ch:glossary}
+\chapter*{Glossary}
+\addcontentsline{toc}{chapter}{Glossary}
 
-This chapter contains explanations of some of the terms used in this document whose meaning may not
+This glossary contains explanations of some of the terms used in this document whose meaning may not
 be immediately obvious.
 
 \begin{description}

diff --git a/introduction.tex b/introduction.tex
index b72acc3..57fb51a 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -7,7 +7,7 @@ well as certain aspects of package manager behaviour required to support such a
 
 This document is \emph{not} designed to be an introduction to ebuild development. Prior knowledge of
 ebuild creation and an understanding of how the package management system works is assumed; certain
-less familiar terms are explained in the Glossary in chapter~\ref{ch:glossary}.
+less familiar terms are explained in the Glossary.
 
 This document does not specify any user or package manager configuration information.
 

diff --git a/pms.tex b/pms.tex
index 97d6d30..07113a9 100644
--- a/pms.tex
+++ b/pms.tex
@@ -60,8 +60,9 @@
 \include{commands}
 \include{merge}
 \include{metadata-cache}
-\include{glossary}
 
+% back matter begins here
+\include{glossary}
 \bibliography{pms}
 
 \appendix


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-12-08 21:51 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-08 21:51 UTC (permalink / raw
  To: gentoo-commits

commit:     b8b81bfd9e69f3d3dcd21b00580849a7abd9d8dd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 25 20:51:11 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Nov 25 20:51:11 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b8b81bfd

pms.bib: Update GLEP references to latest Post-History date

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.bib | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/pms.bib b/pms.bib
index 8b718af..014b643 100644
--- a/pms.bib
+++ b/pms.bib
@@ -25,15 +25,15 @@
 @manual{Glep68,
     author = {Michał Górny},
     title = {{GLEP} 68: Package and category metadata},
-    year = 2018,
-    month = Feb,
+    year = 2022,
+    month = Oct,
     url = {https://www.gentoo.org/glep/glep-0068.html}
 }
 
 @manual{Glep74,
     author = {Michał Górny and Robin Hugh Johnson and Ulrich Müller},
     title = {{GLEP} 74: Full-tree verification using Manifest files},
-    year = 2018,
-    month = Feb,
+    year = 2022,
+    month = Oct,
     url = {https://www.gentoo.org/glep/glep-0074.html}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-12-09 19:07 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-09 19:07 UTC (permalink / raw
  To: gentoo-commits

commit:     9264cfb906e0eae7c44596c6c339715ef6191a50
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  9 19:03:30 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Dec  9 19:03:30 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9264cfb9

appendices.tex: No line break before GLEP number

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 69bd2ed..d87d1be 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -3,7 +3,7 @@
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
-and is described in GLEP 68~\cite{Glep68}.
+and is described in GLEP~68~\cite{Glep68}.
 
 \chapter{Unspecified Items}
 
@@ -76,7 +76,7 @@ the \t{PROVIDE} metadata that it supplied certain virtuals, and the package mana
 in mind when handling dependencies.
 
 Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}. They were phased
-out via GLEP 37~\cite{Glep37} and finally removed in 2011.
+out via GLEP~37~\cite{Glep37} and finally removed in 2011.
 
 \note{A `new-style virtual' is a normal package that installs no files and uses its dependency
 requirements to pull in a `provider'. This does not require any special handling from the package
@@ -87,7 +87,7 @@ The method to specify the EAPI of an ebuild used to be a shell variable assignme
 manager had to source the ebuild in order to determine the EAPI\@. Therefore any ebuild using
 a future EAPI would still have to be sourceable by old package managers, which imposed restrictions
 e.\,g.\ on updating the Bash version or on possible changes of global scope functions. Several
-approaches to overcome this limitation were discussed, notably GLEP 55~\cite{Glep55}, which was
+approaches to overcome this limitation were discussed, notably GLEP~55~\cite{Glep55}, which was
 rejected though.
 
 The current syntax of the \t{EAPI} assignment statement (see section~\ref{sec:eapi}), allowing


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-12-09 19:07 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-09 19:07 UTC (permalink / raw
  To: gentoo-commits

commit:     dc358cbe6c57dca54b82d2c9bc8de2e1cddd975c
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  9 19:07:07 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Dec  9 19:07:07 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=dc358cbe

Don't use teletype for EAPIs

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex   | 12 ++++++------
 dependencies.tex |  2 +-
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index d87d1be..ed90225 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -67,16 +67,16 @@ In some exceptional cases, changes to the specification have been approved by th
 without introducing a new EAPI\@. This section lists such retroactive changes.
 
 \subsection{Bash version}
-EAPIs \t{0}, \t{1} and \t{2} originally specified GNU Bash version 3.0. This was retroactively
-updated to version 3.2 (see table~\ref{tab:bash-version}) in November 2009.
+EAPIs 0, 1 and~2 originally specified GNU Bash version 3.0. This was retroactively updated to
+version 3.2 (see table~\ref{tab:bash-version}) in November 2009.
 
 \subsection{Old-style virtuals}
 Historically, virtuals were special packages rather than regular ebuilds. An ebuild could specify in
 the \t{PROVIDE} metadata that it supplied certain virtuals, and the package manager had to bear this
 in mind when handling dependencies.
 
-Old-style virtuals were supported by EAPIs \t{0}, \t{1}, \t{2}, \t{3} and \t{4}. They were phased
-out via GLEP~37~\cite{Glep37} and finally removed in 2011.
+Old-style virtuals were supported by EAPIs 0, 1, 2, 3 and~4. They were phased out via
+GLEP~37~\cite{Glep37} and finally removed in 2011.
 
 \note{A `new-style virtual' is a normal package that installs no files and uses its dependency
 requirements to pull in a `provider'. This does not require any special handling from the package
@@ -105,8 +105,8 @@ induce string prefix comparison instead of the normal version comparison logic.
 surprising results, e.\,g.\ \t{=dev-lang/perl-5.2*} matching \t{dev-lang/perl-5.22.0}. Moreover,
 implementation in package managers deviated from what was specified.
 
-String prefix matching was effective in EAPIs \t{0}, \t{1}, \t{2}, \t{3}, \t{4} and \t{5}. It was
-retroactively dropped in favour of the current behaviour in October 2015.
+String prefix matching was effective in EAPIs 0, 1, 2, 3, 4 and~5. It was retroactively dropped
+in favour of the current behaviour in October 2015.
 
 \subsection{Empty dependency groups}
 The dependency specification format (see section~\ref{sec:dependency-spec}) originally permitted

diff --git a/dependencies.tex b/dependencies.tex
index f14a08c..0ff1c7e 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -331,7 +331,7 @@ described in table~\ref{tab:bang-strength-table}.
 \featurelabel{slot-deps} A named slot dependency consists of a colon followed by a slot name. A
 specification with a named slot dependency matches only if the slot of the matched package is equal
 to the slot specified. If the slot of the package to match cannot be determined (e.\,g.\ because it
-is not a supported \t{EAPI}), the match is treated as unsuccessful.
+is not a supported EAPI, the match is treated as unsuccessful.
 
 \featurelabel{sub-slot} In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting sub-slots,
 a slot dependency may contain an optional sub-slot part that follows the regular slot and is


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2022-12-17 16:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-17 16:40 UTC (permalink / raw
  To: gentoo-commits

commit:     08cdab4ab811b7cc3ceee356727f558eaef17b27
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec  9 19:29:04 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 11 19:26:05 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=08cdab4a

appendices.tex: Mention EAPI for econf --disable-static

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index ed90225..a093936 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -118,9 +118,11 @@ They were dropped from the specification in October 2017.
 The \t{-{}-disable-static} option in \t{econf} (see section~\ref{sec:build-commands}) was intended
 to disable only static Libtool archive building. The original check for either
 \t{-{}-disable-static} or \t{-{}-enable-static} occuring in \t{configure -{}-help} output produced
-false positives. The specification was therefore updated in November 2022; it now requires both
-\t{-{}-enable-static} and \t{-{}-enable-shared}, and in addition checks for a proper end of the
-option string.
+false positives.
+
+The test mentioned above was effective in EAPI~8. It was updated in November 2022 to require both
+\t{-{}-enable-static} and \t{-{}-enable-shared}, and in addition checks for a proper end of these
+option strings.
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2022-12-27 21:33 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2022-12-27 21:33 UTC (permalink / raw
  To: gentoo-commits

commit:     b3718b21370c2991ff6b2ed76ac7a53af8477d57
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 21:27:57 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 21:27:57 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=b3718b21

Use "app:" instead of "ch:" for labels in the appendix

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex     | 2 +-
 desk-reference.tex | 4 ++--
 tree-layout.tex    | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index a093936..db1dc64 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -1,5 +1,5 @@
 \chapter{metadata.xml}
-\label{ch:metadata-xml}
+\label{app:metadata-xml}
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,

diff --git a/desk-reference.tex b/desk-reference.tex
index a096032..0bcda38 100644
--- a/desk-reference.tex
+++ b/desk-reference.tex
@@ -1,12 +1,12 @@
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
     \chapter{Desk Reference}
-    \label{ch:cheatsheet}
+    \label{app:cheatsheet}
     \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
 }{%
     % Make sure that the cheat sheet starts on an odd page
     \ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
     \includepdf[pages=-,landscape,turn=false,lastpage=2,%
-        addtotoc={1,chapter,0,Desk Reference,ch:cheatsheet}]{eapi-cheatsheet}
+        addtotoc={1,chapter,0,Desk Reference,app:cheatsheet}]{eapi-cheatsheet}
 }
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/tree-layout.tex b/tree-layout.tex
index aa04d3d..da01ff8 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -29,7 +29,7 @@ Each category provided by the repository (see also: the \t{profiles/categories}
 section~\ref{sec:profiles-dir}) shall be contained in one directory, whose name shall be that of
 the category. Each category directory shall contain:
 \begin{compactitem}
-\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional.
+\item A \t{metadata.xml} file, as described in appendix~\ref{app:metadata-xml}\@. Optional.
 \item Zero or more package directories, one for each package in the category, as described in
     section~\ref{sec:package-dirs}. The name of the package directory shall be the corresponding
     package name.
@@ -51,7 +51,7 @@ A package directory contains the following:
 \nobreakpar
 \begin{compactitem}
 \item Zero or more ebuilds. These are as described in chapter~\ref{ch:ebuild-format} and others.
-\item A \t{metadata.xml} file, as described in appendix~\ref{ch:metadata-xml}\@. Optional only for
+\item A \t{metadata.xml} file, as described in appendix~\ref{app:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
 \item A \t{Manifest} file, whose format is described in~\cite{Glep74}. Can be omitted if the file


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-01 17:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-01 17:57 UTC (permalink / raw
  To: gentoo-commits

commit:     1936b33467289e09f6130c3eba424cd2cdd962d0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 21:31:30 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 21:31:30 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1936b334

Revert "Appendix: Include EAPI differences sections in table of contents."

This reverts commit fbcb58732d0a75138c0c7185f914d10f448ed472.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-differences.tex | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index a5ba486..225c2b6 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -375,11 +375,11 @@ File mtimes preserved & \compactfeatureref{mtime-preserve} &
 
 \note{This chapter is informative and for convenience only. Refer to the main text for specifics.}
 
-\section{EAPI 0}
+\section*{EAPI 0}
 
 EAPI 0 is the base EAPI.
 
-\section{EAPI 1}
+\section*{EAPI 1}
 
 EAPI 1 is EAPI 0 with the following changes:
 
@@ -389,7 +389,7 @@ EAPI 1 is EAPI 0 with the following changes:
 \item Different \t{src_compile} implementation, \featureref{src-compile}.
 \end{compactitem}
 
-\section{EAPI 2}
+\section*{EAPI 2}
 
 EAPI 2 is EAPI 1 with the following changes:
 
@@ -406,7 +406,7 @@ EAPI 2 is EAPI 1 with the following changes:
 \item \t{default} function, \featureref{default-func}.
 \end{compactitem}
 
-\section{EAPI 3}
+\section*{EAPI 3}
 
 EAPI 3 is EAPI 2 with the following changes:
 \begin{compactitem}
@@ -416,7 +416,7 @@ EAPI 3 is EAPI 2 with the following changes:
 \item File modification times are preserved, \featureref{mtime-preserve}.
 \end{compactitem}
 
-\section{EAPI 4}
+\section*{EAPI 4}
 
 EAPI 4 is EAPI 3 with the following changes:
 
@@ -445,7 +445,7 @@ EAPI 4 is EAPI 3 with the following changes:
 \item \t{use_with} and \t{use_enable} support empty third argument, \featureref{use-with}.
 \end{compactitem}
 
-\section{EAPI 5}
+\section*{EAPI 5}
 
 EAPI 5 is EAPI 4 with the following changes:
 
@@ -466,7 +466,7 @@ EAPI 5 is EAPI 4 with the following changes:
 \item \t{usex} support, \featureref{usex}.
 \end{compactitem}
 
-\section{EAPI 6}
+\section*{EAPI 6}
 
 EAPI 6 is EAPI 5 with the following changes:
 
@@ -489,7 +489,7 @@ EAPI 6 is EAPI 5 with the following changes:
 \item \t{get_libdir} support, \featureref{get-libdir}.
 \end{compactitem}
 
-\section{EAPI 7}
+\section*{EAPI 7}
 
 EAPI 7 is EAPI 6 with the following changes:
 
@@ -525,7 +525,7 @@ EAPI 7 is EAPI 6 with the following changes:
 \item Version manipulation and comparison commands, \featureref{ver-commands}.
 \end{compactitem}
 
-\section{EAPI 8}
+\section*{EAPI 8}
 
 EAPI 8 is EAPI 7 with the following changes:
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-01 17:57 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-01 17:57 UTC (permalink / raw
  To: gentoo-commits

commit:     c26570a2306bf4ffe2963e3acdb82db19238f129
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 21:31:46 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 21:31:46 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c26570a2

Revert "Appendix: Do not number sections."

This reverts commit 1da137e49aa5a52bb13500192d394b6dd53210da.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 1 -
 1 file changed, 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index 07113a9..1f9ecdb 100644
--- a/pms.tex
+++ b/pms.tex
@@ -66,7 +66,6 @@
 \bibliography{pms}
 
 \appendix
-\setcounter{secnumdepth}{0}
 \include{appendices}
 \include{eapi-differences}
 \include{desk-reference}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-01-01 17:57 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-01 17:57 UTC (permalink / raw
  To: gentoo-commits

commit:     ab2bce21ac83e6ad6cc649ef09cd4bae334e4417
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 27 21:35:14 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Dec 27 21:44:34 2022 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ab2bce21

Makefile: Use guessable names for section references in HTML output

This replaces the "x1*" fragment identifiers by more predictable ones
with a "chapter", "section", or "appendix" prefix. This is possible
because our section numbers are unique.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 Makefile | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/Makefile b/Makefile
index 89fd7a2..c882534 100644
--- a/Makefile
+++ b/Makefile
@@ -54,6 +54,11 @@ pms.html: $(LATEXFILES) pms.bbl $(COMMITINFO)
 	@# remove redundant span elements
 	LC_ALL=C sed -Ei ':x;/<span(\s+[^>]*)?$$/{N;bx;};'\
 	':y;s,(<span\s+[^>]*>)([^<]*)</span>\1,\1\2,;ty' $@
+	@# guessable names for sections
+	LC_ALL=C sed -Ei \
+	  -e 's/("#?)x1-[0-9]*00+([1-9][0-9]?")/\1chapter-\2/g' \
+	  -e 's/("#?)x1-[0-9]*00+([1-9][0-9]?(\.[0-9]+)+")/\1section-\2/g' \
+	  -e 's/("#?)x1-[0-9]*00+([A-Z](\.[0-9]+)*")/\1appendix-\2/g' $@
 
 pms.bbl: pms.bib $(LATEXFILES) $(COMMITINFO)
 	$(aux-clean)


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-09 18:18 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-09 18:18 UTC (permalink / raw
  To: gentoo-commits

commit:     7e3dc6f383121e6215a04d20c3317e1592a869a0
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Jan  9 18:15:05 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan  9 18:15:05 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7e3dc6f3

pms.tex: Update copyright years

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index 1f9ecdb..f435f51 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2022 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2023 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This work is released under the Creative Commons Attribution-ShareAlike 4.0 International


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-01-09 18:18 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-09 18:18 UTC (permalink / raw
  To: gentoo-commits

commit:     ede65b5d136640575479c9c9a3162ee4d2be953e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  3 20:11:28 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Jan  9 18:13:45 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ede65b5d

ebuild-env-vars.tex: D is available as a variable in all src_* phases

The D variable has been described as a "phase-specific variable" since
the spec's early draft stage (SVN r19). However, Portage would always
define the variable in all src_* phases, with the restriction that the
directory would exist only in src_install().

In reality, not all ebuilds comply with the spec. For example, Perl
eclasses use D in src_configure(), i.e. they rely on Portage behaviour.

Therefore, lift this unnecessary and somewhat artificial restriction
and make the variable (but not the directory) available outside the
install phase.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 15 +++++++++------
 1 file changed, 9 insertions(+), 6 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index a55c366..db693ab 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -179,24 +179,27 @@ variable.
     See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{EPREFIX}. \\
 \t{D} &
-    \t{src_install} &
-    No &
+    \t{src_*} &
+    Yes &
     Contains the full path to the image directory into which the package should be installed.
+    Ebuilds must not attempt to access the directory in \t{src_*} phases other than \t{src_install}.
     The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}.
     \\
 \t{D} (continued) &
     \t{pkg_preinst}, \t{pkg_postinst} &
-    Yes &
+    Yes\footnote{Consistent across \t{pkg_preinst} and \t{pkg_postinst}, but may not necessarily
+    have the same value that it had in the \t{src_*} phases.} &
     Contains the full path to the image that is about to be or has just been merged.
     The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}.
     \\
 \t{ED} &
-    \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst} &
+    \t{src_*}, \t{pkg_preinst}, \t{pkg_postinst} &
     See \t{D} &
     Contains the concatenation of the paths in the \t{D} and \t{EPREFIX} variables,
     for convenience. See also the \t{EPREFIX} variable. Only for EAPIs listed in
-    table~\ref{tab:offset-env-vars-table} as supporting \t{ED}\@. The presence of a trailing slash
-    is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\
+    table~\ref{tab:offset-env-vars-table} as supporting \t{ED}\@. Ebuilds must not attempt to
+    access the directory in \t{src_*} phases other than \t{src_install}. The presence of a trailing
+    slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\
 \t{DESTTREE} &
     \t{src_install} &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-19 16:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-19 16:40 UTC (permalink / raw
  To: gentoo-commits

commit:     9dabbe3b66b56d41cc618a096e35310f483e961b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 14 09:26:48 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 18 21:12:28 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=9dabbe3b

names.tex: Specify eclass names

Eclasses may export phase functions prefixed with their name, so
ideally we would follow the syntax of Bash (and POSIX) identifiers:

| A word consisting solely of underscores, digits, and alphabetics
| from the portable character set. The first character of a name is
| not a digit.

Because many existing eclasses have a dot or a hyphen in their name,
we follow usage in the Gentoo repository instead. (The only historical
exception to the above was 64-bit.eclass, not used since 2006 and
removed in 2009.)

An eclass must not be named "default", otherwise names of exported
functions would collide with default_<phase-function>.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eclasses.tex | 1 +
 names.tex    | 5 +++++
 2 files changed, 6 insertions(+)

diff --git a/eclasses.tex b/eclasses.tex
index 01692bc..0b9b5d4 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -10,6 +10,7 @@ hold.
 Eclasses must be located in the \t{eclass} directory in the top level of the repository---see
 section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>}
 is the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
+\t{<name>} must be a valid eclass name, as per section~\ref{sec:eclass-names}.
 
 \section{The inherit Command}
 \label{sec:inherit}

diff --git a/names.tex b/names.tex
index 2994719..76fa72d 100644
--- a/names.tex
+++ b/names.tex
@@ -18,6 +18,11 @@ syntax described in section~\ref{sec:version-spec}.
 \note{A package name does not include the category. The term \i{qualified package name} is used
 where a \t{category/package} pair is meant.}
 
+\subsection{Eclass names}
+\label{sec:eclass-names}
+An eclass name may contain any of the characters [\t{A-Za-z0-9_.-}]. It must begin with a letter or
+an underscore. In addition, an eclass cannot be named \t{default}.
+
 \subsection{Slot names}
 \label{sec:slot-names}
 A slot name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-19 16:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-19 16:40 UTC (permalink / raw
  To: gentoo-commits

commit:     5e9afb6d818201028acbe922c6d86e9bf27dd860
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 14 09:28:01 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 18 21:12:28 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5e9afb6d

Distinguish between "phase" and "phase function"

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-functions.tex | 6 +++---
 eclasses.tex         | 2 +-
 2 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 7d372fa..25164d4 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -477,9 +477,9 @@ source files from their respective locations, with notes concerning licensing if
 
 \featurelabel{default-phase-funcs} In EAPIs listed in
 table~\ref{tab:default-phase-function-table} as supporting \t{default_} phase functions, a function
-named \t{default_}(phase) that behaves as the default implementation for that EAPI shall be defined
-when executing any ebuild phase listed in the table. Ebuilds must not call these functions except
-when in the phase in question.
+named \t{default_<phase-function>}) that behaves as the default implementation for that EAPI shall
+be defined when executing any ebuild phase function listed in the table. Ebuilds must not call
+these functions except when in the phase in question.
 
 \ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{EAPIs supporting \t{default_} phase functions}

diff --git a/eclasses.tex b/eclasses.tex
index 0b9b5d4..a4400e1 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -87,7 +87,7 @@ should the author wish to override it he can access the function in \t{foo.eclas
 \t{foo_src_compile}.
 
 \t{EXPORT_FUNCTIONS} must only be used on ebuild phase functions. The function that is aliased
-must be named \t{eclassname_phasefunctionname}, where \t{eclassname} is the name of the eclass.
+must be named \t{<eclass>_<phase-function>}, where \t{<eclass>} is the name of the eclass.
 
 If \t{EXPORT_FUNCTIONS} is called multiple times for the same phase function, the last call takes
 precedence. Eclasses may not rely upon any particular behaviour if they inherit another eclass


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-01-19 16:40 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-19 16:40 UTC (permalink / raw
  To: gentoo-commits

commit:     39d51402f2eaa0ca06cb52ca3f5e1562a3496dbd
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Jan 18 21:11:32 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Jan 18 21:11:32 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=39d51402

Whitespace

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex     | 4 ++--
 ebuild-env-vars.tex  | 8 ++++----
 ebuild-functions.tex | 5 +++--
 eclasses.tex         | 4 ++--
 introduction.tex     | 6 +++---
 merge.tex            | 4 ++--
 6 files changed, 16 insertions(+), 15 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 0ff1c7e..6c09714 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -240,8 +240,8 @@ error on non-compliant input.
 
 In EAPIs shown in table~\ref{tab:slot-deps-table} as supporting \t{SLOT} dependencies, either of the
 above formats may additionally be suffixed by a \t{:slot} restriction, as described in
-section~\ref{sec:slot-dep}. A package manager must warn or error if slot dependencies are used with an
-EAPI not supporting \t{SLOT} dependencies.
+section~\ref{sec:slot-dep}. A package manager must warn or error if slot dependencies are used with
+an EAPI not supporting \t{SLOT} dependencies.
 
 \featurelabel{use-deps} In EAPIs shown in table~\ref{tab:use-deps-table} as supporting 2-style
 or 4-style \t{USE} dependencies, a specification may additionally be suffixed by at most one

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index db693ab..004a7a2 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -6,10 +6,10 @@ meaningful in all phases; variables that are not meaningful in a given phase may
 any value. Ebuilds must not attempt to modify any of these variables, unless otherwise specified.
 
 Because of their special meanings, these variables may not be preserved consistently across all
-phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}). For example,
-\t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between the various
-different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an inconsistent
-variable.
+phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}).
+For example, \t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between
+the various different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an
+inconsistent variable.
 
 \begin{landscape}
 \reversemarginpar

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 0c745c3..7d372fa 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -434,8 +434,9 @@ the \t{ROOT} environment variable.
 
 \subsection{pkg_config}
 
-The \t{pkg_config} function performs any custom steps required to configure a package after it has been
-fully installed. It is the only ebuild function which may be interactive and prompt for user input.
+The \t{pkg_config} function performs any custom steps required to configure a package after it has
+been fully installed. It is the only ebuild function which may be interactive and prompt for user
+input.
 
 \t{pkg_config} must be run with full access to all files and directories inside of \t{ROOT}.
 

diff --git a/eclasses.tex b/eclasses.tex
index e23dcd8..01692bc 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -8,8 +8,8 @@ using them. The interpreter is therefore the same, and the same requirements for
 hold.
 
 Eclasses must be located in the \t{eclass} directory in the top level of the repository---see
-section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>} is
-the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
+section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclass}, where \t{<name>}
+is the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
 
 \section{The inherit Command}
 \label{sec:inherit}

diff --git a/introduction.tex b/introduction.tex
index 57fb51a..86149b2 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -13,9 +13,9 @@ This document does not specify any user or package manager configuration informa
 
 \section{Rationale}
 
-At present the only definition of what an ebuild can assume about its environment,
-and the only definition of what is valid in an ebuild, is the source code of the latest Portage release
-and a general consensus about which features are too new to assume availability. This has several
+At present the only definition of what an ebuild can assume about its environment, and the only
+definition of what is valid in an ebuild, is the source code of the latest Portage release and
+a general consensus about which features are too new to assume availability. This has several
 drawbacks: not only is it impossible to change any aspect of Portage behaviour without verifying
 that nothing in the tree relies upon it, but if a new package manager should appear it becomes
 impossible to fully support such an ill-defined standard.

diff --git a/merge.tex b/merge.tex
index 6fcfeec..ca1036d 100644
--- a/merge.tex
+++ b/merge.tex
@@ -30,8 +30,8 @@ except as follows:
     its group be that of the superuser.
 \end{compactitem}
 
-On SELinux systems, the SELinux context must also be preserved. Other directory attributes, including
-modification time, may be discarded.
+On SELinux systems, the SELinux context must also be preserved. Other directory attributes,
+including modification time, may be discarded.
 
 \subsection{Empty directories}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-01-31  9:35 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-01-31  9:35 UTC (permalink / raw
  To: gentoo-commits

commit:     523f2f8a79516cae55607d16335babdc0b67e075
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 29 10:49:27 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 29 10:49:27 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=523f2f8a

names.tex: Reorder subsections

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 names.tex | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/names.tex b/names.tex
index 76fa72d..ed6d623 100644
--- a/names.tex
+++ b/names.tex
@@ -18,11 +18,6 @@ syntax described in section~\ref{sec:version-spec}.
 \note{A package name does not include the category. The term \i{qualified package name} is used
 where a \t{category/package} pair is meant.}
 
-\subsection{Eclass names}
-\label{sec:eclass-names}
-An eclass name may contain any of the characters [\t{A-Za-z0-9_.-}]. It must begin with a letter or
-an underscore. In addition, an eclass cannot be named \t{default}.
-
 \subsection{Slot names}
 \label{sec:slot-names}
 A slot name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
@@ -40,6 +35,11 @@ described in section~\ref{sec:use-iuse-handling}.
 A repository name may contain any of the characters [\t{A-Za-z0-9_-}]. It must not begin with a
 hyphen. In addition, every repository name must also be a valid package name.
 
+\subsection{Eclass names}
+\label{sec:eclass-names}
+An eclass name may contain any of the characters [\t{A-Za-z0-9_.-}]. It must begin with a letter or
+an underscore. In addition, an eclass cannot be named \t{default}.
+
 \subsection{License names}
 \label{sec:license-names}
 A license name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-02-01 18:13 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-02-01 18:13 UTC (permalink / raw
  To: gentoo-commits

commit:     eeddb7ad0b36822be7d3298caefa9475bc9dc466
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  1 18:11:56 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  1 18:11:56 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=eeddb7ad

ebuild-env-vars.tex: Fix indentation of list

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 004a7a2..7f430e7 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -117,13 +117,13 @@ inconsistent variable.
     \featurelabel{eclassdir} The full path to the master repository's eclass directory. Only for
     EAPIs listed in table~\ref{tab:removed-env-vars-table} as supporting \t{ECLASSDIR}. \\
 \t{ROOT} &
-   \t{pkg_*} &
-   No &
-   The absolute path to the root directory into which the package is to be merged.  Phases which run
-   with full filesystem access must not touch any files outside of the directory given in
-   \t{ROOT}\@. Also of note is that in a cross-compiling environment, binaries inside of \t{ROOT}
-   will not be executable on the build machine, so ebuilds must not call them. The presence of
-   a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\
+    \t{pkg_*} &
+    No &
+    The absolute path to the root directory into which the package is to be merged. Phases which
+    run with full filesystem access must not touch any files outside of the directory given in
+    \t{ROOT}\@. Also of note is that in a cross-compiling environment, binaries inside of \t{ROOT}
+    will not be executable on the build machine, so ebuilds must not call them. The presence of
+    a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}. \\
 \t{EROOT} &
     \t{pkg_*} &
     No &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-02-01 18:14 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-02-01 18:14 UTC (permalink / raw
  To: gentoo-commits

commit:     c5a07aa426d0536f6ff9387af471105ebb0ba96e
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  1 18:12:48 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed Feb  1 18:12:48 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=c5a07aa4

Reference sections by "section 11.2" rather than "11.2"

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex    | 8 ++++----
 ebuild-environment.tex | 6 +++---
 2 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 7f430e7..b8deb04 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -6,7 +6,7 @@ meaningful in all phases; variables that are not meaningful in a given phase may
 any value. Ebuilds must not attempt to modify any of these variables, unless otherwise specified.
 
 Because of their special meanings, these variables may not be preserved consistently across all
-phases as would normally happen due to environment saving (see~\ref{sec:ebuild-env-state}).
+phases as would normally happen due to environment saving (see section~\ref{sec:ebuild-env-state}).
 For example, \t{EBUILD_PHASE} is different for every phase, and \t{ROOT} may have changed between
 the various different \t{pkg_*} phases. Ebuilds must recalculate any variable they derive from an
 inconsistent variable.
@@ -40,7 +40,7 @@ inconsistent variable.
 \endlastfoot
 \t{P} &
     All &
-    No\footnote{May change if a package has been updated (see~\ref{sec:updates-dir}).} &
+    No\footnote{May change if a package has been updated (see section~\ref{sec:updates-dir}).} &
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
 \t{PF} &
     All &
@@ -175,8 +175,8 @@ inconsistent variable.
     calling environment, \t{EPREFIX} defaults to the built-in offset-prefix that was set during
     installation of the package manager. When a different \t{EPREFIX} value than the built-in value
     is set in the calling environment, a cross-prefix build is performed where using the existing
-    utilities, a package is built for the given \t{EPREFIX}, akin to \t{ROOT}\@.
-    See also~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
+    utilities, a package is built for the given \t{EPREFIX}, akin to \t{ROOT}\@. See also
+    section~\ref{sec:offset-vars}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{EPREFIX}. \\
 \t{D} &
     \t{src_*} &

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index b9f3622..8093f1e 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -16,9 +16,9 @@ Variables that were exported must remain exported in later functions; variables
 visibility may retain default visibility or be exported. Variables with special meanings to the
 package manager are excluded from this rule.
 
-Global variables must only contain invariant values (see~\ref{sec:metadata-invariance}). If a global
-variable's value is invariant, it may have the value that would be generated at any given point
-in the build sequence.
+Global variables must only contain invariant values (see section~\ref{sec:metadata-invariance}).
+If a global variable's value is invariant, it may have the value that would be generated at any
+given point in the build sequence.
 
 This is demonstrated by code listing~\ref{lst:env-saving}.
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-04-10  7:18 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-04-10  6:33 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-04-10  6:33 UTC (permalink / raw
  To: gentoo-commits

commit:     e4053b8d27cda1749301cb2a13a4269b301681d2
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Apr  9 19:46:15 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Apr 10 06:31:51 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e4053b8d

Appendix: Document retroactive econf change

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/appendices.tex b/appendices.tex
index db1dc64..7a2c70b 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -124,6 +124,12 @@ The test mentioned above was effective in EAPI~8. It was updated in November 202
 \t{-{}-enable-static} and \t{-{}-enable-shared}, and in addition checks for a proper end of these
 option strings.
 
+\subsection{econf matches configure -{}-help output better}
+The simple string matching used for \t{configure -{}-help} output caused false positives for options
+like \t{-{}-with-sysroot}. It was effective in EAPIs 4, 5, 6, 7 and 8, and was updated in April 2023
+to check for a proper end of string for all option names beginning with \t{with-}, \t{disable-} or
+\t{enable-}.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-04-10  7:18 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-04-10  6:33 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-04-10  6:33 UTC (permalink / raw
  To: gentoo-commits

commit:     0e311ca4ac75be6ebea2a0b3c1b46f4daac75190
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Feb 26 17:46:29 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Feb 27 11:02:43 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=0e311ca4

pkg-mgr-commands.tex: econf matches configure --help output better

Following the previous change for --disable-static (commit e0aa80c),
check for proper end of string for all option names beginning with
"with", "disable" or "enable". This will mainly affect --with-sysroot,
where false positives have been observed.

Bug: https://bugs.gentoo.org/815169
Suggested-by: David Seifert <soap <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 95caa0b..4fac077 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -343,10 +343,13 @@ commands once the current phase function has returned.
         occurs in the output of \t{configure -{}-help}.
     \item \t{-{}-disable-static}, if the EAPI is listed in table~\ref{tab:econf-options-table}
         as using it. This option will only be passed if both strings \t{-{}-enable-static} and
-        \t{-{}-enable-shared} occur in the output of \t{configure -{}-help}, and if neither of them
-        is immediately followed by any of the characters \t{[A-Za-z0-9+_.-]}.
+        \t{-{}-enable-shared} occur in the output of \t{configure -{}-help}.
     \end{itemize}
 
+    For the option names beginning with \t{with-}, \t{disable-} or \t{enable-}, a string in
+    \t{configure -{}-help} output matches only if it is not immediately followed by any of the
+    characters \t{[A-Za-z0-9+_.-]}.
+
     \ChangeWhenAddingAnEAPI{8}
     \begin{centertable}{Extra \t{econf} arguments for EAPIs}
         \label{tab:econf-options-table}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-04-14 16:40 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-04-14 16:34 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-04-14 16:34 UTC (permalink / raw
  To: gentoo-commits

commit:     f95225246aff169f61a62fbe930daf87f220b741
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Aug 23 17:46:53 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 14 15:54:07 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f9522524

EAPI feature table: Don't use a landscape table

Drop EAPIs 0 to 4 from the table, as well as items that would have
identical entries for all listed EAPIs.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-differences.tex | 314 +++++++++++++--------------------------------------
 pms.cls              |   4 +-
 2 files changed, 81 insertions(+), 237 deletions(-)

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 225c2b6..31d5537 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,39 +1,24 @@
 \chapter{Feature Availability by EAPI}
 
 \note{This chapter is informative and for convenience only. Refer to the main text for specifics.
-For lack of space, EAPIs 0, 1, 2, 3, and~4 have been consolidated into a single column in the table
-below; entries marked with an asterisk differ between these EAPIs. See the 2012-09-20 edition
-of this document for a complete table of previous EAPIs.}
-% 2012-09-20 (EAPI 5) edition has a table of EAPIs 0 to 5
+For lack of space, EAPIs 0 to~4 have been omitted from the table below, as well as items that would
+have identical entries for all listed EAPIs.}
 
 \ChangeWhenAddingAnEAPI{8}
-\begin{landscape}
-\begin{longtable}{llP{7.5em}P{7.5em}P{7.5em}P{7.5em}P{7.5em}}
+\begin{longtable}{@{}llllll@{}} % @{} to avoid overfull box
 \caption{Features in EAPIs}\\
 \toprule
 \multicolumn{1}{c}{\textbf{Feature}} &
-\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
-\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0, 1, 2, 3, 4} &
-\multicolumn{1}{c}{5} &
-\multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} &
-\multicolumn{1}{c}{8} \\
+\multicolumn{1}{c}{\textbf{Ref.}} &
+\multicolumn{4}{c}{\textbf{EAPIs}} \\
+& & 5 & 6 & 7 & 8 \\
 \midrule
 \endfirsthead
 \midrule
 \multicolumn{1}{c}{\textbf{Feature}} &
-\multicolumn{1}{c}{\textbf{Reference}} &
-\multicolumn{5}{c}{\textbf{EAPIs}} \\
-\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{} &
-\multicolumn{1}{c}{0, 1, 2, 3, 4} &
-\multicolumn{1}{c}{5} &
-\multicolumn{1}{c}{6} &
-\multicolumn{1}{c}{7} &
-\multicolumn{1}{c}{8} \\
+\multicolumn{1}{c}{\textbf{Ref.}} &
+\multicolumn{4}{c}{\textbf{EAPIs}} \\
+& & 5 & 6 & 7 & 8 \\
 \midrule
 \endhead
 \midrule
@@ -42,334 +27,193 @@ of this document for a complete table of previous EAPIs.}
 \endlastfoot
 
 \t{package.mask} directory & \compactfeatureref{package-mask-dir} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
-Less strict filenames in \t{updates} & \compactfeatureref{updates-filenames} &
-    No & No & No & No & Yes \\
+Less strict \t{updates} syntax & \compactfeatureref{updates-filenames} &
+    No & No & No & Yes \\
 
 Profile files as directories & \compactfeatureref{profile-file-dirs} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{package.provided} & \compactfeatureref{package-provided} &
-    Optional & Optional & Optional & No & No \\
-
-Stable use masking/forcing & \compactfeatureref{stablemask} &
-    No & Yes & Yes & Yes & Yes \\
+    Optional & Optional & No & No \\
 
 Bash version & \compactfeatureref{bash-version} &
-    3.2 & 3.2 & 4.2 & 4.2 & 5.0 \\
+    3.2 & 4.2 & 4.2 & 5.0 \\
 
 \t{failglob} in global scope & \compactfeatureref{failglob} &
-    No & No & Yes & Yes & Yes \\
-
-\t{IUSE} defaults & \compactfeatureref{iuse-defaults} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{REQUIRED_USE} & \compactfeatureref{required-use} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{PROPERTIES} & \compactfeatureref{properties} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{SRC_URI} arrows & \compactfeatureref{src-uri-arrows} &
-    * & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 Selective URI restrictions & \compactfeatureref{uri-restrict} &
-    No & No & No & No & Yes \\
-
-\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} &
-    * & No & No & No & No \\
-
-\t{DEFINED_PHASES} & \compactfeatureref{defined-phases} &
-    * & Yes & Yes & Yes & Yes \\
+    No & No & No & Yes \\
 
 \t{BDEPEND} & \compactfeatureref{bdepend} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{IDEPEND} & \compactfeatureref{idepend} &
-    No & No & No & No & Yes \\
-
-\t{??\ ( )} groups & \compactfeatureref{at-most-one-of} &
-    No & Yes & Yes & Yes & Yes \\
+    No & No & No & Yes \\
 
 Empty \t{||}, \t{\textasciicircum\textasciicircum} groups match &
     \compactfeatureref{empty-dep-groups} &
-    Yes & Yes & Yes & No & No \\
-
-Slot dependencies & \compactfeatureref{slot-deps} &
-    * & Named and Operator & Named and Operator & Named and Operator & Named and Operator \\
-
-Sub-slots & \compactfeatureref{sub-slot} &
-    No & Yes & Yes & Yes & Yes \\
-
-Use dependencies & \compactfeatureref{use-deps} &
-    * & 4-style & 4-style & 4-style & 4-style \\
-
-\t{!}\ blockers & \compactfeatureref{bang-strength} &
-    * & Weak & Weak & Weak & Weak \\
-
-\t{!!}\ blockers & \compactfeatureref{bang-strength} &
-    * & Strong & Strong & Strong & Strong \\
+    Yes & Yes & No & No \\
 
 Working dir in \t{pkg_*} phases & \compactfeatureref{phase-function-dir} &
-    Any & Any & Any & Any & Empty \\
-
-\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} &
-    * & Conditional & Conditional & Conditional & Conditional \\
-
-\t{pkg_pretend} & \compactfeatureref{pkg-pretend} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{src_prepare} & \compactfeatureref{src-prepare} &
-    * & Yes & Yes & Yes & Yes \\
+    Any & Any & Any & Empty \\
 
 \t{src_prepare} style & \compactfeatureref{src-prepare} &
-    * & no-op & 6 & 6 & 8 \\
-
-\t{src_configure} & \compactfeatureref{src-configure} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{src_compile} style & \compactfeatureref{src-compile} &
-    * & 2 & 2 & 2 & 2 \\
-
-Parallel tests & \compactfeatureref{parallel-tests} &
-    No & Yes & Yes & Yes & Yes \\
+    no-op & 6 & 6 & 8 \\
 
 \t{src_install} style & \compactfeatureref{src-install} &
-    * & 4 & 6 & 6 & 6 \\
-
-\t{pkg_info} & \compactfeatureref{pkg-info} &
-    * & Both & Both & Both & Both \\
-
-\t{default_} phase functions & \compactfeatureref{default-phase-funcs} &
-    * &
-    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_test}, \t{src_install} &
-    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_test}, \t{src_install} &
-    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_test}, \t{src_install} &
-    \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure},
-        \t{src_compile}, \t{src_test}, \t{src_install} \\
+    4 & 6 & 6 & 6 \\
 
 Accumulate \t{PROPERTIES} & \compactfeatureref{accumulate-vars} &
-    No & No & No & No & Yes \\
+    No & No & No & Yes \\
 
 Accumulate \t{RESTRICT} & \compactfeatureref{accumulate-vars} &
-    No & No & No & No & Yes \\
-
-\t{AA} & \compactfeatureref{aa} &
-    * & No & No & No & No \\
+    No & No & No & Yes \\
 
 \t{PORTDIR} & \compactfeatureref{portdir} &
-    Yes & Yes & Yes & No & No \\
+    Yes & Yes & No & No \\
 
 \t{ECLASSDIR} & \compactfeatureref{eclassdir} &
-    Yes & Yes & Yes & No & No \\
+    Yes & Yes & No & No \\
 
 \t{SYSROOT}, \t{ESYSROOT} & \compactfeatureref{sysroot} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{BROOT} & \compactfeatureref{broot} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{DESTTREE} & \compactfeatureref{desttree} &
-    Yes & Yes & Yes & No & No \\
+    Yes & Yes & No & No \\
 
 \t{INSDESTTREE} & \compactfeatureref{insdesttree} &
-    Yes & Yes & Yes & No & No \\
-
-\t{KV} & \compactfeatureref{kv} &
-    * & No & No & No & No \\
-
-\t{EBUILD_PHASE_FUNC} & \compactfeatureref{ebuild-phase-func} &
-    No & Yes & Yes & Yes & Yes \\
-
-\t{MERGE_TYPE} & \compactfeatureref{merge-type} &
-    * & Yes & Yes & Yes & Yes \\
+    Yes & Yes & No & No \\
 
 \t{ENV_UNSET} & \compactfeatureref{env-unset} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 Sane locale settings & \compactfeatureref{locale-settings} &
-    Undefined & Undefined & Yes & Yes & Yes \\
-
-Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-inject} &
-    No & Yes & Yes & Yes & Yes \\
-
-\t{REPLACING_VERSIONS} & \compactfeatureref{replace-version-vars} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{REPLACED_BY_VERSION} & \compactfeatureref{replace-version-vars} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{EPREFIX}, \t{ED}, \t{EROOT} & \compactfeatureref{offset-prefix-vars} &
-    * & Yes & Yes & Yes & Yes \\
+    Undefined & Yes & Yes & Yes \\
 
 Trailing slash in \t{D} etc. & \compactfeatureref{trailing-slash} &
-    Yes & Yes & Yes & No & No \\
+    Yes & Yes & No & No \\
 
 GNU \t{patch} version & \compactfeatureref{gnu-patch} &
-    Any & Any & Any & 2.7 & 2.7 \\
-
-\t{find} is GNU? & \compactfeatureref{gnu-find} &
-    Undefined & Yes & Yes & Yes & Yes \\
-
-Most utilities die & \compactfeatureref{die-on-failure} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{nonfatal} & \compactfeatureref{nonfatal} &
-    * & Yes & Yes & Function / external & Function / external \\
+    Any & Any & 2.7 & 2.7 \\
 
-\t{dohard} & \compactfeatureref{banned-commands} &
-    * & Banned & Banned & Banned & Banned \\
-
-\t{dosed} & \compactfeatureref{banned-commands} &
-    * & Banned & Banned & Banned & Banned \\
+\t{nonfatal} function / external & \compactfeatureref{nonfatal} &
+    No & No & Yes & Yes \\
 
 \t{einstall} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Banned & Banned & Banned \\
+    Yes & Banned & Banned & Banned \\
 
 \t{dohtml} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Banned & Banned \\
 
 \t{dolib} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Banned & Banned \\
 
 \t{libopts} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Banned & Banned \\
+    Yes & Yes & Banned & Banned \\
 
 \t{useq} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Banned \\
 
 \t{hasv} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Banned \\
 
 \t{hasq} & \compactfeatureref{banned-commands} &
-    Yes & Yes & Yes & Yes & Banned \\
+    Yes & Yes & Yes & Banned \\
 
 Query command options & \compactfeatureref{pm-query-options} &
-    None & \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} &
-    \t{-b}, \t{-d}, \t{-r} \\
+    \t{-{}-host-root} & \t{-{}-host-root} & \t{-b}, \t{-d}, \t{-r} & \t{-b}, \t{-d}, \t{-r} \\
 
 Output commands use stdout & \compactfeatureref{output-no-stdout} &
-    Yes & Yes & Yes & No & No \\
+    Yes & Yes & No & No \\
 
 \t{eqawarn} & \compactfeatureref{eqawarn} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{die -n} & \compactfeatureref{nonfatal-die} &
-    No & No & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{die} in subshell & \compactfeatureref{subshell-die} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{eapply} & \compactfeatureref{eapply} &
-    No & No & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{eapply_user} & \compactfeatureref{eapply-user} &
-    No & No & Yes & Yes & Yes \\
-
-\t{econf} arguments & \compactfeatureref{econf-options} &
-    * &
-    disable dependency tracking, disable silent rules &
-    disable dependency tracking, disable silent rules, docdir, htmldir &
-    disable dependency tracking, disable silent rules, docdir, htmldir, with sysroot &
-    disable dependency tracking, disable silent rules, disable static,
-    datarootdir, docdir, htmldir, with sysroot \\
+    No & Yes & Yes & Yes \\
 
-\t{dodoc -r} & \compactfeatureref{dodoc} &
-    * & Yes & Yes & Yes & Yes \\
+\t{econf -{}-datarootdir} & \compactfeatureref{econf-options} &
+    No & No & No & Yes \\
 
-\t{doheader} & \compactfeatureref{doheader} &
-    No & Yes & Yes & Yes & Yes \\
+\t{econf -{}-docdir} & \compactfeatureref{econf-options} &
+    No & Yes & Yes & Yes \\
 
-\t{doins} handles symlinks & \compactfeatureref{doins} &
-    * & Yes & Yes & Yes & Yes \\
+\t{econf -{}-htmldir} & \compactfeatureref{econf-options} &
+    No & Yes & Yes & Yes \\
 
-\t{doman} languages & \compactfeatureref{doman-langs} &
-    * & Yes & Yes & Yes & Yes \\
+\t{econf -{}-with-sysroot} & \compactfeatureref{econf-options} &
+    No & No & Yes & Yes \\
 
-\t{doman -i18n} precedence & \compactfeatureref{doman-langs} &
-    * & Yes & Yes & Yes & Yes \\
+\t{econf -{}-disable-static} & \compactfeatureref{econf-options} &
+    No & No & No & Yes \\
 
 \t{domo} destination path & \compactfeatureref{domo-path} &
-    \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
+    \t{\$\{DESTTREE\}} & \t{\$\{DESTTREE\}} & \t{/usr} & \t{/usr} \\
 
 \t{dosym -r} & \compactfeatureref{dosym-relative} &
-    No & No & No & No & Yes \\
-
-\t{new*} support stdin & \compactfeatureref{newfoo-stdin} &
-    No & Yes & Yes & Yes & Yes \\
+    No & No & No & Yes \\
 
-\t{insopts} affects misc.\ commands & \compactfeatureref{insopts} &
-    Yes & Yes & Yes & Yes & No \\
+\t{insopts} affects misc.\ cmds & \compactfeatureref{insopts} &
+    Yes & Yes & Yes & No \\
 
 \t{exeopts} affects \t{doinitd} & \compactfeatureref{exeopts} &
-    Yes & Yes & Yes & Yes & No \\
-
-Controllable compression & \compactfeatureref{docompress} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{docompress} & \compactfeatureref{docompress} &
-    * & Yes & Yes & Yes & Yes \\
+    Yes & Yes & Yes & No \\
 
 Controllable stripping & \compactfeatureref{dostrip} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{dostrip} & \compactfeatureref{dostrip} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{usev} second arg & \compactfeatureref{usev} &
-    No & No & No & No & Yes \\
-
-\t{use_with} empty third arg & \compactfeatureref{use-with} &
-    * & Yes & Yes & Yes & Yes \\
-
-\t{usex} & \compactfeatureref{usex} &
-    No & Yes & Yes & Yes & Yes \\
+    No & No & No & Yes \\
 
 \t{in_iuse} & \compactfeatureref{in-iuse} &
-    No & No & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{ver_*} commands & \compactfeatureref{ver-commands} &
-    No & No & No & Yes & Yes \\
+    No & No & Yes & Yes \\
 
 \t{unpack} absolute paths & \compactfeatureref{unpack-absolute} &
-    No & No & Yes & Yes & Yes \\
-
-\t{unpack} support for \t{xz} & \compactfeatureref{unpack-extensions} &
-    * & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{unpack} support for \t{txz} & \compactfeatureref{unpack-extensions} &
-    No & No & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{unpack} support for \t{7z} & \compactfeatureref{unpack-extensions} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & No \\
 
 \t{unpack} support for \t{lha} & \compactfeatureref{unpack-extensions} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & No \\
 
 \t{unpack} support for \t{rar} & \compactfeatureref{unpack-extensions} &
-    Yes & Yes & Yes & Yes & No \\
+    Yes & Yes & Yes & No \\
 
 \t{unpack} case-insensitive & \compactfeatureref{unpack-ignore-case} &
-    No & No & Yes & Yes & Yes \\
-
-\t{default} function & \compactfeatureref{default-func} &
-    * & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{einstalldocs} & \compactfeatureref{einstalldocs} &
-    No & No & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \t{get_libdir} & \compactfeatureref{get-libdir} &
-    No & No & Yes & Yes & Yes \\
-
-File mtimes preserved & \compactfeatureref{mtime-preserve} &
-    * & Yes & Yes & Yes & Yes \\
+    No & Yes & Yes & Yes \\
 
 \end{longtable}
-\end{landscape}
 
 \chapter{Differences Between EAPIs}
 

diff --git a/pms.cls b/pms.cls
index b29a9c3..dcef98c 100644
--- a/pms.cls
+++ b/pms.cls
@@ -76,13 +76,13 @@
 % the page margin.
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
     \newcommand{\featureref}[1]{\hyperref[feat:#1]{\textsc{#1}}}
-    \newcommand{\compactfeatureref}[1]{\hyperref[feat:#1]{#1}}
+    \newcommand{\compactfeatureref}[1]{\featureref{#1}}
     \newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
         % tex4ht does not support marginnote
         \framebox{\textsc{#1}}}
 }{%
     \newcommand{\featureref}[1]{\textsc{#1} on page~\pageref{feat:#1}}
-    \newcommand{\compactfeatureref}[1]{#1~p\pageref{feat:#1}}
+    \newcommand{\compactfeatureref}[1]{p.\,\pageref{feat:#1}}
     \newcommand{\featurelabel}[1]{\leavevmode\label{feat:#1}%
         \marginnote{\framebox{\textsc{#1}}}\ignorespaces}
 }


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2023-04-14 16:40 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-04-14 16:34 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-04-14 16:34 UTC (permalink / raw
  To: gentoo-commits

commit:     97a6391f49d9a9ba297da349c021fb00c3067762
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon Feb 21 18:30:11 2022 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Apr 14 15:53:25 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=97a6391f

profiles.tex: The parent file can contain comments

Closes: https://bugs.gentoo.org/470094
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 profiles.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/profiles.tex b/profiles.tex
index 30da81b..856643b 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -25,7 +25,8 @@ first, left to right, with duplicate parent paths being sourced for every time t
 It is illegal for a profile's parent tree to contain cycles. Package manager behaviour upon
 encountering a cycle is undefined.
 
-This file must not contain comments, blank lines or make use of line continuations.
+This file must not make use of line continuations. Blank lines and those beginning with a \t{\#}
+are discarded.
 
 \subsection{The eapi file}
 \label{sec:profile-eapi}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-05-10 17:53 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-05-10 17:53 UTC (permalink / raw
  To: gentoo-commits

commit:     544d28de1b799ffe839bd6d7b5bc15b4d8e5970d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Apr 29 14:33:48 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu May  4 18:39:57 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=544d28de

pkg-mgr-commands.tex: Drop CONF_LIBDIR* and DEFAULT_ABI

The CONF_LIBDIR variable was used exclusively in the 2004.3 profile
(i.e. it was no longer defined in 2005.0). Portage support for
CONF_LIBDIR was added by this commit:
https://gitweb.gentoo.org/archive/proj/portage-cvs.git/commit/?id=ecc2faaa00b1e6250129267ba873bedd2121eac5
Note that neither the ABI nor the LIBDIR_${ABI} variable existed at
the time.

The CONF_LIBDIR_OVERRIDE and DEFAULT_ABI variables were never
implemented in the dolib* and einstall commands in Portage.

With the three variables dropped, the algorithm is identical to the
logic used for get_libdir(). Therefore drop alg:ebuild-libdir and
refer to alg:get-libdir instead.

Bug: https://bugs.gentoo.org/267159
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 30 ++++--------------------------
 1 file changed, 4 insertions(+), 26 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 4fac077..b6113f6 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -430,7 +430,7 @@ commands once the current phase function has returned.
     table~\ref{tab:offset-env-vars-table}, hence EAPIs lacking offset-prefix support should use
     \t{D} instead of \t{ED} in the command given in listing~\ref{lst:einstall}.
     Variable \t{libdir} is an auxiliary local variable whose value is determined by
-    algorithm~\ref{alg:ebuild-libdir}.
+    algorithm~\ref{alg:get-libdir}.
 
 \begin{listing}[H]
 \caption{\t{einstall} command} \label{lst:einstall}
@@ -554,7 +554,7 @@ the current phase function has returned.
     EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
 \item[dolib.a] For each argument, installs it into the appropriate library subdirectory under
-    \t{DESTTREE}, as determined by algorithm~\ref{alg:ebuild-libdir}. Files are installed with file
+    \t{DESTTREE}, as determined by algorithm~\ref{alg:get-libdir}. Files are installed with file
     mode \t{0644}. Any symlinks are installed into the same directory as relative links to their
     original target. Failure behaviour is EAPI dependent as per section~\ref{sec:failure-behaviour}.
 
@@ -565,28 +565,6 @@ the current phase function has returned.
     in table~\ref{tab:banned-commands-table}, this command is banned as per
     section~\ref{sec:banned-commands}.
 
-\begin{algorithm}
-\caption{Determining the library directory} \label{alg:ebuild-libdir}
-\begin{algorithmic}[1]
-\IF{CONF_LIBDIR_OVERRIDE is set in the environment}
-    \STATE return CONF_LIBDIR_OVERRIDE
-\ENDIF
-\IF{CONF_LIBDIR is set in the environment}
-    \STATE let LIBDIR_default=CONF_LIBDIR
-\ELSE
-    \STATE let LIBDIR_default=``lib''
-\ENDIF
-\IF{ABI is set in the environment}
-    \STATE let abi=ABI
-\ELSIF{DEFAULT_ABI is set in the environment}
-    \STATE let abi=DEFAULT_ABI
-\ELSE
-    \STATE let abi=``default''
-\ENDIF
-\STATE return the value of LIBDIR_\$abi
-\end{algorithmic}
-\end{algorithm}
-
 \item[doman] Installs the given man pages into the appropriate subdirectory of \t{/usr/share/man}
     depending upon its apparent section suffix (e.\,g.\ \t{foo.1} goes to
     \t{/usr/share/man/man1/foo.1}) with file mode \t{0644}.
@@ -1273,7 +1251,7 @@ has returned.
     supporting \t{get_libdir}.
 
 \begin{algorithm}
-\caption{\t{get_libdir} logic} \label{alg:get-libdir}
+\caption{Library directory logic} \label{alg:get-libdir}
 \begin{algorithmic}[1]
 \STATE let libdir=\t{lib}
 \IF{the ABI environment variable is set}
@@ -1282,7 +1260,7 @@ has returned.
         \STATE let libdir=the value of the variable named by libvar
     \ENDIF
 \ENDIF
-\STATE print the value of libdir
+\RETURN the value of libdir
 \end{algorithmic}
 \end{algorithm}
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-06-05 18:45 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-06-05 18:45 UTC (permalink / raw
  To: gentoo-commits

commit:     8db624245bc7ac34712017a70c056abe9d4a60cf
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 13:07:58 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 29 13:07:58 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8db62424

pms.bib: Use @techreport entry type for GLEPs

This is a slightly better fit than @manual. Also, change citation keys
to lowercase.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex  |  6 +++---
 pms.bib         | 35 +++++++++++++++++++++++++----------
 tree-layout.tex |  2 +-
 3 files changed, 29 insertions(+), 14 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index 7a2c70b..daf9b01 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -3,7 +3,7 @@
 
 The \t{metadata.xml} file is used to contain extra package- or category-level information beyond
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
-and is described in GLEP~68~\cite{Glep68}.
+and is described in GLEP~68~\cite{glep68}.
 
 \chapter{Unspecified Items}
 
@@ -76,7 +76,7 @@ the \t{PROVIDE} metadata that it supplied certain virtuals, and the package mana
 in mind when handling dependencies.
 
 Old-style virtuals were supported by EAPIs 0, 1, 2, 3 and~4. They were phased out via
-GLEP~37~\cite{Glep37} and finally removed in 2011.
+GLEP~37~\cite{glep37} and finally removed in 2011.
 
 \note{A `new-style virtual' is a normal package that installs no files and uses its dependency
 requirements to pull in a `provider'. This does not require any special handling from the package
@@ -87,7 +87,7 @@ The method to specify the EAPI of an ebuild used to be a shell variable assignme
 manager had to source the ebuild in order to determine the EAPI\@. Therefore any ebuild using
 a future EAPI would still have to be sourceable by old package managers, which imposed restrictions
 e.\,g.\ on updating the Bash version or on possible changes of global scope functions. Several
-approaches to overcome this limitation were discussed, notably GLEP~55~\cite{Glep55}, which was
+approaches to overcome this limitation were discussed, notably GLEP~55~\cite{glep55}, which was
 rejected though.
 
 The current syntax of the \t{EAPI} assignment statement (see section~\ref{sec:eapi}), allowing

diff --git a/pms.bib b/pms.bib
index 014b643..bef07c1 100644
--- a/pms.bib
+++ b/pms.bib
@@ -1,38 +1,53 @@
-@manual{Glep37,
+@techreport{glep37,
     author = {Jason Stubbs},
-    title = {{GLEP} 37: Virtuals deprecation},
+    title = {Virtuals deprecation},
+    type = {GLEP},
+    number = 37,
+    institution = {Gentoo Linux},
     year = 2006,
     month = Sep,
     url = {https://www.gentoo.org/glep/glep-0037.html}
 }
 
-@manual{Glep44,
+@techreport{glep44,
     author = {Marius Mauch},
-    title = {{GLEP} 44: Manifest2 format},
+    title = {{Manifest2} format},
+    type = {GLEP},
+    number = 44,
+    institution = {Gentoo Linux},
     year = 2006,
     month = Sep,
     url = {https://www.gentoo.org/glep/glep-0044.html}
 }
 
-@manual{Glep55,
+@techreport{glep55,
     author = {Piotr Jaroszyński},
-    title = {{GLEP} 55: Use {EAPI}-suffixed ebuilds},
+    title = {Use {EAPI}-suffixed ebuilds},
+    type = {GLEP},
+    number = 55,
+    institution = {Gentoo Linux},
     year = 2009,
     month = May,
     url = {https://www.gentoo.org/glep/glep-0055.html}
 }
 
-@manual{Glep68,
+@techreport{glep68,
     author = {Michał Górny},
-    title = {{GLEP} 68: Package and category metadata},
+    title = {Package and category metadata},
+    type = {GLEP},
+    number = 68,
+    institution = {Gentoo Linux},
     year = 2022,
     month = Oct,
     url = {https://www.gentoo.org/glep/glep-0068.html}
 }
 
-@manual{Glep74,
+@techreport{glep74,
     author = {Michał Górny and Robin Hugh Johnson and Ulrich Müller},
-    title = {{GLEP} 74: Full-tree verification using Manifest files},
+    title = {Full-tree verification using {Manifest} files},
+    type = {GLEP},
+    number = 74,
+    institution = {Gentoo Linux},
     year = 2022,
     month = Oct,
     url = {https://www.gentoo.org/glep/glep-0074.html}

diff --git a/tree-layout.tex b/tree-layout.tex
index da01ff8..99fc46a 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -54,7 +54,7 @@ A package directory contains the following:
 \item A \t{metadata.xml} file, as described in appendix~\ref{app:metadata-xml}\@. Optional only for
     legacy support.
 \item A \t{ChangeLog}, in a format determined by the provider of the repository. Optional.
-\item A \t{Manifest} file, whose format is described in~\cite{Glep74}. Can be omitted if the file
+\item A \t{Manifest} file, whose format is described in~\cite{glep74}. Can be omitted if the file
     would be empty.
 \item A \t{files} directory, containing any support files needed by the ebuilds. Optional.
 \end{compactitem}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-06-05 18:45 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-06-05 18:45 UTC (permalink / raw
  To: gentoo-commits

commit:     f9adb7bfa495cd46f01bb2c9b72ceea9b603b888
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 29 13:12:21 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun  4 00:02:27 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f9adb7bf

metadata-cache.tex: Document the md5-dict cache format

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 metadata-cache.tex | 36 ++++++++++++++++++++++++++++++------
 pms.bib            | 11 +++++++++++
 2 files changed, 41 insertions(+), 6 deletions(-)

diff --git a/metadata-cache.tex b/metadata-cache.tex
index d69ecdd..9ff7086 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -3,16 +3,19 @@
 
 \section{Directory Contents}
 
-The \t{metadata/cache} directory, if it exists, contains directories whose names are the same as
-categories in the repository. Each subdirectory may optionally contain one file per package version
-in that category, named \t{<package>-<version>}, in the format described below.
+The \t{metadata/cache} or \t{metadata/md5-cache} directories, if either of them exists, contain
+directories whose names are the same as categories in the repository. Each subdirectory may
+optionally contain one file per package version in that category, named \t{<package>-<version>},
+in one of the formats described below.
 
 The metadata cache may be incomplete or non-existent, and may contain additional bogus entries.
 
-\section{Cache File Format}
+\section{Legacy Cache File Format}
+\label{sec:legacy-cache}
 
-Each cache file contains the textual values of various metadata keys, one per line, in the following
-order. Other lines may be present following these; their meanings are not defined here.
+The legacy cache file format is used in the \t{metadata/cache} directory. Each cache file contains
+the textual values of various metadata keys, one per line, in the following order. Other lines may
+be present following these; their meanings are not defined here.
 
 \begin{compactenum}
 \item Build-time dependencies (\t{DEPEND})
@@ -47,6 +50,27 @@ Any future EAPI that uses this cache format will continue to place the EAPI valu
 such a concept makes sense for that EAPI, and will place a value that is clearly not a supported
 EAPI on line~15 if it does~not.
 
+\section{md5-dict Cache File Format}
+
+The ``md5-dict'' cache file format is used in the \t{metadata/md5-cache} directory. Each cache file
+contains \t{<key>=<value>} pairs, one per line, in arbitrary order. The keys are the same as those
+listed in section~\ref{sec:legacy-cache} except the \t{INHERITED} key. In addition, keys \t{_md5_}
+and \t{_eclasses_} contain values as defined below.
+
+\begin{description}
+\item[_md5_] The MD5 checksum of the ebuild for the package version.
+
+\item[_eclasses_] A list of \i{name-checksum} pairs for all eclasses directly or indirectly
+inherited by the ebuild, in arbitrary order, where \i{name} is the eclass name and \i{checksum}
+is the MD5 checksum of the eclass. Pairs are separated from each other by single tab characters,
+as are \i{name} and \i{checksum} in each pair.
+\end{description}
+
+All MD5 checksums are computed and formatted as described in RFC~1321~\cite{rfc1321}.
+
+Other keys may be present; their meanings are not defined here. Lines with an empty value can be
+omitted.
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

diff --git a/pms.bib b/pms.bib
index bef07c1..ac60c44 100644
--- a/pms.bib
+++ b/pms.bib
@@ -52,3 +52,14 @@
     month = Oct,
     url = {https://www.gentoo.org/glep/glep-0074.html}
 }
+
+@techreport{rfc1321,
+    author = {Ronald L. Rivest},
+    title = {The {MD5} message-digest algorithm},
+    type = {RFC},
+    number = 1321,
+    institution = {RFC Editor},
+    year = 1992,
+    month = Apr,
+    url = {https://www.rfc-editor.org/rfc/rfc1321}
+}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-08-03 16:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-03 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     7822bc123b364b7d0da5a04b9c6184d92cbb311b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 16:16:07 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 16:17:47 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7822bc12

ebuild-env-vars.tex: Avoid "Ditto" in the env variables table

Suggested-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 9e79a20..54e55be 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -47,15 +47,15 @@ inconsistent variable.
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
 \t{PF} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
 \t{PN} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     Package name, for example \t{vim}. \\
 \t{CATEGORY} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     The package's category, for example \t{app-editors}. \\
 \t{PV} &
     All &
@@ -80,7 +80,7 @@ inconsistent variable.
     assume that the package manager sets it in the EAPIs supporting it. For example, a few
     configure scripts use this variable to find the \t{aalib} package; ebuilds calling such
     configure scripts must thus work around this.} &
-    Ditto &
+    \t{src_*}, \t{pkg_nofetch} &
     Yes &
     \featurelabel{aa} All source files that could be available for the package, including any that
     are disabled in \t{A} because of USE conditionals. The value is calculated from the base names
@@ -95,11 +95,11 @@ inconsistent variable.
     not exist; if a repository provides no support files for the package in question then an ebuild
     must be prepared for the situation where \t{FILESDIR} points to a non-existent directory. \\
 \t{DISTDIR} &
-    Ditto &
+    \t{src_*}, global~scope\footnotemark[\value{footnote}] &
     Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
 \t{WORKDIR} &
-    Ditto &
+    \t{src_*}, global~scope\footnotemark[\value{footnote}] &
     Yes &
     The full path to the ebuild's working directory, where all build data should be contained. \\
 \t{S} &
@@ -142,19 +142,18 @@ inconsistent variable.
     satisfied by \t{DEPEND}\@. Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
     as supporting \t{SYSROOT}. \\
 \t{ESYSROOT} &
-    Ditto &
+    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
     No &
     Contains the concatenation of the \t{SYSROOT} path and applicable prefix value, as determined
     by table~\ref{tab:depend-prefix}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
-    Ditto &
+    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any
     applicable offset prefix. Only for EAPIs listed in table~\ref{tab:added-env-vars-table} as
-    supporting \t{BROOT}.
-    \\
+    supporting \t{BROOT}. \\
 \t{T} &
     All &
     Partially\footnote{Consistent and preserved across a single connected sequence of install or
@@ -163,12 +162,12 @@ inconsistent variable.
     The full path to a temporary directory for use by the ebuild. \\
 \t{TMPDIR} &
     All &
-    Ditto &
+    Partially\footnotemark[\value{footnote}] &
     Must be set to the location of a usable temporary directory, for any applications
     called by an ebuild. Must not be used by ebuilds directly; see \t{T} above. \\
 \t{HOME} &
     All &
-    Ditto &
+    Partially\footnotemark[\value{footnote}] &
     The full path to an appropriate temporary directory for use by any programs invoked by the
     ebuild that may read or modify the home directory. \\
 \t{EPREFIX} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-08-03 16:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-03 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     1a27729740e17ccd4b7a4527a46011fa62c9efb1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 10:18:54 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 16:17:47 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1a277297

ebuild-env-vars.tex: BROOT is valid in additional pkg_* phases

By section sec:dependency-classes, dependency class BDEPEND is
satisfied in phase functions src_* and pkg_setup (only if part of
source build); IDEPEND is satisfied in pkg_preinst, pkg_postinst,
pkg_prerm and pkg_postrm.

Update the entry for BROOT accordingly.

Closes: https://bugs.gentoo.org/911574
Reported-by: Mike Gilbert <floppym <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 54e55be..f2078a6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -148,7 +148,8 @@ inconsistent variable.
     by table~\ref{tab:depend-prefix}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
-    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
+    \t{src_*}, \t{pkg_setup},\footnotemark[\value{footnote}] \t{pkg_preinst}, \t{pkg_postinst},
+    \t{pkg_prerm}, \t{pkg_postrm} &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-08-03 16:20 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-03 16:20 UTC (permalink / raw
  To: gentoo-commits

commit:     d32b244c33eac325928e29e88c22a3d74fb86051
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 16:12:16 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Aug  3 16:17:46 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=d32b244c

Reformat the footnotes in the env variables longtable

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 11 +++++++----
 pms.cls             |  3 +++
 2 files changed, 10 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index b8deb04..9e79a20 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -12,13 +12,16 @@ the various different \t{pkg_*} phases. Ebuilds must recalculate any variable th
 inconsistent variable.
 
 \begin{landscape}
+% Reduce width of text area to make room for margin notes
+\addtolength{\hsize}{-25mm}
+\setlength{\linewidth}{\hsize}
+\setlength{\columnwidth}{\hsize}
 \reversemarginpar
-\addtolength{\marginparsep}{-25mm}
 % Workaround for broken marginnote positioning in lscape environment
 \addtolength{\marginparsep}{-\textwidth} % FIXME
-\setlength{\LTleft}{25mm plus 1fil}
+\setlength{\LTleft}{0pt plus 1fil}
 \setlength{\LTright}{0pt plus 1fil}
-\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
+\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{35em}}
 \caption{Defined variables\label{tab:defined-vars}}\\
 \toprule
 \multicolumn{1}{c}{\textbf{Variable}} &
@@ -34,7 +37,7 @@ inconsistent variable.
 \multicolumn{1}{c}{\textbf{Description}} \\
 \midrule
 \endhead
-\midrule
+%\midrule
 \endfoot
 \bottomrule
 \endlastfoot

diff --git a/pms.cls b/pms.cls
index dcef98c..d1a85fa 100644
--- a/pms.cls
+++ b/pms.cls
@@ -22,8 +22,10 @@
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
 \PassOptionsToPackage{nohyphen}{underscore}
+\PassOptionsToPackage{hang,flushmargin}{footmisc}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 \PassOptionsToPackage{hyphens}{url} % url.sty implicitly loaded by hyperref
+\PassOptionsToPackage{hyperfootnotes=false}{hyperref} % footmisc compatibility
 \PassOptionsToPackage{local}{gitinfo2}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
@@ -41,6 +43,7 @@
     marginnote, % Typeset a paragraph in the page margin
     paralist,   % Additional list environments
     underscore, % Allow simple _ instead of \_
+    footmisc,   % Customise footnotes
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents
     float,      % More control over float environments


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-08-06 15:26 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-06 15:26 UTC (permalink / raw
  To: gentoo-commits

commit:     07dde903c0f2feeb9f4aa46273436dc992b18913
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 16:16:07 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 11:09:41 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=07dde903

ebuild-env-vars.tex: Avoid "Ditto" in the env variables table

Suggested-by: Sam James <sam <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 23 +++++++++++------------
 1 file changed, 11 insertions(+), 12 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 533936a..fc8123b 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -48,15 +48,15 @@ inconsistent variable.
     Package name and version, without the revision part. For example, \t{vim-7.0.174}. \\
 \t{PF} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     Package name, version, and revision (if any), for example \t{vim-7.0.174-r1}. \\
 \t{PN} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     Package name, for example \t{vim}. \\
 \t{CATEGORY} &
     All &
-    Ditto &
+    No\footnotemark[\value{footnote}] &
     The package's category, for example \t{app-editors}. \\
 \t{PV} &
     All &
@@ -81,7 +81,7 @@ inconsistent variable.
     assume that the package manager sets it in the EAPIs supporting it. For example, a few
     configure scripts use this variable to find the \t{aalib} package; ebuilds calling such
     configure scripts must thus work around this.} &
-    Ditto &
+    \t{src_*}, \t{pkg_nofetch} &
     Yes &
     \featurelabel{aa} All source files that could be available for the package, including any that
     are disabled in \t{A} because of USE conditionals. The value is calculated from the base names
@@ -96,11 +96,11 @@ inconsistent variable.
     not exist; if a repository provides no support files for the package in question then an ebuild
     must be prepared for the situation where \t{FILESDIR} points to a non-existent directory. \\
 \t{DISTDIR} &
-    Ditto &
+    \t{src_*}, global~scope\footnotemark[\value{footnote}] &
     Yes &
     The full path to the directory in which the files in the \t{A} variable are stored. \\
 \t{WORKDIR} &
-    Ditto &
+    \t{src_*}, global~scope\footnotemark[\value{footnote}] &
     Yes &
     The full path to the ebuild's working directory, where all build data should be contained. \\
 \t{S} &
@@ -143,19 +143,18 @@ inconsistent variable.
     satisfied by \t{DEPEND}\@. Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
     as supporting \t{SYSROOT}. \\
 \t{ESYSROOT} &
-    Ditto &
+    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
     No &
     Contains the concatenation of the \t{SYSROOT} path and applicable prefix value, as determined
     by table~\ref{tab:depend-prefix}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
-    Ditto &
+    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any
     applicable offset prefix. Only for EAPIs listed in table~\ref{tab:added-env-vars-table} as
-    supporting \t{BROOT}.
-    \\
+    supporting \t{BROOT}. \\
 \t{T} &
     All &
     Partially\footnote{Consistent and preserved across a single connected sequence of install or
@@ -164,12 +163,12 @@ inconsistent variable.
     The full path to a temporary directory for use by the ebuild. \\
 \t{TMPDIR} &
     All &
-    Ditto &
+    Partially\footnotemark[\value{footnote}] &
     Must be set to the location of a usable temporary directory, for any applications
     called by an ebuild. Must not be used by ebuilds directly; see \t{T} above. \\
 \t{HOME} &
     All &
-    Ditto &
+    Partially\footnotemark[\value{footnote}] &
     The full path to an appropriate temporary directory for use by any programs invoked by the
     ebuild that may read or modify the home directory. \\
 \t{EPREFIX} &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-08-06 15:26 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-06 15:26 UTC (permalink / raw
  To: gentoo-commits

commit:     86bdfe73f488081e6abc9397693e35b400cfc6b6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 16:12:16 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 11:09:40 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=86bdfe73

Reformat the footnotes in the env variables longtable

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 12 ++++++++----
 pms.cls             |  3 +++
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index b8deb04..533936a 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -12,13 +12,17 @@ the various different \t{pkg_*} phases. Ebuilds must recalculate any variable th
 inconsistent variable.
 
 \begin{landscape}
+% Reduce width of text area to make room for margin notes
+\addtolength{\hsize}{-25mm}
+\setlength{\linewidth}{\hsize}
+\setlength{\columnwidth}{\hsize}
+\addtolength{\footskip}{25mm}
 \reversemarginpar
-\addtolength{\marginparsep}{-25mm}
 % Workaround for broken marginnote positioning in lscape environment
 \addtolength{\marginparsep}{-\textwidth} % FIXME
-\setlength{\LTleft}{25mm plus 1fil}
+\setlength{\LTleft}{0pt plus 1fil}
 \setlength{\LTright}{0pt plus 1fil}
-\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{0.5\linewidth}}
+\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{35em}}
 \caption{Defined variables\label{tab:defined-vars}}\\
 \toprule
 \multicolumn{1}{c}{\textbf{Variable}} &
@@ -34,7 +38,7 @@ inconsistent variable.
 \multicolumn{1}{c}{\textbf{Description}} \\
 \midrule
 \endhead
-\midrule
+%\midrule
 \endfoot
 \bottomrule
 \endlastfoot

diff --git a/pms.cls b/pms.cls
index dcef98c..d1a85fa 100644
--- a/pms.cls
+++ b/pms.cls
@@ -22,8 +22,10 @@
 \PassOptionsToPackage{utf8}{inputenc}
 \PassOptionsToPackage{quiet}{marginnote}
 \PassOptionsToPackage{nohyphen}{underscore}
+\PassOptionsToPackage{hang,flushmargin}{footmisc}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
 \PassOptionsToPackage{hyphens}{url} % url.sty implicitly loaded by hyperref
+\PassOptionsToPackage{hyperfootnotes=false}{hyperref} % footmisc compatibility
 \PassOptionsToPackage{local}{gitinfo2}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
@@ -41,6 +43,7 @@
     marginnote, % Typeset a paragraph in the page margin
     paralist,   % Additional list environments
     underscore, % Allow simple _ instead of \_
+    footmisc,   % Customise footnotes
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents
     float,      % More control over float environments


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-08-06 15:26 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-06 15:26 UTC (permalink / raw
  To: gentoo-commits

commit:     5c394f7d83e432cde0d9ff9d70c2e2eb0c1c2327
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Wed Aug  2 10:18:54 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Aug  6 11:09:41 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=5c394f7d

ebuild-env-vars.tex: BROOT is valid in additional pkg_* phases

By section sec:dependency-classes, dependency class BDEPEND is
satisfied in phase functions src_* and pkg_setup (only if part of
source build); IDEPEND is satisfied in pkg_preinst, pkg_postinst,
pkg_prerm and pkg_postrm.

Update the entry for BROOT accordingly.

Closes: https://bugs.gentoo.org/911574
Reported-by: Mike Gilbert <floppym <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index fc8123b..20aedb4 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -149,7 +149,8 @@ inconsistent variable.
     by table~\ref{tab:depend-prefix}. Only for EAPIs listed in table~\ref{tab:offset-env-vars-table}
     as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
-    \t{src_*}, \t{pkg_setup}\footnotemark[\value{footnote}] &
+    \t{src_*}, \t{pkg_setup},\footnotemark[\value{footnote}] \t{pkg_preinst}, \t{pkg_postinst},
+    \t{pkg_prerm}, \t{pkg_postrm} &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2023-08-09 17:24 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-09 17:24 UTC (permalink / raw
  To: gentoo-commits

commit:     f336f16ab8ab80d77cfb626eb2935eacda8bb596
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Aug  3 16:22:33 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug  7 17:08:16 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=f336f16a

ebuild-env-vars.tex: Variables may not be meaningful in global scope

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 6046e1f..5fe72dc 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -2,8 +2,9 @@
 \label{sec:ebuild-env-vars}
 
 The package manager must define the following environment variables. Not all variables are
-meaningful in all phases; variables that are not meaningful in a given phase may be unset or set to
-any value. Ebuilds must not attempt to modify any of these variables, unless otherwise specified.
+universally meaningful; variables that are not meaningful in a given phase or in global scope may
+be unset or set to any value. Ebuilds must not attempt to modify any of these variables, unless
+otherwise specified.
 
 Because of their special meanings, these variables may not be preserved consistently across all
 phases as would normally happen due to environment saving (see section~\ref{sec:ebuild-env-state}).


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-08-09 17:24 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-08-09 17:24 UTC (permalink / raw
  To: gentoo-commits

commit:     ea32ea927dad915bd50e0dcf976379b8470eb4d7
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Aug  6 09:52:14 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon Aug  7 17:08:16 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ea32ea92

ebuild-env-vars.tex: Add footnote about BROOT in pkg_* phases

Restrict the previous change to EAPIs that actually support IDEPEND.

Bug: https://bugs.gentoo.org/911574
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 20aedb4..6046e1f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -150,7 +150,8 @@ inconsistent variable.
     as supporting \t{ESYSROOT}. \\
 \t{BROOT} &
     \t{src_*}, \t{pkg_setup},\footnotemark[\value{footnote}] \t{pkg_preinst}, \t{pkg_postinst},
-    \t{pkg_prerm}, \t{pkg_postrm} &
+    \t{pkg_prerm}, \t{pkg_postrm}\footnote{Legal in \t{pkg_*inst} and \t{pkg_*rm} only for EAPIs
+    listed in table~\ref{tab:depend-table} as supporting \t{IDEPEND}.} &
     No &
     \featurelabel{broot} The absolute path to the root directory containing build dependencies
     satisfied by \t{BDEPEND} and \t{IDEPEND}, typically executable build tools. This includes any


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2023-12-28  8:00 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2023-12-28  8:00 UTC (permalink / raw
  To: gentoo-commits

commit:     aecb51e70f8546fd7f55144f9035ca982ab6fae1
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Dec 24 13:05:52 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Dec 24 13:05:52 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=aecb51e7

pkg-mgr-commands.tex: Sandbox commands accept any file

The sandbox commands addread, addwrite, addpredict and adddeny can
accept not only directories, but also other files like regular files
or device nodes.

This behaviour is supported by all three package managers. Also, the
sandbox's default configuration relies on it (e.g. "/dev/null" and
"${HOME}/.bash_history" in /etc/sandbox.conf), and it is widely used
in the Gentoo repository.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pkg-mgr-commands.tex | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index b6113f6..2202b64 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -89,14 +89,14 @@ called, the package manager must abort the build process indicating an error.
 \end{centertable}
 
 \subsection{Sandbox commands}
-These commands affect the behaviour of the sandbox. Each command takes a single directory as
-argument. Ebuilds must not run any of these commands once the current phase function has returned.
+These commands affect the behaviour of the sandbox. Each command takes a single path as argument.
+Ebuilds must not run any of these commands once the current phase function has returned.
 \begin{description}
-\item[addread] Add a directory to the permitted read list.
-\item[addwrite] Add a directory to the permitted write list.
-\item[addpredict] Add a directory to the predict list. Any write to a location in this list will be
+\item[addread] Add a path to the permitted read list.
+\item[addwrite] Add a path to the permitted write list.
+\item[addpredict] Add a path to the predict list. Any write to a location in this list will be
     denied, but will not trigger access violation messages or abort the build process.
-\item[adddeny] Add a directory to the deny list.
+\item[adddeny] Add a path to the deny list.
 \end{description}
 
 \subsection{Package manager query commands}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-01-01 14:34 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-01-01 14:34 UTC (permalink / raw
  To: gentoo-commits

commit:     658ead31edffc3bf431c5840830a357e3fe555da
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Fri Dec 29 11:54:18 2023 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Fri Dec 29 12:20:21 2023 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=658ead31

ebuild-env-vars.tex: Clarify that D is not valid in pkg_postinst

D in pkg_* phases was first mentioned in SVN r74 (commit f627e46102c6)
as a variable specific to the pkg_preinst phase function (replacing
IMAGE). pkg_postinst was added in r88 (commit 3da3ee561f1a), but this
was reverted in r89 (commit 65c466317718) "D in pkg_postinst == bad".

pkg_postinst reappeared when the env vars section was converted to
a table in commit 58d3bc0e8301.

According to chapter 13 "Merging and Unmerging", the method used to
perform the merge is not specified, and merging a regular file or
a directory may alter or remove its source under D. Therefore, trying
to access any file in D during the postinst phase is an error.

The scope of ED follows that of D.

Closes: https://bugs.gentoo.org/920889
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 5fe72dc..aae5413 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -192,14 +192,13 @@ inconsistent variable.
     The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}.
     \\
 \t{D} (continued) &
-    \t{pkg_preinst}, \t{pkg_postinst} &
-    Yes\footnote{Consistent across \t{pkg_preinst} and \t{pkg_postinst}, but may not necessarily
-    have the same value that it had in the \t{src_*} phases.} &
-    Contains the full path to the image that is about to be or has just been merged.
+    \t{pkg_preinst} &
+    No\footnote{May not necessarily have the same value that it had in the \t{src_*} phases.} &
+    Contains the full path to the image directory of the package about to be merged.
     The presence of a trailing slash is EAPI dependent as listed in table~\ref{tab:trailing-slash}.
     \\
 \t{ED} &
-    \t{src_*}, \t{pkg_preinst}, \t{pkg_postinst} &
+    \t{src_*}, \t{pkg_preinst} &
     See \t{D} &
     Contains the concatenation of the paths in the \t{D} and \t{EPREFIX} variables,
     for convenience. See also the \t{EPREFIX} variable. Only for EAPIs listed in


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-02-08  9:43 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-02-08  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     7674760dc5ac6d2a1800203f8b257665bc12b9db
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 09:04:35 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 09:04:35 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=7674760d

pms.tex: Update copyright years

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.tex b/pms.tex
index f435f51..bd8c9d5 100644
--- a/pms.tex
+++ b/pms.tex
@@ -31,7 +31,7 @@
 \vspace*{\fill}
 {%
     \small
-    \textcopyright{} 2007--2023 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
+    \textcopyright{} 2007--2024 Stephen Bennett, Ciaran McCreesh and others. Contributions are owned
     by their respective authors, and may have been changed substantially before inclusion.
 
     This work is released under the Creative Commons Attribution-ShareAlike 4.0 International


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2024-02-08  9:43 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-02-08  9:43 UTC (permalink / raw
  To: gentoo-commits

commit:     47772dd3b715953dda0e663c62d31814043f9df6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jan 27 09:04:54 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sat Jan 27 13:03:44 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=47772dd3

tree-layout.tex: Loosen restrictions on reusing package and slot names

Closes: https://bugs.gentoo.org/923019
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 tree-layout.tex | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/tree-layout.tex b/tree-layout.tex
index 99fc46a..61f70a2 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -229,9 +229,9 @@ to \t{slot2}.
 It is unspecified in what order the files in the \t{updates} directory are processed. Lines within
 each file are processed in ascending order.
 
-Any name that has appeared as the origin of a move must not be reused in the future. Any slot
-that has appeared as the origin of a slot move may not be used by packages matching the spec of
-that slot move in the future.
+At any given time, a name that appears as the origin of a move may not be used as a qualified
+package name in the repository. A slot that appears as the origin of a slot move may not be used
+by packages matching the spec of that slot move.
 
 \ChangeWhenAddingAnEAPI{8}
 \begin{centertable}{Naming rules for files in \t{updates} directory for EAPIs}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-03-03 17:30 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-03-03 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     ef9be7c2a696a476514de29e2f88df82f37f2ceb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 17:19:40 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 17:19:40 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ef9be7c2

ebuild-env-vars.tex: EBUILD_PHASE{,_FUNC} are valid only in phases

Portage didn't ever set (or unset) these variables to a special value
when sourcing the ebuild, so obviously ebuilds cannot rely on this.
Restrict their validity to actual phases and make global scope
behaviour unspecified.

The previous wording was introduced with commit 58d3bc0.

Bug: https://bugs.gentoo.org/908552
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index aae5413..0dcfd24 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -224,23 +224,23 @@ inconsistent variable.
     A whitespace-delimited list of all active USE flags for this ebuild. See
     section~\ref{sec:use-iuse-handling} for details. \\
 \t{EBUILD_PHASE} &
-    All &
+    \t{src_*}, \t{pkg_*} &
     No &
     Takes one of the values \t{config}, \t{setup}, \t{nofetch}, \t{unpack}, \t{prepare},
     \t{configure}, \t{compile}, \t{test}, \t{install}, \t{preinst}, \t{postinst}, \t{prerm},
     \t{postrm}, \t{info}, \t{pretend} according to the top level ebuild function that was executed
-    by the package manager. May be unset or any single word that is not any of the above when the
-    ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. \\
+    by the package manager. Behaviour is unspecified when the ebuild is being sourced for other
+    (e.\,g.\ metadata or QA) purposes. \\
 \t{EBUILD_PHASE_FUNC} &
-    All &
+    \t{src_*}, \t{pkg_*} &
     No &
     \featurelabel{ebuild-phase-func} Takes one of the values \t{pkg_config}, \t{pkg_setup},
     \t{pkg_nofetch}, \t{src_unpack}, \t{src_prepare}, \t{src_configure}, \t{src_compile},
     \t{src_test}, \t{src_install}, \t{pkg_preinst}, \t{pkg_postinst}, \t{pkg_prerm},
     \t{pkg_postrm}, \t{pkg_info}, \t{pkg_pretend} according to the top level ebuild function that
-    was executed by the package manager. May be unset or any single word that is not any of the
-    above when the ebuild is being sourced for other (e.\,g.\ metadata or QA) purposes. Only for
-    EAPIs listed in table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD_PHASE_FUNC}. \\
+    was executed by the package manager. Behaviour is unspecified when the ebuild is being sourced
+    for other (e.\,g.\ metadata or QA) purposes. Only for EAPIs listed in
+    table~\ref{tab:added-env-vars-table} as supporting \t{EBUILD_PHASE_FUNC}. \\
 \t{KV} &
     All &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-03-03 17:30 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-03-03 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     1a669f3ce2ac6b6cf4c96be16dfea0b5621a938d
Author:     Michał Górny <mgorny <AT> gentoo <DOT> org>
AuthorDate: Wed Feb 21 15:45:01 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Mar  3 17:29:40 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=1a669f3c

ebuild-vars.tex: Add "test_privileged" to valid "PROPERTIES"

Add "test_privileged" to the values of "PROPERTIES", as introduced
in Portage commit 997058a825a340813532bef77a34425cf4a88eb2 (to be
included in 3.0.62).  This is akin to "test_network", used to indicate
that the test suite needs superuser privileges.

Bug: https://bugs.gentoo.org/924585
Signed-off-by: Michał Górny <mgorny <AT> gentoo.org>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-vars.tex | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 5f3f583..79fa96f 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -239,6 +239,8 @@ The following tokens are permitted inside \t{PROPERTIES}:
     installed.
 \item[test_network] The package manager may run tests that require an internet connection, even if
     the ebuild has \t{RESTRICT=test}.
+\item[test_privileged] The package manager may run tests that require superuser privileges, even
+    if the ebuild has \t{RESTRICT=test}.
 \end{description}
 
 Package managers may recognise other tokens. Ebuilds may not rely upon any token being supported.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-03-03 17:30 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-03-03 17:30 UTC (permalink / raw
  To: gentoo-commits

commit:     4d3c1a3d1275a76f41c0c7c50ec11d1f8954e2fb
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Thu Feb 22 17:12:22 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Thu Feb 22 17:12:22 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=4d3c1a3d

tree-layout.tex: Plural use of "data" is preferred in BE

https://digitalblog.ons.gov.uk/2016/12/08/data-is-versus-data-are/

This also fixes an "underfull \hbox" error.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 tree-layout.tex | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/tree-layout.tex b/tree-layout.tex
index 61f70a2..d286307 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -265,7 +265,7 @@ directory, support files needed by these eclasses.
 \section{The Metadata Directory}
 \label{sec:metadata-dir}
 
-The \t{metadata} directory contains various repository-level metadata that is not contained in
+The \t{metadata} directory contains various repository-level metadata that are not contained in
 \t{profiles/}. All contents are optional. In this standard only the \t{cache} subdirectory is
 described; other contents are optional but may include security advisories, DTD files for the
 various XML files used in the repository, and repository timestamps.


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-04-05 14:07 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-04-05 14:07 UTC (permalink / raw
  To: gentoo-commits

commit:     e044fe24e90de258483a59130c1b56de21082bc6
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue Apr  2 16:53:19 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Apr  2 16:53:19 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e044fe24

ebuild-env-vars.tex: Be more specific about REPLACING_VERSIONS phases

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 0dcfd24..06d37d9 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -255,12 +255,13 @@ inconsistent variable.
     package, and \t{buildonly} if building a binary package without installing it. Only for EAPIs
     listed in table~\ref{tab:added-env-vars-table} as supporting \t{MERGE_TYPE}. \\
 \t{REPLACING_VERSIONS} &
-    \t{pkg_*} (see text) &
+    \t{pkg_preinst}, \t{pkg_postinst} (\t{pkg_pretend}, \t{pkg_setup}) &
     Yes &
     A list of all versions of this package (including revision, if specified), whitespace separated
     with no leading or trailing whitespace, that are being replaced (uninstalled or overwritten)
-    as a result of this install. See section~\ref{sec:replacing-versions}. Only for EAPIs listed
-    in table~\ref{tab:added-env-vars-table} as supporting \t{REPLACING_VERSIONS}. \\
+    as a result of this install. See section~\ref{sec:replacing-versions}, especially for the phases
+    in which the variable is legal. Only for EAPIs listed in table~\ref{tab:added-env-vars-table}
+    as supporting \t{REPLACING_VERSIONS}. \\
 \t{REPLACED_BY_VERSION} &
     \t{pkg_prerm}, \t{pkg_postrm} &
     Yes &


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2024-05-13 18:00 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-05-13 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     e1251fe69eac1e01c3915ae289b9ba73e8cc7413
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Tue May  7 17:28:42 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Wed May  8 18:11:59 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=e1251fe6

Use sentence case throughout

Subsection headings were already changed from title case to sentence
case in commit ca463ce. This left chapter and section headings alone,
which is inconsistent (although it is specified by some style guides
like APA).

This commit changes headings to sentence case throughout, following
most other Gentoo documentation, e.g. wiki and devmanual.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex         |  8 ++++----
 commands.tex           |  6 +++---
 dependencies.tex       |  6 +++---
 desk-reference.tex     |  4 ++--
 eapi-cheatsheet.tex    | 26 +++++++++++++-------------
 eapi-differences.tex   |  4 ++--
 ebuild-env-vars.tex    |  2 +-
 ebuild-environment.tex |  6 +++---
 ebuild-format.tex      |  2 +-
 ebuild-functions.tex   |  6 +++---
 ebuild-vars.tex        | 10 +++++-----
 eclasses.tex           |  4 ++--
 introduction.tex       |  4 ++--
 merge.tex              |  8 ++++----
 metadata-cache.tex     |  8 ++++----
 names.tex              | 10 +++++-----
 pkg-mgr-commands.tex   |  2 +-
 pms.tex                |  2 +-
 profile-variables.tex  |  2 +-
 profiles.tex           |  4 ++--
 tree-layout.tex        | 16 ++++++++--------
 21 files changed, 70 insertions(+), 70 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index daf9b01..8249ab3 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -5,7 +5,7 @@ The \t{metadata.xml} file is used to contain extra package- or category-level in
 what is stored in ebuild metadata. Its exact format is strictly beyond the scope of this document,
 and is described in GLEP~68~\cite{glep68}.
 
-\chapter{Unspecified Items}
+\chapter{Unspecified items}
 
 The following items are not specified by this document, and must not be relied upon by ebuilds.
 This is, of course, an incomplete list---it covers only the things that the authors know have
@@ -24,9 +24,9 @@ been abused in the past.
 \item The \t{PORTDIR_OVERLAY} variable, and overlay behaviour in general.
 \end{compactitem}
 
-\chapter{Historical Curiosities}
+\chapter{Historical curiosities}
 
-\section{Long-obsolete Features}
+\section{Long-obsolete features}
 
 The items described in this section are included for information only. Unless otherwise noted, they
 were deprecated or abandoned long before EAPI was introduced. Ebuilds must not use these features,
@@ -61,7 +61,7 @@ The \t{use.defaults} file in the profile directory was used to implement `autous
 flags on or off depending upon which packages are installed. It was deprecated long ago and finally
 removed in 2009.
 
-\section{Retroactive Changes}
+\section{Retroactive changes}
 
 In some exceptional cases, changes to the specification have been approved by the Gentoo Council
 without introducing a new EAPI\@. This section lists such retroactive changes.

diff --git a/commands.tex b/commands.tex
index d0ad87d..2c9e594 100644
--- a/commands.tex
+++ b/commands.tex
@@ -1,4 +1,4 @@
-\chapter{Available Commands}
+\chapter{Available commands}
 
 This chapter documents the commands available to an ebuild. Unless otherwise specified, they may be
 aliases, shell functions, or executables in the ebuild's \t{PATH}.
@@ -7,7 +7,7 @@ When an ebuild is being sourced for metadata querying rather than for a build (t
 when none of the \t{src_} or \t{pkg_} functions are to be called), no external command may
 be executed. The package manager may take steps to enforce this.
 
-\section{System Commands}
+\section{System commands}
 
 Any ebuild not listed in the system set for the active profile(s) may assume the presence of every
 command that is always provided by the system set for that profile. However, it must target the
@@ -49,7 +49,7 @@ The following commands must always be available in the ebuild environment:
     \end{tabular}
 \end{centertable}
 
-\section{Commands Provided by Package Dependencies}
+\section{Commands provided by package dependencies}
 
 In some cases a package's build process will require the availability of executables not provided by
 the core system, a common example being autotools. The availability of commands provided by the

diff --git a/dependencies.tex b/dependencies.tex
index 6c09714..47c96c3 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -1,7 +1,7 @@
 \chapter{Dependencies}
 \label{ch:dependencies}
 
-\section{Dependency Classes}
+\section{Dependency classes}
 \label{sec:dependency-classes}
 
 \begin{centertable}{Dependency classes required to be satisfied for a particular phase function}
@@ -111,7 +111,7 @@ interfaces related to the dependency classes.
 In addition, \t{HOMEPAGE}, \t{SRC_URI}, \t{LICENSE}, \t{REQUIRED_USE}, \t{PROPERTIES} and
 \t{RESTRICT} use dependency-style specifications to specify their values.
 
-\section{Dependency Specification Format}
+\section{Dependency specification format}
 \label{sec:dependency-spec}
 
 The following elements are recognised in at least one class of specification. All elements must
@@ -227,7 +227,7 @@ at-most-one-of group for match purposes.
 
 In an at-most-one-of group, at most one immediate child element must be matched.
 
-\section{Package Dependency Specifications}
+\section{Package dependency specifications}
 
 A package dependency can be in one of the following base formats. A package manager must warn or
 error on non-compliant input.

diff --git a/desk-reference.tex b/desk-reference.tex
index 0bcda38..cc60784 100644
--- a/desk-reference.tex
+++ b/desk-reference.tex
@@ -1,12 +1,12 @@
 \ifthenelse{\boolean{TEX4HT-HACKS}}{%
-    \chapter{Desk Reference}
+    \chapter{Desk reference}
     \label{app:cheatsheet}
     \href{eapi-cheatsheet.pdf}{EAPI Cheat Sheet}
 }{%
     % Make sure that the cheat sheet starts on an odd page
     \ifthenelse{\isodd{\thepage}}{}{\null\newpage}%
     \includepdf[pages=-,landscape,turn=false,lastpage=2,%
-        addtotoc={1,chapter,0,Desk Reference,app:cheatsheet}]{eapi-cheatsheet}
+        addtotoc={1,chapter,0,Desk reference,app:cheatsheet}]{eapi-cheatsheet}
 }
 
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index 8c379bc..fc75aec 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -77,7 +77,7 @@
     % to the original author or the PMS team.
 
     This work is released under the Creative Commons
-    Attribution-ShareAlike 4.0 International Licence.%
+    Attribution-ShareAlike 4.0 International licence.%
     \footnote{\url{https://creativecommons.org/licenses/by-sa/4.0/}}
 \end{abstract}
 
@@ -92,7 +92,7 @@ differences between these previous EAPIs.
 
 % \section{EAPI 1}
 % \label{sec:cs:eapi1}
-% \subsection{Additions/Changes}
+% \subsection{Additions/changes}
 % \label{sec:cs:eapi1-additions}
 % \begin{description}
 %     \item[IUSE defaults] A USE flag can be marked as mandatory (if
@@ -106,7 +106,7 @@ differences between these previous EAPIs.
 
 % \section{EAPI 2 (2008-09-25)}
 % \label{sec:cs:eapi2}
-% \subsection{Additions/Changes}
+% \subsection{Additions/changes}
 % \label{sec:cs:eapi2-additions}
 % \begin{description}
 %     \item[\code{SRC_URI} arrows] Allows redirection of upstream file
@@ -161,7 +161,7 @@ differences between these previous EAPIs.
 
 % \section{EAPI 3 (2010-01-18)}
 % \label{sec:cs:eapi3}
-% \subsection{Additions/Changes}
+% \subsection{Additions/changes}
 % \label{sec:cs:eapi3-additions}
 % \begin{description}
 %     \item[Support for \code{.xz}] Unpack of \code{.xz} and
@@ -173,7 +173,7 @@ differences between these previous EAPIs.
 
 % \section{EAPI 4 (2011-01-17)}
 % \label{sec:cs:eapi4}
-% \subsection{Additions/Changes}
+% \subsection{Additions/changes}
 % \label{sec:cs:eapi4-additions}
 % \begin{description}
 %     \item[\code{pkg_pretend}] Some useful checks (kernel options for
@@ -245,7 +245,7 @@ differences between these previous EAPIs.
 %     the version that is replacing the current one, respectively.
 %     See \featureref{replace-version-vars}.
 % \end{description}
-% \subsection{Removals/Bans}
+% \subsection{Removals/bans}
 % \label{sec:cs:eapi4-removalsbans}
 % \begin{description}
 %     \item[\code{dohard}, \code{dosed}] Both functions are not allowed
@@ -263,7 +263,7 @@ differences between these previous EAPIs.
 
 % \section{EAPI 5 (2012-09-20)}
 % \label{sec:cs:eapi5}
-% \subsection{Additions/Changes}
+% \subsection{Additions/changes}
 % \label{sec:cs:eapi5-additions}
 % \begin{description}
 %     \item[Sub-slots] The \code{SLOT} variable and slot dependencies
@@ -333,7 +333,7 @@ differences between these previous EAPIs.
 
 \section{EAPI 6 (2015-11-13)}
 \label{sec:cs:eapi6}
-\subsection{Additions/Changes}
+\subsection{Additions/changes}
 \label{sec:cs:eapi6-additions}
 \begin{description}
     \item[Bash version] Ebuilds can use features of Bash version 4.2
@@ -399,7 +399,7 @@ differences between these previous EAPIs.
     the \code{lib*} directory basename suitable for the current ABI\@.
     See \featureref{get-libdir}.
 \end{description}
-\subsection{Removals/Bans}
+\subsection{Removals/bans}
 \label{sec:cs:eapi6-removalsbans}
 \begin{description}
     \item[\code{einstall}] No longer allowed. Use \code{emake install}
@@ -409,7 +409,7 @@ differences between these previous EAPIs.
 
 \section{EAPI 7 (2018-04-30)}
 \label{sec:cs:eapi7}
-\subsection{Additions/Changes}
+\subsection{Additions/changes}
 \label{sec:cs:eapi7-additions}
 \begin{description}
     \item[\code{package.*} and \code{use.*}] These profile files can
@@ -501,7 +501,7 @@ differences between these previous EAPIs.
     \end{description}
     See \featureref{ver-commands}.
 \end{description}
-\subsection{Removals/Bans}
+\subsection{Removals/bans}
 \label{sec:cs:eapi7-removalsbans}
 \begin{description}
     \item[\code{package.provided}] Deprecated since a long time and
@@ -524,7 +524,7 @@ differences between these previous EAPIs.
 
 \section{EAPI 8 (2021-06-13)}
 \label{sec:cs:eapi8}
-\subsection{Additions/Changes}
+\subsection{Additions/changes}
 \label{sec:cs:eapi8-additions}
 \begin{description}
     \item[\code{profiles/updates} directory] Arbitrary filenames
@@ -569,7 +569,7 @@ differences between these previous EAPIs.
     outputs \emph{[true]}, or the flag's name if called with only one
     argument. Otherwise outputs nothing. See \featureref{usev}.
 \end{description}
-\subsection{Removals/Bans}
+\subsection{Removals/bans}
 \label{sec:cs:eapi8-removalsbans}
 \begin{description}
     \item[\code{useq}] No longer allowed. Use regular \code{use} as

diff --git a/eapi-differences.tex b/eapi-differences.tex
index 31d5537..7fdc0d4 100644
--- a/eapi-differences.tex
+++ b/eapi-differences.tex
@@ -1,4 +1,4 @@
-\chapter{Feature Availability by EAPI}
+\chapter{Feature availability by EAPI}
 
 \note{This chapter is informative and for convenience only. Refer to the main text for specifics.
 For lack of space, EAPIs 0 to~4 have been omitted from the table below, as well as items that would
@@ -215,7 +215,7 @@ Controllable stripping & \compactfeatureref{dostrip} &
 
 \end{longtable}
 
-\chapter{Differences Between EAPIs}
+\chapter{Differences between EAPIs}
 
 \note{This chapter is informative and for convenience only. Refer to the main text for specifics.}
 

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 06d37d9..268cb3f 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -1,4 +1,4 @@
-\section{Defined Variables}
+\section{Defined variables}
 \label{sec:ebuild-env-vars}
 
 The package manager must define the following environment variables. Not all variables are

diff --git a/ebuild-environment.tex b/ebuild-environment.tex
index 8093f1e..06e197d 100644
--- a/ebuild-environment.tex
+++ b/ebuild-environment.tex
@@ -1,8 +1,8 @@
-\chapter{The Ebuild Environment}
+\chapter{The ebuild environment}
 
 \input{ebuild-env-vars.tex}
 
-\section{The State of Variables Between Functions}
+\section{The state of variables between functions}
 \label{sec:ebuild-env-state}
 
 Exported and default scope variables are saved between functions. A non-local variable set in a
@@ -55,7 +55,7 @@ src_install(){
 \end{verbatim}
 \end{listing}
 
-\section{The State of the System Between Functions}
+\section{The state of the system between functions}
 
 For the sake of this section:
 \nobreakpar

diff --git a/ebuild-format.tex b/ebuild-format.tex
index cf06668..d1fbdfe 100644
--- a/ebuild-format.tex
+++ b/ebuild-format.tex
@@ -1,4 +1,4 @@
-\chapter{Ebuild File Format}
+\chapter{Ebuild file format}
 \label{ch:ebuild-format}
 
 \featurelabel{bash-version} The ebuild file format is in its basic form a subset of the format of

diff --git a/ebuild-functions.tex b/ebuild-functions.tex
index 25164d4..84270fa 100644
--- a/ebuild-functions.tex
+++ b/ebuild-functions.tex
@@ -1,7 +1,7 @@
-\chapter{Ebuild-defined Functions}
+\chapter{Ebuild-defined functions}
 \label{ch:ebuild-functions}
 
-\section{List of Functions}
+\section{List of functions}
 
 The following is a list of functions that an ebuild, or eclass, may define, and which will be called
 by the package manager as part of the build and/or install process. In all cases the package manager
@@ -498,7 +498,7 @@ these functions except when in the phase in question.
     \end{tabular}
 \end{centertable}
 
-\section{Call Order}
+\section{Call order}
 
 The call order for installing a package is:
 \nobreakpar

diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index 79fa96f..7dd008c 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -1,4 +1,4 @@
-\chapter{Ebuild-defined Variables}
+\chapter{Ebuild-defined variables}
 \label{ch:ebuild-vars}
 
 \note{This chapter describes variables that may or must be defined by ebuilds. For variables that
@@ -8,7 +8,7 @@ If any of these variables are set to invalid values, or if any of the mandatory
 undefined, the package manager's behaviour is undefined; ideally, an error in one ebuild should not
 prevent operations upon other ebuilds or packages.
 
-\section{Metadata Invariance}
+\section{Metadata invariance}
 \label{sec:metadata-invariance}
 
 All ebuild-defined variables discussed in this chapter must be defined independently of
@@ -20,7 +20,7 @@ is used.
 Globally defined ebuild variables without a special meaning must similarly not rely upon
 variable data.
 
-\section{Mandatory Ebuild-defined Variables}
+\section{Mandatory ebuild-defined variables}
 \label{sec:mandatory-vars}
 
 All ebuilds must define at least the following variables:
@@ -40,7 +40,7 @@ All ebuilds must define at least the following variables:
     which is equal to the regular slot.
 \end{description}
 
-\section{Optional Ebuild-defined Variables}
+\section{Optional ebuild-defined variables}
 \label{sec:optional-vars}
 
 Ebuilds may define any of the following variables. Unless otherwise stated, any of them may be
@@ -291,7 +291,7 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get treat
     \end{tabular}
 \end{centertable}
 
-\section{Magic Ebuild-defined Variables}
+\section{Magic ebuild-defined variables}
 
 The following variables must be defined by \t{inherit} (see section~\ref{sec:inherit}), and may be
 considered to be part of the ebuild's metadata:

diff --git a/eclasses.tex b/eclasses.tex
index a4400e1..cfd5cae 100644
--- a/eclasses.tex
+++ b/eclasses.tex
@@ -12,7 +12,7 @@ section~\ref{sec:eclass-dir}. Each eclass is a single file named \t{<name>.eclas
 is the name of this eclass, used by \t{inherit} and \t{EXPORT_FUNCTIONS} among other places.
 \t{<name>} must be a valid eclass name, as per section~\ref{sec:eclass-names}.
 
-\section{The inherit Command}
+\section{The inherit command}
 \label{sec:inherit}
 
 An ebuild wishing to make use of an eclass does so by using the \t{inherit} command in global scope.
@@ -33,7 +33,7 @@ The \t{inherit} command must also ensure that:
     every eclass used, separated by whitespace.
 \end{compactitem}
 
-\section{Eclass-defined Metadata Keys}
+\section{Eclass-defined metadata keys}
 
 \featurelabel{accumulate-vars} The \t{IUSE}, \t{REQUIRED_USE}, \t{DEPEND}, \t{BDEPEND}, \t{RDEPEND},
 \t{PDEPEND} and \t{IDEPEND} variables are handled specially when set by an eclass. They must be

diff --git a/introduction.tex b/introduction.tex
index 86149b2..6bb84cd 100644
--- a/introduction.tex
+++ b/introduction.tex
@@ -1,6 +1,6 @@
 \chapter{Introduction}
 
-\section{Aims and Motivation}
+\section{Aims and motivation}
 
 This document aims to fully describe the format of an ebuild repository and the ebuilds therein, as
 well as certain aspects of package manager behaviour required to support such a repository.
@@ -25,7 +25,7 @@ ebuild repository looks like, and how an ebuild is allowed to behave. Thus, both
 package managers can change aspects of their behaviour not defined here without worry of
 incompatibilities with any particular repository.
 
-\section{Reporting Issues}
+\section{Reporting issues}
 
 Issues (inaccuracies, wording problems, omissions etc.)\ in this document should be reported via
 Gentoo Bugzilla using product \i{Gentoo Hosted Projects}, component \i{PMS/EAPI} and the default

diff --git a/merge.tex b/merge.tex
index ca1036d..83eab01 100644
--- a/merge.tex
+++ b/merge.tex
@@ -1,4 +1,4 @@
-\chapter{Merging and Unmerging}
+\chapter{Merging and unmerging}
 
 \note{In this chapter, \i{file} and \i{regular file} have their Unix meanings.}
 
@@ -38,7 +38,7 @@ including modification time, may be discarded.
 Behaviour upon encountering an empty directory is undefined. Ebuilds must not attempt to install an
 empty directory.
 
-\section{Regular Files}
+\section{Regular files}
 
 Regular files are merged onto the filesystem (but see the notes on configuration file protection,
 below). The method used to perform the merge is not specified, so long as the end result is correct.
@@ -141,11 +141,11 @@ Ebuilds must not attempt to merge a symlink on top of a directory.
 Any absolute symlink whose link starts with \t{D} must be rewritten with the leading \t{D} removed.
 The package manager should issue a notice when doing this.
 
-\section{Hard Links}
+\section{Hard links}
 
 A hard link may be merged either as a single file with links or as multiple independent files.
 
-\section{Other Files}
+\section{Other files}
 
 Ebuilds must not attempt to install any other type of file (FIFOs, device nodes etc).
 

diff --git a/metadata-cache.tex b/metadata-cache.tex
index 9ff7086..552566c 100644
--- a/metadata-cache.tex
+++ b/metadata-cache.tex
@@ -1,7 +1,7 @@
-\chapter{Metadata Cache}
+\chapter{Metadata cache}
 \label{ch:metadata-cache}
 
-\section{Directory Contents}
+\section{Directory contents}
 
 The \t{metadata/cache} or \t{metadata/md5-cache} directories, if either of them exists, contain
 directories whose names are the same as categories in the repository. Each subdirectory may
@@ -10,7 +10,7 @@ in one of the formats described below.
 
 The metadata cache may be incomplete or non-existent, and may contain additional bogus entries.
 
-\section{Legacy Cache File Format}
+\section{Legacy cache file format}
 \label{sec:legacy-cache}
 
 The legacy cache file format is used in the \t{metadata/cache} directory. Each cache file contains
@@ -50,7 +50,7 @@ Any future EAPI that uses this cache format will continue to place the EAPI valu
 such a concept makes sense for that EAPI, and will place a value that is clearly not a supported
 EAPI on line~15 if it does~not.
 
-\section{md5-dict Cache File Format}
+\section{md5-dict cache file format}
 
 The ``md5-dict'' cache file format is used in the \t{metadata/md5-cache} directory. Each cache file
 contains \t{<key>=<value>} pairs, one per line, in arbitrary order. The keys are the same as those

diff --git a/names.tex b/names.tex
index ed6d623..45289f7 100644
--- a/names.tex
+++ b/names.tex
@@ -1,6 +1,6 @@
-\chapter{Names and Versions}
+\chapter{Names and versions}
 
-\section{Restrictions upon Names}
+\section{Restrictions upon names}
 
 No name may be empty. Package managers must not impose fixed upper boundaries upon the length of any
 name. A package manager should indicate or reject any name that is invalid according to these rules.
@@ -56,7 +56,7 @@ a tilde or a hyphen. In \t{KEYWORDS}, \t{-*} is also acceptable as a keyword.
 An EAPI name may contain any of the characters [\t{A-Za-z0-9+_.-}]. It must not begin with a
 hyphen, a dot or a plus sign.
 
-\section{Version Specifications}
+\section{Version specifications}
 \label{sec:version-spec}
 The package manager must neither impose fixed limits upon the number of version components, nor
 upon the length of any component. Package managers should indicate or reject any version that is
@@ -74,7 +74,7 @@ count as separate version components.
 This may optionally be followed by the suffix \t{-r} followed immediately by an unsigned integer
 (the ``revision number''). If this suffix is not present, it is assumed to be \t{-r0}.
 
-\section{Version Comparison}
+\section{Version comparison}
 
 Version specifications are compared component by component, moving from left to right,
 as detailed in algorithm~\ref{alg:version-comparison} and sub-algorithms.
@@ -211,7 +211,7 @@ from which it was invoked.
 \end{algorithmic}
 \end{algorithm}
 
-\section{Uniqueness of Versions}
+\section{Uniqueness of versions}
 
 No two packages in a given repository may have the same qualified package name and equal versions.
 For example, a repository may not contain more than one of \t{foo-bar/baz-1.0.2},

diff --git a/pkg-mgr-commands.tex b/pkg-mgr-commands.tex
index 2202b64..4c84b68 100644
--- a/pkg-mgr-commands.tex
+++ b/pkg-mgr-commands.tex
@@ -1,4 +1,4 @@
-\section{Ebuild-specific Commands}
+\section{Ebuild-specific commands}
 \label{sec:pkg-mgr-commands}
 
 The following commands will always be available in the ebuild environment, provided by the package

diff --git a/pms.tex b/pms.tex
index bd8c9d5..24f07fe 100644
--- a/pms.tex
+++ b/pms.tex
@@ -35,7 +35,7 @@
     by their respective authors, and may have been changed substantially before inclusion.
 
     This work is released under the Creative Commons Attribution-ShareAlike 4.0 International
-    Licence. To~view a copy of this licence, visit
+    licence. To~view a copy of this licence, visit
     \url{https://creativecommons.org/licenses/by-sa/4.0/}.
 
     \commitinfo

diff --git a/profile-variables.tex b/profile-variables.tex
index ba40bf4..9f86e80 100644
--- a/profile-variables.tex
+++ b/profile-variables.tex
@@ -1,4 +1,4 @@
-\section{Profile Variables}
+\section{Profile variables}
 \label{sec:profile-variables}
 
 This section documents variables that have special meaning, or special behaviour, when defined in a

diff --git a/profiles.tex b/profiles.tex
index 856643b..af88568 100644
--- a/profiles.tex
+++ b/profiles.tex
@@ -1,7 +1,7 @@
 \chapter{Profiles}
 \label{ch:profiles}
 
-\section{General Principles}
+\section{General principles}
 Generally, a profile defines information specific to a certain `type' of system---it lies somewhere
 between repository-level defaults and user configuration in that the information it contains is not
 necessarily applicable to all machines, but is sufficiently general that it should not be left to
@@ -13,7 +13,7 @@ the files described in this chapter, and possibly inheriting another profile. Th
 follow a few basic conventions as regards inheritance and format; these are described in the next
 section. It may also contain any number of subdirectories containing other profiles.
 
-\section{Files That Make up a Profile}
+\section{Files that make up a profile}
 
 \subsection{The parent file}
 A profile may contain a \t{parent} file. Each line must contain a relative path to another profile

diff --git a/tree-layout.tex b/tree-layout.tex
index d286307..19aed03 100644
--- a/tree-layout.tex
+++ b/tree-layout.tex
@@ -1,11 +1,11 @@
-\chapter{Tree Layout}
+\chapter{Tree layout}
 
 This chapter defines the layout on-disk of an ebuild repository. In all cases below where a file or
 directory is specified, a symlink to a file or directory is also valid. In this case, the package
 manager must follow the operating system's semantics for symbolic links and must not behave
 differently from normal.
 
-\section{Top Level}
+\section{Top level}
 
 An ebuild repository shall occupy one directory on disk, with the following subdirectories:
 \nobreakpar
@@ -22,7 +22,7 @@ An ebuild repository shall occupy one directory on disk, with the following subd
 
 \end{compactitem}
 
-\section{Category Directories}
+\section{Category directories}
 \label{sec:category-dirs}
 
 Each category provided by the repository (see also: the \t{profiles/categories} file,
@@ -44,7 +44,7 @@ It is not required that a directory exists for each category provided by the rep
 directory that does not exist shall be considered equivalent to an empty category (and by extension,
 a package manager may treat an empty category as a category that does not exist).
 
-\section{Package Directories}
+\section{Package directories}
 \label{sec:package-dirs}
 
 A package directory contains the following:
@@ -71,7 +71,7 @@ with no versions).
 A package directory may contain other files or directories, whose purpose is not covered by
 this specification.
 
-\section{The Profiles Directory}
+\section{The profiles directory}
 \label{sec:profiles-dir}
 
 The profiles directory shall contain zero or more profile directories as described in
@@ -247,7 +247,7 @@ by packages matching the spec of that slot move.
     \end{tabular}
 \end{centertable}
 
-\section{The Licenses Directory}
+\section{The licenses directory}
 \label{sec:licenses-dir}
 
 The \t{licenses} directory shall contain copies of the licenses used by packages in the
@@ -255,14 +255,14 @@ repository. Each file will be named according to the name used in the \t{LICENSE
 described in section~\ref{sec:optional-vars}, and will contain the complete text of the license in
 human-readable form. Plain text format is strongly preferred but not required.
 
-\section{The Eclass Directory}
+\section{The eclass directory}
 \label{sec:eclass-dir}
 
 The \t{eclass} directory shall contain copies of the eclasses provided by this repository. The
 format of these files is described in chapter~\ref{ch:eclasses}. It may also contain, in their own
 directory, support files needed by these eclasses.
 
-\section{The Metadata Directory}
+\section{The metadata directory}
 \label{sec:metadata-dir}
 
 The \t{metadata} directory contains various repository-level metadata that are not contained in


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2024-05-13 18:00 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-05-13 18:00 UTC (permalink / raw
  To: gentoo-commits

commit:     bd3a35db46006e2c45fee66e7759cfc327ebf187
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 18:15:24 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 13 17:44:13 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=bd3a35db

pms.cls, eapi-cheatsheet.tex: Avoid conditional code in \date

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 eapi-cheatsheet.tex |  9 ++++-----
 pms.cls             | 13 ++++++-------
 2 files changed, 10 insertions(+), 12 deletions(-)

diff --git a/eapi-cheatsheet.tex b/eapi-cheatsheet.tex
index fc75aec..2e2b757 100644
--- a/eapi-cheatsheet.tex
+++ b/eapi-cheatsheet.tex
@@ -33,11 +33,10 @@
     Ulrich Müller \\
     \href{mailto:ulm@gentoo.org}{ulm@gentoo.org}
 }
-\date{%
-    Version \version \\
-    \ifthenelse{\equal{\gitCommitterDate}{(None)}}
-    {Generated on: \today}
-    {\printdate{\gitCommitterDate}}%
+\ifthenelse{\equal{\gitCommitterDate}{(None)}}{%
+    \date{Version \version \\ Generated on: \today}
+}{%
+    \date{Version \version \\ \printdate{\gitCommitterDate}}
 }
 \CutLine*{1}
 \CutLine*{3}

diff --git a/pms.cls b/pms.cls
index d1a85fa..d9907b7 100644
--- a/pms.cls
+++ b/pms.cls
@@ -175,13 +175,12 @@
 
 % Reads the last commit date from the Git repository and even succeeds
 % when none is available
-\date{%
-    \ifthenelse{\equal{\gitCommitterDate}{(None)}}
-    {Generated on: \today}
-    {\printdate{\gitCommitterDate}}%
-}
-\newcommand{\commitinfo}{%
-    \ifthenelse{\equal{\gitCommitterDate}{(None)}}{}{%
+\ifthenelse{\equal{\gitCommitterDate}{(None)}}{%
+    \date{Generated on: \today}
+    \newcommand{\commitinfo}{}
+}{%
+    \date{\printdate{\gitCommitterDate}}
+    \newcommand{\commitinfo}{%
         This version corresponds to commit \gitAbbrevHash
         \ifthenelse{\equal{\gitBranch}{\detokenize{master}}}{}
         { on branch \gitBranch}%


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-05-14  4:25 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-05-14  4:25 UTC (permalink / raw
  To: gentoo-commits

commit:     ea5b43c5e8b666124592fae8e0697f0d990ab1f4
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Mon May 13 20:51:12 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Mon May 13 20:51:12 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=ea5b43c5

pms.cls: Redefine headings for list of tables etc.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index d9907b7..0cf630b 100644
--- a/pms.cls
+++ b/pms.cls
@@ -128,11 +128,18 @@
 % Define a new column type P for tables, like p but with ragged-right text
 \newcolumntype{P}[1]{>{\setlength\rightskip{0pt plus 1fil}}p{#1}}
 
+% Redefine headings for list of tables/figures/algorithms
+\renewcommand{\listtablename}{Tables}
+\renewcommand{\listfigurename}{Figures}
+\g@addto@macro\@documentclasshook{
+    \renewcommand{\listalgorithmname}{Algorithms}
+}
+
 % Define a float environment for listings
 \floatstyle{ruled}
 \newfloat{listing}{tbp}{lol}[chapter]
 \floatname{listing}{Listing}
-\newcommand{\listoflistings}{\listof{listing}{List of Listings}}
+\newcommand{\listoflistings}{\listof{listing}{Listings}}
 
 % Prevent page break before a list
 \newcommand{\nobreakpar}{\par\nobreak\@afterheading}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-06-02  9:55 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-06-02  9:55 UTC (permalink / raw
  To: gentoo-commits

commit:     8f72b3b4a4c45c59e3d1ea7a1fff225cb827f344
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 18:23:38 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue May 28 18:03:50 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8f72b3b4

pms.cls: Slightly decrease textheight

Also make it a multiple of 12pt (= \baselineskip).

Automatically calculate the width of the last column in the big
variables table.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 ebuild-env-vars.tex | 7 ++++---
 pms.cls             | 3 ++-
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex
index 268cb3f..ecc20b6 100644
--- a/ebuild-env-vars.tex
+++ b/ebuild-env-vars.tex
@@ -21,9 +21,10 @@ inconsistent variable.
 \reversemarginpar
 % Workaround for broken marginnote positioning in lscape environment
 \addtolength{\marginparsep}{-\textwidth} % FIXME
-\setlength{\LTleft}{0pt plus 1fil}
-\setlength{\LTright}{0pt plus 1fil}
-\begin{longtable}{!{\extracolsep{\fill}} l P{7.5em} l p{35em}}
+\newlength{\mycolwidth}
+\setlength{\mycolwidth}{\linewidth-8\tabcolsep
+    -\widthof{\t{REPLACED_BY_VERSION}}-7em-\widthof{\textbf{Consistent?}}}
+\begin{longtable}{l P{7em} l p{\mycolwidth}}
 \caption{Defined variables\label{tab:defined-vars}}\\
 \toprule
 \multicolumn{1}{c}{\textbf{Variable}} &

diff --git a/pms.cls b/pms.cls
index a3e3ea5..c8c6101 100644
--- a/pms.cls
+++ b/pms.cls
@@ -15,7 +15,7 @@
 \PassOptionsToPackage{orig,english}{isodate}
 % Dimensions of the text area. Define a narrow left margin to make
 % room for margin notes in the right (outer) margin
-\PassOptionsToPackage{textwidth=400pt,textheight=700pt,
+\PassOptionsToPackage{textwidth=400pt,textheight=684pt,
     left=20mm,marginparsep=10pt,marginparwidth=40mm,
     vmarginratio=1:2,includehead}{geometry}
 % Enable UTF-8 input encoding
@@ -36,6 +36,7 @@
     inputenc,   % Allow input methods apart from ASCII
     booktabs,   % Nicer formatting of tables
     ifthen,     % Comfortable conditional routines
+    calc,       % Infix notation arithmetic
     longtable,  % Extend tables over more than one page
     array,      % Extended tabular environments
     lscape,     % Rotating pages


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
  2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
@ 2024-06-02  9:55 ` Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-06-02  9:55 UTC (permalink / raw
  To: gentoo-commits

commit:     3dbf2a5dcf649f8379f576848409a617431cd00d
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 18:23:08 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue May 28 18:03:50 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=3dbf2a5d

Revert "pms.cls: Require version 1 of parskip.sty"

This reverts commit 4ebd8cb10bcf73fba3bbf06e9aa8370fcf692538.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/pms.cls b/pms.cls
index 0cf630b..a3e3ea5 100644
--- a/pms.cls
+++ b/pms.cls
@@ -29,7 +29,6 @@
 \PassOptionsToPackage{local}{gitinfo2}
 \PassOptionsToPackage{chapter}{algorithm}
 % algorithmic and algorithm to be loaded last to avoid failures
-\RequirePackage{parskip}[=v1] % Space between paragraphs instead of indentation
 \RequirePackage{%
     fontenc,    % Load extended font sets
     isodate,    % Date formatting and conversions
@@ -42,6 +41,7 @@
     lscape,     % Rotating pages
     marginnote, % Typeset a paragraph in the page margin
     paralist,   % Additional list environments
+    parskip,    % Space between paragraphs instead of indentation
     underscore, % Allow simple _ instead of \_
     footmisc,   % Customise footnotes
     chngcntr,   % Redefinition of counters


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-06-16 19:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-06-16 19:22 UTC (permalink / raw
  To: gentoo-commits

commit:     8c058bbf28ad4c57c19b3986525bb6e961807535
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 16 19:18:57 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 16 19:18:57 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=8c058bbf

Makefile: Explicitly list LaTeX source files

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 Makefile | 8 +++++++-
 1 file changed, 7 insertions(+), 1 deletion(-)

diff --git a/Makefile b/Makefile
index c882534..422dac9 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,10 @@
-LATEXFILES := $(wildcard *.tex) pms.cls
+LATEXFILES = pms.tex introduction.tex eapis.tex names.tex tree-layout.tex \
+	profiles.tex profile-variables.tex ebuild-format.tex ebuild-vars.tex \
+	dependencies.tex ebuild-functions.tex eclasses.tex \
+	ebuild-environment.tex ebuild-env-vars.tex commands.tex \
+	pkg-mgr-commands.tex merge.tex metadata-cache.tex glossary.tex \
+	appendices.tex eapi-differences.tex desk-reference.tex \
+	eapi-cheatsheet.tex pms.cls
 SOURCES = $(LATEXFILES) pms.bib Makefile
 COMMITINFO = gitHeadLocal.gin
 


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-06-16 19:22 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-06-16 19:22 UTC (permalink / raw
  To: gentoo-commits

commit:     01f4b868f6fc3e0e9637c7e6aa4d07b1e570f727
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun May 12 18:34:17 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Tue Jun 11 17:10:56 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=01f4b868

pms.cls: Use sans serif font for title and headings

This tries to update the printed version to have a more modern look.
It is somewhat inspired by the KOMA-Script classes, e.g. scrreprt.cls,
which also use sans-serif fonts for their headings.

Slightly reduce the size of chapter headings (again, inspired by
KOMA-Script, with the headings=normal package option).

Note that the Helvetica font specified by helvet.sty was never used,
see also the commit message of commit 9d68105.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 pms.cls | 20 +++++++++++++++++---
 1 file changed, 17 insertions(+), 3 deletions(-)

diff --git a/pms.cls b/pms.cls
index c8c6101..571232f 100644
--- a/pms.cls
+++ b/pms.cls
@@ -11,7 +11,6 @@
 \ProcessOptions\relax
 \LoadClass{\ClassToLoad}
 \PassOptionsToPackage{T1}{fontenc}
-\PassOptionsToPackage{scaled=0.92}{helvet}
 \PassOptionsToPackage{orig,english}{isodate}
 % Dimensions of the text area. Define a narrow left margin to make
 % room for margin notes in the right (outer) margin
@@ -24,6 +23,7 @@
 \PassOptionsToPackage{nohyphen}{underscore}
 \PassOptionsToPackage{hang,flushmargin}{footmisc}
 \PassOptionsToPackage{nottoc,notlot,notlof}{tocbibind}
+\PassOptionsToPackage{defaultsans,scaled=0.92}{opensans}
 \PassOptionsToPackage{hyphens}{url} % url.sty implicitly loaded by hyperref
 \PassOptionsToPackage{hyperfootnotes=false}{hyperref} % footmisc compatibility
 \PassOptionsToPackage{local}{gitinfo2}
@@ -48,6 +48,8 @@
     chngcntr,   % Redefinition of counters
     tocbibind,  % Add bibliography to table of contents
     float,      % More control over float environments
+    titling,    % Change appearance of title information
+    sectsty,    % Change font used for section headings
     gitinfo2    % Metadata from git
 }
 
@@ -55,8 +57,8 @@
 \newboolean{TEX4HT-HACKS}
 \ifx\HCode\undefined
     \RequirePackage{%
-        mathptmx,       % Use Postscript fonts: Times ...
-        helvet,         % ... and Helvetica
+        mathptmx,       % Use Postscript fonts: URW Nimbus Roman No9 L ...
+        opensans,       % ... and Open Sans
         pdfpages        % Insert whole PDF documents as separate pages
     }
     \setboolean{TEX4HT-HACKS}{false}
@@ -101,6 +103,18 @@
 % Redefine the titlepage environment not to reset the page number
 \renewenvironment{titlepage}{\newpage\thispagestyle{empty}}{\newpage}
 
+% Use sans serif font for title (titling.sty)
+\pretitle{\begin{center}\sffamily\bfseries\huge}
+\posttitle{\par\end{center}\vskip2.5em}
+\preauthor{\begin{center}\large\lineskip0.75em\begin{tabular}[t]{c}}
+\postauthor{\end{tabular}\par\end{center}\vskip2em}
+
+% Redefine fonts for section headings (sectsty.sty)
+\allsectionsfont{\sffamily}
+% Smaller chapter headings
+\chapternumberfont{\sffamily\LARGE} % default is \huge
+\chaptertitlefont{\sffamily\huge}   % ... and \Huge
+
 % Enumerate subsubsections and include them in the toc
 \setcounter{secnumdepth}{3}
 \setcounter{tocdepth}{3}


^ permalink raw reply related	[flat|nested] 385+ messages in thread

* [gentoo-commits] proj/pms:master commit in: /
@ 2024-07-16  9:50 Ulrich Müller
  0 siblings, 0 replies; 385+ messages in thread
From: Ulrich Müller @ 2024-07-16  9:50 UTC (permalink / raw
  To: gentoo-commits

commit:     dc3b51bf149f174aeed15860185aba8cce1728ff
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sat Jul  6 09:44:05 2024 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jul  7 08:18:37 2024 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=dc3b51bf

dependencies.tex: Clarify specification of the slot= operator

Reported-by: Jannik Glückert <jannik.glueckert <AT> gmail.com>
Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 dependencies.tex | 15 ++++++++-------
 1 file changed, 8 insertions(+), 7 deletions(-)

diff --git a/dependencies.tex b/dependencies.tex
index 47c96c3..c1f7d6a 100644
--- a/dependencies.tex
+++ b/dependencies.tex
@@ -349,15 +349,16 @@ the following operators:
     the slot and sub-slot of the best version installed as a build-time (\t{DEPEND}) dependency is
     available.
 \item[slot=] Indicates that only a specific slot value is acceptable, and otherwise behaves
-    identically to the plain equals slot operator.
+    identically to the \t{=} operator. The specified slot must not contain a sub-slot part.
 \end{description}
 
-To implement the equals slot operator, the package manager will need to store the slot/sub-slot
-pair of the best installed version of the matching package. This syntax is only for package manager
-use and must not be used by ebuilds. The package manager may do this by inserting the appropriate
-slot/sub-slot pair between the colon and equals sign when saving the package's dependencies. The
-sub-slot part must not be omitted here (when the SLOT variable omits the sub-slot part, the package
-is considered to have an implicit sub-slot which is equal to the regular slot).
+To implement the equals slot operators \t{=} and \i{slot}\t{=}, the package manager will need to
+store the slot/sub-slot pair of the best installed version of the matching package. This syntax is
+only for package manager use and must not be used by ebuilds. The package manager may do this by
+inserting the appropriate slot/sub-slot pair between the colon and equals sign when saving the
+package's dependencies. The sub-slot part must not be omitted here (when the \t{SLOT} variable
+omits the sub-slot part, the package is considered to have an implicit sub-slot which is equal to
+the regular slot).
 
 Whenever the equals slot operator is used in an enabled dependency group, the dependencies
 (\t{DEPEND}) must ensure that a matching package is installed at build time. It is invalid to use


^ permalink raw reply related	[flat|nested] 385+ messages in thread

end of thread, other threads:[~2024-07-16  9:50 UTC | newest]

Thread overview: 385+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-01  8:15 [gentoo-commits] proj/pms:master commit in: / Ulrich Müller
  -- strict thread matches above, loose matches on Subject: below --
2024-07-16  9:50 Ulrich Müller
2024-06-16 19:22 Ulrich Müller
2024-06-16 19:22 Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-06-02  9:55 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-12-28  8:00 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-05-13 18:00 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-08-09 17:24 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-02-08  9:43 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2024-05-13 18:00 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-08-06 15:26 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-08-06 15:26 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:57 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-05-10 17:53 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2024-06-02  9:55 Ulrich Müller
2024-05-14  4:25 Ulrich Müller
2024-04-05 14:07 Ulrich Müller
2024-03-03 17:30 Ulrich Müller
2024-03-03 17:30 Ulrich Müller
2024-03-03 17:30 Ulrich Müller
2024-02-08  9:43 Ulrich Müller
2024-01-01 14:34 Ulrich Müller
2023-08-09 17:24 Ulrich Müller
2023-08-06 15:26 Ulrich Müller
2023-08-03 16:20 Ulrich Müller
2023-08-03 16:20 Ulrich Müller
2023-08-03 16:20 Ulrich Müller
2023-06-05 18:45 Ulrich Müller
2023-06-05 18:45 Ulrich Müller
2023-04-14 16:40 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-04-14 16:34 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-04-14 16:40 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-04-14 16:34 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-04-10  7:18 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-04-10  6:33 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-04-10  7:18 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-04-10  6:33 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-31  9:35 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-02-01 18:13 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-02-01 18:14 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-11-25 17:59 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-08 21:51 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-11-25 17:59 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-09 18:18 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-08 21:51 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-09 19:07 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-12-27 21:33 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-02-26 17:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2023-01-01 17:57 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2023-01-19 16:40 Ulrich Müller
2023-01-19 16:40 Ulrich Müller
2023-01-19 16:40 Ulrich Müller
2023-01-09 18:18 Ulrich Müller
2023-01-01 17:57 Ulrich Müller
2023-01-01 17:57 Ulrich Müller
2022-12-17 16:40 Ulrich Müller
2022-12-09 19:07 Ulrich Müller
2022-10-20  7:06 Ulrich Müller
2022-08-21  9:42 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-08-21  9:40 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-05-16  6:15 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-03-23 12:09 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-04-12 10:56 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-08-18 15:53 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-04-07  6:22 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-04-07  6:22 Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-02-13 16:26 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-19 19:40 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-02  7:31 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-17 11:45 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-19 19:40 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2022-02-07  8:13 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-09-27 17:00 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-09  4:50 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-14  7:29 [gentoo-commits] proj/pms:eapi-9 " Ulrich Müller
2021-08-15 12:37 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2022-02-07  8:13 Ulrich Müller
2022-02-07  8:13 Ulrich Müller
2021-09-03 15:26 Ulrich Müller
2021-09-03 15:26 Ulrich Müller
2021-09-03  6:56 Ulrich Müller
2021-09-01 17:35 Ulrich Müller
2021-08-19 19:40 Ulrich Müller
2021-06-20 12:51 Ulrich Müller
2021-06-17 20:32 Ulrich Müller
2021-06-13 19:19 Ulrich Müller
2021-05-24 10:35 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2021-05-27 16:43 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-24 10:35 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2021-05-27 16:43 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-24  8:54 [gentoo-commits] proj/pms:retroactive " Ulrich Müller
2021-05-24  8:53 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-22  6:36 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2021-05-24  8:53 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-19 15:38 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2021-05-20 18:55 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2020-09-28 18:16 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2021-05-01 10:28 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2020-06-28 10:46 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-13 11:42 [gentoo-commits] proj/pms:eapi-8 " Ulrich Müller
2020-07-05 19:04 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2021-05-01 10:28 Ulrich Müller
2021-05-01 10:28 Ulrich Müller
2021-04-27 18:57 Ulrich Müller
2021-04-27  8:31 Ulrich Müller
2021-04-25 20:47 Ulrich Müller
2021-04-25 20:39 Ulrich Müller
2021-04-25 20:39 Ulrich Müller
2021-01-19 20:01 Ulrich Müller
2020-09-21 19:25 Ulrich Müller
2020-09-21 19:25 Ulrich Müller
2020-09-21 19:25 Ulrich Müller
2020-09-21 19:25 Ulrich Müller
2020-08-06 16:12 Ulrich Müller
2020-07-07  7:55 Ulrich Müller
2020-07-05 19:03 Ulrich Müller
2020-06-29 17:35 Ulrich Müller
2020-06-28 10:46 Ulrich Müller
2020-06-15 17:38 Ulrich Müller
2020-04-20 13:08 Ulrich Müller
2020-04-20 13:08 Ulrich Müller
2020-02-18 10:18 Ulrich Müller
2020-01-17 19:31 Ulrich Müller
2020-01-17 19:31 Ulrich Müller
2019-12-30 14:37 Ulrich Müller
2019-12-23 18:47 Ulrich Müller
2019-11-25 13:43 Ulrich Müller
2019-11-11  8:19 Ulrich Müller
2019-11-11  8:19 Ulrich Müller
2019-11-07 20:42 Ulrich Müller
2019-10-07 12:55 Ulrich Müller
2019-08-25  8:44 Ulrich Müller
2019-08-24 19:02 Ulrich Müller
2019-08-10  9:49 Ulrich Müller
2019-08-01  8:15 Ulrich Müller
2019-08-01  8:15 Ulrich Müller
2019-07-27  8:26 Ulrich Müller
2019-07-10  7:22 Ulrich Müller
2019-07-09 13:30 Michał Górny
2019-05-13 21:56 Ulrich Müller
2019-04-13  9:05 Ulrich Müller
2019-04-13  9:05 Ulrich Müller
2019-04-13  9:05 Ulrich Müller
2019-03-28  7:23 Ulrich Müller
2019-03-28  7:23 Ulrich Müller
2019-03-28  7:23 Ulrich Müller
2019-03-28  7:23 Ulrich Müller
2019-03-28  7:23 Ulrich Müller
2019-03-13 18:40 Ulrich Müller
2019-03-09  7:40 Ulrich Müller
2019-03-04  7:05 Ulrich Müller
2019-03-04  7:05 Ulrich Müller
2019-03-04  7:05 Ulrich Müller
2019-03-04  7:05 Ulrich Müller
2019-01-12 17:22 Ulrich Müller
2018-10-28 18:12 Ulrich Müller
2018-10-28 18:12 Ulrich Müller
2018-10-04 15:29 Michał Górny
2018-08-17  4:55 Ulrich Müller
2018-08-17  4:55 Ulrich Müller
2018-07-20  5:15 Ulrich Müller
2018-06-11  5:25 Ulrich Müller
2018-06-08 12:02 Ulrich Müller
2018-05-11 10:49 Ulrich Müller
2018-05-07 17:05 Ulrich Müller
2018-05-07 17:05 Ulrich Müller
2018-05-07 17:05 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-05-04  7:26 Ulrich Müller
2018-04-30 22:15 Ulrich Müller
2018-04-26  6:21 Ulrich Müller
2018-04-02  7:39 Ulrich Müller
2018-04-02  7:39 Ulrich Müller
2018-04-02  7:39 Ulrich Müller
2018-02-25 14:49 Ulrich Müller
2018-02-24 12:57 Ulrich Müller
2018-02-24 11:03 Ulrich Müller
2018-02-24 11:03 Ulrich Müller
2018-01-29 21:58 Ulrich Müller
2018-01-17 17:10 Ulrich Müller
2018-01-17 17:07 Ulrich Müller
2017-11-10 12:42 Ulrich Müller
2017-11-10 12:36 Ulrich Müller
2017-11-02 15:43 Ulrich Müller
2017-11-01 18:36 Ulrich Müller
2017-10-31  9:17 Ulrich Müller
2017-10-29 10:28 Ulrich Müller
2017-10-17  9:41 Ulrich Müller
2017-10-17  9:41 Ulrich Müller
2017-10-17  9:41 Ulrich Müller
2017-10-15 14:20 Ulrich Müller
2017-10-08 19:13 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-10-08 16:05 Ulrich Müller
2017-09-29 10:07 Ulrich Müller
2017-09-29 10:07 Ulrich Müller
2017-09-02 17:56 Ulrich Müller
2017-08-26 20:05 Ulrich Müller
2017-08-26 13:20 Ulrich Müller
2017-08-23 17:47 Ulrich Müller
2017-06-26 17:57 Ulrich Müller
2017-06-17  7:25 Ulrich Müller
2017-06-17  7:25 Ulrich Müller
2017-05-31 17:48 Ulrich Müller
2017-05-31 12:32 Ulrich Müller
2017-05-31 12:32 Ulrich Müller
2017-05-30 17:14 Ulrich Müller
2017-05-25 18:47 Ulrich Müller
2017-05-25 18:47 Ulrich Müller
2017-05-21 17:47 Ulrich Müller
2017-05-21 17:47 Ulrich Müller
2017-05-21 17:47 Ulrich Müller
2017-05-20  5:40 Ulrich Müller
2017-05-20  5:38 Ulrich Müller
2017-05-15 23:02 Ulrich Müller
2017-05-15 23:02 Ulrich Müller
2017-05-15 23:02 Ulrich Müller
2017-05-15 23:02 Ulrich Müller
2017-05-15 18:18 Ulrich Müller
2017-05-11  4:56 Ulrich Müller
2017-05-11  4:56 Ulrich Müller
2017-05-08  5:34 Ulrich Müller
2017-04-20 20:47 Ulrich Müller
2017-04-16 10:20 Ulrich Müller
2017-04-11 17:25 Ulrich Müller
2017-04-11 17:25 Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-04-10 18:11 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-20 19:28 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-20 19:28 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-12 15:33 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-26  8:42 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-29  5:12 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2017-03-04  8:54 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:12 [gentoo-commits] proj/pms:eapi-7 " Ulrich Müller
2016-11-29  7:33 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2017-04-10 18:11 Ulrich Müller
2017-04-09  8:47 Ulrich Müller
2017-03-29  5:12 Ulrich Müller
2017-03-20 19:28 Ulrich Müller
2017-03-18  7:23 Ulrich Müller
2017-03-12 15:33 Ulrich Müller
2017-02-23  7:46 Ulrich Müller
2017-02-11  7:58 Ulrich Müller
2017-02-11  7:58 Ulrich Müller
2017-02-08 20:15 Ulrich Müller
2016-11-29  7:33 Ulrich Müller
2016-11-29  7:33 Ulrich Müller
2016-10-06 14:03 Ulrich Müller
2016-10-03 13:32 Ulrich Müller
2016-09-15 18:42 Ulrich Müller
2016-09-15 18:42 Ulrich Müller
2016-09-15 18:42 Ulrich Müller
2016-06-15 21:13 Ulrich Müller
2016-06-13  6:29 Ulrich Müller
2016-06-09  1:06 Ulrich Müller
2016-06-04  7:23 Ulrich Müller
2016-06-04  7:23 Ulrich Müller
2016-05-14 10:11 Ulrich Müller
2016-05-11 19:59 Ulrich Müller
2016-05-11 19:59 Ulrich Müller
2016-05-11 19:59 Ulrich Müller
2016-05-11 19:59 Ulrich Müller
2016-04-30  5:24 Ulrich Müller
2016-03-14 17:48 Ulrich Müller
2016-03-14 17:48 Ulrich Müller
2016-02-18 16:50 Ulrich Müller
2015-12-08 23:14 Ulrich Müller
2015-12-08 23:14 Ulrich Müller
2015-11-29 12:05 Ulrich Müller
2015-11-27 17:24 Ulrich Müller
2015-11-22 12:34 Ulrich Müller
2015-11-13 20:22 Ulrich Müller
2015-11-08 20:11 Ulrich Müller
2015-11-08  2:32 Ulrich Müller
2015-11-05 16:39 Ulrich Müller
2015-11-05 16:05 Ulrich Müller
2015-11-05 16:05 Ulrich Müller
2015-11-05 16:05 Ulrich Müller
2015-11-05 16:05 Ulrich Müller
2015-11-05 16:05 Ulrich Müller
2015-11-01 20:22 Ulrich Müller
2015-10-29 19:42 Ulrich Müller
2015-10-29 19:42 Ulrich Müller
2015-10-29 17:10 Ulrich Müller
2015-10-29 17:10 Ulrich Müller
2015-10-26 18:41 Ulrich Müller
2015-10-18 11:14 Ulrich Müller
2015-10-17 15:49 Ulrich Müller
2015-10-16 22:12 Ulrich Müller
2015-10-15 17:57 Ulrich Müller
2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-10-11 19:13 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-09-14 20:29 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-10-15  6:23 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-09-14 20:29 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-08-30 19:03 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-06-03 20:12 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-08-30 19:03 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-08-24 11:24 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-08-30 18:55 Ulrich Müller
2015-04-13 22:34 Ulrich Müller
2015-04-11  9:26 Ulrich Müller
2015-04-10 21:01 Ulrich Müller
2015-04-02 16:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-03-28 19:29 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-04-02 16:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-03-25 13:34 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-03-28 19:29 Ulrich Müller
2015-03-28 19:29 Ulrich Müller
2015-03-16  9:11 Ulrich Müller
2015-03-03  6:18 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-02-21 12:19 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-03-03  6:18 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-02-21 12:19 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-02-21 12:19 Ulrich Müller
2015-02-16 10:39 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-02-16 10:40 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2015-01-01 20:10 [gentoo-commits] proj/pms:eapi-6 " Ulrich Müller
2015-01-01 20:08 ` [gentoo-commits] proj/pms:master " Ulrich Müller
2014-06-21  6:54 Ulrich Müller
2014-05-24  6:57 Ulrich Müller
2014-03-14  8:05 Ulrich Müller
2014-02-10 17:30 Ulrich Müller
2014-01-19 13:56 Ulrich Müller
2014-01-19 13:13 Ulrich Müller
2013-10-01 18:33 Ulrich Müller
2013-09-10 21:02 Ulrich Mueller
2013-08-29  7:54 Ulrich Mueller
2013-08-20 11:56 Ulrich Mueller
2013-08-20 11:56 Ulrich Mueller
2013-08-09 19:06 Ulrich Mueller
2013-05-14 19:09 Ulrich Mueller
2013-05-14 19:09 Ulrich Mueller
2013-04-30 16:02 Ulrich Mueller
2013-04-12 22:38 Ulrich Mueller
2013-03-17 16:47 Ulrich Mueller
2013-03-17 16:47 Ulrich Mueller
2013-03-06 13:34 Ulrich Mueller
2013-03-06  9:38 Ulrich Mueller
2013-01-02 18:39 Ulrich Mueller
2012-10-14  7:54 Ulrich Mueller
2012-09-20 10:43 Ulrich Mueller
2012-09-19 18:06 Ulrich Mueller
2012-09-19 18:06 Ulrich Mueller
2012-09-18  7:41 Ulrich Mueller
2012-09-17 12:19 Ulrich Mueller
2012-09-17 12:19 Ulrich Mueller
2012-09-17 12:19 Ulrich Mueller
2012-09-17 12:19 Ulrich Mueller
2012-09-17 12:19 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-14  6:14 Ulrich Mueller
2012-09-13 21:12 Ulrich Mueller
2012-09-13  6:27 Ulrich Mueller
2012-09-13  6:27 Ulrich Mueller
2012-09-09 19:54 Ulrich Mueller
2012-08-29 12:03 Ulrich Mueller
2012-07-26 19:05 Ulrich Mueller
2012-07-26 19:05 Ulrich Mueller
2012-07-26 19:05 Ulrich Mueller
2012-07-06 19:21 Ulrich Mueller
2012-05-17 10:13 Ulrich Mueller
2012-05-13  7:30 Ulrich Mueller
2012-05-08 19:10 Ulrich Mueller
2012-05-06 15:38 Ciaran McCreesh
2012-04-07 22:18 Ulrich Mueller
2012-03-23  8:08 Ulrich Mueller
2012-03-17 15:23 Ulrich Mueller
2012-03-01 10:52 Ulrich Mueller
2012-01-15  6:09 Ulrich Mueller
2011-08-12 18:16 Ulrich Mueller
2011-08-02 15:23 Ciaran McCreesh
2011-07-07 17:22 Ulrich Mueller
2011-07-07 17:22 Ulrich Mueller
2011-07-07 17:22 Ulrich Mueller
2011-07-07 17:22 Ulrich Mueller
2011-06-28  7:31 Ciaran McCreesh
2011-06-26 13:55 Ulrich Mueller
2011-06-26 13:55 Ulrich Mueller
2011-06-22 21:18 Ulrich Mueller
2011-06-19 15:36 Ciaran McCreesh
2011-06-06 15:52 Ulrich Mueller
2011-05-22  0:41 Ulrich Mueller
2011-05-22  0:41 Ulrich Mueller
2011-03-31 10:36 Ulrich Mueller
2011-02-10  8:42 Ulrich Mueller
2011-02-10  8:42 Ulrich Mueller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox