Man page - dpkg-source(1)
Packages contains this manual
- deb822(5)
- dpkg-vendor(1)
- deb-symbols(5)
- deb-src-rules(5)
- dpkg-mergechangelogs(1)
- dsc(5)
- deb-src-control(5)
- dpkg-shlibdeps(1)
- dpkg-genbuildinfo(1)
- dpkg-scanpackages(1)
- deb-substvars(5)
- dpkg-parsechangelog(1)
- dpkg-architecture(1)
- deb-triggers(5)
- deb-changelog(5)
- deb-extra-override(5)
- deb-buildinfo(5)
- dpkg-buildpackage(1)
- dpkg-distaddfile(1)
- dpkg-gencontrol(1)
- dpkg-buildtree(1)
- deb-postrm(5)
- deb-version(7)
- deb-prerm(5)
- deb-preinst(5)
- deb-src-files(5)
- dpkg-buildapi(1)
- dpkg-checkbuilddeps(1)
- deb-src-symbols(5)
- deb-old(5)
- dpkg-source(1)
- deb-changes(5)
- deb-origin(5)
- dpkg-buildflags(1)
- deb-override(5)
- deb(5)
- dpkg-scansources(1)
- deb-control(5)
- deb-split(5)
- deb-shlibs(5)
- dpkg-build-api(7)
- deb-postinst(5)
- deb-conffiles(5)
- dpkg-genchanges(1)
- dpkg-gensymbols(1)
- dpkg-name(1)
- deb-md5sums(5)
apt-get install dpkg-dev
Available languages:
en fr pt nl sv deManual
dpkg-source
NOMSYNOPSIS
DESCRIPTION
COMMANDES
OPTIONS
Options de construction générique
Options dâextraction gĂ©nĂ©riques
Options générales génériques
FORMATS DE PAQUET SOURCE
Format : 1.0
Format : 2.0
Format : 3.0 (native)
Format : 3.0 (quilt)
Format : 3.0 (custom)
Format : 3.0 (git)
Format : 3.0 (bzr)
DIAGNOSTICS
aucun format source indiqué dans debian/source/format
le fichier de différences modifie les fichiers amont suivants
impossible dâidentifier les changements de fichier
le fichier fichier, nouvellement créé, ne sera pas représenté dans lefichier de différences
le mode exécutable permissions de fichier ne sera pas représenté dans lefichier de différences
le mode spécial permissions de fichier ne sera pas représenté dans lefichier de différences
ENVIRONNEMENT
FICHIERS
debian/source/format
debian/source/include-binaries
debian/source/options
debian/source/local-options
debian/source/local-patch-header
debian/source/patch-header
debian/patches/distributeur.series
debian/patches/series
SECURITY
BOGUES
VOIR AUSSI
TRADUCTION
NOM
dpkg-source - Outil de manipulation des paquets sources Debian (.dsc).
SYNOPSIS
dpkg-source [ option ...] commande
DESCRIPTION
dpkg-source empaquette ou dépaquette une archive source Debian.
Aucune de ces commandes ne permet la combinaison de plusieurs options en une seule et elles ne permettent pas dâindiquer la valeur dâune option dans un argument sĂ©parĂ©.
COMMANDES
-x , --extract nom-de-fichier .dsc [ répertoire-de-sortie ]
Cette option sert Ă extraire un paquet source ( --extract depuis dpkg 1.17.14). Un seul argument sans option doit ĂȘtre donné : le nom du fichier de contrĂŽle des sources Debian ( .dsc ). Un deuxiĂšme argument sans option peut Ă©galement ĂȘtre donnĂ© pour indiquer le rĂ©pertoire oĂč extraire le paquet source : ce rĂ©pertoire ne doit pas dĂ©jĂ exister. Quand aucun rĂ©pertoire nâest indiquĂ©, le paquet source est extrait dans un rĂ©pertoire source - version du rĂ©pertoire courant.
dpkg-source lit, dans le fichier de contrĂŽle, les noms des fichiers qui composent le paquet source ; il suppose quâils sont dans le mĂȘme rĂ©pertoire que le fichier .dsc .
Les fichiers extraits du paquet auront leurs propriĂ©taires et permissions dĂ©finis Ă ceux attendus sâils avaient Ă©tĂ© simplement créés. Les rĂ©pertoires et les fichiers exĂ©cutables auront une permission Ă©gale Ă 0777 et les simples fichiers Ă 0666, les deux Ă©tant modifiĂ©es par le masque (umask) de celui qui fait lâextraction. Si le rĂ©pertoire parent est « setgid », les rĂ©pertoires extraits le seront aussi et tous les fichiers et rĂ©pertoires hĂ©riteront de sa propriĂ©tĂ© de groupe.
Si le paquet source utilise un format non standard (actuellement, cela signifie tous les formats sauf le « 1.0 »), son nom sera enregistrĂ© dans debian/source/format de sorte que la construction du paquet source utilise le mĂȘme format par dĂ©faut.
-b , --build répertoire [ paramÚtres-dans-un-format-spécifique ]
Construit un paquet source ( --build depuis dpkg 1.17.14). Le premier argument sans option est pris comme nom du rĂ©pertoire contenant lâarborescence des sources debianisĂ©e (câest-Ă -dire avec un sous-rĂ©pertoire debian et peut-ĂȘtre des modifications sur les fichiers dâorigine). Selon le format du paquet source utilisĂ© pour construire le paquet, dâautres paramĂštres peuvent ĂȘtre acceptĂ©s.
dpkg-source will build the source package with the first format found in this ordered list: the format indicated with the --format command line option, the format indicated in debian/source/format , â1.0â. The fallback to â1.0â is deprecated and will be removed at some point in the future, you should always document the desired source format in debian/source/format . See section "SOURCE PACKAGE FORMATS" for an extensive description of the various source package formats.
--print-format répertoire
Affiche le format source qui serait utilisĂ© pour construire le paquet source si dpkg-source --build rĂ©pertoire Ă©tait utilisĂ© (dans les mĂȘmes conditions et avec les mĂȘmes options ; depuis dpkg 1.15.5).
--before-build répertoire
ExĂ©cute le point dâentrĂ©e correspondant du format de paquet source (depuis dpkg 1.15.8). Ce point dâentrĂ©e doit ĂȘtre utilisĂ© avant toute construction du paquet ( dpkg-buildpackage lâutilise trĂšs tĂŽt, avant mĂȘme debian/rules clean ). Cette commande est idempotente et peut ĂȘtre lancĂ©e plusieurs fois. Tous les formats source ne mettent pas en Ćuvre ce branchement et ceux qui le font prĂ©parent lâarborescence source pour la construction, par exemple en garantissant que les correctifs Debian sont appliquĂ©s.
--after-build répertoire
ExĂ©cute le point dâentrĂ©e correspondant du format de paquet source (depuis dpkg 1.15.8). Ce point dâentrĂ©e doit ĂȘtre utilisĂ© aprĂšs toute construction du paquet ( dpkg-buildpackage lâutilise en dernier). Cette commande est idempotente et peut ĂȘtre lancĂ©e plusieurs fois. Tous les formats source ne mettent pas en Ćuvre ce branchement et ceux qui le font sâen servent pour dĂ©faire ce qui a Ă©tĂ© fait par --before-build .
--commit [ répertoire ] ...
Enregistre les modifications dans lâarborescence source dĂ©compressĂ©e dans rĂ©pertoire (depuis dpkg 1.16.1). Cette commande peut accepter des paramĂštres supplĂ©mentaires selon le format source. Elle provoquera une erreur pour les formats oĂč cette opĂ©ration nâa pas de signification.
-? , --help
Affiche un message dâaide puis quitte. Les options de construction et dâextraction spĂ©cifiques au format peuvent ĂȘtre montrĂ©es avec lâoption --format .
--version
Afficher le numéro de version puis quitter.
OPTIONS
Options de construction générique
-c fichier-de-contrĂŽle
Indique le principal fichier de contrĂŽle des sources oĂč trouver les renseignements. Par dĂ©faut, câest le fichier debian/control . Lorsquâun chemin relatif est fourni, on considĂšre quâil est relatif au rĂ©pertoire le plus Ă©levĂ© de lâarborescence source.
-l fichier-des-changements
Indique le journal des modifications oĂč trouver des renseignements. Par dĂ©faut, câest le fichier debian/changelog . Lorsquâun chemin relatif est fourni, on considĂšre quâil est relatif au rĂ©pertoire le plus Ă©levĂ© de lâarborescence source.
-F format-du-fichier-des-changements
Specifies the format of the changelog. See dpkg-parsechangelog (1) for information about alternative formats.
--format= valeur
Utilise le format indiqué pour la construction du paquet source (depuis dpkg 1.14.17). Ce choix remplace le format indiqué dans debian/source/format .
-V nom = valeur
Set an output substitution variable. See deb-substvars (5) for a discussion of output substitution.
-T fichier-substvars
Lit les variables de substitution dans fichier-substvars ; par dĂ©faut aucun fichier nâest lu. Cette option peut ĂȘtre utilisĂ©e plusieurs fois pour lire des variables de substitution depuis plusieurs fichiers (depuis dpkg 1.15.6).
-D champ = valeur
Remplace ou ajoute en sortie un champ dans le fichier de contrĂŽle.
-U champ
Supprime en sortie un champ dans le fichier de contrĂŽle.
-Z compression , --compression = compression
SpĂ©cifie le niveau de compression Ă utiliser pour les fichiers archive et diff créés ( --compression depuis dpkg 1.15.5). Notez que cette option ne causera pas la recompression des archives existantes, cela ne concerne que les nouveaux fichiers. Les valeurs acceptĂ©es sont les suivantes : gzip , bzip2 , lzma et xz . Lâoption par dĂ©faut est xz pour les formats 2.0 et plus rĂ©cents, et gzip pour le format 1.0. xz nâest gĂ©rĂ© que depuis dpkg 1.15.5.
-z niveau , --compression-level = niveau
Niveau de compression à utiliser ( --compression-level depuis dpkg 1.15.5). Comme avec -Z cela ne concerne que les fichiers nouvellement créés. Les valeurs prises possibles sont les suivantes : 1 à 9 , best et fast . La valeur par défaut est 9 pour gzip et bzip2, 6 pour xz et lzma.
-i [ expression-rationnelle ], --diff-ignore [= expression-rationnelle ]
Il est possible de donner une expression rationnelle Perl pour filtrer les fichiers qui doivent ĂȘtre Ă©liminĂ©s de la liste des fichiers pour le « diff » ( --diff-ignore depuis dpkg 1.15.6). Cette liste est créée avec une commande « find ». Si le fichier source en construction est un fichier source de version 3 utilisant un systĂšme de suivi de versions, cette option est utile pour ignorer les modifications non envoyĂ©es. Utiliser -i .* les ignorera toutes.
Lâoption -i active cette fonction avec une expression rationnelle par dĂ©faut (en prĂ©servant toutes les modifications faites avec lâexpression rationnelle par dĂ©faut par une utilisation prĂ©cĂ©dente de --extend-diff-ignore ) qui couvre les fichiers de contrĂŽle des plus usuels systĂšmes de gestion de version, les fichiers de sauvegarde, les fichiers dâĂ©change et les rĂ©pertoires utilisĂ©s par Libtool. Il ne peut y avoir quâune seule expression rationnelle active ; avec de multiples options -i , seule la derniĂšre mentionnĂ©e sera prise en compte.
Câest trĂšs utile pour supprimer des fichiers qui sont inclus dans le diff, par exemple, si vous maintenez un source avec un systĂšme de contrĂŽle de version et que voulez construire un paquet source sans inclure des fichiers et rĂ©pertoires additionnels quâil contient gĂ©nĂ©ralement (par exemple CVS/, .cvsignore, .svn/). Lâexpression rationnelle par dĂ©faut est dĂ©jĂ trĂšs exhaustive, mais si avez besoin de la remplacer, veuillez noter que par dĂ©faut, il sait vĂ©rifier nâimporte quelle partie dâun chemin, donc si vous voulez trouver le dĂ©but dâun nom de fichier ou des noms de fichiers complets, vous devrez fournir les caractĂšres spĂ©ciaux vous-mĂȘme (par exemple « (Ë|/) », « ($|/) »).
--extend-diff-ignore = expression-rationnelle
Lâexpression rationnelle Perl indiquĂ©e complĂ©tera la valeur par dĂ©faut utilisĂ©e par --diff-ignore et sa valeur courante si elle est dĂ©finie (depuis dpkg 1.15.6). Cela est effectuĂ© en concatĂ©nant « | expression-rationnelle » Ă la valeur existante. Cette option est pratique dans debian/source/options pour exclure certains fichiers auto-créés de la crĂ©ation automatique de correctifs.
-I [ motif-fichier ], --tar-ignore [= motif-fichier ]
If this option is specified, the pattern will be passed to tar (1)âs --exclude option when it is called to generate a .orig.tar or .tar file ( --tar-ignore since dpkg 1.15.6). For example, -I CVS will make tar skip over CVS directories when generating a .tar.gz file. The option may be repeated multiple times to list multiple patterns to exclude.
-I ajoute par dĂ©faut des options --exclude qui Ă©limineront les fichiers et les rĂ©pertoires de contrĂŽles des systĂšmes les plus connus de contrĂŽle de version, les fichiers dâĂ©change et de sauvegarde et les rĂ©pertoires utilisĂ©s par Libtool.
Note : While they have similar purposes, -i and -I have very different syntax and semantics. -i can only be specified once and takes a perl compatible regular expression which is matched against the full relative path of each file. -I can specified multiple times and takes a filename pattern with shell wildcards. The pattern is applied to the full relative path but also to each part of the path individually. The exact semantic of tarâs --exclude option is somewhat complicated, see <https://www.gnu.org/software/tar/manual/tar.html#wildcards> for a full documentation.
Lâexpression rationnelle et le motif par dĂ©faut pour les deux options peuvent ĂȘtre trouvĂ©s dans la sortie de la commande --help .
Options dâextraction gĂ©nĂ©riques
--no-copy
Ne copie pas lâarchive dâorigine Ă cĂŽtĂ© de lâextraction du paquet source (depuis dpkg 1.14.17).
--no-check
Ne vérifie pas les signatures et les sommes de contrÎle avant de dépaqueter(depuis dpkg 1.14.17).
--no-overwrite-dir
Ne pas remplacer le rĂ©pertoire dâextraction sâil existe dĂ©jĂ (depuis dpkg 1.18.8)
--require-valid-signature
Refuse de dĂ©compresser le paquet source sâil ne contient pas de signature OpenPGP pouvant ĂȘtre vĂ©rifiĂ©e (depuis dpkg 1.15.0) soit avec le fichier de clĂ©s trustedkeys.gpg de lâutilisateur, un des fichiers de clĂ©s propre Ă un distributeur ou un des fichiers de clĂ©s officiels de Debian ( /usr/share/keyrings/debian-keyring.gpg , /usr/share/keyrings/debian-nonupload.gpg et /usr/share/keyrings/debian-maintainers.gpg ).
--require-strong-checksums
Refuse de dĂ©compresser le paquet source sâil ne contient pas de somme de contrĂŽle robuste (depuis dpkg 1.18.7). Actuellement, SHA-256 est le seul type de somme de contrĂŽle considĂ©rĂ© comme robuste.
--ignore-bad-version
Transforme la vérification des mauvaises versions des paquets source en avertissement non fatal (since dpkg 1.17.7). Cette option sera seulement nécessaire quand on extrait des anciens paquets source avec des versions cassées, pour préserver la compatibilité avec les versions précédentes.
Options générales génériques
--threads-max= threads
Fixe le nombre maximal de processus permis pour les compresseurs qui gÚrent les opérations multi-threadées (depuis dpkg 1.21.14).
|
-q |
Définit le mode silencieux pour supprimer les avertissements. |
FORMATS DE PAQUET SOURCE
Si vous ne savez pas quel format source utiliser, il est conseillĂ© de choisir soit « 3.0 (quilt) » soit « 3.0 (native) ». Voir <https://wiki.debian.org/Projects/DebSrc3.0> pour plus dâinformations sur la mise en Ćuvre de ces formats dans Debian.
Format : 1.0
Un paquet source dans ce format se compose soit dâun .orig.tar.gz associĂ© Ă un .diff.gz ou un simple .tar.gz (dans ce cas, le paquet est appelĂ© natif native ). Lâarchive tar originale pourrait ĂȘtre accompagnĂ©e de façon facultative dâune signature amont sĂ©parĂ©e .orig.tar.gz.asc , extraction prise en charge depuis dpkg 1.18.5.
Extraction
Extraire un paquet natif revient Ă une simple extraction de lâarchive tar dans le rĂ©pertoire cible. Lâextraction dâun paquet non natif consiste au dĂ©paquetage du .orig.tar.gz puis lâapplication des correctifs contenus dans le .diff.gz . La date de tous les fichiers correctifs est rĂ©glĂ©e Ă celle du moment de lâextraction depuis le paquet source (cela Ă©vite les horodatages faux menant Ă des problĂšmes lorsque des fichiers gĂ©nĂ©rĂ©s automatiquement sont modifiĂ©s). Le diff peut crĂ©er de nouveaux fichiers (tout le rĂ©pertoire debian est créé de cette façon) mais ne peut pas supprimer de fichiers (les fichiers vides seront laissĂ©s lĂ ) et ne peut ni crĂ©er ni modifier des liens symboliques.
Construction
Construire un paquet natif revient simplement Ă crĂ©er une archive tar avec le rĂ©pertoire du source. La crĂ©ation dâun paquet non natif consiste Ă extraire lâarchive dâorigine dans un rĂ©pertoire sĂ©parĂ© « .orig » puis Ă rĂ©gĂ©nĂ©rer le .diff.gz en comparant le rĂ©pertoire du paquet source avec le rĂ©pertoire « .orig ».
Options de construction (avec --build) :
Si lâon donne un second argument, ce sera le nom du rĂ©pertoire source dâorigine ou le nom du fichier tar ou bien une chaĂźne vide si le paquet est un « Debian pure souche » et nâa donc pas de fichiers « diffs » pour sa « debianisation ». Sâil nây a pas de second argument, dpkg-source cherche le fichier tar des sources dâorigine paquet _ version-amont .orig.tar.gz ou bien le rĂ©pertoire source dâorigine rĂ©pertoire .orig selon les paramĂštres -sX .
Les options -sa , -sp , -sk , -su et -sr ne remplacent pas les fichiers tar ou les répertoires existants. Pour cela, il faut utiliser les options -sA , -sP , -sK , -sU et -sR.
|
-sk |
SpĂ©cifie que le source dâorigine est attendu sous forme tar ; par dĂ©faut, paquet _ version-amont .orig.tar extension . Il le laisse en place en tant que fichier tar ou le copie dans le rĂ©pertoire en cours sâil nây est pas dĂ©jĂ . Le fichier sera dĂ©paquetĂ© dans rĂ©pertoire .orig pour la gĂ©nĂ©ration du fichier diff. |
||
|
-sp |
Comme -sk mais supprimera le répertoire à nouveau par la suite. |
||
|
-su |
Quand on spĂ©cifie que le source dâorigine est un rĂ©pertoire ; la valeur par dĂ©faut est le rĂ©pertoire paquet - version-amont .orig et dpkg-source crĂ©e une nouvelle archive du source dâorigine. |
||
|
-sr |
Comme -su mais supprimera ce répertoire aprÚs utilisation. |
||
|
-ss |
Indique que le source dâorigine est disponible Ă la fois comme un rĂ©pertoire et comme un fichier tar. dpkg-source se servira du rĂ©pertoire pour crĂ©er le « diff », mais du fichier tar pour crĂ©er le fichier .dsc . Aussi, faire attention avec cette option. Si le rĂ©pertoire et le fichier tar ne correspondent pas, il en rĂ©sulte une mauvaise archive source. |
||
|
-sn |
Indique de ne pas chercher de source dâorigine et de ne pas crĂ©er de « diff ». Le second argument, sâil existe, doit ĂȘtre une chaĂźne vide. Cela sert pour les paquets Debian pure souche qui nâont pas un source dâorigine distincte et donc pas de fichier « diff » de debianisation. |
-sa or -sA
Indique comme source dâorigine soit un fichier tar, soit un rĂ©pertoire â le deuxiĂšme argument, sâil existe, doit ĂȘtre lâun dâeux ou bien une chaĂźne vide (cela revient Ă utiliser lâoption -sn) . Quand un fichier tar existe, il est dĂ©paquetĂ© pour crĂ©er le fichier « diff » ; ensuite il est supprimĂ© (cela revient Ă utiliser lâoption -sp) ; quand un rĂ©pertoire est trouvĂ©, il est empaquetĂ© et dpkg-source crĂ©e le source dâorigine et supprime ensuite ce rĂ©pertoire (cela revient Ă utiliser lâoption -sr) ; quand ni lâun ni lâautre nâest trouvĂ©, dpkg-source suppose que le paquet ne possĂšde pas de fichier « diff » de debianisation, mais seulement une simple archive source (cela revient Ă utiliser lâoption -sn ). Quand les deux sont trouvĂ©s, dpkg-source ignore le rĂ©pertoire et le remplace si lâoption -sA a Ă©tĂ© spĂ©cifiĂ©e (cela revient Ă utiliser lâoption -sP) ou il provoque une erreur si lâoption -sa a Ă©tĂ© spĂ©cifiĂ©e. Lâoption par dĂ©faut est -sa .
--abort-on-upstream-changes
Ce processus Ă©choue si le fichier de diffĂ©rences contient des modifications apportĂ©es Ă des fichiers en dehors du sous-rĂ©pertoire debian (depuis dpkg 1.15.8). Cette option nâest pas autorisĂ©e dans debian/source/options mais peut ĂȘtre utilisĂ©e dans debian/source/local-options .
options dâextraction (avec --extract) :
Dans tous ces cas, lâarborescence existante des sources dâorigine est supprimĂ©e.
|
-sp |
Quand on extrait le rĂ©pertoire source dâorigine (sâil existe), il est conservĂ© en tant que fichier tar. Sâil nâest pas dĂ©jĂ dans le rĂ©pertoire courant ou si ce rĂ©pertoire contient un fichier diffĂ©rent, le fichier tar est copiĂ© dans ce rĂ©pertoire. ( Cela est le comportement par dĂ©faut ). |
||
|
-su |
DĂ©paquetage de lâarborescence du rĂ©pertoire source dâorigine. |
||
|
-sn |
Assure que le rĂ©pertoire source dâorigine ne sera ni copiĂ© dans le rĂ©pertoire en cours, ni dĂ©paquetĂ©. Si une arborescence source dâorigine est prĂ©sente dans le rĂ©pertoire courant, elle est toujours supprimĂ©e. |
Toutes les
options
-s
X
sâexcluent mutuellement. Si
vous en indiquez plusieurs, seule la derniĂšre sera
prise en compte.
--skip-debianization
Passe lâĂ©tape dâapplication du fichier de diffĂ©rences Debian aux sources amont (depuis dpkg 1.15.1).
Format : 2.0
Extraction prise en charge depuis dpkg 1.13.9, construction depuis dpkg 1.14.8. Aussi connu sous le nom de « wig&pen ». Ce format nâest pas recommandĂ© pour une utilisation massive, le format « 3.0 (quilt) » le remplace. Wig&pen a Ă©tĂ© la premiĂšre spĂ©cification dâune nouvelle gĂ©nĂ©ration de format de paquet source.
The behavior of this format is the same as the â3.0 (quilt)â format except that it doesnât use an explicit list of patches. All files in debian/patches/ matching the perl regular expression [\w-]+ must be valid patches: they are applied at extraction time.
Lors de la construction dâun nouveau paquet source, toute modification apportĂ©e au source amont est enregistrĂ©e dans un correctif nommĂ© zz_debian-diff-auto .
Format : 3.0 (native)
Pris en charge depuis dpkg 1.14.17. Ce format est une extension du format de paquet natif tel que dĂ©fini dans le format 1.0. Il gĂšre toutes les mĂ©thodes de compression et ignore par dĂ©faut tout fichier et rĂ©pertoire spĂ©cifique Ă VCS ainsi que de nombreux fichiers temporaires (voir la valeur par dĂ©faut associĂ©e Ă lâoption -I dans la sortie de --help ).
Format : 3.0 (quilt)
Pris en charge depuis 1.14.17. Un paquet source dans ce format contient au moins une archive tar dâorigine ( .orig.tar. ext oĂč ext peut ĂȘtre gz , bz2 lzma et xz ) et une archive tar debian ( .debian.tar. ext ). Il peut Ă©galement contenir dâautres archives tar dâorigine ( .orig- composant .tar. ext ). composant ne peut ĂȘtre constituĂ© que de caractĂšres alphanumĂ©riques (« a-zA-Z0-9 ») et de tirets (« - »). Chaque archive tar originale peut ĂȘtre accompagnĂ©e de façon facultative dâune signature amont sĂ©parĂ©e ( .orig.tar. ext .asc et .orig- composant .tar. ext .asc ), extraction prise en charge depuis dpkg 1.17.20, construction depuis dpkg 1.18.5.
Extraction
Lâarchive principale tar dâorigine est extraite tout dâabord, puis toutes les autres archives tar dâorigine sont extraites dans des sous-rĂ©pertoires dont le nom est formĂ© Ă partir de la partie composant de leur nom. Lâarchive tar Debian est extraite du rĂ©pertoire source, aprĂšs la suppression de tout rĂ©pertoire debian existant. Notez que lâarchive tar Debian doit contenir un sous-rĂ©pertoire debian , mais elle peut Ă©galement contenir des fichiers binaires en dehors de ce rĂ©pertoire (voir lâoption --include-binaries ).
Toutes les modifications figurant dans debian/patches/ distributeur .series ou debian/patches/series sont alors appliquĂ©es, oĂč distributeur sera le nom en minuscules du distributeur actuel, ou Debian sâil nây a pas de distributeur dĂ©fini. Si lâancien fichier est utilisĂ© et quâil nây en a pas de plus rĂ©cent (ou si câest un lien symbolique), alors celui-ci est remplacĂ© par un lien symbolique vers lâancien. Cette disposition vise Ă simplifier lâutilisation de quilt pour gĂ©rer lâensemble des correctifs. Les fichiers de sĂ©ries propres au distributeur sont destinĂ©s Ă permettre de sĂ©rialiser plusieurs branches de dĂ©veloppement en se basant sur le distributeur, dâune maniĂšre dĂ©clarative, de prĂ©fĂ©rence au codage ouvert de cette gestion dans debian/rules . Cela est particuliĂšrement utile quand le source Ă besoin de correctifs de maniĂšre conditionnelle, car les fichiers affectĂ©s nâont pas de gestion interne dâinclusion conditionnelle. Notez toutefois que si dpkg-source analyse correctement les fichiers de sĂ©ries avec les options utilisĂ©es pour lâapplication du correctif (stockĂ©es sur chaque ligne aprĂšs le nom du correctif et une ou plusieurs espaces), il ignore ces options et sâattendra toujours Ă ce que les correctifs puissent ĂȘtre appliquĂ©s avec lâoption -p1 de patch . Il va donc Ă©mettre un avertissement lorsquâil rencontrera ces options, et la construction est susceptible dâĂ©chouer.
Note that lintian (1) will emit unconditional warnings when using vendor series due to a controversial Debian specific ruling, which should not affect any external usage; to silence these, the dpkg lintian profile can be used by passing « --profile dpkg » to lintian (1).
La date de tous les fichiers correctifs est celle du moment oĂč se dĂ©roule lâextraction du paquet source (cela Ă©vite les horodatages faux menant Ă des problĂšmes lorsque des fichiers gĂ©nĂ©rĂ©s automatiquement sont modifiĂ©s).
Contrary to quilt âs default behavior, patches are expected to apply without any fuzz. When that is not the case, you should refresh such patches with quilt , or dpkg-source will error out while trying to apply them.
Similarly to quilt âs default behavior, the patches can remove files too.
Le fichier .pc/applied-patches est créé si certains correctifs ont Ă©tĂ© appliquĂ©s au cours de lâextraction.
Construction
Les originaux de toutes les archives tar trouvĂ©es dans le rĂ©pertoire courant sont extraits dans un rĂ©pertoire temporaire en suivant la mĂȘme logique que pour le dĂ©paquetage, le rĂ©pertoire debian est copiĂ© dans le rĂ©pertoire temporaire, et tous les correctifs exceptĂ© le correctif automatique debian-changes- version ou debian-changes , selon --single-debian-patch ) sont appliquĂ©es. Le rĂ©pertoire temporaire est comparĂ© Ă celui du paquet source. Si le fichier de diffĂ©rences nâest pas vide, la construction Ă©choue Ă moins que --single-debian-patch ou --auto-commit aient Ă©tĂ© utilisĂ©s, et dans ce cas le diff est stockĂ© dans le correctif automatique. Si le correctif automatique est créé ou supprimĂ©, il est ajoutĂ© ou supprimĂ© dans le fichier « series » et les mĂ©tadonnĂ©es de quilt .
Tout changement dans un fichier binaire ne peut ĂȘtre indiquĂ© dans le diff et va dĂ©boucher sur un Ă©chec Ă moins que le responsable ne dĂ©cide dĂ©libĂ©rĂ©ment dâinclure cette modification binaire dans lâarchive tar Debian (en le listant dans debian/source/include-binaries ). La construction pourra Ă©galement Ă©chouer si des fichiers binaires sont trouvĂ©s dans le sous-rĂ©pertoire debian Ă moins quâils aient Ă©tĂ© autorisĂ©s au moyen de debian/source/include-binaries .
Le rĂ©pertoire debian mis Ă jour et la liste des binaires modifiĂ©s sont ensuite utilisĂ©s pour recrĂ©er lâarchive tar debian.
Le diff gĂ©nĂ©rĂ© automatiquement nâinclut pas les changements spĂ©cifiques sur les fichiers VCS ainsi sur que de nombreux fichiers temporaires (pour la valeur par dĂ©faut associĂ©e Ă lâoption -i , voir la sortie de --help ). En particulier, le rĂ©pertoire .pc utilisĂ© par quilt est ignorĂ© lors de la gĂ©nĂ©ration automatique du correctif.
Note : dpkg-source --before-build (and --build ) will ensure that all patches listed in the series file are applied so that a package build always has all patches applied. It does this by finding unapplied patches (they are listed in the series file but not in .pc/applied-patches ), and if the first patch in that set can be applied without errors, it will apply them all. The option --no-preparation can be used to disable this behavior.
Enregistrement
des modifications
--commit
[
répertoire
]
[
nom-du-correctif
] [
fichier-de-correctif
]
Generates a patch corresponding to the local changes that are not managed by the quilt patch system and integrates it in the patch system under the name patch-name . If the name is missing, it will be asked interactively. If patch-file is given, it is used as the patch corresponding to the local changes to integrate. Once integrated, an editor (the first one found from sensible-editor , $VISUAL, $EDITOR, vi ) is launched so that you can edit the meta-information in the patch header.
Le fait de passer fichier-de-correctifs est essentiellement utile aprĂšs un Ă©chec de construction qui prĂ©gĂ©nĂšre ce fichier. Sur ces bases, le fichier est supprimĂ© aprĂšs intĂ©gration. Veuillez Ă©galement noter que les modifications contenues dans le fichier de correctifs doivent dĂ©jĂ ĂȘtre appliquĂ©es dans lâarborescence et que les fichiers modifiĂ©s par le correctif ne doivent pas comporter de modifications supplĂ©mentaires.
Si la crĂ©ation de correctif dĂ©tecte des fichiers binaires modifiĂ©s, ils seront ajoutĂ©s automatiquement Ă debian/source/include-binaries afin de pouvoir ĂȘtre inclus dans lâarchive debian (de façon analogue Ă ce que ferait dpkg-source --include-binaries --build ).
Options de
construction
--allow-version-of-quilt-db=
version
Autorise dpkg-source Ă construire le fichier si la version des mĂ©tadonnĂ©es de quilt est celle indiquĂ©e, mĂȘme si dpkg-source nâen nâa pas connaissance (depuis dpkg 1.15.5.4). En fait, cela indique que la version indiquĂ©e des mĂ©tadonnĂ©es de quilt est compatible avec la version 2 que dpkg-source gĂšre. La version des mĂ©tadonnĂ©es de quilt est conservĂ©e dans .pc/.version .
--include-removal
Nâignore pas les fichiers supprimĂ©s et les inclut dans le fichier de modifications gĂ©nĂ©rĂ© automatiquement.
--include-timestamp
Inclut la date dans le correctif généré automatiquement.
--include-binaries
Ajoute tous les binaires modifiĂ©s dans lâarchive tar debian. Les ajoute aussi Ă debian/source/include-binaries : elles seront ajoutĂ©es par dĂ©faut dans les constructions suivantes aussi cette option nâest donc plus nĂ©cessaire.
--no-preparation
Nâessaye pas de prĂ©parer lâarbre de la construction en appliquant les correctifs qui ne sont apparemment pas appliquĂ©s (depuis dpkg 1.14.8).
--single-debian-patch
Utilise debian/patches/debian-changes au lieu de debian/patches/debian-changes- version comme nom du correctif automatique créé au cours de la construction (depuis dpkg 1.15.5.4). Cette option est particuliĂšrement pratique lorsque le paquet est gĂ©rĂ© avec un outil de gestion de versions et quâun jeu de correctifs ne peut ĂȘtre créé de façon fiable. Dans ce cas, les diffĂ©rences avec la version amont doivent ĂȘtre conservĂ©es dans un correctif unique. Cette option serait indiquĂ©e dans debian/source/local-options et accompagnĂ©e par un fichier debian/source/local-patch-header qui explique la meilleure mĂ©thode pour revoir les corrections spĂ©cifiques Ă Debian, par exemple dans le gestionnaire de versions utilisĂ©.
--create-empty-orig
CrĂ©e automatiquement lâarchive principale tar dâorigine vide si elle est manquante et quâil existe des archives tar dâorigine additionnelles (depuis dpkg 1.15.6). Cette option peut ĂȘtre utilisĂ©e lorsque le paquet source est une collection de diffĂ©rents sources amont et quâil nâexiste pas de logiciel « principal ».
--no-unapply-patches, --unapply-patches
Par dĂ©faut, dpkg-source retire automatiquement les correctifs dans le point dâentrĂ©e --after-build sâils ont Ă©tĂ© appliquĂ©s pendant --before-build ( --unapply-patches depuis dpkg 1.15.8, --no-unapply-patches depuis dpkg 1.16.5). Ces options permettent de dĂ©sactiver ou activer unilatĂ©ralement ce retrait des correctifs. Elles ne sont permises que dans debian/source/local-options afin que tous les paquets source créés aient le mĂȘme comportement par dĂ©faut.
--abort-on-upstream-changes
Ce processus Ă©chouera si un correctif automatique a Ă©tĂ© créé (depuis dpkg 1.15.8). Cette option peut servir Ă vĂ©rifier que toutes les modifications ont Ă©tĂ© enregistrĂ©es correctement dans des correctifs quilt distincts avant la construction du paquet source. Elle nâest pas autorisĂ©e dans debian/source/options mais peut prendre place dans debian/source/local-options .
--auto-commit
Pas dâĂ©chec du processus de construction si un correctif automatique a Ă©tĂ© créé : il est enregistrĂ© automatiquement dans le fichier series de quilt .
Options
dâextraction
--skip-debianization
Passe lâĂ©tape dâextraction de lâarchive tar debian des sources amont (depuis dpkg 1.15.1).
--skip-patches
Ne pas appliquer des correctifs Ă la fin de lâextraction (depuis dpkg 1.14.18).
Format : 3.0 (custom)
Pris en charge depuis dpkg 1.14.17. Ce format est particulier. Il ne reprĂ©sente pas un rĂ©el format de paquet source mais peut ĂȘtre utilisĂ© pour crĂ©er des paquets sources avec des fichiers arbitraires.
Options de construction
Tous les
arguments qui ne sont pas des options sont pris pour des
fichiers à intégrer dans le paquet source
généré. Ils doivent exister et
ĂȘtre de prĂ©fĂ©rence dans le
répertoire courant. Au moins un fichier doit
ĂȘtre donnĂ©.
--target-format=
valeur
Required . Définit le format réel du paquet source généré. Le fichier généré .dsc contiendra cette valeur dans son champ format et non « 3.0 (custom) ».
Format : 3.0 (git)
Pris en charge depuis dpkg 1.14.17. Ce format est expérimental.
Un paquet source qui utilise ce format est constituĂ© dâun seul ensemble dâun dĂ©pĂŽt git .git qui contient les sources du paquet. Il peut Ă©galement exister un fichier .gitshallow qui donne les rĂ©visions dâun clone git « shallow ».
Extraction
Cet ensemble est clonĂ© sous forme dâun dĂ©pĂŽt git dans le rĂ©pertoire cible. Sâil existe un fichier .gitshallow , il est installĂ© en tant que .git/shallow dans le dĂ©pĂŽt git clonĂ©.
Veuillez noter que, par dĂ©faut, le nouveau dĂ©pĂŽt aura la mĂȘme branche rĂ©cupĂ©rĂ©e que celle qui Ă©tait rĂ©cupĂ©rĂ©e dans les sources dâorigine (souvent « main » mais cela peut ĂȘtre tout Ă fait autre chose). Toutes les autres branches seront disponibles sous remotes/origin .
Construction
Avant dâaller plus loin, quelques vĂ©rifications sont effectuĂ©es afin de sâassurer quâil nâexiste aucun changement non ignorĂ© non soumis.
git-bundle (1) is used to generate a bundle of the git repository. By default, all branches and tags in the repository are included in the bundle.
Options de
construction
--git-ref=
réf
Allows specifying a git ref to include in the git bundle. Use disables the default behavior of including all branches and tags. May be specified multiple times. The ref can be the name of a branch or tag to include. It may also be any parameter that can be passed to git-rev-list (1). For example, to include only the main branch, use --git-ref= main. To include all tags and branches, except for the private branch, use --git-ref= --all --git-ref= Ëprivate
--git-depth= nombre
CrĂ©e un clone « shallow » dont lâhistorique est tronquĂ© au nombre indiquĂ© de rĂ©visions.
Format : 3.0 (bzr)
Pris en charge depuis dpkg 1.14.17. Ce format est expérimental. Il crée une archive tar contenant le dépÎt bzr correspondant.
Extraction
Lâarchive tar est dĂ©compressĂ©e puis bzr est utilisĂ© afin de rĂ©cupĂ©rer la branche courante.
Construction
Avant dâaller plus loin, quelques vĂ©rifications sont effectuĂ©es afin de sâassurer quâil nâexiste aucun changement non ignorĂ© non soumis.
Ensuite, la partie spĂ©cifique du rĂ©pertoire source du gestionnaire de versions est copiĂ©e dans un rĂ©pertoire temporaire. Avant que ce rĂ©pertoire temporaire ne soit empaquetĂ© dans une archive tar, divers nettoyages sont effectuĂ©s pour Ă©conomiser de lâespace.
DIAGNOSTICS
aucun format source indiqué dans debian/source/format
Le fichier debian/source/format devrait toujours exister et indiquer le format source souhaitĂ©. Pour prĂ©server la compatibilitĂ© avec dâanciennes versions, le format « 1.0 » est implicite quand le fichier nâexiste pas. Il est dĂ©conseillĂ© de dĂ©pendre de ce comportement qui pourrait ĂȘtre modifiĂ© dans de futures versions de dpkg-source , qui Ă©choueront alors en lâabsence dâune mention explicite de format.
Cela est dĂ» au fait que le format « 1.0 » nâest plus le format recommandĂ©, quâil est conseillĂ© de choisir un des formats les plus rĂ©cents (« 3.0 (quilt) » ou « 3.0 (native) ») mais que dpkg-source ne le fera pas automatiquement. Si vous souhaitez continuer Ă utiliser lâancien format, il est nĂ©cessaire dâĂȘtre explicite et indiquer « 1.0 » dans debian/source/format .
le fichier de différences modifie les fichiers amont suivants
Lors de lâutilisation du format source « 1.0 », il est dĂ©conseillĂ© de modifier directement les fichiers amont, car les modifications restent alors cachĂ©es et souvent non documentĂ©es dans le fichier diff.gz. Au contraire, il est conseillĂ© de conserver les modifications sous forme de correctifs dans le rĂ©pertoire debian et de les appliquer au moment de la construction. Pour Ă©viter ces opĂ©rations plus complexes, vous pouvez Ă©galement choisir le format « 3.0 (quilt) » qui permet ces opĂ©rations de maniĂšre native.
impossible dâidentifier les changements de fichier
Les modifications des sources amont sont en gĂ©nĂ©ral conservĂ©es dans des fichiers de correctifs mais certaines modifications ne peuvent ĂȘtre reprĂ©sentĂ©es sous forme de tels fichiers qui ne peuvent modifier que des fichiers texte. Si vous essayez de remplacer un fichier avec un objet dâun type diffĂ©rent (par exemple remplacer un fichier par un lien ou un rĂ©pertoire), ce message dâerreur sâaffichera.
le fichier fichier, nouvellement créé, ne sera pas représenté dans lefichier de différences
Les fichiers vides ne peuvent pas ĂȘtre créés avec des correctifs. En consĂ©quence, la modification nâest pas enregistrĂ©e dans le paquet source, ce qui provoque cet avertissement.
le mode exécutable permissions de fichier ne sera pas représenté dans lefichier de différences
Les fichiers de correctifs nâenregistrent pas les permissions de fichiers et, en consĂ©quence, les permissions des exĂ©cutables ne sont pas enregistrĂ©es dans le paquet source, ce qui provoque cet avertissement.
le mode spécial permissions de fichier ne sera pas représenté dans lefichier de différences
Les fichiers correctifs nâenregistrent pas les permissions de fichiers et, en consĂ©quence, les permissions modifiĂ©es ne sont pas enregistrĂ©es dans le paquet source, ce qui provoque cet avertissement.
ENVIRONNEMENT
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).
SOURCE_DATE_EPOCH
If set, it will be used as the timestamp (as seconds since the epoch) to clamp the mtime in the tar (5) file entries.
Since dpkg 1.18.11.
VISUAL
EDITOR
Utilisé par les modules de format source « 2.0 » et « 3.0 (quilt) ».
GIT_DIR
GIT_INDEX_FILE
GIT_OBJECT_DIRECTORY
GIT_ALTERNATE_OBJECT_DIRECTORIES
GIT_WORK_TREE
Utilisés par les modules de format source « 3.0 (git) ».
FICHIERS
debian/source/format
Ce fichier contient sur une seule ligne le format Ă utiliser pour construire le paquet source (les formats acceptĂ©s sont dĂ©crits plus haut). Il ne doit pas contenir dâespace avant ou aprĂšs lâindication du format.
debian/source/include-binaries
Ce fichier contient une liste de chemin de fichiers binaires (un par ligne) relatifs au rĂ©pertoire racine source qui doivent ĂȘtre inclus dans lâarchive tar debian. Les espaces placĂ©es avant ou aprĂšs ces noms sont supprimĂ©es. Les lignes commençant par « # » sont des commentaires et sont ignorĂ©es, ainsi que les lignes vides.
debian/source/options
Ce fichier contient la liste des options qui seront automatiquement ajoutĂ©es au jeu dâoptions de ligne de commande lors de lâappel Ă dpkg-source --build ou dpkg-source --print-format . Des options comme --compression et --compression-level conviennent bien pour ce fichier.
Chaque option doit ĂȘtre placĂ©e sur une ligne distincte. Les lignes vides et les lignes commençant par le caractĂšre « # » sont ignorĂ©es. Les caractĂšres initiaux « -- » doivent ĂȘtre retirĂ©s et les options courtes ne peuvent pas ĂȘtre utilisĂ©es. Des espaces optionnelles sont autorisĂ©es autour du symbole « = », ainsi que des guillemets optionnels autour de la valeur dâune option donnĂ©e. Voici un exemple dâun tel fichier :
# autoriser
dpkg-source à créer un fichier debian.tar.bz2
avec la
#compression maximale
compression = "bzip2"
compression-level = 9
# utiliser debian/patches/debian-changes comme correctif
automatique
single-debian-patch
# ignorer les modifications dans config.{sub,guess}
extend-diff-ignore =
"(Ë|/)(config.sub|config.guess)$"
Note : format options are not accepted in this file, you should use debian/source/format instead.
debian/source/local-options
Identique Ă debian/source/options mais nâest pas enregistrĂ© dans le paquet source créé. Ce fichier peut ĂȘtre utile pour conserver une prĂ©fĂ©rence propre au responsable ou au dĂ©pĂŽt de gestionnaire de versions oĂč le paquet source est gĂ©rĂ©.
debian/source/local-patch-header
debian/source/patch-header
Texte en format libre qui sera ajoutĂ© au dĂ©but du correctif automatique créé dans les formats « 2.0 » et « 3.0 (quilt) ». local-patch-header nâest pas inclus dans le paquet source créé alors que patch-header lâest.
debian/patches/distributeur.series
debian/patches/series
Ce fichier comporte la liste de toutes les correctifs qui ont Ă©tĂ© appliquĂ©s (dans lâordre indiquĂ©) aux sources amont. Les espaces situĂ©es avant et aprĂšs les noms sont ignorĂ©es. Lâargument distributeur sera le nom en minuscules du distributeur ou debian si aucun distributeur nâest dĂ©fini. Si le fichier de sĂ©ries propre au distributeur nâexiste pas, le fichier de sĂ©ries sans distributeur sera utilisĂ©. Les lignes commençant par « # » sont des commentaires et sont ignorĂ©es, ainsi que les lignes vides. Les autres lignes dĂ©butent par le nom du fichier de correctifs (relatif au rĂ©pertoire debian/patches/ ) et se terminent Ă la premiĂšre espace ou Ă la fin de la ligne. Des options facultatives de quilt peuvent ĂȘtre ajoutĂ©es jusquâĂ la fin de la ligne ou jusquâau premier caractĂšre « # » prĂ©cĂ©dĂ© par une ou plusieurs espaces (ce qui indique le dĂ©but dâun commentaire se terminant Ă la fin de la ligne).
SECURITY
Examining untrusted source packages or extracting them into staging directories should be considered a security boundary, and any breakage of that boundary stemming from these operations should be considered a security vulnerability. But handling untrusted source packages should not be done lightly, as the surface area includes any compression command supported, commands to handle specific data formats (such as tar (1) or patch (1)) in addition to the source package formats and control files themselves. Performing these operations over untrusted data as root is strongly discouraged.
Building source packages should only be performed over trusted data.
BOGUES
Le moment oĂč se dĂ©roule le remplacement dâun champ par rapport Ă certaines dĂ©terminations de champ affichĂ©es sur la sortie standard est plutĂŽt embrouillĂ©.
VOIR AUSSI
deb-src-control (5), deb-changelog (5), deb-substvars (5), dsc (5).
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>.