commit:     404efa97cacae79622134c15cdc8715b7464b39b
Author:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
AuthorDate: Sun Jun 15 11:18:03 2025 +0000
Commit:     Ulrich Müller <ulm <AT> gentoo <DOT> org>
CommitDate: Sun Jun 15 11:18:03 2025 +0000
URL:        https://gitweb.gentoo.org/proj/pms.git/commit/?id=404efa97

Appendix: Use description lists for historical curiosities

This is more consistent with the rest of the document where individual
features rarely have their own subsections. Besides, it saves one page
in the PDF version.

Signed-off-by: Ulrich Müller <ulm <AT> gentoo.org>

 appendices.tex | 28 +++++++++++++++++-----------
 1 file changed, 17 insertions(+), 11 deletions(-)

diff --git a/appendices.tex b/appendices.tex
index fd6ba34..8607608 100644
--- a/appendices.tex
+++ b/appendices.tex
@@ -32,7 +32,8 @@ The items described in this section are included for 
information only. Unless ot
 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}
+\begin{description}
+\item[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.
@@ -50,27 +51,30 @@ DEPEND="
 \end{verbatim}
 \end{listing}
 
-\subsection{CVS versions}
+\item[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 \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.
 
-\subsection{use.defaults}
+\item[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.
 
+\end{description}
+
 \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{Bash version}
+\begin{description}
+\item[Bash version]
 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}
+\item[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.
@@ -82,7 +86,7 @@ GLEP~37~\cite{glep37} and finally removed in 2011.
 requirements to pull in a `provider'. This does not require any special 
handling from the package
 manager.}
 
-\subsection{EAPI parsing}
+\item[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
@@ -94,12 +98,12 @@ The current syntax of the \t{EAPI} assignment statement 
(see section~\ref{sec:ea
 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}
+\item[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}
+\item[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,
@@ -108,13 +112,13 @@ implementation in package managers deviated from what was 
specified.
 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}
+\item[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.
 
-\subsection{econf -{}-disable-static option}
+\item[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
@@ -124,12 +128,14 @@ 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}
+\item[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-}.
 
+\end{description}
+
 % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en :
 
 %%% Local Variables:

Reply via email to