Provided by:
dpkg-dev_1.15.4ubuntu2_all 
NOM
dpkg-source - outil de manipulation des paquets sources Debian (.dsc).
SYNOPSIS
dpkg-source [options] commande
DESCRIPTION
dpkg-source empaquete ou dépaquete 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 fichier.dsc [répertoire-de-sortie]
Cette option sert à extraire un paquet source. On doit donner un
seul argument sans option : le nom du fichier de contrôle des
sources Debian (.dsc). Un deuxième argument sans option peut
être donné pour indiquer le répertoire où extraire le paquet
source, cela ne doit pas 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 le même système de
propriété et de permission que s’ils avaient été simplement
créés -- les répertoires et les fichiers exécutables auront un
système de permission égal à 0777 et les simples fichiers,
0666 ; ces deux systèmes étant modifiés par le masque 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 du système de propriété de ce 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 répertoire [paramètres-dans-un-format-spécifique]
Construit un paquet source. Le premier argument non optionnel
est pris comme nom du répertoire contenant l’arborescence des
sources Debianisées (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
that works from this ordered list: the format(s) indicated with
the --format command-line option(s), the format indicated in
debian/source/format, "1.0", "3.0 (native)". See section SOURCE
PACKAGE FORMATS for an extensive description of the various
source package formats.
-h, --help
Affiche un message d’aide puis quitte.
--version
Affiche le numéro de version puis quitte.
OPTIONS DE CONSTRUCTION GENERIQUES
-cfichier/control
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.
-lfichier/changelog
Indique le fichier d’enregistrement des changements 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.
-Fformat-du-changelog
Donne le format du fichier changelog. Par défaut, c’est une
ligne spéciale, près de la fin du fichier, qui l’indique ;
sinon, on utilise le format classique debian.
--format=valeur
Essaie d’abord le format indiqué pour la construction du paquet
source. Si ce paramètre est donné plusieurs fois, les formats
sont essayés successivment dans l’ordre indiqué. Ce choix ne
remplace le format indiqué dans debian/source/format.
-Vnom=valeur
Fixe la valeur d’une variable de substitution. Consultez
deb-substvars(5) pour une discussion sur la valeur de
substitution.
-Tfichier/substvars
Lit les variables de substitution dans fichier-substvars ; par
défaut aucun fichier n’est lu.
-Dchamp=valeur
Remplace ou ajoute en sortie un champ dans le fichier de
contrôle.
-Uchamp
Supprime en sortie un champ dans le fichier de contrôle.
-Zcompression
Spécifie le niveau de compression à utiliser pour les fichiers
créés (archives et fichiers diffs). 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, et lzma. gzip étant l’option par
défaut.
-zniveau
Niveau de compression à utiliser. Comme avec -Z cela ne concerne
que les fichiers nouvellement créés. Les valeurs prises
possibles sont les suivantes : 1 Ã 9, best, et fast. 9 est la
valeur par défaut.
-i[regexp]
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». 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. L’option -i active cette fonction avec une
expression régulière qui couvre les fichiers de contrôle des
plus usuels systèmes de gestion de version, les fichiers de
sauvegardes, les fichiers d’échange et les répertoires utilisés
par Libtool. Il ne peut y avoir qu’une seule expression
rationnelle active ; 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 révision 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’(^|/)’,
’($|/)’).
-I[motif-de-fichier]
Avec cette option, le fichier est passé à l’option tar(1) quand
on veut créer un fichier .orig.tar.gz ou .tar.gz. Par exemple,
-ICVS fera que tar sautera les répertoires du CVS quand il doit
créer un fichier .tar.gz. On peut répéter cette option pour
exclure plusieurs fichiers.
-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 : même si elles ont des rôles similaires, -i et -I ont une syntaxe
et une sémantique très différentes. -i ne peut être spécifié qu’une
fois et reçoit une expression rationnelle compatible avec le langage
Perl qui est appliquée sur chaque chemin relatif complet de chaque
fichier. I peut être spécifié plusieurs fois et prend un motif de nom
de fichier avec les méta-caractères du shell. Le motif est appliqué au
chemin relatif complet mais aussi à chaque partie du chemin
individuellement. La sémantique exacte de l’option « tar --exclude »
est un peu compliquée, voir
http://www.gnu.org/software/tar/manuel/tar.html#wildcards pour une
documentation plus complète.
L’expression régulière et le motif par défaut pour les deux options
peuvent être trouvés dans la sortie de la commande --help.
LES OPTIONS GENERIQUES POUR EXTRACTION
--no-copy
Ne pas copier l’archive originale près de l’extraction du paquet
source.
--no-check
Ne vérifie pas les signatures et les sommes de contrôle avant de
dépaqueter.
--require-valid-signature
Refuse de décompresser le paquet source s’il ne contient pas de
signature OpenPGP pouvant être vérifiée 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 et
/usr/share/keyrings/debian-maintainers.gpg).
FORMATS DE PAQUET SOURCE
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").
Extracting
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 contenues dans le .diff.gz. La date de tous les fichiers
correctifs est celle du moment où a eu lieu l’extraction depuis le
paquet source (cela évite les heures fausses 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é là ).
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 originale dans un répertoire séparé
".orig" puis régénérer le .diff.gz en comparant le répertoire du paquet
source avec répertoire ".orig".
Options de construction (avec -b):
Si l’on donne un second argument, ce sera le nom du répertoire source
original 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 » concernant sa « debianisation ». S’il n’y a pas de second
argument, et selon les autres arguments donnés, dpkg-source cherche le
fichier « tar » des sources originelles
paquet_version-originelle.orig.tar.gz ou bien le répertoire source
originel 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 Quand on spécifie en fichier source d’origine un fichier
« tar » ; par défaut,
paquet_version-originelle.orig.tarextension. 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-originelle.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, une mauvaise archive source en résulte.
-sn Indique de ne pas chercher de source originel 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 originel distinct et donc pas de fichier
« diff » de debianisation.
-sa or -sA
Indique comme source originel 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 dépaqueté et dpkg-source crée le source originel
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.
options dâ€â€™extractions (avec -x):
Dans tous ces cas, l’arborescence existante du source originel est
supprimée.
-sp Quand on extrait le source originel (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.
(Ceci est le comportement par défaut).
-su Dépaquetage de l’arborescence du source originel.
-sn Assure que le source originel ne sera ni copié dans le
répertoire en cours, ni dépaqueté. Si une arborescence source
originelle est présente dans le répertoire courant, elle est
toujours supprimée.
Toutes les options -sX 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.
Format: 2.0
Aussi connu sous le nom de « wig&pen ». Ce format n’est pas recommandé
afin d’assurer une utilisation massive du format "3.0 (quilt)" qui le
remplace. Wig&pen a été la première spécification d’une nouvelle
génération de format de paquet source.
Le comportement de ce format est le même que pour le format "3.0
(quilt)" sauf qu’il n’utilise pas de liste explicite de correctifs.
Tous les fichiers dans debian/patches/ correspondant à l’expression
rationnelle Perl [\w-]+ doivent être des correctifs valides : ils sont
appliqués au moment de l’extraction.
Lors de la construction d’un nouveau paquet source, toute modification
apportée à la source amont est enregistré dans un correctif nommé
zz_debian-diff-auto.
Format: 3.0 (native)
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 VCS ainsi que de nombreux
fichiers temporaires (voir la valeur par défaut associé à l’option -I
dans la sortie de --help).
Format: 3.0 (quilt)
Un paquet source dans ce format contient au moins une archive tar
d’origine (.orig.tar.ext où ext peut être gz, bz2 et lzma), 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 et de tirets (« - »).
Extracting
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 par dessus le 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
il peut également contenir des fichiers binaires en dehors de ce
répertoire (voir l’option --include-binaries).
Toutes les modifications figurant dans debian/patches/debian.series ou
debian/patches/series sont alors appliquées. Si l’ancien fichier est
utilisé et qu’il n’y a pas de plus récent (ou que 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 patches. Notez toutefois que si
dpkg-source analyse correctement une série de fichiers avec les options
utilisées pour l’application du correctif (stockées sur chaque ligne
après le nom du patch et d’un ou plusieurs espaces), il n’ignore pas
cesoptions et s’attendra toujours que les correctifs puissent être
appliqués avec l’option -p1 de patch. Il va donc émettre un
avertissement lorsqu’il rencontre ces options, et la construction est
susceptible d’échouer.
Similaire au comportement par défaut de « quilt », les modifications
peuvent aussi supprimer des fichiers.
Le fichier debian/patches/.dpkg-source-applied 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 toutes les mises à jour sauf
debian-changes-version sont appliquées. Le répertoire temporaire est
comparé à celui du paquet source et le diff (s’il est non vide) est
stocké dans debian/patches/debian-changes-version. Tout changement dans
un fichier binaire ne peut être indiqué dans le diff et va déboucher
sur un échec à moins que le mainteneur 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 sans être indiqué dans la liste blanche 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 patch.
Note : dpkg-source s’attend à ce que l’arbre source ait toutes les
corrections d’appliquées lorsque vous créez le paquet source. Ce n’est
pas le cas lorsque l’arbre source a été obtenu par le dépaquetage d’un
paquet source utilisant le format : 1.0 par exemple. Pour réduire le
problème, dpkg-source appliquera les corrections lui-même s’il détecte
qu’elles ne l’ont pas été. Pour effectuer cette détection, il suit le
raisonnement suivant : si un sous-répertoire pc est détecté, il lancera
la commande quilt unapplied pour contrôler si toutes les corrections
ont été appliquées. Ensuite, il tente d’appliquer la première
correction de la série (ou la premiére correction retournée par la
commande quilt unapplied) et contrôle si elle peut être appliquée sans
erreurs. Si ce contrôle réussit, il conclut que les corrections n’ont
pas été appliquées et les applique toutes. L’option --no-preparation
peut être utilisée pour désactiver ce comportement.
Options de construction
--include-removal
Ne pas ignorer les fichiers supprimés et les inclure dans le
fichier de modification généré automatiquement.
--include-timestamp
Inclure la date dans le patch généré automatiquement.
--include-binaries
Ajouter tous les binaires modifiés dans l’archive tar debian.
Les ajouter aussi à debian/source/include-binaries : elles
seront ajoutées par défaut dans les constructions
correspondantes aussi cette option n’est donc plus nécessaire.
--no-preparation
Ne pas essayer de préparer l’arbre de la construction en
appliquant les correctifs qui ne lui sont apparemment pas
appliqués.
Options dâ€â€™extraction
--skip-debianization
Passe l’étape d’extraction de l’archive tar debian par dessus
les sources amont
--skip-patches
Ne pas appliquer des correctifs à la fin de l’extraction.
--without-quilt
Ne pas utiliser « quilt » afin d’appliquer des correctifs, mais
le code même de dpkg-source. Il ne sera pas possible d’utiliser
directement «quilt » sur le répertoire dépaqueté mais il sera
libre d’en faire usage sur les fichiers temporaires.
Format: 3.0 (custom)
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) et 3.0 (bzr)
Ces formats sont à titre expérimental. Ils génèrent une archive tar
contenant le référentiel VCS correspondant.
Extracting
L’archive tar est décompressée puis le VCS est utilisé afin de vérifier
la branche de la version courante.
Construction
Avant d’aller plus loin, quelques vérifications sont effectuées afin de
s’assurer que nous n’avons pas de changements non-soumis à ne pas
ignorer.
Ensuite, la partie spécifique du répertoire source du VCS 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ées
pour économiser de l’espace.
FORMATS DE 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’espaces avant ou après l’indication du
format.
debian/source/include-binaries
Ce fichier contient une liste de fichiers binaires (un par ligne) qui
doivent être inclus dans l’archive tar debian. Les espaces placés avant
ou après ces noms sont supprimés. Les lignes commençant par « # » sont
des commentaires et sont ignorées, ainsi que les lignes vides.
debian/patches/series
Ce fichier comporte la liste de toutes les corrections qui ont été
appliquées (dans l’ordre indiqué) aux sources amont. Les espaces situés
avant et après les noms sont ignorés. 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 correction (relatif au
répertoire debian/patches/) qui se termine au premier espace ou à la
fin de la ligne. Des options facultatives de quilt peuvent être placées
jusqu’à la fin de la ligne ou jusqu’au premier caractère « # » précédé
par un ou plusieurs espaces (qui indique un commentaire qui se poursuit
jusqu’à la fin de la ligne).
BOGUES
Le moment où a lieu le remplacement d’un champ par rapport à certaines
déterminations de champ affichées sur la sortie standard est plutôt
embrouillé.
VOIR AUSSI
dpkg-deb(1), dpkg(1), dselect(1).
AUTEURS
Copyright © 1995-1996 Ian Jackson
Copyright © 2000 Wichert Akkerman
Copyright © 2008-2009 Raphaël Hertzog
Ce programme est un logiciel libre ; voyez la « GNU General Public
Licence » version 2 ou supérieure pour le copyright. Il n’y a PAS de
garantie.
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>.