Provided by: dpkg-dev_1.19.7ubuntu3.2_all bug

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.
          Exécution du point d'entrée sign et appel de gpg2 ou de gpg (à  condition  que  ce  ne  soit  pas  une
          construction pour UNRELEASED, ou si --no-sign est spécifié), pour signature des fichiers .dsc (sauf si
          -us  ou  si  --unsigned-source  sont spécifiés), .buildinfo (sauf si -ui, --unsigned-buildinfo, -uc ou
          --unsigned-changes sont spécifiés) et .changes (sauf si -uc ou --unsigned-changes sont spécifiés).

       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 Construit le paquet source. Note : quand cette valeur est utilisée toute seule et si ce que
                     vous voulez est seulement (re)construire le paquet source à partir d'une  arborescence  des
                     sources propre, l'utilisation directe de dpkg-source est toujours une meilleure option dans
                     la  mesure  où  cela  ne demande pas l'installation de dépendances de construction qui sont
                     sinon nécessaires pour pouvoir appeler la cible clean.

              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 construire (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-Essentiel.

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

       -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 : 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 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-option=opt
              Passer l'option opt à dpkg-genbuildinfo (depuis dpkg 1.18.11). Peut être utilisé plusieurs fois.

       -p, --sign-command=commande-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 gpg (option longue depuis dpkg 1.18.1). commande-de-signature reçoit tous  les  paramètres
              qu'auraient  reçu  gpg2  ou  gpg.  commande-de-signature  ne  devra pas contenir d'espace ni aucun
              métacaractère de l'interpréteur de commandes.

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

1.19.7                                             2022-05-25                               dpkg-buildpackage(1)