[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#498300: specify that architecture-specific dependencies must have a non-empty list of architectures



Stefano Zacchiroli <zack@debian.org> writes:

> Section 7.1 of the policy includes a description of
> architecture-specific dependencies, correctly adding the following
> constraint:

>> It is not permitted for some names to be prepended with exclamation
>> marks while others aren't.

> the reason being that the semantics of the architecture list is either
> exclusive (if all archs are negated with '!') or inclusive (if all archs
> are not negated).

> A direct consequence is that an empty list of architecture
> (e.g. 'foo []') is meaningless as it cannot be determined whether it was
> meant to be inclusive or exclusive.

> Still, the policy does not say explicitly that the list should be
> non-empty, and in fact there are cases of (buggy) packages specifying
> empty architecture lists in arch-specific dependencies.

> Can you please add "non empty" just before mentioning the architecture
> list? Patch implementing that is attached.

I agree that it's better to just make this a syntax error rather than
trying to guess at what it might mean.  So, seconded.  With Colin and I,
that's enough to commit it, but since this has been stalled for about four
years, I wanted to raise it again on the list and give people a few days
to object.

If anyone sees any problems with this, please speak up, or I'll merge this
in a few days.

Here is the patch against the current Policy, which is pretty much the
same as Zack's patch:

diff --git a/policy.sgml b/policy.sgml
index c1ff4b4..0f1dbf9 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -4628,7 +4628,7 @@ Depends: libc6 (>= 2.2.1), exim | mail-transport-agent
 	  Relationships may be restricted to a certain set of
 	  architectures.  This is indicated in brackets after each
 	  individual package name and the optional version specification.
-	  The brackets enclose a list of Debian architecture names
+	  The brackets enclose a non-empty list of Debian architecture names
 	  in the format described in <ref id="arch-spec">,
 	  separated by whitespace.  Exclamation marks may be prepended to
 	  each of the names.  (It is not permitted for some names to be

-- 
Russ Allbery (rra@debian.org)               <http://www.eyrie.org/~eagle/>



Reply to: