Provided by: dpkg-dev_1.21.1ubuntu2.6_all 

NOM
dpkg-buildpackage - Construire depuis les sources des paquets binaires ou sources
SYNOPSIS
dpkg-buildpackage [option...]
DESCRIPTION
dpkg-buildpackage est un programme qui permet d'automatiser la construction d'un paquet Debian. Il
comporte les étapes suivantes :
1. Préparation de l'environnement de compilation par positionnement de diverses variables
d'environnement (voir VARIABLES D'ENVIRONNEMENT), exécution du point d'entrée init et appel de dpkg-
source --before-build (sauf si -T ou --target ont été utilisés).
2. Contrôle des dépendances de construction et des conflits de construction (non effectué si -d ou
--no-check-builddeps sont utilisés).
3. Si une ou plusieurs cibles particulières ont été indiquées avec les options -T ou --target, appel de
ces cibles et arrêt. Dans le cas contraire, exécution du point d'entrée preclean et appel de fakeroot
debian/rules clean pour nettoyage de l'arborescence source (sauf si -nc ou --no-pre-clean ont été
utilisés).
4. Exécution du point d'entrée source et appel de dpkg-source -b pour créer le paquet source (si une
construction source a été demandée avec --build ou des options équivalentes).
5. Exécution du point d'entrée build et appel de debian/rules build-target, puis exécution du point
d'entrée binary suivie de fakeroot debian/rules binary-target (sauf si une construction source seule
a été demandée avec --build=source ou des options équivalentes). Noter que build-target et binary-
target sont soit build et binary (cas par défaut, ou si une construction any et all a été demandée
avec --build ou des options équivalentes), soit build-arch et binary-arch (si une construction any et
pas all a été demandée avec --build ou des options équivalentes), soit build-indep et binary-indep
(si une construction all et pas any a été demandée avec --build ou des options équivalentes).
6. Exécution du point d'entrée buildinfo et appel de dpkg-genbuildinfo pour créer un fichier .buildinfo.
De nombreuses options de dpkg-buildpackage sont passées à dpkg-genbuildinfo.
7. Exécution du point d'entrée changes et appel de dpkg-genchanges pour créer un fichier .changes. Le
nom du fichier .changes dépendra du type de construction et sera aussi spécifique que nécessaire mais
pas plus ; pour une construction qui inclut any, le nom sera nom-de-source_version-
binaire_architecture.changes, ou pour une construction qui inclut all, le nom sera nom-de-
source_version-binaire_all.changes, ou pour une construction qui inclut source, le nom sera nom-de-
source_version-source_sources.changes. De nombreuses options de dpkg-buildpackage sont passées à
dpkg-genchanges.
8. Exécution du point d'entrée postclean et si -tc ou --post-clean sont utilisés, appel de fakeroot
debian/rules clean à nouveau.
9. Appel de dpkg-source --after-build.
10. Exécution du point d'entrée check et appel d'un contrôleur de paquet pour le fichier .changes (dans
le cas où une commande est spécifiée dans DEB_CHECK_COMMAND ou avec --check-command).
11. It runs the sign hook and calls gpg (as long as it is not an UNRELEASED build, or --no-sign is
specified) to sign the .dsc file (if any, unless -us or --unsigned-source is specified), the
.buildinfo file (unless -ui, --unsigned-buildinfo, -uc or --unsigned-changes is specified) and the
.changes file (unless -uc or --unsigned-changes is specified).
12. Exécution du point d'entrée done.
OPTIONS
Toutes les options longues peuvent être spécifiées à la fois sur la ligne de commande et dans les
fichiers de configuration utilisateur et de système dpkg-buildpackage. Chaque ligne du fichier de
configuration est soit une option (identique à une option en ligne de commande mais sans tiret), soit un
commentaire (si elle commence par « # »).
--build=type
Indique le type de construction à partir d'une liste de composants séparés par des virgules (depuis
dpkg 1.18.5). Passé à dpkg-genchanges.
Les valeurs autorisées sont :
source
Builds the source package.
Note: When using this value standalone and if what you want is simply to (re-)build the source
package from a clean source tree, using dpkg-source directly is always a better option as it does
not require any build dependencies to be installed which are otherwise needed to be able to call
the clean target.
any Construit les paquets binaires spécifiques à l'architecture.
all Construit les paquets binaires indépendants de l'architecture.
binary
Construit les paquets binaires particuliers et indépendants de l'architecture. C'est un alias de
any,all.
full
Construction complète. C'est un alias de source,any,all, et il est identique au cas par défaut où
aucune option de construction n'est indiquée.
-g Équivalent de --build=source,all (depuis dpkg 1.17.11).
-G Équivalent de --build=source,any (depuis dpkg 1.17.11).
-b Équivalent de --build=binary ou --build=any,all.
-B Équivalent de --build=any
-A Équivalent de --build=all.
-S Équivalent à --build=source.
-F Équivalent de --build=full, --build=source,binary ou --build=source,any,all (depuis dpkg 1.15.8).
--target=cible[,...]
--target cible[,...]
-T, --rules-target=cible
Appelle debian/rules cible une fois par cible spécifiée, après avoir mis en place l'environnement de
construction (sauf pour appeler dpkg-source --before-build), puis interrompt le processus de
construction (depuis dpkg 1.15.0, option longue depuis dpkg 1.18.8, pris en charge de multiples
cibles depuis dpkg 1.18.16). Si --as-root est également utilisé, la commande sera exécutée avec les
privilèges du superutilisateur (voir --root-command). Noter que les cibles connues dont l'exécution
par root est imposée n'ont pas besoin de cette option (c'est-à-dire les cibles clean, binary, binary-
arch et binary-indep).
--as-root
N'est utile qu'avec --target (depuis dpkg 1.15.0). Impose d'exécuter la cible avec les privilèges du
superutilisateur.
-si
-sa
-sd
-vversion
-Cdescription-des-changements
-m, --release-by=adresse-du-responsable
-e, --build-by=adresse-du-responsable
Passé tel quel à dpkg-genchanges. Voir sa page de manuel.
-a, --host-arch architecture
Précise l'architecture Debian pour laquelle on construit (option longue depuis dpkg 1.17.17).
L'architecture de la machine sur laquelle on construit est automatiquement déterminée ; c'est aussi
l'architecture par défaut de la machine hôte.
-t, --host-type type-de-système-gnu
Précise le type de système GNU pour lequel on construit (option longue depuis dpkg 1.17.17). Il peut
être utilisé à la place de --host-arch ou en tant que complément afin de remplacer le type de système
GNU par défaut de l'architecture Debian hôte.
--target-arch architecture
Précise l'architecture Debian pour laquelle les binaires compilés vont construire (depuis
dpkg 1.17.17). La valeur par défaut est l'architecture de la machine hôte.
--target-type type-de-système-gnu
Précise le type de système GNU pour lequel les binaires compilés vont construire (depuis
dpkg 1.17.17). Il peut être utilisé à la place de --target-arch ou en tant que complément afin de
remplacer le type de système GNU par défaut de l'architecture Debian cible.
-P, --build-profiles=profil[,...]
Précise le ou les profils que l'on construit, sous forme d'une liste séparée par des virgules (depuis
dpkg 1.17.2, option longue depuis dpkg 1.18.8). Le comportement par défaut est de construire pour un
profil non spécifique. Cela les définit également (sous la forme d'une liste séparée par des espaces)
en tant que variable d'environnement DEB_BUILD_PROFILES, ce qui permet, par exemple, au fichiers
debian/rules d'utiliser cette information pour des constructions conditionnelles.
-j, --jobs[jobs|auto]
Nombre de processus simultanés qui peuvent être exécutés, nombre de processus correspondant au nombre
de processeurs en ligne si auto est indiquée (depuis dpkg 1.17.10), ou un nombre illimité si jobs
n'est pas indiqué, équivalent à l'option make(1) du même nom (depuis dpkg 1.14.7, option longue
depuis dpkg 1.18.8). S'ajoutera tout seul à la variable d'environnement MAKEFLAGS, afin que les
appels suivants de make en héritent, forçant donc le paramètre parallèle sur l'empaquetage (et
éventuellement le système de construction amont s'il utilise make) indépendamment de leur prise en
charge des constructions parallèle, ce qui pourrait provoquer des échecs de construction. Ajoute
aussi parallel=jobs ou parallel à la variable d'environnement DEB_BUILD_OPTIONS ce qui permet aux
fichiers debian/rules d'utiliser cette information pour leurs propres besoins. La valeur de j
remplacera les options parallel=jobs ou parallel dans la variable d'environnement DEB_BUILD_OPTIONS.
Notez que la valeur auto sera remplacée par le nombre réel de processeurs actuellement actifs, et par
conséquent ne sera pas transmise à aucun processus fils. Si le nombre de processeurs en ligne ne peut
pas être déduit, alors le code utilisera par défaut une exécution sérielle (depuis dpkg 1.18.15),
même si cela ne devrait arriver que sur des systèmes exotiques et non pris en charge.
-J, --jobs-try[=tâches|auto]
Cette option (depuis dpkg 1.18.2, option longue depuis dpkg 1.18.8) est équivalente à l'option -j
sauf qu'elle ne configure pas la variable d'environnement MAKEFLAGS et, à ce titre, il est plus sûr
de l'utiliser avec tous les paquets y compris ceux qui ne sont pas sécurisés pour une construction
parallèle.
Le comportement par défaut est auto (depuis dpkg 1.18.11). Fixer le nombre de tâches à 1 rétablira un
comportement sériel.
-D, --check-builddeps
Vérification des dépendances de constructions et des conflits ; se termine en cas de problèmes
(option longue depuis dpkg 1.18.8). C'est le comportement par défaut.
-d, --no-check-builddeps
Pas de vérification des dépendances de constructions et des conflits (option longue depuis
dpkg 1.18.8).
--ignore-builtin-builddeps
Pas de vérification des dépendances de constructions internes et des conflits (depuis dpkg 1.18.2).
Il s'agit des dépendances de construction implicites spécifiques à la distribution habituellement
requises dans un environnement de construction, c'est l'ensemble de paquets appelé Build-Essential.
--rules-requires-root
Pas de prise en compte du champ Rules-Requires-Root, retour à l'ancienne valeur par défaut (depuis
dpkg 1.19.1).
-nc, --no-pre-clean
Pas de nettoyage de l'arborescence des sources avant la construction (option longue depuis
dpkg 1.18.8). Implique -b si aucune des options -F, -g, -G, -B, -A ou -S n'est utilisée). Implique -d
avec -S (depuis dpkg 1.18.0).
--pre-clean
Nettoyage de l'arborescence des sources avant la construction (depuis dpkg 1.18.8). C'est le
comportement par défaut.
-tc, --post-clean
Nettoyage de l'arborescence des sources (en utilisant commande-pour-obtenir-privilèges-de-root
debian/rules clean) après la construction du paquet (option longue depuis dpkg 1.18.8).
--no-post-clean
Pas de nettoyage de l'arborescence des sources après la construction du paquet (depuis dpkg 1.19.1).
C'est le comportement par défaut.
--sanitize-env
Sanitize the build environment (since dpkg 1.20.0). This will reset or remove environment variables,
umask, and any other process attributes that might otherwise adversely affect the build of packages.
Because the official entry point to build packages is debian/rules, packages cannot rely on these
settings being in place, and thus should work even when they are not. What to sanitize is vendor
specific.
-r, --root-command=commande-pour-obtenir-privilèges-de-root
Quand dpkg-buildpackage doit exécuter une partie du processus de construction en tant que root, il
préfixe la commande exécutée par commande-pour-obtenir-privilèges-de-root, si une a été spécifiée
(option longue depuis dpkg 1.18.8). Si ce n'est pas le cas alors fakeroot est utilisé par défaut.
commande-pour-obtenir-privilèges-de-root doit débuter par le nom d'un programme accessible depuis
PATH et avoir comme arguments le nom de la commande réelle avec les arguments qu'elle doit prendre.
commande-pour-obtenir-privilèges-de-root peut recevoir des paramètres (ils doivent être séparés par
des espaces) mais aucun métacaractère de l'interpréteur de commandes. Classiquement
commande-pour-obtenir-privilèges-de-root devrait être fakeroot, sudo, super ou really. su ne va pas,
puisque ce programme peut uniquement utiliser l'interpréteur de commandes de l'utilisateur avec
l'option -c au lieu de passer directement les arguments à la commande qui doit être exécutée.
-R, --rules-file=fichier-rules
Construire un paquet Debian implique généralement l'invocation de debian/rules comme une commande
avec de nombreux paramètres standard (depuis dpkg 1.14.17, option longue depuis dpkg 1.18.8). Avec
cette option, il est possible d'utiliser un autre programme à utiliser pour la construction de paquet
(ainsi que ses paramètres séparés par des espaces). Une autre utilisation possible est d'exécuter le
fichier rules standard avec un autre programme make (par exemple en utilisant /usr/local/bin/make -f
debian/rules comme fichier-rules).
--check-command=commande-contrôleur
Commande utilisée pour vérifier le fichier .changes lui-même et tout objet construit référencé dans
le fichier (depuis dpkg 1.17.6). La commande peut recevoir comme argument le nom de chemin de
.changes. Cette commande est en général lintian.
--check-option=opt
Passer l'option opt à commande-contrôleur indiquée par DEB_CHECK_COMMAND ou --check-command (depuis
dpkg 1.17.6). Peut être utilisé plusieurs fois.
--hook-nom-de-point-d'entrée=commande-de-point-d'entrée
Définir le code spécifié de l'interpréteur de commandes commande-de-point-d'entrée comme point
d'entrée nom-de-point-d'entré qui sera exécuté aux moments spécifiés par les étapes d'exécution
(depuis dpkg 1.17.6). Les points d'entrée seront toujours exécutés même si l'action suivante n'est
pas effectuée (sauf pour le point d'entrée binary). Tous les points d'entrée seront exécutés dans le
répertoire source dépaqueté.
Note: Hooks can affect the build process, and cause build failures if their commands fail, so watch
out for unintended consequences.
Les nom-de-point-d'entrée actuellement pris en charge sont :
init preclean source build binary buildinfo changes postclean check sign done
La commande-point-d'entrée gère les chaînes de formatage de substitution suivantes, qui lui sont
appliquées avant exécution :
%% Un caractère % seul.
%a Une valeur booléenne (0 ou 1) qui indique si l'action suivante est effectuée.
%p Nom du paquet source.
%v La version du paquet source.
%s La version du paquet source (sans l'« epoch »).
%u La version amont.
--buildinfo-file=filename
Set the filename for the generated .buildinfo file (since dpkg 1.21.0).
--buildinfo-option=opt
Passer l'option opt à dpkg-genbuildinfo (depuis dpkg 1.18.11). Peut être utilisé plusieurs fois.
-p, --sign-command=commande-de-signature
When dpkg-buildpackage needs to execute GPG to sign a source control (.dsc) file or a .changes file
it will run sign-command (searching the PATH if necessary) instead of gpg (long option since dpkg
1.18.8). sign-command will get all the arguments that gpg would have gotten. sign-command should not
contain spaces or any other shell metacharacters.
-k, --sign-key=identifiant-clé
Préciser une clé pour la signature des paquets (option longue depuis dpkg 1.18.8).
-us, --unsigned-source
Ne pas signer le paquet source (option longue depuis dpkg 1.18.8).
-ui, --unsigned-buildinfo
Ne pas signer le fichier .buildinfo (depuis dpkg 1.18.19).
-uc, --unsigned-changes
Ne signer ni le fichier .buildinfo, ni le fichier .changes (option longue depuis dpkg 1.18.8).
--no-sign
Aucune signature de fichier, y compris du paquet source, du fichier .buildinfo et du fichier .changes
(depuis dpkg 1.18.20).
--force-sign
Forcer la signature des fichiers produits (depuis dpkg 1.17.0) indépendamment de -us,
--unsigned-source, -ui, --unsigned-buildinfo, -uc, --unsigned-changes ou d'autres heuristiques
internes.
-sn
-ss
-sA
-sk
-su
-sr
-sK
-sU
-sR
-i, --diff-ignore[=expression-rationnelle]
-I, --tar-ignore[=motif]
-z, --compression-level=niveau
-Z, --compression=compression
Chaîne passée telle quelle à dpkg-source. Voir la page de manuel correspondante.
--source-option=opt
Passer l'option opt à dpkg-source (depuis dpkg 1.15.6). Peut être utilisé plusieurs fois.
--changes-file=filename
Set the filename for the generated .changes file (since dpkg 1.21.0).
--changes-option=opt
Passer l'option opt à dpkg-genchanges (depuis dpkg 1.15.6). Peut être utilisé plusieurs fois.
--admindir=répertoire
--admindir rép
Changer l'endroit où se trouve la base de données de dpkg (depuis dpkg 1.14.0). Par défaut, c'est
/var/lib/dpkg.
-?, --help
Affiche un message d'aide puis quitte.
--version
Affiche le numéro de version puis quitte.
ENVIRONNEMENT
Environnement externe
DEB_CHECK_COMMAND
Si cette option est utilisée, elle le sera comme commande pour contrôler le fichier .changes (depuis
dpkg 1.17.6). Remplacée par l'option --check-command.
DEB_SIGN_KEYID
Si cette option est utilisée, elle le sera pour la signature des fichiers .changes et .dsc (depuis
dpkg 1.17.2). Remplacée par l'option --sign-key.
DEB_BUILD_OPTIONS
Si cette option est utilisée, elle contiendra une liste séparée par des espaces d'options qui
pourraient affecter le processus de construction dans debian/rules et le comportement de certaines
commandes de dpkg.
La variable DEB_CHECK_COMMAND sera ignorée avec nocheck. Avec parallel=N les tâches parallèles seront
fixées à N, remplacée par l'option --jobs-try.
DEB_BUILD_PROFILES
Si cette option est utilisée, elle sera utilisée comme profil(s) de construction actif(s) pour le
paquet à construire (depuis dpkg 1.17.2). C'est une liste séparée par des espaces de noms de profil.
Cette option est outrepassée par l'option -P.
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).
Environnement interne
Même si dpkg-buildpackage exporte certaines variables, debian/rules ne doit pas dépendre de leur
présence, mais doit préférablement utiliser l'interface correspondante pour retrouver les valeurs
nécessaires, parce que ce fichier est le point d'entrée principal pour la construction des paquets et son
exécution autonome devrait être prise en charge.
DEB_BUILD_*
DEB_HOST_*
DEB_TARGET_*
dpkg-architecture est lancé avec les paramètres de -a et -t. Toute variable retournée par l'option -s
est intégrée dans l'environnement de construction.
DEB_RULES_REQUIRES_ROOT
Cette variable est fixée à la valeur obtenue du champ Rules-Requires-Root ou de la ligne de commande.
Lorsqu'elle est configurée, ce sera une valeur valable pour le champ Rules-Requires-Root. Elle est
utilisée pour indiquer à debian/rules si la spécification rootless-builds.txt est prise en charge.
DEB_GAIN_ROOT_CMD
Cette valeur est fixée à commande-pour-obtenir-privilèges-de-root si le champ Rules-Requires-Root est
fixé à une valeur différente de no ou binary-targets.
SOURCE_DATE_EPOCH
Cette valeur est fixée à l'horodatage d'Unix depuis « l'epoch » de la dernière entrée de
debian/changelog, si elle n'a pas déjà été définie.
FICHIERS
/etc/dpkg/buildpackage.conf
Fichier de configuration pour l'ensemble du système
$XDG_CONFIG_HOME/dpkg/buildpackage.conf ou
$HOME/.config/dpkg/buildpackage.conf
Fichier de configuration propre à l'utilisateur
NOTES
Les drapeaux de compilation ne sont plus exportés.
Entre les versions 1.14.17 et 1.16.1, dpkg-buildpackage exportait les drapeaux de compilation (CFLAGS,
CXXFLAGS, FFLAGS, CPPFLAGS et LDFLAGS) avec les valeurs que renvoyait dpkg-buildflags. Cela n'est plus le
cas.
Cibles construites par défaut
dpkg-buildpackage utilise les cibles build-arch et build-indep depuis dpkg 1.16.2. Ces cibles sont donc
obligatoires. Cependant, pour éviter de casser les paquets existants et faciliter la transition, si le
paquet source ne construit pas à la fois les paquets binaires indépendants et dépendants de
l'architecture (depuis dpkg 1.18.8), la cible build sera utilisée par défaut si make -f debian/rules -qn
build-target renvoie 2 comme code de retour.
BOGUES
On devrait pouvoir mettre des espaces et des métacaractères du shell et les arguments initiaux de
commande-pour-obtenir-privilèges-de-root et commande-de-signature.
VOIR AUSSI
dpkg-source(1), dpkg-architecture(1), dpkg-buildflags(1), dpkg-genbuildinfo(1), dpkg-genchanges(1),
fakeroot(1), lintian(1), gpg(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.21.1 2025-09-09 dpkg-buildpackage(1)