Note: Due to technical difficulties, the Archives are currently not up to date. GMANE provides an alternative service for most mailing lists.
c.f. bug 424647
List Archive: gentoo-pms
 >>>>> On Sat, 9 Jan 2010, Christian Faulhammer wrote: >> No objections. Maybe a footnote in section 2.2 "Defined EAPIs"? > Yes, that would be a good place. Could you please prepare a new > patch? Attached. Only change to previous version is addition of a footnote: \footnote{Another inofficial EAPI kdebuild-1' was a series of extensions to EAPI 1' formerly used by the Gentoo KDE project. Some of its features have been included in EAPI 2' or later.} Ulrich 
 From 0a087ed62be4c55ba98a4fd2aa28494df09f0fd9 Mon Sep 17 00:00:00 2001 From: Ulrich Mueller Date: Fri, 11 Dec 2009 16:46:23 +0100 Subject: [PATCH 1/3] Remove conditionals for kdebuild-1. Signed-off-by: Ulrich Mueller --- appendices.tex | 6 - dependencies.tex | 293 ++------------------------------------------- eapi-differences.tex | 319 ++++++++++++++----------------------------------- eapis.tex | 29 +---- ebuild-env-vars.tex | 21 ---- ebuild-functions.tex | 164 ------------------------- ebuild-vars.tex | 115 +----------------- eclasses.tex | 8 -- names.tex | 106 ++-------------- pkg-mgr-commands.tex | 225 +---------------------------------- pms.cls | 32 ----- profile-variables.tex | 17 --- tree-layout.tex | 8 +- 13 files changed, 125 insertions(+), 1218 deletions(-) diff --git a/appendices.tex b/appendices.tex index 0efb760..093a9bc 100644 --- a/appendices.tex +++ b/appendices.tex @@ -50,12 +50,6 @@ Portage has very crude support for CVS packages. The package \t{foo} could conta \t{foo-2.ebuild}). This feature has not seen real world use and breaks versioned dependencies, so it must not be used. -\IFKDEBUILDELSE -{ - The \t{scm} version rules specified in section~\ref{scm-versions} solve all of these issues. -}{ -} - \section{use.defaults} The \t{use.defaults} file in the profile directory was used to implement autouse'---switching USE diff --git a/dependencies.tex b/dependencies.tex index 9bbaf62..857356c 100644 --- a/dependencies.tex +++ b/dependencies.tex @@ -48,21 +48,11 @@ be surrounded on both sides by whitespace, except at the start and end of the st of any kind followed by whitespace), followed by a close parenthesis. More formally: \t{use-conditional ::= '!'? flag-name '?' whitespace '(' whitespace (item whitespace)* ')'}. Permitted in all specification style variables. -\IFKDEBUILDELSE -{ - \item A label, which is a string without whitespace followed by a colon. Permitted in - \t{SRC\_URI} in EAPIs shown in table~\ref{tab:uri-labels-table} as supporting \t{SRC\_URI} labels, - and in \t{PDEPEND} in EAPIs shown in table~\ref{tab:pdepend-labels-table} as supporting \t{PDEPEND} - labels. -}{ -} \end{compactitem} In particular, note that whitespace is not optional. \begin{centertable}{EAPIs supporting \t{SRC\_URI} arrows} \label{tab:uri-arrows-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -70,64 +60,13 @@ In particular, note that whitespace is not optional. \midrule \t{0} & No \\ \t{1} & No \\ - \t{kdebuild-1} & Yes \\ \t{2} & Yes \\ \t{3} & Yes \\ \t{4} & Yes \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} arrows?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} -\IFKDEBUILDELSE -{ - \begin{centertable}{EAPIs supporting \t{SRC\_URI} labels} \label{tab:uri-labels-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{SRC\_URI} labels?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{kdebuild-1} & Yes \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & No \\ - \bottomrule - \end{tabular} - \end{centertable} - - \begin{centertable}{EAPIs supporting \t{PDEPEND} labels} \label{tab:pdepend-labels-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{PDEPEND} labels?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{kdebuild-1} & Yes \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & No \\ - \bottomrule - \end{tabular} - \end{centertable} -}{ -} - \subsection{All-of Dependency Specifications} In an all-of group, all of the child elements must be matched. @@ -151,21 +90,6 @@ considered to be matched if its associated package dependency specification is n An empty any-of group counts as being matched. -\IFKDEBUILDELSE -{ - \subsection{Labels} - \label{sec:labels} - - A label alters the behaviour of any subsequent items (including those inside subgroups) in the - current group. This is demonstrated by code listing~\ref{lst:labels-listing}. - -\begin{listing} - \caption{How labels are applied}\label{lst:labels-listing} - \verbatiminput{labels.listing} -\end{listing} -}{ -} - \subsection{Package Dependency Specifications} A package dependency can be in one of the following base formats. A package manager must warn or @@ -182,45 +106,14 @@ above formats may additionally be suffixed by a \t{:slot} restriction, as descri 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. -\IFKDEBUILDELSE -{ - In EAPIs shown in table~\ref{tab:range-deps-table} as supporting ranged dependencies, a - specification that does not use an operator at the start may additionally be suffixed by one - \t{[range]} restriction, as described in section~\ref{sec:range-dep}. A package manager must warn or - error if this feature is used with an EAPI not supporting ranged dependencies. -}{ -} - -\IFKDEBUILDELSE -{ - \featurelabel{use-deps} In EAPIs shown in table~\ref{tab:use-deps-table} as supporting - kdebuild-style \t{USE} dependencies, a specification may additionally be suffixed by one or more - kdebuild-style \t{[use]} restrictions, as described in section~\ref{sec:kdebuild-use-dep}. A - package manager must warn or error if this feature is used with an EAPI not supporting use - dependencies. - - 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 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. -}{ - \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 - 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. -} - -\IFKDEBUILDELSE -{ - \note Order is important. The slot restriction must come before the range restriction, which - must come before use dependencies. -}{ - \note Order is important. The slot restriction must come before use 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 +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. \begin{centertable}{EAPIs supporting \t{SLOT} dependencies} \label{tab:slot-deps-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -228,51 +121,14 @@ EAPI not supporting \t{SLOT} dependencies. \midrule \t{0} & No \\ \t{1} & Named only \\ - \t{kdebuild-1} & Named and operator \\ \t{2} & Named only \\ \t{3} & Named only \\ \t{4} & Named and operator \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{SLOT} dependencies?}} \\ - \midrule - \t{0} & No \\ - \t{1} & Named only \\ - \t{2} & Named only \\ - \t{3} & Named only \\ - \t{4} & Named and operator \\ - \bottomrule - \end{tabular} -} \end{centertable} -\IFKDEBUILDELSE -{ - \begin{centertable}{EAPIs supporting ranged dependencies} \label{tab:range-deps-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports ranged dependencies?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{kdebuild-1} & Yes \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & No \\ - \bottomrule - \end{tabular} - \end{centertable} -}{ -} - -\IFKDEBUILDELSE -{ - \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table} +\begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table} \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -280,29 +136,12 @@ EAPI not supporting \t{SLOT} dependencies. \midrule \t{0} & No \\ \t{1} & No \\ - \t{kdebuild-1} & kdebuild-style \\ \t{2} & 2-style \\ \t{3} & 2-style \\ \t{4} & 4-style \\ \bottomrule \end{tabular} - \end{centertable} -}{ - \begin{centertable}{EAPIs supporting \t{USE} dependencies} \label{tab:use-deps-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{USE} dependencies?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{2} & 2-style \\ - \t{3} & 2-style \\ - \t{4} & 4-style \\ - \bottomrule - \end{tabular} - \end{centertable} -} +\end{centertable} \subsubsection{Operators} \label{sec:dep-operator} @@ -340,8 +179,6 @@ strong block must not be ignored. The mapping from one or two exclamation marks described in table~\ref{tab:bang-strength-table}. \begin{centertable}{Exclamation mark strengths for EAPIs} \label{tab:bang-strength-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -350,27 +187,11 @@ described in table~\ref{tab:bang-strength-table}. \midrule \t{0} & Unspecified & Forbidden \\ \t{1} & Unspecified & Forbidden \\ - \t{kdebuild-1} & Unspecified & Forbidden \\ \t{2} & Weak & Strong \\ \t{3} & Weak & Strong \\ \t{4} & Weak & Strong \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{\t{!}}} & - \multicolumn{1}{c}{\textbf{\t{!!}}} \\ - \midrule - \t{0} & Unspecified & Forbidden \\ - \t{1} & Unspecified & Forbidden \\ - \t{2} & Weak & Strong \\ - \t{3} & Weak & Strong \\ - \t{4} & Weak & Strong \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsubsection{Slot Dependencies} @@ -398,59 +219,6 @@ best installed version of the matching package. The package manager may do this 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. -\IFKDEBUILDELSE -{ - \subsubsection{Ranged Dependencies} - \label{sec:range-dep} - - \featurelabel{ranged-deps} A ranged dependency consists of an open square bracket, followed by - zero or more of (a depend operator followed by a version spec followed by a logical operator) - followed by a depend operator followed by a version spec followed by a close equare bracket. - More formally: \t{ranged-dep ::= '[' (op ver logical-op)* op ver ']' }. - - The following logical operators are supported: - - \begin{description} - \item[\&] An 'and' match. All op-ver pairs must match for a successful match. - \item[|] An 'or' match. At least one op-ver pair must match for a successful match. - \end{description} - - A ranged dependency must not mix logical operators. -}{ -} - -\IFKDEBUILDELSE -{ - \subsubsection{kdebuild Style Use Dependencies} - \label{sec:kdebuild-use-dep} - - A kdebuild-style use dependency consists of one of the following: - - \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 - dependency, or disabled otherwise. - \item[{[opt!=]}] The flag must be disabled if the flag is enabled for the package with the - dependency, or enabled otherwise. - \item[{[opt?]}] The flag must be enabled if the flag is enabled for the package with the - dependency. - \item[{[opt!?]}] The flag must be enabled if the use flag is disabled for the package with the - dependency. - \item[{[-opt]}] The flag must be disabled. - \item[{[-opt?]}] The flag must be disabled if the flag is enabled for the package with the - dependency. - \item[{[-opt!?]}] The flag must be disabled if the flag is disabled for the package with the - dependency. - \end{description} - - When multiple use dependencies are specified, all must match for a successful match. - - 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}, or for an ebuild to use a conditional use dependency when - that ebuild does not have the flag in \t{IUSE\_EFFECTIVE}. -}{ -} - \subsubsection{2-Style and 4-Style Use Dependencies} \label{sec:use-dep} @@ -489,23 +257,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}. -\IFKDEBUILDELSE -{ - \subsection{Package Dependency Labels} - - In EAPIs supporting \t{PDEPEND} labels, the following labels are legal. See - section~\ref{sec:labels} for label behaviour in general. - - \begin{description} - \item[required] Indicates a required post dependency. - \item[suggested] Indicates a suggested post dependency. The package manager may ignore the - suggestion or install it at user option. - \end{description} - - The default label is \t{required}. -}{ -} - \subsection{Restrict} \label{sec:restrict} @@ -551,38 +302,14 @@ details. If a simple filename rather than a full URI is provided, the package manager can only use mirrors to download the file. -\IFKDEBUILDELSE -{ - The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see - section~\ref{sec:restrict} for details. Labels also alter behaviour---see below for details. -}{ - The \t{RESTRICT} metadata key can be used to impose additional restrictions upon downloading---see - section~\ref{sec:restrict} for details. -} +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. -\IFKDEBUILDELSE -{ - \featurelabel{src-uri-labels} In EAPIs supporting labels, the following labels are legal. See - section~\ref{sec:labels} for label behaviour in general. - - \begin{description} - \item[mirrors-first] Mirrors shall be consulted before the listed URI. - \item[mirrors-only] Only mirrors shall be consulted, and the listed URI shall be ignored. - \item[listed-first] The listed URI shall be consulted before mirrors. - \item[listed-only] Only the listed URI shall be consulted. - \item[manual] No URI shall be consulted. A manual download is required. - \end{description} - - The default label is \t{mirrors-first}, unless \t{RESTRICT} contains \t{mirror}, in which case it is - \t{listed-only}, unless \t{RESTRICT} contains \t{fetch}, in which case it is \t{manual}. -}{ -} - % 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 e73f96d..f3b63c7 100644 --- a/eapi-differences.tex +++ b/eapi-differences.tex @@ -3,17 +3,16 @@ \note This chapter is informative and for convenience only. Refer to the main text for specifics. \begin{landscape} -\begin{longtable}{\IFANYKDEBUILDELSE{llllllll}{lllllll}} +\begin{longtable}{lllllll} \caption{Features in EAPIs}\\ \toprule \multicolumn{1}{c}{\b{Feature}} & \multicolumn{1}{c}{\b{Reference}} & -\IFANYKDEBUILDELSE{\multicolumn{5}{c}{\b{EAPIs}} \\}{\multicolumn{4}{c}{\b{EAPIs}} \\} +\multicolumn{4}{c}{\b{EAPIs}} \\ \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{0} & \multicolumn{1}{c}{1} & -\IFANYKDEBUILDELSE{\multicolumn{1}{c}{\IFKDEBUILDCOLOUR{kdebuild-1}} &}{} \multicolumn{1}{c}{2} & \multicolumn{1}{c}{3} & \multicolumn{1}{c}{4} \\ @@ -22,12 +21,11 @@ \midrule \multicolumn{1}{c}{\b{Feature}} & \multicolumn{1}{c}{\b{Reference}} & -\IFANYKDEBUILDELSE{\multicolumn{5}{c}{\b{EAPIs}} \\}{\multicolumn{4}{c}{\b{EAPIs}} \\} +\multicolumn{4}{c}{\b{EAPIs}} \\ \multicolumn{1}{c}{} & \multicolumn{1}{c}{} & \multicolumn{1}{c}{0} & \multicolumn{1}{c}{1} & -\IFANYKDEBUILDELSE{\multicolumn{1}{c}{\IFKDEBUILDCOLOUR{kdebuild-1}} &}{} \multicolumn{1}{c}{2} & \multicolumn{1}{c}{3} & \multicolumn{1}{c}{4} \\ @@ -38,228 +36,111 @@ \bottomrule \endlastfoot -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{scm} support} & - \IFKDEBUILDCOLOUR{\compactfeatureref{scm}} & - \IFKDEBUILDCOLOUR{Optional} & - \IFKDEBUILDCOLOUR{Optional} & - \IFKDEBUILDCOLOUR{Required} & - \IFKDEBUILDCOLOUR{Optional} & - \IFKDEBUILDCOLOUR{Optional} & - \IFKDEBUILDCOLOUR{Optional} \\ -}{} - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{File extension} & - \IFKDEBUILDCOLOUR{\compactfeatureref{file-extension}} & - \IFKDEBUILDCOLOUR{\t{.ebuild}} & - \IFKDEBUILDCOLOUR{\t{.ebuild}} & - \IFKDEBUILDCOLOUR{\t{.kdebuild-1}} & - \IFKDEBUILDCOLOUR{\t{.ebuild}} & - \IFKDEBUILDCOLOUR{\t{.ebuild}} & - \IFKDEBUILDCOLOUR{\t{.ebuild}} \\ -}{} - -Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ - -\t{IUSE} defaults & \compactfeatureref{iuse-defaults} & No & Yes & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & Yes \\ - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{PROVIDE} support} & - \IFKDEBUILDCOLOUR{\compactfeatureref{provide}} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} \\ -}{} - -\t{PROPERTIES} & \compactfeatureref{properties} & Optionally & Optionally & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Optionally} &}{} Optionally & Optionally & Yes \\ - -\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} & Yes & Yes & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\ - -\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} & Optionally & Optionally & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Optionally} &}{} Optionally & Optionally & Yes \\ - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{Pre-source \t{EAPI}} & - \IFKDEBUILDCOLOUR{\compactfeatureref{pre-source-eapi}} & - \IFKDEBUILDCOLOUR{0 or unset} & - \IFKDEBUILDCOLOUR{0 or unset} & - \IFKDEBUILDCOLOUR{kdebuild-1} & - \IFKDEBUILDCOLOUR{0 or unset} & - \IFKDEBUILDCOLOUR{0 or unset} & - \IFKDEBUILDCOLOUR{0 or unset} \\ -}{} - -\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & Yes \\ - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{SRC\_URI} labels} & - \IFKDEBUILDCOLOUR{\compactfeatureref{src-uri-labels}} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} \\ -}{} - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{PDEPEND} labels} & - \IFKDEBUILDCOLOUR{\compactfeatureref{pdepend-labels}} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} \\ -}{} - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{Ranged Dependencies} & - \IFKDEBUILDCOLOUR{\compactfeatureref{ranged-deps}} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{No} \\ -}{} - -Slot dependencies & - \compactfeatureref{slot-deps} & - No & - Named & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Named and Operator} &}{} - Named & - Named & - Named and Operator \\ - -Use dependencies & \compactfeatureref{use-deps} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{kdebuild-style} &}{} 2-style & 2-style & 4-style \\ - -\t{!} blockers & \compactfeatureref{bang-strength} & Unspecified & Unspecified & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Unspecified} &}{} Weak & Weak & Weak \\ - -\t{!!} blockers & \compactfeatureref{bang-strength} & Forbidden & Forbidden & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Forbidden} &}{} Strong & Strong & Strong \\ - -\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} & Always & Always & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Always} &}{} Always & Always & Conditional \\ - -\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ - -\t{src\_prepare} & \compactfeatureref{src-prepare} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\ - -\t{src\_configure} & \compactfeatureref{src-configure} & No & No & -\IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\ - -\t{src\_compile} style & \compactfeatureref{src-compile} & 0 & 1 & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{1} &}{} 2 & 2 & 2 \\ - -\t{src\_install} style & \compactfeatureref{src-install} & no-op & no-op & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{no-op} &}{} no-op & no-op & 4 \\ - -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{src\_test}} & - \IFKDEBUILDCOLOUR{\compactfeatureref{src-test-required}} & - \IFKDEBUILDCOLOUR{User option} & - \IFKDEBUILDCOLOUR{User option} & - \IFKDEBUILDCOLOUR{Required} & - \IFKDEBUILDCOLOUR{User option} & - \IFKDEBUILDCOLOUR{User option} & - \IFKDEBUILDCOLOUR{User option} \\ -}{} - -\t{pkg\_info} & \compactfeatureref{pkg-info} & Installed & Installed & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Both} &}{} Installed & Installed & Both \\ - -\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} & None & None & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{None} &}{} +Profile \t{IUSE} injection & \compactfeatureref{profile-iuse-injection} & + No & No & No & No & Yes \\ + +\t{IUSE} defaults & \compactfeatureref{iuse-defaults} & + No & Yes & Yes & Yes & Yes \\ + +\t{PROPERTIES} & \compactfeatureref{properties} & + Optionally & Optionally & Optionally & Optionally & Yes \\ + +\t{RDEPEND=DEPEND} & \compactfeatureref{rdepend-depend} & + Yes & Yes & Yes & Yes & No \\ + +\t{DEFINED\_PHASES} & \compactfeatureref{defined-phases} & + Optionally & Optionally & Optionally & Optionally & Yes \\ + +\t{SRC\_URI} arrows & \compactfeatureref{src-uri-arrows} & + No & No & Yes & Yes & Yes \\ + +Slot dependencies & \compactfeatureref{slot-deps} & + No & Named & Named & Named & Named and Operator \\ + +Use dependencies & \compactfeatureref{use-deps} & + No & No & 2-style & 2-style & 4-style \\ + +\t{!} blockers & \compactfeatureref{bang-strength} & + Unspecified & Unspecified & Weak & Weak & Weak \\ + +\t{!!} blockers & \compactfeatureref{bang-strength} & + Forbidden & Forbidden & Strong & Strong & Strong \\ + +\t{S} to \t{WORKDIR} fallback & \compactfeatureref{s-workdir-fallback} & + Always & Always & Always & Always & Conditional \\ + +\t{pkg\_pretend} & \compactfeatureref{pkg-pretend} & + No & No & No & No & Yes \\ + +\t{src\_prepare} & \compactfeatureref{src-prepare} & + No & No & Yes & Yes & Yes \\ + +\t{src\_configure} & \compactfeatureref{src-configure} & + No & No & Yes & Yes & Yes \\ + +\t{src\_compile} style & \compactfeatureref{src-compile} & + 0 & 1 & 2 & 2 & 2 \\ + +\t{src\_install} style & \compactfeatureref{src-install} & + no-op & no-op & no-op & no-op & 4 \\ + +\t{pkg\_info} & \compactfeatureref{pkg-info} & + Installed & Installed & Installed & Installed & Both \\ + +\t{default\_} phase functions & \compactfeatureref{default-phase-funcs} & + None & None & \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} & \parbox[t]{1in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} & \parbox[t]{1in}{\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 & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\ - -\t{KV} & \compactfeatureref{kv} & Yes & Yes & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Yes} &}{} Yes & Yes & No \\ +\t{AA} & \compactfeatureref{aa} & + Yes & Yes & Yes & Yes & No \\ -\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{KV} & \compactfeatureref{kv} & + Yes & Yes & Yes & Yes & No \\ -\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{REPLACING\_VERSIONS} & \compactfeatureref{replace-version-vars} & + No & No & No & No & Yes \\ -Most utilities die & \compactfeatureref{die-on-failure} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{REPLACED\_BY\_VERSION} & \compactfeatureref{replace-version-vars} & + No & No & No & No & Yes \\ -\t{nonfatal} & \compactfeatureref{nonfatal} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +Most utilities die & \compactfeatureref{die-on-failure} & + No & No & No & No & Yes \\ -\t{dohard} & \compactfeatureref{banned-commands} & Yes & Yes & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Banned} &}{} Yes & Yes & Banned \\ +\t{nonfatal} & \compactfeatureref{nonfatal} & + No & No & No & No & Yes \\ -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{dohtml}} & - \IFKDEBUILDCOLOUR{\compactfeatureref{banned-commands}} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Banned} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} \\ -}{} +\t{dohard} & \compactfeatureref{banned-commands} & + Yes & Yes & Yes & Yes & Banned \\ -\t{dosed} & \compactfeatureref{banned-commands} & Yes & Yes & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{Banned} &}{} Yes & Yes & Banned \\ +\t{dosed} & \compactfeatureref{banned-commands} & + Yes & Yes & Yes & Yes & Banned \\ -\t{econf} arguments & \compactfeatureref{econf-options} & & & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{} &}{} & & - \parbox[t]{1in}{disable dependency tracking} \\ +\t{econf} arguments & \compactfeatureref{econf-options} & + & & & & \parbox[t]{1in}{disable dependency tracking} \\ -\t{dodoc -r} & \compactfeatureref{dodoc} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{dodoc -r} & \compactfeatureref{dodoc} & + No & No & No & No & Yes \\ -\t{doins} handles symlinks & \compactfeatureref{doins} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{doins} handles symlinks & \compactfeatureref{doins} & + No & No & No & No & Yes \\ -\t{doman} languages & \compactfeatureref{doman-langs} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\ +\t{doman} languages & \compactfeatureref{doman-langs} & + No & No & Yes & Yes & Yes \\ -\IFANYKDEBUILDELSE{ - \IFKDEBUILDCOLOUR{\t{dosym} does \t{dodir}} & - \IFKDEBUILDCOLOUR{\compactfeatureref{dosym-dodir}} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{No} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} & - \IFKDEBUILDCOLOUR{Yes} \\ -}{} +Controllable compression & \compactfeatureref{controllable-compress} & + No & No & No & No & Yes \\ -Controllable compression & \compactfeatureref{controllable-compress} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{docompress} & \compactfeatureref{controllable-compress} & + No & No & No & No & Yes \\ -\t{docompress} & \compactfeatureref{controllable-compress} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ +\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} & + No & No & No & No & Yes \\ -\t{unpack} support for \t{xz}? & \compactfeatureref{unpack-extensions} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} No & No & Yes \\ - -\t{default} function & \compactfeatureref{default-func} & No & No & - \IFANYKDEBUILDELSE{\IFKDEBUILDCOLOUR{No} &}{} Yes & Yes & Yes \\ +\t{default} function & \compactfeatureref{default-func} & + No & No & Yes & Yes & Yes \\ \end{longtable} \end{landscape} @@ -282,30 +163,6 @@ EAPI 1 is EAPI 0 with the following changes: \item Different \t{src\_compile} implementation, \featureref{src-compile-1}. \end{compactitem} -\IFKDEBUILDELSE -{ - \section*{EAPI kdebuild-1} - - EAPI kdebuild-1 is EAPI 1 with the following changes: - - \begin{compactitem} - \item \t{scm} support, \featureref{scm}. - \item \t{kdebuild-1} file extension, \featureref{file-extension}. - \item \t{PROVIDE} banned, \featureref{provide}. - \item Pre-source EAPI is \t{kdebuild-1}, \featureref{pre-source-eapi}. - \item \t{SRC\_URI} arrows, \featureref{src-uri-arrows}. - \item \t{SRC\_URI} labels, \featureref{src-uri-labels}. - \item \t{PDEPEND} labels, \featureref{pdepend-labels}. - \item Ranged dependencies, \featureref{ranged-deps}. - \item Use dependencies, \featureref{use-deps}. - \item \t{src\_test} mandatory, \featureref{src-test-required}. - \item \t{pkg\_info} can run on non-installed packages, \featureref{pkg-info}. - \item \t{dohard}, \t{dohtml}, \t{dosed} banned, \featureref{banned-commands}. - \item \t{dosym} will not do \t{dodir}, \featureref{dosym-dodir}. - \end{compactitem} -}{ -} - \section*{EAPI 2} EAPI 2 is EAPI 1 with the following changes: diff --git a/eapis.tex b/eapis.tex index 24cabbe..f7ad06b 100644 --- a/eapis.tex +++ b/eapis.tex @@ -23,13 +23,6 @@ The following EAPIs are defined by this specification: \item[0] The original' base EAPI. \item[1] EAPI 1' contains a number of extensions to EAPI 0'. Except where explicitly noted, it is in all other ways identical to EAPI 0'. -\IFKDEBUILDELSE -{ - \item[kdebuild-1] A series of extensions to EAPI 1' used by the GenKDEsvn project and - formerly by the Gentoo KDE project. Except where - explicitly noted, it is in all other ways identical to EAPI 1'. -}{ -} \item[2] EAPI 2' contains a number of extensions to EAPI 1'. Except where explicitly noted, it is in all other ways identical to EAPI 1'. \item[3] EAPI 3' contains a number of extensions to EAPI 2'. Except where explicitly noted, it is @@ -38,21 +31,11 @@ The following EAPIs are defined by this specification: in all other ways identical to EAPI 3'. \end{description} -\ifthenelse{\boolean{ENABLE-ALL-OPTIONS}\and\not\boolean{TEX4HT-HACKS}} -{ - \note We're not sure whether \t{kdebuild-1} will end up in the final version of this - specification. For now, it's included but can easily be hidden using a switch in the master - \t{pms.tex} file. To make editing easier, we also have a mode that shows the document both with - and without the \t{kdebuild-1} stuff enabled. You currently have that mode enabled--- - \IFKDEBUILDELSE{ - text only shown when \t{kdebuild-1} is enabled looks like this, - }{ - and text only shown when it is disabled looks like this. - } -}{ -} - -Except where explicitly noted, everything in this specification applies to all of the above EAPIs. +Except where explicitly noted, everything in this specification +applies to all of the above EAPIs.% +\footnote{Another inofficial EAPI kdebuild-1' was a series of + extensions to EAPI 1' formerly used by the Gentoo KDE project. + Some of its features have been included in EAPI 2' or later.} \section{Reserved EAPIs} @@ -61,8 +44,6 @@ Except where explicitly noted, everything in this specification applies to all o specification. \item EAPIs whose value starts with the string \t{paludis-} are reserved for experimental use by the Paludis package manager. -\item EAPIs whose value starts with the string \t{kdebuild-} are reserved for the GenKDEsvn - project, and were formerly used by the Gentoo KDE project. \end{compactitem} % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : diff --git a/ebuild-env-vars.tex b/ebuild-env-vars.tex index 30ae534..0bba364 100644 --- a/ebuild-env-vars.tex +++ b/ebuild-env-vars.tex @@ -180,8 +180,6 @@ variable. \end{landscape} \begin{centertable}{EAPIs supporting various env variables} \label{tab:env-vars-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l l l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -192,30 +190,11 @@ variable. \midrule \t{0} & Yes & Yes & No & No \\ \t{1} & Yes & Yes & No & No \\ - \t{kdebuild-1} & Yes & Yes & No & No \\ \t{2} & Yes & Yes & No & No \\ \t{3} & Yes & Yes & No & No \\ \t{4} & No & No & Yes & Yes \\ \bottomrule \end{tabular} -} -{ - \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{REPLACING\_VERSIONS}?}} & - \multicolumn{1}{c}{\textbf{\t{REPLACED\_BY\_VERSION}?}} \\ - \midrule - \t{0} & Yes & Yes & No & No \\ - \t{1} & Yes & Yes & No & No \\ - \t{2} & Yes & Yes & No & No \\ - \t{3} & Yes & Yes & No & No \\ - \t{4} & No & No & Yes & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} Except where otherwise noted, all variables set in the active profiles' \t{make.defaults} files must diff --git a/ebuild-functions.tex b/ebuild-functions.tex index 92fbcc0..25944c0 100644 --- a/ebuild-functions.tex +++ b/ebuild-functions.tex @@ -45,8 +45,6 @@ fallback to \t{WORKDIR} is used: \end{compactitem} \begin{centertable}{EAPIs with \t{S} to \t{WORKDIR} fallbacks} \label{tab:s-fallback-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -54,26 +52,11 @@ fallback to \t{WORKDIR} is used: \midrule \t{0} & Always \\ \t{1} & Always \\ - \t{kdebuild-1} & Always \\ \t{2} & Always \\ \t{3} & Always \\ \t{4} & Conditional error \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Fallback to \t{WORKDIR} permitted?}} \\ - \midrule - \t{0} & Always \\ - \t{1} & Always \\ - \t{2} & Always \\ - \t{3} & Always \\ - \t{4} & Conditional error \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{pkg\_pretend} @@ -95,22 +78,6 @@ before the next phase is executed. \t{pkg\_pretend} must not write to the filesystem. \begin{centertable}{EAPIs supporting \t{pkg\_pretend}} \label{tab:pkg-pretend-table} -\IFKDEBUILDELSE -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{pkg\_pretend}?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{kdebuild-1} & No \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -}{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -123,7 +90,6 @@ before the next phase is executed. \t{4} & Yes \\ \bottomrule \end{tabular} -} \end{centertable} \subsection{pkg\_setup} @@ -166,8 +132,6 @@ The initial working directory is \t{S}, with an error or fallback to \t{WORKDIR} section~\ref{sec:s-to-workdir-fallback}. \begin{centertable}{EAPIs supporting \t{src\_prepare}} \label{tab:src-prepare-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -175,26 +139,11 @@ section~\ref{sec:s-to-workdir-fallback}. \midrule \t{0} & No \\ \t{1} & No \\ - \t{kdebuild-1} & No \\ \t{2} & Yes \\ \t{3} & Yes \\ \t{4} & Yes \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{src\_prepare}?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{src\_configure} @@ -218,8 +167,6 @@ src_configure() { \end{verbatim} \begin{centertable}{EAPIs supporting \t{src\_configure}} \label{tab:src-configure-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -227,26 +174,11 @@ src_configure() { \midrule \t{0} & No \\ \t{1} & No \\ - \t{kdebuild-1} & No \\ \t{2} & Yes \\ \t{3} & Yes \\ \t{4} & Yes \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{src\_configure}?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{src\_compile} @@ -301,8 +233,6 @@ src_compile() { \end{verbatim} \begin{centertable}{\t{src\_compile} behaviour for EAPIs} \label{tab:src-compile-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -310,26 +240,11 @@ src_compile() { \midrule \t{0} & 0 \\ \t{1} & 1 \\ - \t{kdebuild-1} & 1 \\ \t{2} & 2 \\ \t{3} & 2 \\ \t{4} & 2 \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Format}} \\ - \midrule - \t{0} & 0 \\ - \t{1} & 1 \\ - \t{2} & 2 \\ - \t{3} & 2 \\ - \t{4} & 2 \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{src\_test} @@ -346,31 +261,6 @@ aborted. The \t{src\_test} function may be disabled by \t{RESTRICT}. See section~\ref{sec:restrict}. -\IFKDEBUILDELSE -{ - \featurelabel{src-test-required} In some EAPIs, \t{src\_test} should only be run at user option - (and never if restrictions are in place). In others, it must always be run (excepting - restrictions). See table~\ref{tab:test-required-table} for which EAPIs fit into which category. - - \begin{centertable}{EAPIs requiring \t{src\_test}} \label{tab:test-required-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Requires \t{src\_test}?}} \\ - \midrule - \t{0} & At user option \\ - \t{1} & At user option \\ - \t{kdebuild-1} & Required \\ - \t{2} & At user option \\ - \t{3} & At user option \\ - \t{4} & At user option \\ - \bottomrule - \end{tabular} - - \end{centertable} -}{ -} - \subsection{src\_install} \label{sec:src-install-function} @@ -408,22 +298,6 @@ For other EAPIs, the default implementation used when the ebuild lacks the \t{sr is a no-op. \begin{centertable}{\t{src\_install} behaviour for EAPIs} \label{tab:src-install-table} -\IFKDEBUILDELSE -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Format}} \\ - \midrule - \t{0} & no-op \\ - \t{1} & no-op \\ - \t{kdebuild-1} & no-op \\ - \t{2} & no-op \\ - \t{3} & no-op \\ - \t{4} & 4 \\ - \bottomrule - \end{tabular} -}{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -436,7 +310,6 @@ is a no-op. \t{4} & 4 \\ \bottomrule \end{tabular} -} \end{centertable} \subsection{pkg\_preinst} @@ -499,8 +372,6 @@ that dependencies may not be installed. \t{pkg\_info} must not write to the filesystem. \begin{centertable}{EAPIs supporting \t{pkg\_info} on non-installed packages} \label{tab:pkg-info-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -508,26 +379,11 @@ that dependencies may not be installed. \midrule \t{0} & No \\ \t{1} & No \\ - \t{kdebuild-1} & Yes \\ \t{2} & No \\ \t{3} & No \\ \t{4} & Yes \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{pkg\_info} on non-installed packages?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{pkg\_nofetch} @@ -549,8 +405,6 @@ when executing any ebuild phase listed in the table. Ebuilds must not call these when in the phase in question. \begin{centertable}{EAPIs supporting \t{default\_} phase functions} \label{tab:default-phase-function-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -558,7 +412,6 @@ when in the phase in question. \midrule \t{0} & None \\ \t{1} & None \\ - \t{kdebuild-1} & None \\ \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, \t{src\_compile}, \t{src\_test}} \\ \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, @@ -567,23 +420,6 @@ when in the phase in question. \t{src\_compile}, \t{src\_install}, \t{src\_test}} \\ \bottomrule \end{tabular} -}{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{default\_} functions in phases}} \\ - \midrule - \t{0} & None \\ - \t{1} & None \\ - \t{2} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, - \t{src\_compile}, \t{src\_test}} \\ - \t{3} & \parbox[t]{3in}{\t{pkg\_nofetch}, \t{src\_unpack}, \t{src\_prepare}, \t{src\_configure}, - \t{src\_compile}, \t{src\_test}} \\ - \t{4} & \parbox[t]{3in}{\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} \section{Call Order} diff --git a/ebuild-vars.tex b/ebuild-vars.tex index ac5c3bc..8f888ac 100644 --- a/ebuild-vars.tex +++ b/ebuild-vars.tex @@ -55,8 +55,6 @@ the package manager's behaviour is undefined; ideally, an error in one ebuild sh operations upon other ebuilds or packages. \begin{centertable}{EAPIs supporting \t{IUSE} defaults} \label{tab:iuse-defaults-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -64,27 +62,11 @@ operations upon other ebuilds or packages. \midrule \t{0} & No \\ \t{1} & Yes \\ - \t{kdebuild-1} & Yes \\ \t{2} & Yes \\ \t{3} & Yes \\ \t{4} & Yes \\ \bottomrule \end{tabular} -} -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{IUSE} defaults?}} \\ - \midrule - \t{0} & No \\ - \t{1} & Yes \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} \section{Optional Ebuild-defined Variables} @@ -95,18 +77,9 @@ 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}. -\IFKDEBUILDELSE -{ - \item[PROVIDE] \featurelabel{provide} Zero or more qualified package names of any \e{old style} - virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax. In EAPIs - listed in table~\ref{tab:provide-table} as not supporting \t{PROVIDE}, ebuilds must not set this - variable and the package manager must reject any ebuild that does so. - \label{ebuild-var-provide} -}{ - \item[PROVIDE] Zero or more qualified package names of any \e{old style} - virtuals provided by this package. See section~\ref{sec:dependencies} for full syntax. - \label{ebuild-var-provide} -} +\item[PROVIDE] Zero or more qualified package names of any \e{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. @@ -120,29 +93,7 @@ Ebuilds may define any of the following variables: etc. Defaults to \t{\$\{WORKDIR\}/\$\{P\}}. \end{description} -\IFKDEBUILDELSE -{ - \begin{centertable}{EAPIs supporting \t{PROVIDE}} \label{tab:provide-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{PROVIDE}?}} \\ - \midrule - \t{0} & Yes \\ - \t{1} & Yes \\ - \t{kdebuild-1} & No \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} - \end{centertable} -}{ -} - \begin{centertable}{EAPIs supporting \t{PROPERTIES}} \label{tab:properties-table} -\IFKDEBUILDELSE -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -150,27 +101,11 @@ Ebuilds may define any of the following variables: \midrule \t{0} & Optionally \\ \t{1} & Optionally \\ - \t{kdebuild-1} & Optionally \\ \t{2} & Optionally \\ \t{3} & Optionally \\ \t{4} & Yes \\ \bottomrule \end{tabular} -} -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{PROPERTIES}?}} \\ - \midrule - \t{0} & Optionally \\ - \t{1} & Optionally \\ - \t{2} & Optionally \\ - \t{3} & Optionally \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} \end{centertable} \subsection{EAPI} @@ -184,14 +119,6 @@ before sourcing the ebuild for metadata generation. When using the ebuild for ot package manager must either pre-set \t{EAPI} to the value specified by the ebuild's metadata or ensure that it is unset. -\IFKDEBUILDELSE -{ - \featurelabel{pre-source-eapi} When sourcing an ebuild with file extension \t{kdebuild-1}, the - package manager must pre-set the \t{EAPI} variable to \t{kdebuild-1}; leaving it empty is not - allowed. Ebuilds with this extension must not modify the \t{EAPI} variable. -}{ -} - 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. @@ -207,23 +134,6 @@ 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 added to \t{RDEPEND}. \begin{centertable}{EAPIs with \t{RDEPEND=DEPEND} Default} \label{tab:rdepend-depend-table} -\IFKDEBUILDELSE -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{\t{RDEPEND=DEPEND}?}} \\ - \midrule - \t{0} & Yes \\ - \t{1} & Yes \\ - \t{kdebuild-1} & Yes \\ - \t{2} & Yes \\ - \t{3} & Yes \\ - \t{4} & No \\ - \bottomrule - \end{tabular} -} -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -236,7 +146,6 @@ the ebuild portion, and any \t{DEPEND} value set in an eclass does not get added \t{4} & No \\ \bottomrule \end{tabular} -} \end{centertable} \section{Magic Ebuild-defined Variables} @@ -269,23 +178,6 @@ variable defined, and must treat an empty string as this information is not av based upon any variant condition. \begin{centertable}{EAPIs supporting \t{DEFINED\_PHASES}} \label{tab:defined-phases-table} -\IFKDEBUILDELSE -{ - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Supports \t{DEFINED\_PHASES}?}} \\ - \midrule - \t{0} & Optionally \\ - \t{1} & Optionally \\ - \t{kdebuild-1} & Optionally \\ - \t{2} & Optionally \\ - \t{3} & Optionally \\ - \t{4} & Yes \\ - \bottomrule - \end{tabular} -} -{ \begin{tabular}{ l l } \toprule \multicolumn{1}{c}{\textbf{EAPI}} & @@ -298,7 +190,6 @@ based upon any variant condition. \t{4} & Yes \\ \bottomrule \end{tabular} -} \end{centertable} % vim: set filetype=tex fileencoding=utf8 et tw=100 spell spelllang=en : diff --git a/eclasses.tex b/eclasses.tex index e55190b..9aeec91 100644 --- a/eclasses.tex +++ b/eclasses.tex @@ -39,14 +39,6 @@ when set by an eclass. They must be accumulated across eclasses, appending the v 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. -\IFKDEBUILDELSE -{ - \featurelabel{pdepend-labels} In EAPIs shown in table~\ref{tab:pdepend-labels-table} as - supporting \t{PDEPEND} labels, the values of \t{PDEPEND} from the ebuild and each eclass must be - wrapped in parentheses, so that the labels only apply within the ebuild/eclass in which they - appear. -}{ -} \section{EXPORT\_FUNCTIONS} diff --git a/names.tex b/names.tex index d746095..2ee5089 100644 --- a/names.tex +++ b/names.tex @@ -60,38 +60,9 @@ 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. -\IFKDEBUILDELSE -{ - \featurelabel{scm} \label{scm-versions} In ebuilds using EAPIs listed in - table~\ref{tab:scm-table} as requiring support for the \t{-scm} suffix, the preceding version - syntax may be either replaced or suffixed by a \t{scm} part. If both a normal'' version and a - \t{scm} part are present, they must be separated by a hyphen. -}{ -} - 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}. -\IFKDEBUILDELSE -{ - \begin{centertable}{EAPIs requiring \t{scm} support} \label{tab:scm-table} - \begin{tabular}{ l l } - \toprule - \multicolumn{1}{c}{\textbf{EAPI}} & - \multicolumn{1}{c}{\textbf{Requires \t{scm} support?}} \\ - \midrule - \t{0} & No \\ - \t{1} & No \\ - \t{kdebuild-1} & Yes \\ - \t{2} & No \\ - \t{3} & No \\ - \t{4} & No \\ - \bottomrule - \end{tabular} - \end{centertable} -}{ -} - \section{Version Comparison} Version specifications are compared component by component, moving from left to right, @@ -102,33 +73,14 @@ from which it was invoked. \begin{algorithm} \caption{Version comparison top-level logic} \label{alg:version-comparison} -\IFKDEBUILDELSE{ - \begin{algorithmic}[1] - \STATE let $A$ and $B$ be the versions to be compared - \IF{$A$ and $B$ both begin with \t{scm}} - \STATE compare revision components using Algorithm~\ref{alg:version-comparison-revision} - \ELSIF{$A$ begins with \t{scm}} - \RETURN $A>B$ - \ELSIF{$B$ begins with \t{scm}} - \RETURN $ABnn$} - \IFKDEBUILDELSE{ - \IF{$B$ has any suffixes and no letter, and its first suffix is \t{-scm}} - \RETURN $AB$ - \ENDIF - }{ - \RETURN $A>B$ - } + \RETURN $A>B$ \ELSIF{$AnnB$ - \ELSE - \RETURN $ABl$ using ASCII stringwise comparison} \RETURN $A>B$ \ELSIF{$AlBsn$} - \IF{$As_{Bsn}$ is of type \t{\_p} \IFKDEBUILDELSE{or \t{-scm}}{}} + \IF{$As_{Bsn}$ is of type \t{\_p}} \RETURN $A>B$ \ELSE \RETURN $AB$ @@ -232,14 +168,14 @@ from which it was invoked. \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)} - \STATE let $As'_i$ be the integer part of $As_i$ if any, otherwise \IFKDEBUILDELSE{as specified by Algorithm~\ref{alg:version-comparison-suffix-missingint}}{\t{0}} - \STATE let $Bs'_i$ be the integer part of $Bs_i$ if any, otherwise \IFKDEBUILDELSE{as specified by Algorithm~\ref{alg:version-comparison-suffix-missingint}}{\t{0}} - \IF{$As'_i>Bs'_i$, using integer comparison \IFKDEBUILDELSE{and with $\infty$ greater than any integer}{}} + \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} \RETURN $A>B$ - \ELSIF{$As'_iB$ \ELSE \RETURN \$A