dpkg-buildpackage Man page

Resume Wikipedia de Dpkg

dpkg est un logiciel à la base du système de gestion de paquets de Debian. Il a été créé par Ian Jackson en 1993. dpkg est similaire à Red hat Package Manager (ou RPM) le logiciel dans la mesure où il est utilisé pour installer, supprimer et fournir des informations à propos des paquets *.deb.
dpkg est un outil de bas niveau, à comparer avec l’Advanced Packaging Tool (APT) qui, couplé à des surcouches telles qu’Aptitude ou Synaptic (qui ajoute entre autres une interface graphique conviviale), est un outil de haut niveau utilisé pour rechercher les paquets à partir d’emplacements distants ou traiter des relations de dépendances complexes entre paquets. APT est de manière générale, plus utilisé que dpkg.

dpkg-buildpackage Utilitaires de dpkg dpkg-buildpackage

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 constructions et des conflits de
construction (non effectué si -d est utilisé).

3. Si une cible particulière a été indiquée avec les options -T ou
–target, appel de cette cible 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 a été
utilisé).

4. Exécution du point d’entrée source et appel de dpkg-source -b pour
créer le paquet source (sauf si une construction binaire seule a été
demandée avec -b, -B ou -A).

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 -S). Noter que build-target et binary-tar‐
get sont soit build et binary (cas par défaut, ou avec utilisation
de -b) soit build-arch et binary-arch (si -B ou -G est utilisé) soit
build-indep et binary-indep (si -A ou -g est utilisé).

6. Exécution du point d’entrée changes et appel de dpkg-genchanges pour
créer un fichier .changes. De nombreuses options de dpkg-buildpa‐
ckage sont passées à dpkg-genchanges.

7. Exécution du point d’entrée postclean et si -tc est utilisé, appel
de fakeroot debian/rules clean à nouveau.

8. Enfin, appel de dpkg-source –after-build.

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

10.
Exécution du point d’entrée sign et appel de gpg2 ou de gpg pour
signature des fichiers .dsc (sauf si -us est utilisé ou pour des
constructions UNRELEASED) et .changes (sauf si -uc est utilisé ou
pour des constructions UNRELEASED).

11.
Il exécute le point d’entrée done.

OPTIONS

-g Specifies a build limited to source and architecture independent
packages (since dpkg 1.17.11). Passed to dpkg-genchanges.

-G Specifies a build limited to source and architecture specific
packages (since dpkg 1.17.11). Passed to dpkg-genchanges.

-b Indique que seul un paquet binaire est à construire ; aucun
fichier source n’est à construire et/ou à distribuer. Passé à
dpkg-genchanges.

-B Indique une construction uniquement binaire, limitée aux paquets
dépendant d’une architecture. Passé à dpkg-genchanges.

-A Indique une construction uniquement binaire, limitée aux paquets
ne dépendant pas d’une architecture. Passé à dpkg-genchanges.

-S Specifies a source-only build, no binary packages need to be
made. Passed to dpkg-genchanges. Note: if what you want is sim‐
ply to (re-)build the source package, using dpkg-source is
always better as it does not require any build dependencies to
be installed to be able to call the clean target.

-F Specifies a normal full build, binary and source packages will
be built (since dpkg 1.15.8). This is the same as the default
case when no build option is specified.

–target=cible
–target cible
-Tcible
Calls debian/rules target after having setup the build environ‐
ment and stops the package build process here (since dpkg
1.15.0). If –as-root is also given, then the command is execu‐
ted as root (see -r). Note that official targets that are requi‐
red to be run as root by the Debian policy do not need this
option.

–as-root
Only meaningful together with –target (since dpkg 1.15.0).
Requires that the target be run with root rights.

-si
-sa
-sd
-vversion
-Cdescription-des-changements
-madresse-du-responsable
-eadresse-du-responsable
Passé tel quel à dpkg-genchanges. Voir sa page de manuel.

-a, –host-arch architecture
Specify the Debian architecture we build for (long option since
dpkg 1.17.17). The architecture of the machine we build on is
determined automatically, and is also the default for the host
machine.

-t, –host-type type-de-système-gnu
Specify the GNU system type we build for (long option since dpkg
1.17.17). It can be used in place of –host-arch or as a comple‐
ment to override the default GNU system type of the host Debian
architecture.

–target-arch architecture
Specify the Debian architecture the binaries built will build
for (since dpkg 1.17.17). The default value is the host machine.

–target-type type-de-système-gnu
Specify the GNU system type the binaries built will build for
(since dpkg 1.17.17). It can be used in place of –target-arch
or as a complement to override the default GNU system type of
the target Debian architecture.

-Pprofil[,…] Specify the profile(s) we build, as a comma-separated list
(since dpkg 1.17.2). The default behavior is to build for no
specific profile. Also sets them (as a space separated list) as
the DEB_BUILD_PROFILES environment variable which allows, for
example, debian/rules files to use this information for condi‐
tional builds.

-j[jobs|auto] Number of jobs allowed to be run simultaneously, number of jobs
matching the number of online processors if auto is specified
(since dpkg 1.17.10), or unlimited number if jobs is not speci‐
fied, equivalent to the make option of the same name (since
dpkg 1.14.7). Will add itself to the MAKEFLAGS environment
variable, which should cause all subsequent make invocations to
inherit the option, thus forcing the parallel setting on the
packaging (and possibly the upstream build system if that uses
make) regardless of their support for parallel builds, which
might cause build failures. Also adds parallel=jobs or parallel
to the DEB_BUILD_OPTIONS environment variable which allows
debian/rules files to use this information for their own pur‐
poses. The -j value will override the parallel=jobs or parallel
option in the DEB_BUILD_OPTIONS environment variable. Note that
the auto value will get replaced by the actual number of cur‐
rently active processors, and as such will not get propagated to
any child process. If the number of online processors cannot be
inferred then the code will fallback to using an unlimited num‐
ber.

-J[jobs|auto] This option (since dpkg 1.18.2) is equivalent to the -j option
except that it does not set the MAKEFLAGS environment variable,
and as such it is safer to use with any package including those
that are not parallel-build safe.

-D Vérification les dépendances de constructions et les conflits ;
se termine en cas de problèmes. Ceci est le comportement par
défaut.

-d Pas de vérification des dépendances de constructions et des
conflits.

–ignore-builtin-builddeps
Do not check built-in build dependencies and conflicts (since
dpkg 1.18.2). These are the distribution specific implicit build
dependencies usually required in a build environment, the so
called Build-Essential package set.

-nc Do not clean the source tree. Implies -b if nothing else has
been selected among -F, -g, -G, -B, -A or -S. Implies -d with -S
(since dpkg 1.18.0).

-tc Nettoyage de l’arborescence (en utilisant commande-pour-obte‐
nir-privilèges-de-root debian/rules clean) après la construction
du paquet.

-rcommande-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. 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 com‐
mandes. 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.

-Rfichier-rules
Building a Debian package usually involves invoking debian/rules
as a command with several standard parameters (since dpkg
1.14.17). With this option it’s possible to use another program
invocation to build the package (it can include space separated
parameters). Alternatively it can be used to execute the stan‐
dard rules file with another make program (for example by using
/usr/local/bin/make -f debian/rules as rules-file).

–check-command=commande-contrôleur
Command used to check the .changes file itself and any artifact
built referenced in the file (since dpkg 1.17.6). The command
should take the .changes pathname as an argument. This command
will usually be lintian.

–check-option=opt
Pass option opt to the check-command specified with
DEB_CHECK_COMMAND or –check-command (since dpkg 1.17.6). Can be
used multiple times.

–hook-nom-de-point-d’entrée=commande-de-point-d’entrée
Set the specified shell code hook-command as the hook hook-name,
which will run at the times specified in the run steps (since
dpkg 1.17.6). The hooks will always be executed even if the fol‐
lowing action is not performed (except for the binary hook).

Note : Les points d’entrée sont susceptibles d’affecter le pro‐
cessus de construction et provoquer des échecs de construction
si leurs commandes échouent, donc attention aux conséquences
inattendues.

Les nom-de-point-d’entrée actuellement pris en charge sont :

init preclean source build binary changes postclean check sign
done

La commande-point-d’entrée gère les chaînes de formatage de sub‐
stitution 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.

-pcommande-de-signature
Quand dpkg-buildpackage doit exécuter GPG pour signer un fichier
source de contrôle (.dsc) ou un fichier .changes, il exécute
commande-de-signature (recherchée dans PATH si nécessaire) au
lieu de gpg2 ou pgp. commande-de-signature reçoit tous les
paramètres qu’auraient reçu gpg2 ou pgp. commande-de-signature
ne devra pas contenir d’espace ni aucun « métacaractère » de
l’interpréteur de commandes.

-kkey-id
Précise une clé pour la signature des paquets.

-us Ne pas signer le paquet source.

-uc Ne pas signer le fichier .changes.

–force-sign
Force la signature des fichiers produits (depuis dpkg 1.17.0)
indépendamment de -us, -uc ou d’autres heuristiques internes.

-i[regex] -I[motif] -s[nsAkurKUR] -z, -Z Chaîne passée telle quelle à dpkg-source. Voir la page de manuel
correspondante.

–source-option=opt
Pass option opt to dpkg-source (since dpkg 1.15.6). Can be used
multiple times.

–changes-option=opt
Pass option opt to dpkg-genchanges (since dpkg 1.15.6). Can be
used multiple times.

–admindir=dir
–admindir rép
Change the location of the dpkg database (since dpkg 1.14.0).
The default location is /var/lib/dpkg.

-?, –help
Affiche un message d’aide puis quitte.

–version
Affiche le numéro de version puis quitte.

ENVIRONNEMENT
DEB_CHECK_COMMAND
If set, it will be used as the command to check the .changes
file (since dpkg 1.17.6). Overridden by the –check-command
option.

DEB_SIGN_KEYID
If set, it will be used to sign the .changes and .dsc files
(since dpkg 1.17.2). Overridden by the -k option.

DEB_BUILD_

OPTIONS

Si cette option est utilisée et contient la valeur nocheck, la
variable DEB_CHECK_COMMAND sera ignorée.

DEB_BUILD_PROFILES
If set, it will be used as the active build profile(s) for the
package being built (since dpkg 1.17.2). It is a space separated
list of profile names. Overridden by the -P option.

Dépendance des drapeaux d’environnement exportés
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.

Variables positionnées par dpkg-architecture
dpkg-architecture est lancé avec les paramètres de -a and -t. Toute
variable retournée par l’option -s est intégrée dans l’environnement de
construction.

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, 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, dpkg-architecture, dpkg-buildflags,
dpkg-genchanges, fakeroot, lintian, gpg2, gpg.

TRADUCTION
Ariel VARDI , 2002. Philippe Batailler, 2006.
Nicolas François, 2006. Veuillez signaler toute erreur à
.

Projet Debian 2015-07-05 dpkg-buildpackage