diff options
author | Ulrich Müller <ulm@gentoo.org> | 2012-04-15 12:15:46 +0200 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2012-05-07 01:50:31 +0200 |
commit | 5ef86ba1e5962154db37d2af806e45de6027884b (patch) | |
tree | d93281e167f6da9a01907e6db7ffece1d37ff548 /ebuild-vars.tex | |
parent | Fix indenting for consistency (diff) | |
download | pms-5ef86ba1e5962154db37d2af806e45de6027884b.tar.gz pms-5ef86ba1e5962154db37d2af806e45de6027884b.tar.bz2 pms-5ef86ba1e5962154db37d2af806e45de6027884b.zip |
Specify syntax of EAPI assignment for parsing by package managers.
Diffstat (limited to 'ebuild-vars.tex')
-rw-r--r-- | 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} |