Package: debian-policy Version: 3.9.2.0 Severity: normal Tags: patch With dpkg >= 1.16.1, the value of the Architecture field in the .dsc is generated a bit differently.
The goal is to be able to always know when a source package generates an architecture-independent package. Currently as soon as one binary is "Architecture: any", the value generated is "any" and we have no way to know that there are "Architecture: all". With dpkg >= 1.16.1, the "all" is kept even if there's a binary package with "any". So the resulting value is then "any all". This allows wanna-build to know if it must schedule a build for the "Architecure: all" packages. The attached patch modifies the description of the Architecture field to match the new behaviour of dpkg-source. Seconds welcome. -- System Information: Debian Release: wheezy/sid APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'proposed-updates'), (500, 'unstable'), (500, 'testing'), (500, 'stable'), (150, 'experimental') Architecture: i386 (x86_64) Kernel: Linux 2.6.38-2-amd64 (SMP w/2 CPU cores) Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash debian-policy depends on no packages. debian-policy recommends no packages. Versions of packages debian-policy suggests: ii doc-base 0.10.1 utilities to manage online documen -- no debconf information
diff --git a/policy.sgml b/policy.sgml index 9b4a93e..cbc8049 100644 --- a/policy.sgml +++ b/policy.sgml @@ -2975,10 +2975,14 @@ Package: libc6 <p> In the source package control file <file>.dsc</file>, this - field may contain either the architecture - wildcard <tt>any</tt> or a list of architectures and - architecture wildcards separated by spaces. If a list is - given, it may include (or consist solely of) the special + field contains a list of architectures and architecture + wildcards separated by spaces. When the list contains the + architecture wildcard <tt>any</tt>, the only other value + allowed in the list is <tt>all</tt>. + </p> + + <p> + The list may include (or consist solely of) the special value <tt>all</tt>. In other words, in <file>.dsc</file> files unlike the <file>debian/control</file>, <tt>all</tt> may occur in combination with specific architectures. @@ -2989,19 +2993,23 @@ Package: libc6 </p> <p> - Specifying <tt>any</tt> indicates that the source package + Specifying only <tt>any</tt> indicates that the source package isn't dependent on any particular architecture and should compile fine on any one. The produced binary package(s) - will either be specific to whatever the current build - architecture is or will be architecture-independent. + will be specific to whatever the current build architecture is. </p> <p> Specifying only <tt>all</tt> indicates that the source package - will only build architecture-independent packages. If this is - the case, <tt>all</tt> must be used rather than <tt>any</tt>; - <tt>any</tt> implies that the source package will build at - least one architecture-dependent package. + will only build architecture-independent packages. + </p> + + <p> + Specifying <tt>any all</tt> indicates that the source package + isn't dependent on any particular architecture. The set of + of produced binary packages will include at least one + architecture-dependant package and one architecture-independent + package. </p> <p>