>>>>> On Sun, 13 May 2012, David Leverton wrote:
>> Hm, the condition "If a recognised EAPI has been determined such,
>> then ..." is important and shouldn't be removed.
> I took that out because the PM should treat the parsed EAPI as
> authoritative whether or not it's recognised...
>> If the result of parsing is an EAPI not known to the package manager,
>> then the ebuild must not be sourced (but be rejected immediately).
> ... which is basically what you're saying here, but maybe you want
> explicit wording saying that the sourcing should be skipped in such a case?
Updated patch is included below, as discussed on IRC.
Ulrich
From 9d8525e70b808f200cde7ea39f028ef1af883e38 Mon Sep 17 00:00:00 2001
From: David Leverton <levertond@...>
Date: Sun, 13 May 2012 20:11:39 +0100
Subject: [PATCH] Clarify wording for EAPI parsing.
Clarify wording. Require a space before the trailing comment.
---
ebuild-vars.tex | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/ebuild-vars.tex b/ebuild-vars.tex
index f3b72bf..d39c491 100644
--- a/ebuild-vars.tex
+++ b/ebuild-vars.tex
@@ -129,12 +129,13 @@ 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
+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.
--
1.7.8.6
|