I support this proposal, as written. Clearly this should have been in policy some time ago.
Cheers, Andrew. On Tue, 2009-05-26 at 18:50 -0400, Andres Mejia wrote: > Package: debian-policy > Version: 3.8.1.0 > Severity: wishlist > Tags: patch > > Support for architecture wildcards has been added to dpkg-1.13.13, yet there's > no clear policy as to how architecture wildcards should be used for other > tools > such as sbuild and pbuilder. > > There has been recent discussions about making use of architecture wildcards > [1] > and it's been suggested that some patch be provided to policy[1], so here is > my > proposal, in the form of a patch. > > diff --git a/policy.sgml b/policy.sgml > index 144cbfb..d0fb4d8 100644 > --- a/policy.sgml > +++ b/policy.sgml > @@ -2711,6 +2711,8 @@ Package: libc6 > <list> > <item>A unique single word identifying a Debian machine > architecture, see <ref id="arch-spec">. > + <item>An architecture wildcard identifying a set of Debian > + machine architectures, see <ref id="arch-wildcard-spec">. > <item><tt>all</tt>, which indicates an > architecture-independent package. > <item><tt>any</tt>, which indicates a package available > @@ -2723,7 +2725,8 @@ Package: libc6 > In the main <file>debian/control</file> file in the source > package, or in the source package control file > <file>.dsc</file>, one may specify a list of architectures > - separated by spaces, or the special values <tt>any</tt> or > + separated by spaces, a list of architecture wildcards separated by > + spaces, or the special values <tt>any</tt> or > <tt>all</tt>. > </p> > > @@ -2749,6 +2752,19 @@ Package: libc6 > </p> > > <p> > + Specifying a list of architecture wildcards indicates that the > + source will build an architecture-dependent package on the union of > + the lists of architectures from the expansion of each specified > + architecture wildcard, and will only work correctly on the > + architectures in the union of the lists.<footnote> > + As mentioned in the footnote for specifying a list of > + architectures, this is a setting for a minority of cases where > + the program is not portable. Generally, it should not be used > + for new packages. > + </footnote> > + </p> > + > + <p> > In a <file>.changes</file> file, the <tt>Architecture</tt> > field lists the architecture(s) of the package(s) > currently being uploaded. This will be a list; if the > @@ -4236,6 +4252,23 @@ Build-Depends: foo [!i386] | bar [!amd64] > source package section of the control file (which is the > first section). > </p> > + > + <p> > + All fields that specify build-time relationships > + (<tt>Build-Depends</tt>, <tt>Build-Depends-Indep</tt>, > + <tt>Build-Conflicts</tt> and <tt>Build-Conflicts-Indep</tt>) may also > + be restricted to a certain set of architectures using architecture > + wildcards. The syntax for declaring such restrictions is the same as > + declaring restrictions using a certain set of architectures without > + architecture wildcards. > + For example: > + <example compact="compact"> > +Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any] > + </example> > + is equivalent to <tt>foo</tt> on any architecture in the Linux kernel, > + <tt>bar</tt> on any kernel on the i386 architecture, and <tt>baz</tt> > + on any architecture for any kernel that is not Linux. > + </p> > </sect> > > <sect id="binarydeps"> > @@ -7847,6 +7880,32 @@ done > </p> > </sect> > > + <sect id="arch-wildcard-spec"> > + <heading>Architecture Wildcards</heading> > + > + <p> > + A program may specify an architecture wildcard. Architecture > + wildcards are in the format <tt><var>os</var></tt>-any and > + any-<tt><var>arch</var></tt>. Specifying an architecture wildcard > + would be equivalent to specifying a list of architecture > + specification strings provided by <file>dpkg-architecture -L</file> > + for a particular os or archictecture. > + </p> > + > + <p> > + For example, specifying <tt>linux-any</tt> would be the same as > + specifying <tt>armel lpia i386 ia64 alpha amd64 armeb arm hppa m32r > + m68k mips mipsel powerpc ppc64 s390 s390x sh3 sh3eb sh4 sh4eb > + sparc</tt>. > + </p> > + > + <p> > + Specifying <tt>any-i386</tt> would be the same as specifying <tt>i386 > + kfreebsd-i386 knetbsd-i386 hurd-i386 darwin-i386 freebsd-i386 > + netbsd-i386 openbsd-i386 solaris-i386</tt>. > + </p> > + </sect> > + > <sect> > <heading>Daemons</heading> > > The basis for this proposal is from the patch I supplied for sbuild. See bug > #501230. > > Note: This patch applies to the latest debian-policy in git. > > 1. http://lists.debian.org/debian-devel/2009/05/msg00448.html > 2. http://lists.debian.org/debian-devel/2009/02/msg00290.html > > -- System Information: > Debian Release: squeeze/sid > APT prefers unstable > APT policy: (500, 'unstable') > Architecture: i386 (i686) > > Kernel: Linux 2.6.29-2-686 (SMP w/2 CPU cores) > Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.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.9.2 utilities to manage online > documen > > -- no debconf information ------------------------------------------------------------------------ Andrew @ McMillan .Net .NZ Porirua, New Zealand http://andrew.mcmillan.net.nz/ Phone: +64(272)DEBIAN Q: What lies on the bottom of the ocean and twitches? A: A nervous wreck. ------------------------------------------------------------------------ -- To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org