[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ suivant ]
Une fois un paquet publié, il sera nécessaire de le mettre à jour assez vite.
Soit un rapport de bogue numéroté #54321, concernant votre paquet et décrivant un problème que vous pouvez résoudre. Pour créer une nouvelle révision du paquet, vous devez :
pour un nouveau correctif :
configurer le nom du correctif : « quilt new nomdubogue.patch » ;
déclarer le fichier à modifier : « quilt add fichier-bogué » ;
corriger le problème dans le paquet source pour le bogue amont ;
l'enregistrer en nomdubogue.patch
:
« quilt refresh » ;
ajouter sa description : « quilt header -e » ;
pour la mise à jour d'un correctif :
rappeler le correctif toto.patch
existant :
« quilt pop toto.patch » ;
corriger le problème dans l'ancien toto.patch
;
mettre à jour toto.patch
: « quilt
refresh » ;
mettre à jour sa description : « quilt header -e » ;
appliquer tous les correctifs en enlevant les approximations (« fuzz ») : « while quilt push; do quilt refresh; done » ;
ajouter une nouvelle révision au début du fichier changelog
Debian, par exemple avec « dch -i », ou explicitement
avec « dch -v
version-revision », et ajoutez ensuite les
commentaires en utilisant votre éditeur favori ;[53]
ajoutez une courte description du bogue et de la solution dans l'entrée du changelog, suivie par « Closes: #54321 ». De cette manière, le rapport de bogue sera automatiquement fermé par le logiciel de maintenance des archives une fois le paquet accepté dans l'archive Debian ;
répéter les opérations précédentes pour corriger plus de bogues tout en
mettant à jour le fichier changelog
avec
« dch » selon votre besoin ;
recommencer ce que vous aviez fait dans Reconstruction complète, Section 6.1, Contrôle des erreurs du paquet, Chapitre 7, et Envoi de paquet, Chapitre 8. La différence est que cette fois, l'archive des sources originales ne sera pas incluse, car elle n'a pas été changée et est déjà dans l'archive Debian.
Lors de la préparation de paquets d'une nouvelle version amont pour l'archive Debian, vous devez commencer par vérifier la nouvelle version amont.
Commencez par lire les changelog
et NEWS
amonts,
ainsi que toute autre documentation distribuée avec la nouvelle version.
Examinez ensuite les modifications entre les anciennes et nouvelles sources amont, pour guetter tout changement suspect :
$ diff -urN toto-ancienneversion toto-nouvelleversion
Les modifications de certains fichiers automatiquement créés par Autotools
comme missing
, aclocal.m4
, config.guess
,
config.h.in
, config.sub
, configure
,
depcomp
, install-sh
, ltmain.sh
et
Makefile.in
peuvent être ignorées. Vous pouvez les effacer
avant d'exécuter diff
pour examiner les sources.
Si un paquet toto
est correctement empaqueté au
nouveau format 3.0 (native) ou 3.0 (quilt),
empaqueter une nouvelle version amont consiste essentiellement à déplacer
l'ancien répertoire debian
dans les nouvelles sources. Ce peut
être réalisé en exécutant « tar xvzf
/chemin/vers/toto_ancienneversion.debian.tar.gz »
depuis la nouvelle arborescence source décompressée. [54] Bien sûr, vous devez vous
occuper de quelques routines évidentes :
création d'une copie des sources amont dans un fichier
toto_nouvelleversion.tar.gz
;
mise à jour du ficher changelog
Debian avec « dch -v
nouvelleversion-1 » :
ajout d'une entrée avec « New upstream release. » (nouvelle version amont) ;
description succincte des modifications dans la nouvelle version amont qui règlent des bogues et ferment les rapports associés ;
description succincte des modifications à la nouvelle version amont par le responsable qui règlent des bogues et ferment les rapports associés ;
application de tous les correctifs en enlevant les approximations (« fuzz ») : « while quilt push; do quilt refresh; done ».
Si la fusion des correctifs ne s'applique pas proprement, examinez la situation
(des indices sont laissés dans les fichiers .rej
) :
si un correctif appliqué aux sources a été intégré aux sources amont :
« quilt delete » pour l'enlever ;
si un correctif appliqué aux sources entre en confit avec les nouvelles modifications des sources amont :
« quilt push -f » pour appliquer les anciens correctifs tout en
forçant les rejets comme truc.rej
;
édition manuelle du fichier truc
pour obtenir le
résultat attendu de truc.rej
;
« quilt refresh » pour mettre à jour le correctif ;
continuer jusqu'à « while quilt push; do quilt refresh; done ».
Cette méthode peut être automatisé avec uupdate(1)
:
$ apt-get source foo ... dpkg-source: info: extraction de toto dans toto-ancienneversion dpkg-source: info: extraction de toto_ancienneversion.orig.tar.gz dpkg-source: info: extraction de toto_ancienneversion-1.debian.tar.gz $ ls -F toto-ancienneversion/ toto_ancienneversion-1.debian.tar.gz toto_ancienneversion-1.dsc toto_ancienneversion.orig.tar.gz $ wget http://example.org/toto/toto-nouvelleversion.tar.gz $ cd toto-ancienneversion $ uupdate -v nouvelleversion ../toto-nouvelleversion.tar.gz $ cd ../toto-nouvelleversion $ while quilt push; do quilt refresh; done $ dch ... documentation des modifications réalisées
Si le fichier debian/watch
est configuré comme décrit en Fichier watch
, Section 5.20,
la commande wget
est inutile. Exécutez simplement
uscan(1)
dans le répertoire
toto-ancienneversion
à la place de la
commande uupdate
suffit. Les sources mises à jour seront
automatiquement recherchées, téléchargées, et la commande
uupdate
sera exécutée. [55]
Vous pouvez publier ces sources mises à jour en recommençant ce qui a été fait en Reconstruction complète, Section 6.1, Contrôle des erreurs du paquet, Chapitre 7 et Envoi de paquet, Chapitre 8.
La mise à jour du style d'empaquetage n'est pas nécessaire lors de la mise à
jour d'un paquet. Néanmoins, vous pouvez profiter de tout le potentiel du
système debhelper
moderne et du format source 3.0 en
même temps : [56]
si vous devez, pour quelque raison que ce soit, ajouter des fichiers modèles
qui avaient été effacés, pour pouvez exécuter dh_make
à
nouveau depuis le répertoire des sources Debian, avec l'option
--addmissing. Puis modifier les correctement ;
si le paquet n'a pas été mis à jour pour utiliser la syntaxe dh
de debhelper
V7 dans le fichier debian/rules
,
mettez-le à jour pour utiliser dh
. Mettez à jour le fichier
debian/control
en conséquence ;
si vous voulez mettre à jour le fichier rules
créé avec le
mécanisme d'héritage Makefile
du système de compilation usuel
Debian (cdbs
) vers la syntaxe dh
, voyez
/usr/share/doc/cdbs/cdbs-doc.html
et comprenez ses variables de
configuration DEB_* ; [57]
si vous avez un paquet source 1.0 sans fichier
toto.diff.gz
, vous pouvez le mettre à jour au récent
format source 3.0 (native) en créant
debian/source/format
contenant
« 3.0 (native) ». Le reste des fichiers
debian/*
peut être simplement copié ;
si vous avez un paquet source 1.0 avec fichier
toto.diff.gz
, vous pouvez le mettre à jour au récent
format source 3.0 (quilt) en créant
debian/source/format
contenant
« 3.0 (quilt) ». Le reste des fichiers
debian/*
peut être simplement copié. Importez le fichier
gros.diff
généré par la commande « filterdiff -z -x
'*/debian/*' toto.diff.gz > gros.diff » dans votre
système quilt
, au besoin ; [58]
si l'empaquetage a été créé avec un autre système de correctif comme
dpatch
, dbs
ou cdbs
avec
-p0, -p1 ou -p2, convertissez-le à la
commande quilt
avec deb3
disponible en http://bugs.debian.org/581186
;
si l'empaquetage a été créé avec la commande dh
et le
paramètre « --with quilt » ou les commandes
dh_quilt_patch
et dh_quilt_unpatch
, enlevez ces
choses et utilisez le nouveau format source 3.0 (native).
D'autres tâches décrites en Nouvelle version amont, Section 9.3 sont aussi à effectuer.
Voici quelques rappels pour la mise à jour de paquets :
préservez les anciennes entrées changelog
(cela va de soit, mais
il y a déjà eu des incidents du genre « dch » alors
qu'il aurait fallu taper « dch -i ») ;
les modifications Debian existantes doivent être réévaluées ; jetez tout ce qui a été incorporé en amont (sous une forme ou une autre), et souvenez-vous de garder ce qui ne l'a pas été, à moins qu'il n'y ait une bonne raison de ne pas le faire ;
si le système de construction a été modifié (avec un peu de chance, vous
êtes au courant depuis l'inspection des modifications amont), mettez à jour
les dépendances de construction debian/rules
et
debian/control
, si besoin est ;
vérifiez dans le système de
gestion de bogues (BTS)
que personne n'a fourni de correctifs aux
bogues ouverts ;
vérifiez le contenu du fichier .changes
pour vous assurer que
vous envoyez vers la bonne distribution, que les rapports de bogues refermés
sont correctement listés dans les champs Closes, que les champs
Maintainer et Changed-By correspondent, que le
fichier est signé avec GPG, etc.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ suivant ]
Guide du nouveau responsable Debian
version 1.2.25, 2010-12-22 12:44:34 UTCjoy-mg@debian.org
frederic.dumont@easynet.be
adn+deb@diwi.org
david@tilapin.org
debian-l10n-french@lists.debian.org