Provided by:
dpkg-dev_1.16.0.3ubuntu5_all 
NOM
dpkg-architecture - Fixer et determiner l'architecture pour la
construction d'un paquet
SYNOPSIS
dpkg-architecture [options] [commandes]
DESCRIPTION
dpkg-architecture aide a determiner et a fixer l'architecture de
construction et l'architecture hote pour la creation d'un paquet.
L'architecture de construction est toujours determinee par un appel
externe a dpkg(1). Elle ne peut pas etre specifiee en ligne de
commande.
Vous pouvez specifier une architecture hote en utilisant une des
options -a et -t (ou les deux). Par defaut, la valeur est determinee
par un appel a gcc(1), ou en utilisant l'architecture de construction
si CC ou gcc ne sont pas disponibles. Utiliser une seule des options -a
et -t est suffisant, la valeur de l'une est utilisee comme valeur par
defaut de l'autre. Bien sur, il est preferable de n'en preciser qu'une
seule, puisque dpkg-architecture affichera un avertissement si le choix
ne correspond pas a la valeur par defaut.
COMMANDES
-l Affiche les variables d'environnement, une par ligne, en
utilisant le format VARIABLE=valeur. C'est l'action par defaut.
-earchitecture-debian
Verifie l'egalite d'architectures. Par defaut,
architecture-debian est comparee a l'architecture Debian
actuelle, qui est celle de la machine hote. Cette action ne
developpe 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.
-iarchitecture-joker
Verifie l'egalite d'architectures en developpant
architecture-joker et en comparant a l'architecture Debian
actuelle. La commande quitte avec un code de retour de 0 si
l'architecture correspond et de 1 dans le cas contraire.
-qnom-de-variable
Affiche la valeur d'une seule variable.
-s Produit une commande, qui peut etre utilisee pour positionner
les variables d'environnement avec << eval >>.
-u Produit une commande similaire a celle produite par -s, mais
pour supprimer les variables de l'environnement.
-c commande
Execute une commande dans un environnement ou toutes les
variables sont positionnees aux valeurs specifiees.
-L Affiche une liste des architectures valables.
--help Affiche un message d'aide puis quitte.
--version
Affiche le numero de version puis quitte.
OPTIONS
-aarchitecture-debian
Fixe l'architecture Debian.
-ttype-de-syst`eme-gnu
Fixe le type de systeme GNU.
-f Les valeurs positionnees par les variables d'environnement ayant
le meme nom que celles utilisees par les scripts sont prises en
compte (c'est-a-dire utilisee par dpkg-architecture), sauf si
cette option est presente. Ceci permet a un utilisateur de
surcharger une valeur meme lorsque l'appel a 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 hote
Machine pour laquelle le paquet est construit.
Architecture Debian
Chaine de caracteres de l'architecture Debian, qui specifie
l'emplacement dans l'archive FTP. Par exemple : i386, sparc,
hurd-i386.
Architecture joker
Une architecture joker est une architecture speciale qui correspond
a toutes les architectures reelles qui en font partie. Il est en
general de la forme <noyau>-<processeur>. Par exemple : linux-any,
any-i386, hurd-any.
Type de systeme GNU
Chaine de caracteres definissant l'architecture et constituee de
deux parties separees par un tiret : processeur et systeme. Par
exemple : i386-linux-gnu, sparc-linux-gnu, i386-gnu, x86_64-netbsd.
VARIABLES D'ENVIRONNEMENT
Les variables suivantes sont positionnees par dpkg-architecture :
DEB_BUILD_ARCH
Architecture Debian de la machine de construction.
DEB_BUILD_ARCH_OS
Nom du systeme Debian de la machine de construction.
DEB_BUILD_ARCH_CPU
Nom de processeur Debian de la machine de construction.
DEB_BUILD_ARCH_BITS
Taille de pointeur de la machine de construction (en bits).
DEB_BUILD_ARCH_ENDIAN
<< Endianness>> de la machine de construction (little ou big).
DEB_BUILD_GNU_CPU
Partie CPU de DEB_BUILD_GNU_TYPE.
DEB_BUILD_GNU_SYSTEM
Partie << systeme >> de DEB_BUILD_GNU_TYPE.
DEB_BUILD_GNU_TYPE
Type de systeme GNU de la machine de construction.
DEB_BUILD_MULTIARCH
The clarified GNU system type of the build machine, used for
filesystem paths.
DEB_HOST_ARCH
Architecture Debian de la machine hote.
DEB_HOST_ARCH_OS
Nom du systeme Debian de la machine hote.
DEB_HOST_ARCH_CPU
Nom du processeur Debian de la machine hote.
DEB_HOST_ARCH_BITS
Taille de pointeur de la machine hote (en bits).
DEB_HOST_ARCH_ENDIAN
<< Endianess >> de la machine hote (little ou big).
DEB_HOST_GNU_CPU
Partie << processeur >> de DEB_HOST_GNU_TYPE.
DEB_HOST_GNU_SYSTEM
Partie << systeme >> de DEB_HOST_GNU_TYPE.
DEB_HOST_GNU_TYPE
Type de systeme GNU de la machine hote.
DEB_HOST_MULTIARCH
The clarified GNU system type of the host machine, used for
filesystem paths.
DEBIAN/RULES
Les variables d'environnement definies par dpkg-architecture sont
fournies a debian/rules comme variables pour make (consultez la
documentation de make). Cependant, vous ne devez pas compter la-dessus
puisque cela empeche les appels manuels a ce script. A la place, vous
devez toujours les initialiser en utilisant dpkg-architecture avec
l'option -q. Voici quelques exemples, qui indiquent aussi comment
ameliorer la gestion des compilations croisees de votre paquet :
Au lieu de :
ARCH=`dpkg --print-architecture`
configure $(ARCH)-linux
Veuillez utiliser :
DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
configure --build=$(DEB_BUILD_GNU_TYPE) --host=$(DEB_HOST_GNU_TYPE)
Au lieu de :
ARCH=`dpkg --print-architecture`
ifeq ($(ARCH),alpha)
...
endif
Veuillez utiliser :
DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH)
ifeq ($(DEB_HOST_ARCH),alpha)
...
endif
Ou, si vous n'avez besoin que de verifier le type du processeur et du
systeme, utilisez les variables DEB_HOST_ARCH_CPU ou DEB_HOST_ARCH_OS.
Appeler dpkg dans les fichiers << rules >> pour obtenir les
informations sur l'architecture est deconseille (sauf pour des raisons
de compatibilite arriere, voyez ci-dessous). En particulier, l'option
--print-architecture n'est pas fiable puisque certaines architectures
Debian ne correspondent a aucun nom de processeur.
COMPATIBILIT'E ARRI`ERE
Les variables DEB_*_ARCH_BITS et DEB_*_ARCH_ENDIAN sont apparues avec
la version 1.15.4 de dpkg-dev. Si elles sont utilisees dans
debian/rules, une dependance de construction sur dpkg-dev (>= 1.15.4)
est necessaire.
Les variables DEB_HOST_ARCH_CPU et DEB_HOST_ARCH_OS sont apparues avec
la version 1.13.2 de dpkg-dev. Auparavant, les fichiers debian/rules
utilisaient les variables DEB_HOST_GNU_CPU ou DEB_HOST_GNU_TYPE qui ont
eu tendance a varier dans le temps.
Si ces variables sont encore utilisees dans un fichier debian/rules
pour decider quoi construire et comment, il faut les remplacer par les
nouvelles variables. Vous pouvez rester compatible avec les versions
precedentes de dpkg-dev en utilisant le code suivant :
DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_ARCH_CPU 2>/dev/null)
DEB_HOST_ARCH_OS := $(shell dpkg-architecture -qDEB_HOST_ARCH_OS 2>/dev/null)
# Prise en compte des anciennes versions de dpkg-architecture.
ifeq ($(DEB_HOST_ARCH_CPU),)
DEB_HOST_ARCH_CPU := $(shell dpkg-architecture -qDEB_HOST_GNU_CPU)
ifeq ($(DEB_HOST_ARCH_CPU),x86_64)
DEB_HOST_ARCH_CPU := amd64
endif
endif
ifeq ($(DEB_HOST_ARCH_OS),)
DEB_HOST_ARCH_OS := $(subst -gnu,,$(shell dpkg-architecture -qDEB_HOST_GNU_SYSTEM))
ifeq ($(DEB_HOST_ARCH_OS),gnu)
DEB_HOST_ARCH_OS := hurd
endif
endif
Et de la meme facon pour DEB_BUILD_ARCH_CPU et DEB_BUILD_ARCH_OS.
Pour accepter encore les versions de dpkg-dev qui n'incluent pas
dpkg-architecture, vous pouvez utiliser :
DEB_BUILD_ARCH := $(shell dpkg --print-architecture)
DEB_BUILD_GNU_CPU := $(patsubst hurd-%,%,$(DEB_BUILD_ARCH))
ifeq ($(filter-out hurd-%,$(DEB_BUILD_ARCH)),)
DEB_BUILD_GNU_SYSTEM := gnu
else
DEB_BUILD_GNU_SYSTEM := linux-gnu
endif
DEB_BUILD_GNU_TYPE=$(DEB_BUILD_GNU_CPU)-$(DEB_BUILD_GNU_SYSTEM)
DEB_HOST_ARCH := $(DEB_BUILD_ARCH)
DEB_HOST_GNU_CPU := $(DEB_BUILD_GNU_CPU)
DEB_HOST_GNU_SYSTEM := $(DEB_BUILD_GNU_SYSTEM)
DEB_HOST_GNU_TYPE := $(DEB_BUILD_GNU_TYPE)
Vous pouvez placer certaines de ces lignes au debut de votre
debian/rules. Ces valeurs par defaut seront ecrasees si
dpkg-architecture est utilise.
Vous n'avez pas besoin de toutes ces lignes. Choisissez uniquement les
variables que vous utilisez dans votre fichier << rules >>. Par
exemple, si vous n'avez besoin que de l'architecture hote Debian,
`DEB_HOST_ARCH=`dpkg --print-architecture`' est suffisant (il s'agit
bien sur de l'architecture Debian de la machine de construction, mais
le but est ici de rester compatible avec les anciennes compilations
natives).
Les options -e et -i n'ont ete ajoutees que relativement recemment a
dpkg-architecture (depuis la version 1.13.13 de dpkg).
EXEMPLES
dpkg-buildpackage accepte l'option -a, et la passe a dpkg-architecture.
Voici d'autres exemples :
CC=i386-gnu-gcc dpkg-architecture -c debian/rules build
eval `dpkg-architecture -u`
Verifie si une architecture est identique a l'architecture actuelle ou
a celle specifiee :
dpkg-architecture -elinux-alpha
dpkg-architecture -amips -elinux-mips
Verifie si l'architecture actuelle ou celle specifiee avec -a
correspond a un systeme Linux :
dpkg-architecture -ilinux-any
dpkg-architecture -ai386 -ilinux-any
FICHIERS
Tous ces fichiers sont necessaires afin que dpkg-architecture puisse
fonctionner. Leurs emplacements peuvent etre modifies lors du
traitement via la variable d'environnement DPKG_DATADIR.
/usr/share/dpkg/cputable
Table des noms de processeurs connus et liaison avec leur nom
GNU.
/usr/share/dpkg/ostable
Table des noms des systemes d'exploitation connus et liaison
avec leurs noms GNU.
/usr/share/dpkg/triplettable
Correspondances entre les triplets de l'architecture Debian et
les noms des architectures Debian.
VOIR AUSSI
dpkg-buildpackage(1), dpkg-cross(1).
AUTEUR
dpkg-architecture et cette page de manuel ont ete initialement ecrits
par Marcus Brinkmann <brinkmd@debian.org>.
TRADUCTION
Ariel VARDI <ariel.vardi@freesbee.fr>, 2002. Philippe Batailler, 2006.
Nicolas Francois, 2006. Veuillez signaler toute erreur a
<debian-l10n-french@lists.debian.org>.