summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCiaran McCreesh <ciaran.mccreesh@googlemail.com>2012-05-06 17:03:49 +0100
committerUlrich Müller <ulm@gentoo.org>2012-09-13 08:28:15 +0200
commit8cb5b817424a921d010f2c18f7b9822031308422 (patch)
treef690a6c7dfa85791c6534e361889bed6390b51c1
parentAdd mgorny to credits. (diff)
downloadpms-8cb5b817424a921d010f2c18f7b9822031308422.tar.gz
pms-8cb5b817424a921d010f2c18f7b9822031308422.tar.bz2
pms-8cb5b817424a921d010f2c18f7b9822031308422.zip
Add \ChangeWhenAddingAnEAPI command.
This gives us an easy way to grep and find every place that needs updating when we add a new EAPI.
-rw-r--r--dependencies.tex4
-rw-r--r--eapi-differences.tex3
-rw-r--r--eapis.tex1
-rw-r--r--ebuild-env-vars.tex3
-rw-r--r--ebuild-functions.tex8
-rw-r--r--ebuild-vars.tex4
-rw-r--r--merge.tex1
-rw-r--r--pkg-mgr-commands.tex11
-rw-r--r--pms.cls5
-rw-r--r--pms.tex3
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