Provided by: dpkg-dev_1.22.11ubuntu1_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.

       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
           Afficher  les variables d'environnement, une par ligne, en utilisant le format VARIABLE=valeur. C'est
           l'action par défaut.

       -e, --equal architecture
           Vérifier 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érifier 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
           Afficher la valeur d'une seule variable.

       -s, --print-set
           Produire  une  commande  d'exportation,  qui  peut  être  utilisée  pour  positionner  les  variables
           d'environnement utilisant le shell POSIX ou « make eval », selon le format de sortie.

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

       -c, --command chaîne-de-commande
           Exécuter  une  chaîne-de-commande dans un environnement où toutes les variables sont positionnées aux
           valeurs spécifiées.

           If the command-string contains shell metacharacters, then it  will  be  invoked  through  the  system
           bourne shell.

       -L, --list-known
           Afficher  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
           Afficher un message d'aide puis quitter.

       --version
           Afficher le numéro de version puis quitter.

OPTIONS

       -a, --host-arch architecture
           Définir l'architecture Debian en cours.

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

       -A, --target-arch architecture
           Définir l'architecture Debian de la cible (depuis dpkg 1.17.14).

       -T, --target-type type-de-système-gnu
           Définir 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
           Configurer  le format de sortie de --print-set et --print-unset (depuis dpkg 1.20.6), pour shell (par
           défaut) ou make.

       -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(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 ou pour laquelle l'émulateur exécutera le code.
           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 (ou d'exécuter du code émulé) 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

       Les variables suivantes sont lues à partir de l'environnement (à moins que --force n'ait été spécifié) et
       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 GNU de DEB_BUILD_GNU_TYPE.

       DEB_BUILD_GNU_SYSTEM
           Partie système GNU 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 CPU GNU de DEB_HOST_GNU_TYPE.

       DEB_HOST_GNU_SYSTEM
           Partie système GNU 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 CPU GNU de DEB_TARGET_GNU_TYPE (depuis dpkg 1.17.14).

       DEB_TARGET_GNU_SYSTEM
           Partie système GNU 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érifier si l'architecture en cours (ou celle spécifiée) est identique à une architecture :

        dpkg-architecture -elinux-alpha

        dpkg-architecture -amips -elinux-mips

       Vérifier 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.22.11                                            2024-08-05                               dpkg-architecture(1)