(debian-policy.info)Architecture


Next: Essential Prev: Package Up: List of fields
Enter node , (file) or (file)node

5.6.8 ‘Architecture’
--------------------

Depending on context and the control file used, the ‘Architecture’ field
can include the following sets of values:

   - A unique single word identifying a Debian machine architecture as
     described in Note: Architecture specification strings.

   - An architecture wildcard identifying a set of Debian machine
     architectures, see Note: Architecture wildcards.  ‘any’ matches
     all Debian machine architectures and is the most frequently used.

   - ‘all’, which indicates an architecture-independent package.

   - ‘source’, which indicates a source package.

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’.

Specifying a specific list of architectures indicates that the source
will build an architecture-dependent package only on architectures
included in the list.  Specifying a list of architecture wildcards
indicates that the source will build an architecture-dependent package
on only those architectures that match any of the specified architecture
wildcards.  Specifying a list of architectures or architecture wildcards
other than ‘any’ is for the minority of cases where a program is not
portable or is not useful on some architectures.  Where possible, the
program should be made portable instead.

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’.

The list may include (or consist solely of) the special value ‘all’.  In
other words, in ‘.dsc’ files unlike the ‘debian/control’, ‘all’ may
occur in combination with specific architectures.  The ‘Architecture’
field in the Debian source control file ‘.dsc’ is generally constructed
from the ‘Architecture’ fields in the ‘debian/control’ in the source
package.

Specifying only ‘any’ indicates that the source package isn’t dependent
on any particular architecture and should compile fine on any one.  The
produced binary package(s) will be specific to whatever the current
build architecture is.

Specifying only ‘all’ indicates that the source package will only build
architecture-independent packages.

Specifying ‘any all’ indicates that the source package isn’t dependent
on any particular architecture.  The set of produced binary packages
will include at least one architecture-dependent package and one
architecture-independent package.

Specifying a list of architectures or architecture wildcards indicates
that the source will build an architecture-dependent package, and will
only work correctly on the listed or matching architectures.  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) currently being uploaded.  This will be a list; if the
source for the package is also being uploaded, the special entry
‘source’ is also present.  ‘all’ will be present if any
architecture-independent packages are being uploaded.  Architecture
wildcards such as ‘any’ must never occur in the ‘Architecture’ field in
the ‘.changes’ file.

See Note: Main building script; debian/rules. for information on how
to get the architecture for the build process.


automatically generated by info2www version 1.2.2.9