• Bug#846970: Patch to document Build-Indep-Architecture field

    From Sean Whitton@21:1/5 to All on Sat Oct 14 20:20:01 2017
    XPost: linux.debian.bugs.dist

    control: tag -1 +patch

    Hello,

    I am seeking seconds for the following patch.

    Comments:

    - I've made the two architecture requirement a 'should', because I agree
    that we might otherwise end up with "amd64" being the only value
    anyone uses for this field. But perhaps it should be a 'recommends'

    - I've included the ability to specify the architectures on which the
    package is known /not/ to build. This seems useful because in many
    cases the architectures that don't work is precisely what the
    maintainer knows, and wants to document in machine-readable form. I
    don't buy the argument that it creates any additional uncertainty

    - Let's stick with th ename Build-Indep-Architecture since it's already
    in use in the archive.

    diff --git a/policy/ch-controlfields.rst b/policy/ch-controlfields.rst
    index 0ee6684..c54a341 100644
    --- a/policy/ch-controlfields.rst
    +++ b/policy/ch-controlfields.rst
    @@ -121,6 +121,8 @@ package) are:

    - :ref:`Build-Depends et al <s-sourcebinarydeps>`

    +- :ref:`Build-Indep-Architecture <s-f-Build-Indep-Architecture>`
    +
    - :ref:`Standards-Version <s-f-Standards-Version>` (recommended)

    - :ref:`Homepage <s-f-Homepage>`
    @@ -1016,6 +1018,29 @@ This field is automatically added to Debian source control files
    field may also be used in source package control files
    (``debian/control``) if needed in other situations.

    +.. _s-f-Build-Indep-Architecture:
    +
    +``Build-Indep-Architecture``
    +~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    +
    +Specification of architectures on which the architecture-independent
    +binary packages are known to be buildable and/or not buildable. If
    +this field is not specified, it defaults to ``any``, matching all
    +Debian machine architectures. If specified, it should be either
    +
    +- A unique single word identifying a Debian machine architecture as
    + described in :ref:`s-
  • From Mattia Rizzolo@21:1/5 to Sean Whitton on Sat Oct 14 21:20:02 2017
    XPost: linux.debian.bugs.dist

    On Sat, Oct 14, 2017 at 11:15:10AM -0700, Sean Whitton wrote:
    I am seeking seconds for the following patch.

    Thank you for working on this!

    - I've included the ability to specify the architectures on which the
    package is known /not/ to build. This seems useful because in many
    cases the architectures that don't work is precisely what the
    maintainer knows, and wants to document in machine-readable form. I
    don't buy the argument that it creates any additional uncertainty

    Whilst you did this, I think the proper syntax is not clear by your
    wording. For example, I take that
    Build-Indep-Architecture: !amd64
    means "this thing builds everywhere except amd64". But then, how can I
    specify "it builds on all 32-bit architectures except i386", for
    example?
    See the following inline comments:

    +Debian machine architectures. If specified, it should be either
    +
    +- A unique single word identifying a Debian machine architecture as
    ^^^^^^^^^^^^^^^^^^
    + described in :ref:`s-arch-spec`.
    +
    +- An architecture wildcard identifying a set of Debian machine
    + architectures, see :ref:`s-arch-wildcard-spec`.

    This also implies a single word.

    But…

    +maintainer's control. The specification should entail that the +architecture-independent packages are buildable on at least two +architectures.

    this is not compatible with the above: both cases say that you have to
    provide at most one word, but how can you provide at least two
    architectures if you have only one word and can't use a wildcard?
    And if you can provide multiple words, you need to specify a separator (whitespace vs comma, I suppose).

    Also, I dislike the sentence in itself, I believe it should be more straightforward in conveying its meaning of "pretty please at least two
    arch".

    --
    regards,
    Mattia Rizzolo

    GPG Key: 66AE 2B4A FCCF 3F52 DA18 4D18 4B04 3FCD B944 4540 .''`.
    more about me: https://mapreri.org : :' : Launchpad user: https://launchpad.net/~mapreri `. `'`
    Debian QA page: https://qa.debian.org/developer.php?login=mattia `-

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEi3hoeGwz5cZMTQpICBa54Yx2K60FAlniYgkACgkQCBa54Yx2 K61Z/A/8CKbd41ZMai2U3L8J1EoUaA2QB94g6XwpGCwaM8dIxW0dSgy/1RKFNxG4 3wZINza+/U8n8hD69KwSLkPOuvawiNTfVzUtkBYLJmYUKv3XlNgUZCqccD10RCPj C0GfH8aUW0qa6wneRmhWa8NPZUEUX0manyqWJPyhn4k4Mw3z0886qYv3ZqdSEINt iU3mleqTVWmZR8xxsCtyd2M8hAM8oncbL7F8UPJ7CZXn1rSqIzPLVF8qGLUITj01 3lWvyKyYR2eJJn1xqRgj6mJg/2PK6nucLHY5rvzqSKsN46zYF/aqDhPTvJ5TU0OH 81YuxnHVaBfszsMQZckRWyjb+Ltwq4v85TGE36iMS3ML+4R1gJzG2obX0Jl+UVj0 A0IQITq6v9Dr7NaNnyEcYwgUC3+GgGTgzXn1Cn0hgSN5qppEpy6DCKf/VCyf8ibw C0I6kTXYR1ZmPI6r3LG9XqBpAPYgr8SgLa8R2WzH4rrkL5vFxHR0u3AfxOnjpVu6 WAKf/4qA8JGaSAfWMdAHd2kLidU1LunnDMxCoICAxzAvXBXYy8w
  • From Sean Whitton@21:1/5 to Mattia Rizzolo on Sat Oct 14 21:50:01 2017
    XPost: linux.debian.bugs.dist

    Hello,

    On Sat, Oct 14 2017, Mattia Rizzolo wrote:

    On Sat, Oct 14, 2017 at 11:15:10AM -0700, Sean Whitton wrote:
    I am seeking seconds for the following patch.

    Thank you for working on this!

    Thank you for the review, though I don't believe I need to update my
    patch in light of your comments. See responses below.

    - I've included the ability to specify the architectures on which the
    package is known /not/ to build. This seems useful because in many
    cases the architectures that don't work is precisely what the
    maintainer knows, and wants to document in machine-readable form. I
    don't buy the argument that it creates any additional uncertainty

    Whilst you did this, I think the proper syntax is not clear by your
    wording. For example, I take that
    Build-Indep-Architecture: !amd64 means "this thing builds
    everywhere except amd64". But then, how can I specify "it builds on
    all 32-bit architectures except i386", for example?

    I copied the wording from the Architecture: field. Just as it is not
    possible to say that an architecture-dependent package is buildable on
    all 32-bit archs except i386 without listing all those archs, it is not possible to specify that architecture-independent packages are buildable
    on all 32-bit archs except i386 without listing all those archs.

    We want Architecture: and Build-Indep-Architecture: to use the same
    format. I don't think we should try to extend our format at this point
    because there are already various parsers of Architecture:.

    See the following inline comments:

    +Debian machine architectures. If specified, it should be either
    + +- A unique single word identifying a Debian machine architecture
    as
    ^^^^^^^^^^^^^^^^^^
    + described in :ref:`s-arch-spec`.
    + +- An architecture wildcard identifying a set of Debian machine
    + architectures, see :ref:`s-arch-wildcard-spec`.

    This also implies a single word.

    But…

    +maintainer's control. The specification should entail that the
    +architecture-independent packages are buildable on at least two
    +architectures.

    this is not compatible with the above: both cases say that you have to provide at most one word, but how can you provide at least two
    architectures if you have only one word and can't use a wildcard?

    It says that you /should/ provide at least two architectures. This is
    not a /must/ requirement, so it should still be possible to use a unique
    single word.

    And if you can provide multiple words, you need to specify a separator (whitespace vs comma, I suppose).

    This is detailed in the architecture wildcard spec.

    Also, I dislike the sentence in itself, I believe it should be more straightforward in conveying its meaning of "pretty please at least
    two arch".

    It has to be that way for cases like this:

    Build-Indep-architecture: !amd64

    That entails that it builds on at least two architectures, but on a
    common reading of 'specify', it does not specify two archs.

    --
    Sean Whitton

    --=-=-Content-Type: application/pgp-signature; name="signature.asc"

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCgAdFiEEm5FwB64DDjbk/CSLaVt65L8GYkAFAlniaBwACgkQaVt65L8G YkDedRAApCwzTYBfSteJIj6zqTjU3fqIx5yKIglLiKPyLr8gDYqmMULrfkHXJryG pU+QIADMR8UPAB4tFpEl0StWuqRWC5gnGJ75FBnnuaQYv+x5Zwg8fl5CCAWkOZcW COGjL7qEWidfA+tKsp4JrKONsf85s5nTWfQGFdV2rK0f1xbI8YserdN43nxV8kO+ kfKmso9TRQRjLImxbtGHFxznyWL6YFMR0NiRZRqciBNKzDE7XGWTsx9dAeRwKSNS GlH6d8OTIItsQmBcDrQAUkaiW5Lh4w8coXuSvoERTaf1VWwvC5xubjYb1GkQMjdl hBcjN2Mc/0rN87vj2UzOGR/WXlRfZBBkX4Kqkszu91PnaEfeRzRTwgn2B+JNBEEk dnj5lyuDsfwpvdrk8rd3xGtHLjsaGyrChZUSWn2G2ZAsXrzwo9DhOpo5Q/0zdF2g iOPLv798mpg2fp64/c5aE+feTpyNkcU8hzewPTVXEDX3uhgeP2s42limo3nQNfDg m0H9e/mF2ljQlRtqRYVP8peScFCJI7wgYQmuhqLWLcoBDeplTTkR3uBbRy5Lt81m c6bNc7HtCmYle2akzDSShGvQyB3uWSWzq9605sAbbmdFeUMFznILxRBRnOxQyzKQ XPUXqn5tKH2NdLNQqq2EB6mc8N6urTHr2WuwdRc5229h9lThIfk=q0NB
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)