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

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: