dpkg-architecture
Section: dpkg suite (1)
Updated: 1970-01-01
Page Index
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
-
La machine pour laquelle le compilateur construit. Cela est nécessaire
uniquement lors de la construction d'une chaîne d'outils de compilation
croisée qui sera construite sur l'architecture de construction, pour être
exécutée sur l'architecture hôte, afin de construire du code pour
l'architecture cible.
- 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>.