Provided by: dpkg-dev_1.21.1ubuntu2.6_all 

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.
The build architecture is always determined by either the DEB_BUILD_ARCH variable if set (and --force not
being specified) or by an external call to dpkg(1), and cannot be set at the command line.
You can specify the host architecture by providing one or both of the options --host-arch and
--host-type, otherwise the DEB_HOST_ARCH variable is used if set (and --force not being specified). The
default is determined by an external call to gcc(1), 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 utilisant 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érifier 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
Print an export command. This can be used to set the environment variables using the POSIX shell or
make eval, depending on the output format.
-u, --print-unset
Print a similar command to --print-set but to unset all variables.
-c, --command chaîne-de-commande
Exécute une chaîne-de-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
Définit l'architecture Debian de la cible (depuis dpkg 1.17.14).
-T, --target-type type-de-système-gnu
Définit le type de système GNU de la cible (depuis 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.
--print-format format
Sets the output format for --print-set and --print-unset (since dpkg 1.20.6), to either shell
(default) or make.
-f, --force
Les valeurs positionnées par les variables d'environnement ayant le même nom que celles utilisées par
les scripts sont prises en compte (c'est-à-dire utilisées par dpkg-architecture), sauf si cette
option est présente. Cela permet à un utilisateur de surcharger une valeur même lorsque l'appel à
dpkg-architecture est inclus dans un autre script (par exemple dpkg-buildpackage(1)).
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, or the emulator will run code for. This is only needed when
building a cross-toolchain (or emulator), one that will be built on the build architecture, to be run
on the host architecture, and to build (or run emulated) code for the target architecture.
Architecture Debian
Chaîne de caractères de l'architecture Debian qui spécifie l'emplacement dans l'archive FTP. Par
exemple : i386, sparc, hurd-i386.
N-uplet d'architecture Debian
Un n-uplet d'architecture Debian est l'architecture pleinement qualifiée avec tous ses composants
énoncés. C'est différent des architectures Debian en ce que le composant processeur n'intègre pas
l'ABI. Le n-uplet actuel a la forme ABI-libc-os-processeur. Exemples : base-gnu-linux-amd64, eabihf-
musl-linux-arm.
Architecture Debian joker
Une architecture Debian joker est une architecture spéciale qui correspond à toutes les architectures
réelles qui en font partie. Il est en général de la forme d'un n-uplet d'architecture Debian avec
quatre éléments ou moins dont au moins l'un d'eux est any. Les éléments manquants du n-uplet sont
préfixés implicitement par any, et donc les paires suivantes sont équivalentes.
any-any-any-any = any
any-any-os-any = os-any
any-libc-any-any = libc-any-any
Exemples : linux-any, any-i386, hurd-any, eabi-any-any-arm, musl-any-any.
Type de système GNU
Chaîne de caractères définissant l'architecture et constituée de deux parties séparées par un tiret :
processeur et système. Par exemple : i586-linux-gnu, sparc-linux-gnu, i386-gnu, x86_64-netbsd.
n-uplet multiarchitecture
Type en clair de système GNU, utilisé pour les chemins du système de fichiers. Ce n-uplet ne change
pas même quand l'ISA de base est incrémentée, de sorte que les chemins résultants sont stables dans
la durée. La seule différence actuelle avec le type du système GNU est que la partie processeur pour
les systèmes basés sur l'i386 est toujours i386. Exemples : i386-linux-gnu, x86_64-linux-gnu. Exemple
de chemins : /lib/powerpc64le-linux-gnu/, /usr/lib/i386-kfreebsd-gnu/.
VARIABLES D'ENVIRONNEMENT
The following variables are read from the environment (unless --force has been specified) and set by
dpkg-architecture (see the TERMS section for a description of the naming scheme):
DEB_BUILD_ARCH
Architecture Debian de la machine de construction.
DEB_BUILD_ARCH_ABI
The Debian ABI name of the build machine (since dpkg 1.18.11).
DEB_BUILD_ARCH_LIBC
Nom de la libc Debian de la machine de construction (depuis dpkg 1.18.11).
DEB_BUILD_ARCH_OS
Nom du système Debian de la machine de construction (depuis dpkg 1.13.2).
DEB_BUILD_ARCH_CPU
The Debian CPU name of the build machine (since 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
The GNU CPU part of DEB_BUILD_GNU_TYPE.
DEB_BUILD_GNU_SYSTEM
The GNU system part of 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, utilisé 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_ABI
The Debian ABI name of the host machine (since dpkg 1.18.11).
DEB_HOST_ARCH_LIBC
Nom de la libc Debian de la machine hôte (depuis dpkg 1.18.11).
DEB_HOST_ARCH_OS
Nom du système Debian de la machine hôte (depuis dpkg 1.13.2).
DEB_HOST_ARCH_CPU
The Debian CPU name of the host machine (since 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
The GNU CPU part of DEB_HOST_GNU_TYPE.
DEB_HOST_GNU_SYSTEM
The GNU system part of 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_ABI
The Debian ABI name of the target machine (since dpkg 1.18.11).
DEB_TARGET_ARCH_LIBC
Nom de la libc Debian de la machine cible (depuis dpkg 1.18.11).
DEB_TARGET_ARCH_OS
Nom du système Debian de la machine cible (depuis dpkg 1.17.14).
DEB_TARGET_ARCH_CPU
The Debian CPU name of the target machine (since 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
The GNU CPU part of DEB_TARGET_GNU_TYPE (since dpkg 1.17.14).
DEB_TARGET_GNU_SYSTEM
The GNU system part of DEB_TARGET_GNU_TYPE (since 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 en clair du système 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 traitement à l'aide de la variable d'environnement DPKG_DATADIR. Ces tables
contiennent en première ligne un pseudo-champ de Version de format pour indiquer leur format de sorte que
les analyseurs peuvent vérifier s'ils les comprennent, tel que « # Version=1.0 ».
/usr/share/dpkg/table-processeur
Table des noms de processeurs connus et liaison avec leur nom GNU. Version 1.0 de format (depuis
dpkg 1.13.2).
/usr/share/dpkg/table-système-exploitation
Table des noms des systèmes d'exploitation connus et liaison avec leurs noms GNU. Version 2.0 de
format (depuis dpkg 1.18.11).
/usr/share/dpkg/table-n-uplet
Correspondances entre les n-uplets de l'architecture Debian et les noms des architectures Debian.
Format version 1.0 (depuis dpkg 1.18.11).
/usr/share/dpkg/table-ABI
Table des substituts d'attributs d'ABI d'architecture Debian. Format version 2.0 (depuis
dpkg 1.18.11).
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 accepte l'option -a, et la passe à dpkg-architecture. Voici d'autres exemples :
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
Les variables d'environnement définies par dpkg-architecture sont fournies à debian/rules comme variables
pour make (consultez la documentation de make). Cependant, vous ne devez pas compter là-dessus puisque
cela empêche les appels manuels à ce script. À la place, vous devez toujours les initialiser en utilisant
dpkg-architecture avec l'option -q. Voici quelques exemples, qui indiquent aussi comment améliorer la
gestion des compilations croisées de votre paquet :
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.
ENVIRONNEMENT
DPKG_DATADIR
Si cette variable est définie, elle sera utilisée comme répertoire de données de dpkg où sont placées
les tables d'architecture (depuis dpkg 1.14.17). Par défaut «/usr/share/dpkg».
DPKG_COLORS
Définit le mode de couleur (depuis dpkg 1.18.5). Les valeurs actuellement acceptées sont auto (par
défaut), always et never.
DPKG_NLS
Si cette variable est définie, elle sera utilisée pour décider l'activation de la prise en charge des
langues (NLS – Native Language Support), connu aussi comme la gestion de l'internationalisation (ou
i18n) (depuis dpkg 1.19.0). Les valeurs permises sont : 0 et 1 (par défaut).
NOTES
Tous les noms de commandes et d'options longs ne sont disponibles qu'à partir de dpkg 1.17.17.
VOIR AUSSI
dpkg-buildpackage(1).
TRADUCTION
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006. Nicolas François, 2006. Veuillez
signaler toute erreur à <debian-l10n-french@lists.debian.org>.
1.21.1 2025-09-09 dpkg-architecture(1)