Bug#626779: debian-policy: Improve Architecture field in source package (updated to match dpkg-source)
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>
Reply to: