Provided by: dpkg-dev_1.19.7ubuntu3.2_all bug

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(1). Elle ne peut pas
       être spécifiée en ligne de commande.

       Vous pouvez spécifier une architecture hôte en utilisant une des options --host-arch et  --host-type  (ou
       les  deux). Par défaut, la valeur est déterminée par un appel à gcc(1), ou en utilisant l'architecture de
       construction si CC ou gcc ne sont  pas  disponibles.  Utiliser  une  seule  des  options  --host-arch  et
       --host-type  est suffisant, la valeur de l'une est utilisée comme valeur par défaut de l'autre. Bien sûr,
       il est préférable de n'en préciser qu'une seule, puisque dpkg-architecture affichera un avertissement  si
       le choix ne correspond pas à la valeur par défaut.

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

       -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 deux 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

       Les variables suivantes  sont  positionnées  par  dpkg-architecture  (voir  la  section  TERMS  pour  une
       description du schéma de nommage) :

       DEB_BUILD_ARCH
           Architecture Debian de la machine de construction.

       DEB_BUILD_ARCH_ABI
           Nom de l'ABI Debian de la machine de construction (depuis 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
           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, 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
           Nom de l'ABI Debian de la machine hôte (depuis 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
           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_ABI
           Nom de l'ABI Debian de la machine cible (depuis 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
           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 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.19.7                                             2022-05-25                               dpkg-architecture(1)