dpkg-buildpackage(1)

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-target 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-buildpackage 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 simply 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 environment and stops the package build process here (since dpkg 1.15.0). If --as-root is also given, then the command is executed as root (see -r). Note that official targets that are required 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 complement 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 conditional 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 specified, equivalent to the make(1) 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 purposes. 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 currently 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 number.

-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-obtenir-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 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.

-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 standard 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 following action is not performed (except for the binary hook). Note : Les points d'entrée sont susceptibles d'affecter le processus 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 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.

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