Debian Bug report logs - #845369
debian-policy: [5.6.8] Not fully updated for "any all"

Package: debian-policy; Maintainer for debian-policy is Debian Policy Editors <debian-policy@lists.debian.org>; Source for debian-policy is src:debian-policy (PTS, buildd, popcon).

Reported by: Olly Betts <olly@survex.com>

Date: Tue, 22 Nov 2016 20:03:02 UTC

Severity: minor

Done: Russ Allbery <rra@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>:
Bug#845369; Package debian-policy. (Tue, 22 Nov 2016 20:03:04 GMT) (full text, mbox, link).


Acknowledgement sent to Olly Betts <olly@survex.com>:
New Bug report received and forwarded. Copy sent to Debian Policy List <debian-policy@lists.debian.org>. (Tue, 22 Nov 2016 20:03:04 GMT) (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Olly Betts <olly@survex.com>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: debian-policy: [5.6.8] Not fully updated for "any all"
Date: Wed, 23 Nov 2016 09:00:56 +1300
Package: debian-policy
Severity: minor

In policy 3.9.3.0 (at least according to upgrading-checklist.txt):

     5.6.8
          The `Architecture' field in `*.dsc' files may now contain the
          value `any all' for source packages building both
          architecture-independent and architecture-dependent packages.

The current 5.6.8 does describe `any all`, but unfortunately it also still
contains this paragraph which is no longer correct since this change:

     In the main `debian/control' file in the source package, this field
     may contain the special value `all', the special architecture wildcard
     `any', or a list of specific and wildcard architectures separated by
     spaces.  If `all' or `any' appears, that value must be the entire
     contents of the field.  Most packages will use either `all' or `any'.

I'd suggest updating this to:

     In the main `debian/control' file in the source package, this field
     may contain the special value `all', the special architecture wildcard
     `any', the special combination `any all`, or a list of specific and
     wildcard architectures separated by spaces.  If `all', `any', or
     `any all` appears, that value must be the entire contents of the
     field.  Most packages will use either `all', `any', or `any all`.

(Credit for noticing this should go to sarnold on #launchpad).

Cheers,
    Olly



Information forwarded to debian-bugs-dist@lists.debian.org, Debian Policy List <debian-policy@lists.debian.org>:
Bug#845369; Package debian-policy. (Tue, 22 Nov 2016 21:39:05 GMT) (full text, mbox, link).


Message #8 received at 845369@bugs.debian.org (full text, mbox, reply):

From: Colin Watson <cjwatson@debian.org>
To: debian-policy@lists.debian.org
Subject: Re: Bug#845369: debian-policy: [5.6.8] Not fully updated for "any all"
Date: Tue, 22 Nov 2016 21:32:50 +0000
On Wed, Nov 23, 2016 at 09:00:56AM +1300, Olly Betts wrote:
> In policy 3.9.3.0 (at least according to upgrading-checklist.txt):
> 
>      5.6.8
>           The `Architecture' field in `*.dsc' files may now contain the
>           value `any all' for source packages building both
>           architecture-independent and architecture-dependent packages.
> 
> The current 5.6.8 does describe `any all`, but unfortunately it also still
> contains this paragraph which is no longer correct since this change:
> 
>      In the main `debian/control' file in the source package, this field
>      may contain the special value `all', the special architecture wildcard
>      `any', or a list of specific and wildcard architectures separated by
>      spaces.  If `all' or `any' appears, that value must be the entire
>      contents of the field.  Most packages will use either `all' or `any'.
> 
> I'd suggest updating this to:
> 
>      In the main `debian/control' file in the source package, this field
>      may contain the special value `all', the special architecture wildcard
>      `any', the special combination `any all`, or a list of specific and
>      wildcard architectures separated by spaces.  If `all', `any', or
>      `any all` appears, that value must be the entire contents of the
>      field.  Most packages will use either `all', `any', or `any all`.

I think this proposed change would be a mistake.

Any individual binary package listed in debian/control must either be
architecture-dependent or architecture-independent; it is meaningless
for it to be both.  Section 5.2 makes it clear that Architecture may
only occur in the binary package paragraphs in debian/control, not in
the general paragraph at the top, and so the values of Architecture in
debian/control may only be those that are meaningful for a single binary
package.

Contrariwise, the value of Architecture in the .dsc is an aggregation
constructed by dpkg-source of the Architecture fields for all binary
packages built by that source package.  It is therefore meaningful for
it to express a combination of architecture-dependent and
architecture-independent binary packages.

I would recommend closing this bug with no further action.  The current
text appears correct to me.

-- 
Colin Watson                                       [cjwatson@debian.org]





Reply sent to Russ Allbery <rra@debian.org>:
You have taken responsibility. (Wed, 23 Nov 2016 03:27:08 GMT) (full text, mbox, link).


Notification sent to Olly Betts <olly@survex.com>:
Bug acknowledged by developer. (Wed, 23 Nov 2016 03:27:08 GMT) (full text, mbox, link).


Message #13 received at 845369-done@bugs.debian.org (full text, mbox, reply):

From: Russ Allbery <rra@debian.org>
To: Olly Betts <olly@survex.com>
Cc: 845369-done@bugs.debian.org
Subject: Re: Bug#845369: debian-policy: [5.6.8] Not fully updated for "any all"
Date: Tue, 22 Nov 2016 19:24:33 -0800
Olly Betts <olly@survex.com> writes:

> In policy 3.9.3.0 (at least according to upgrading-checklist.txt):

>      5.6.8
>           The `Architecture' field in `*.dsc' files may now contain the
>           value `any all' for source packages building both
>           architecture-independent and architecture-dependent packages.

> The current 5.6.8 does describe `any all`, but unfortunately it also still
> contains this paragraph which is no longer correct since this change:

>      In the main `debian/control' file in the source package, this field
>      may contain the special value `all', the special architecture wildcard
>      `any', or a list of specific and wildcard architectures separated by
>      spaces.  If `all' or `any' appears, that value must be the entire
>      contents of the field.  Most packages will use either `all' or `any'.

This paragraph isn't talking about that file.  As it says at the top of
the paraagraph, this is about the debian/control file.  The *.dsc file of
a source package is not the debian/control file.

If you read down two more paragraphs, you'll find:

    In the Debian source control file .dsc, this field contains a list of
    architectures and architecture wildcards separated by spaces. When the
    list contains the architecture wildcard any, the only other value
    allowed in the list is all.

which does indeed allow the behavior that you expect.

Unfortunately, the Debian control file format contains multiple fields
that have different allowable values and different semantics in the
various possible files, and one has to read carefully to see whether a
particular value is allowed in that context.  One could imagine a world in
which this was designed differently and different fields were used in
those different contexts, but that's water under the bridge at this point.

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



Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Wed, 21 Dec 2016 07:28:32 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Sat Jan 6 21:34:08 2018; Machine Name: beach

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.