[ 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-21 14:06:56 UTCjoy-mg@debian.orgfrederic.dumont@easynet.beadn+deb@diwi.orgdavid@tilapin.orgdebian-l10n-french@lists.debian.org