Provided by: dpkg-dev_1.19.7ubuntu2_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>.