dpkg-architecture Man page

dpkg-architecture Utilitaires de dpkg dpkg-architecture

NOM
dpkg-architecture – Fixer et déterminer l’architecture pour la
construction d’un paquet

SYNOPSIS

dpkg-architecture [option…] [commande]

DESCRIPTION

dpkg-architecture aide à déterminer et à fixer l’architecture de
construction et l’architecture hôte pour la création d’un paquet.

L’architecture de construction est toujours déterminée par un appel
externe à dpkg. Elle ne peut pas être spécifiée en ligne de com‐
mande.

You can specify the host architecture by providing one or both of the
options –host-arch and –host-type. The default is determined by an
external call to gcc, or the same as the build architecture if CC or
gcc are both not available. One out of –host-arch and –host-type is
sufficient, the value of the other will be set to a usable default.
Indeed, it is often better to only specify one, because
dpkg-architecture will warn you if your choice does not match the
default.

COMMANDES
-l, –list
Affiche les variables d’environnement, une par ligne, en utili‐
sant le format VARIABLE=valeur. C’est l’action par défaut.

-e, –equal architecture
Vérifie l’égalité d’architectures (depuis dpkg 1.13.13). Cela
compare l’architecture Debian en cours (ou celle spécifiée) à
architecture afin de vérifier leur égalité. Cette action ne gère
pas les architectures joker. La commande quitte avec un code de
retour de 0 si l’architecture correspond et de 1 dans le cas
contraire.

-i, –is architecture-joker
Vérifie l’identité des architectures (depuis dpkg 1.13.13). Cela
compare l’architecture Debian en cours (ou celle spécifiée) à
architecture-joker (après expansion de celle-ci) afin de véri‐
fier leur correspondance. La commande quitte avec un code de
retour de 0 si l’architecture correspond et de 1 dans le cas
contraire.

-q, –query nom-de-variable
Affiche la valeur d’une seule variable.

-s, –print-set
Produit une commande, qui peut être utilisée pour positionner
les variables d’environnement avec « eval ».

-u, –print-unset
Affiche une commande similaire à celle produite par
–print-unset, mais pour supprimer toutes les variables.

-c, –command commande
Exécute une commande dans un environnement où toutes les
variables sont positionnées aux valeurs spécifiées.

-L, –list-known
Affiche une liste des architectures valables. Elle peut être
restreinte par une ou plusieurs des options correspondantes
–match-wildcard, –match-bits ou –match-endian (depuis dpkg
1.17.14).

-?, –help
Affiche un message d’aide puis quitte.

–version
Affiche le numéro de version puis quitte.

OPTIONS

-a, –host-arch architecture
Définit l’architecture Debian en cours.

-t, –host-type type-de-système-gnu
Définit le type de système GNU en cours.

-A, –target-arch architecture
Set the target Debian architecture (since dpkg 1.17.14).

-T, –target-type type-de-système-gnu
Set the target GNU system type (since dpkg 1.17.14).

-W, –match-wildcard architecture-joker
Restreindre les architectures listées par –list-known à celles
correspondant à l’architecture-joker (depuis dpkg 1.17.14).

-B, –match-bits bits-de-l’architecture
Restreindre les architectures listées par –list-known à celles
employant un CPU disposant du nombre de bits indiqués (depuis
dpkg 1.17.14). Soit 32, soit 64.

-E, –match-endian boutisme-d’architecture
Restreindre les architectures listées par –list-known à celles
correspondant au boutisme spécifié (depuis dpkg 1.17.14). Soit
little, soit big.

-f, –force
Values set by existing environment variables with the same name
as used by the scripts are honored (i.e. used by
dpkg-architecture), except if this force flag is present. This
allows the user to override a value even when the call to
dpkg-architecture is buried in some other script (for example
dpkg-buildpackage).

TERMINOLOGIE
Machine de construction
Machine sur laquelle le paquet est construit.

Machine hôte
Machine pour laquelle le paquet est construit.

Machine cible
The machine the compiler is building for. This is only needed when
building a cross-toolchain, one that will be built on the build
architecture, to be run on the host architecture, and to build code
for the target architecture.

Architecture Debian
Chaîne de caractères de l’architecture Debian qui spécifie l’empla‐
cement dans l’archive FTP. Par exemple : i386, sparc, hurd-i386.

Debian architecture wildcard
A Debian architecture wildcard is a special architecture string
that will match any real architecture being part of it. The general
form is . Examples: linux-any, any-i386, hurd-any.

Type de système GNU
An architecture specification string consisting of two parts sepa‐
rated by a hyphen: cpu and system. Examples: i586-linux-gnu,
sparc-linux-gnu, i686-gnu, x86_64-netbsd.

multiarch triplet
The clarified GNU system type, used for filesystem paths. This tri‐
plet does not change even when the baseline ISA gets bumped, so
that the resulting paths are stable over time. The only current
difference with the GNU system type is that the CPU part for i386
based systems is always i386. Examples: i386-linux-gnu,
x86_64-linux-gnu. Example paths: /lib/powerpc64le-linux-gnu/,
/usr/lib/i386-kfreebsd-gnu/.

VARIABLES D’ENVIRONNEMENT
Les variables suivantes sont positionnées par dpkg-architecture :

DEB_BUILD_ARCH
Architecture Debian de la machine de construction.

DEB_BUILD_ARCH_OS
Nom du système Debian de la machine de construction (depuis dpkg
1.13.2).

DEB_BUILD_ARCH_CPU
Nom de processeur Debian de la machine de construction (depuis dpkg
1.13.2).

DEB_BUILD_ARCH_BITS
Taille de pointeur de la machine de construction (en bits, depuis
dpkg 1.15.4).

DEB_BUILD_ARCH_ENDIAN
Boutisme de la machine de construction (petit ou gros, depuis dpkg
1.15.4).

DEB_BUILD_GNU_CPU
Partie CPU de DEB_BUILD_GNU_TYPE.

DEB_BUILD_GNU_SYSTEM
Partie « système » de DEB_BUILD_GNU_TYPE.

DEB_BUILD_GNU_TYPE
Type de système GNU de la machine de construction.

DEB_BUILD_MULTIARCH
Le type en clair de système GNU de la machine de construction, uti‐
lisé pour les chemins du système de fichiers (depuis dpkg 1.16.0).

DEB_HOST_ARCH
Architecture Debian de la machine hôte.

DEB_HOST_ARCH_OS
Nom du système Debian de la machine hôte (depuis dpkg 1.13.2).

DEB_HOST_ARCH_CPU
Nom du processeur Debian de la machine hôte (depuis dpkg 1.13.2).

DEB_HOST_ARCH_BITS
Taille de pointeur de la machine hôte (en bits, depuis dpkg
1.15.4).

DEB_HOST_ARCH_ENDIAN
Boutisme de la machine hôte (petit ou gros, depuis dpkg 1.15.4).

DEB_HOST_GNU_CPU
Partie « processeur » de DEB_HOST_GNU_TYPE.

DEB_HOST_GNU_SYSTEM
Partie « système » de DEB_HOST_GNU_TYPE.

DEB_HOST_GNU_TYPE
Type de système GNU de la machine hôte.

DEB_HOST_MULTIARCH
Le type en clair de système GNU de la machine hôte, utilisé pour
les chemins du système de fichiers (depuis dpkg 1.16.0).

DEB_TARGET_ARCH
L’architecture Debian de la machine cible (depuis dpkg 1.17.14).

DEB_TARGET_ARCH_OS
Nom du système Debian de la machine cible (depuis dpkg 1.17.14).

DEB_TARGET_ARCH_CPU
Nom du processeur Debian de la machine cible (depuis dpkg 1.17.14).

DEB_TARGET_ARCH_BITS
Taille de pointeur de la machine cible (en bits, depuis dpkg
1.17.14).

DEB_TARGET_ARCH_ENDIAN
Boutisme de la machine cible (petit ou gros, depuis dpkg 1.17.14).

DEB_TARGET_GNU_CPU
Partie « processeur » de DEB_TARGET_GNU_TYPE (depuis dpkg 1.17.14).

DEB_TARGET_GNU_SYSTEM
Partie « système » de DEB_TARGET_GNU_TYPE (depuis dpkg 1.17.14).

DEB_TARGET_GNU_TYPE
Type du système GNU de la machine cible (depuis dpkg 1.17.14).

DEB_TARGET_MULTIARCH
Le type de système clarifié GNU de la machine cible, utilisé pour
les chemins du système de fichiers (depuis dpkg 1.17.14).

FICHIERS
Tables d’architectures
Tous ces fichiers sont nécessaires afin que dpkg-architecture puisse
fonctionner. Leurs emplacements peuvent être modifiés lors du traite‐
ment via la variable d’environnement DPKG_DATADIR.

/usr/share/dpkg/cputable
Table des noms de processeurs connus et liaison avec leur nom
GNU.

/usr/share/dpkg/ostable
Table des noms des systèmes d’exploitation connus et liaison
avec leurs noms GNU.

/usr/share/dpkg/triplettable
Correspondances entre les triplets de l’architecture Debian et
les noms des architectures Debian.

/usr/share/dpkg/abitable
Table of Debian architecture ABI attribute overrides.

Gestion de l’empaquetage
/usr/share/dpkg/architecture.mk
Un fragment de fichier Makefile qui définit correctement et
exporte toutes les variables que dpkg-architecture peut fournir
(depuis dpkg 1.16.1).

EXEMPLES
dpkg-buildpackage accepts the -a option and passes it to
dpkg-architecture. Other examples:

CC=i386-gnu-gcc dpkg-architecture -c debian/rules build

eval `dpkg-architecture -u`

Vérifie si l’architecture en cours (ou celle spécifiée) est identique à
une architecture :

dpkg-architecture -elinux-alpha

dpkg-architecture -amips -elinux-mips

Vérifie si l’architecture en cours (ou celle spécifiée) est un système
Linux :

dpkg-architecture -ilinux-any

dpkg-architecture -ai386 -ilinux-any

Utilisation dans debian/rules
The environment variables set by dpkg-architecture are passed to
debian/rules as make variables (see make documentation). However, you
should not rely on them, as this breaks manual invocation of the
script. Instead, you should always initialize them using
dpkg-architecture with the -q option. Here are some examples, which
also show how you can improve the cross compilation support in your
package:

Récupération du type de système GNU et passage à ./configure :

DEB_BUILD_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
[…] ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE))
confflags += –build=$(DEB_HOST_GNU_TYPE)
else
confflags += –build=$(DEB_BUILD_GNU_TYPE) \
–host=$(DEB_HOST_GNU_TYPE)
endif
[…] ./configure $(confflags)

Effectuer une action pour une architecture spécifique :

DEB_HOST_ARCH ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)

ifeq ($(DEB_HOST_ARCH),alpha)
[…] endif

Ou, si vous n’avez besoin que de vérifier le type du processeur et du
système, utilisez les variables DEB_HOST_ARCH_CPU ou DEB_HOST_ARCH_OS.

Veuillez noter qu’il est également possible d’utiliser un fragment
externe de fichier Makefile pour définir correctement toutes les
variables que dpkg-architecture peut fournir :

include /usr/share/dpkg/architecture.mk

ifeq ($(DEB_HOST_ARCH),alpha)
[…] endif

Dans tous les cas, il ne faut jamais utiliser dpkg –print-architecture
pour récupérer les informations relatives à l’architecture pendant la
construction d’un paquet.

NOTES
Tous les noms de commandes et d’options longs ne sont disponibles qu’à
partir de dpkg 1.17.17.

VOIR AUSSI
dpkg-buildpackage, dpkg-cross.

TRADUCTION
Ariel VARDI , 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
.

Projet Debian 28-03-2013 dpkg-architecture