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

Bug#530687: Support for architecture wildcards



On Mon, May 31, 2010 at 10:17:39AM -0700, Russ Allbery wrote:
>  	  <p>
>  	    In the main <file>debian/control</file> file in the source
> -	    package, this field may contain the special value
> -	    <tt>any</tt>, the special value <tt>all</tt>, or a list of
> -	    architectures separated by spaces.	If <tt>any</tt> or
> -	    <tt>all</tt> appear, they must be the entire contents of the
> -	    field.  Most packages will use either <tt>any</tt> or
> -	    <tt>all</tt>.  Specifying a specific list of architectures is
> -	    for the minority of cases where a program is not portable or
> -	    is not useful on some architectures, and where possible the
> -	    program should be made portable instead.
> +	    package, this field may contain special value <tt>all</tt> or
                                    ^^^^^^^^^^^^^^^^^^^^^

en_RU? :)  Should be 'the special value', I think.

> @@ -2789,6 +2797,27 @@ 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 for a minority of cases where the

Footnotes referencing footnotes?  Not sure this phrase really adds anything
here unless it can be made a mechanically-followable reference.

> @@ -4259,6 +4288,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 architectures using the
> +          Linux kernel and any cpu, <tt>bar</tt> on architectures
> +          using any kernel and an i386 cpu, and <tt>baz</tt> on
> +          on any architecture using a kernel other than Linux.
> +        </p>

Doubled "on"

> @@ -7956,6 +8002,29 @@ done
>  	</p>
>        </sect>
>  
> +      <sect id="arch-wildcard-spec">
> +        <heading>Architecture Wildcards</heading>
> +
> +        <p>
> +          A package may specify an architecture wildcard. Architecture
> +          wildcards are in the format <tt><var>os</var></tt>-any and
> +          any-<tt><var>cpu</var></tt>. <footnote>
> +	    Internally, the package system normalizes the GNU triplets and
> +	    the Debian arches into Debian arch triplets (which are kind of
> +	    inverted GNU triplets), with the first component of the
> +	    triplet representing the libc in use.  When matching two
> +	    Debian arch triplets, whenever an <var>any</var> is found it
> +	    matches with anything on the other side, like in:
> +	  <example>
> +  gnu-linux-i386     is matched by gnu-linux-any
> +  gnu-kfreebsd-amd64 is matched by any-any-amd64
> +          </example>
> +          And, for example, <var>any</var> is normalized to
> +          <var>any-any-any</var>.
> +        </footnote>

Given that "any" is the single most commonly used wildcard (for good reason)
and that this patch changes other parts of Policy to drop explicit mention
of "any" in favor of a reference to this section, I don't think the
"any-any-any" normalization belongs in the footnote.

Cheers,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                    http://www.debian.org/
slangasek@ubuntu.com                                     vorlon@debian.org



Reply to: