X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=policy.sgml;h=1de249479b7fb128679dd6ad1da1ce78c83bfb2b;hb=baea58c43486488c3c9bd0b4e52957ce88ddd94c;hp=ab8fedf3efd3220fdb011ec3001d863e079b0eaf;hpb=259511cb922d4de11d658374b305006e0b38e704;p=debian%2Fdebian-policy.git
diff --git a/policy.sgml b/policy.sgml
index ab8fedf..1de2494 100644
--- a/policy.sgml
+++ b/policy.sgml
@@ -2728,7 +2728,12 @@ Package: libc6
values:
- A unique single word identifying a Debian machine
- architecture as described in
[.
+ architecture as described in ][.
+ ]
+ -
+ An architecture wildcard identifying a set of Debian
+ machine architectures, see
[.
+ ]
- all, which indicates an
architecture-independent package.
- any, which indicates a package available
@@ -2741,13 +2746,14 @@ Package: libc6
In the main debian/control file in the source
package, this field may contain the special value
any, the special value all, or a list of
- architectures separated by spaces. If any or
- all appear, they must be the entire contents of the
- field. Most packages will use either any or
- all. 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.
+ specific and wildcard architectures separated by
+ spaces. If the special value any appears, it must
+ be the entire contents of the field. Most packages will
+ use either any or all. 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.
@@ -2788,6 +2794,24 @@ Package: libc6
package, all will also be included in the list.
+
+ 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. As mentioned in the footnote for
+ specifying a list of architectures, this is for a minority
+ of cases where the program is not portable. Generally, it
+ should not be used for new packages. Wildcards are not
+ expanded into a list of known architectures before
+ comparing to the build architecutre. Instead, the build
+ architecture is matched against wildcards and this package
+ is built if the wildcard matches. If the source
+ package also builds at least one architecture-independent
+ package, all will also be included in the list.
+
+
In a .changes file, the Architecture
field lists the architecture(s) of the package(s)
@@ -4259,6 +4283,23 @@ Build-Depends: foo [!i386] | bar [!amd64]
source package section of the control file (which is the
first section).
+
+ All fields that specify build-time relationships
+ (Build-Depends, Build-Depends-Indep,
+ Build-Conflicts and Build-Conflicts-Indep) 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:
+
+Build-Depends: foo [linux-any], bar [any-i386], baz [!linux-any]
+
+ is equivalent to foo on architectures using the
+ Linux kernel and any cpu, bar on architectures
+ using any kernel and an i386 cpu, and baz on
+ on any architecture using a kernel other than Linux.
+
@@ -7956,6 +7997,27 @@ done
+
+ Architecture Wildcards
+
+
+ A package may specify an architecture wildcard. Architecture
+ wildcards are in the format os-any and
+ any-cpu. Internally, the package
+ system normalizes the GNU triplets and the Debian
+ arches into Debian arch triplets (which are kind of inverted GNU
+ triplets). So when matching two Debian arch triplets, whenever an
+ any is found it matches with anything on the other side,
+ like in:
+
+ gnu-linux-i386 is matched by gnu-linux-any
+ gnu-kfreebsd-amd64 is matched by any-any-amd64
+
+ And for example any is normalized to any-any-any.
+
+
+
+
Daemons