[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ suivant ]
Disons qu'un rapport de bogue a été rempli pour votre paquet, #54321, et qu'il décrit un problème que vous pouvez résoudre. Pour créer une nouvelle révision du paquet, vous devez :
Corriger le problème dans le paquet source, bien sûr.
Ajouter une nouvelle révision au sommet 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.
Astuce : comment obtenir facilement la date au format requis ? Utilisez « 822-date » ou « date -R ».
Ajoutez une courte description du bogue et de la solution dans l'entrée du changelog, suivie par ceci : « Closes: #54321 ». De cette manière, le rapport de bogue sera automatiquement fermé par le logiciel de maintenance des archives au moment où votre paquet sera accepté dans l'archive Debian.
Recommencez ce que vous aviez fait dans Reconstruction complète, Section 6.1, Contrôler les erreurs du paquet, Chapitre 7, et Envoyer votre 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.
Considérons maintenant une autre situation, légèrement plus compliquée – une nouvelle version amont est disponible, et bien sûr vous voulez en faire un paquet. Vous devez donc :
télécharger les sources et mettre l'archive source (par exemple nommée
« gentoo-0.9.13.tar.gz
») dans le répertoire au dessus
des anciennes sources (par exemple ~/gentoo/
) ;
entrer dans l'ancien répertoire source, et lancer :
uupdate -u gentoo-0.9.13.tar.gz
Bien sûr, remplacez le nom de fichier par celui de l'archive source de votre
programme. uupdate(1)
va correctement renommer cette archive,
essayer d'appliquer les modifications de votre précédent fichier
.diff.gz
, et mettre à jour le nouveau fichier
debian/changelog
;
aller dans le répertoire « ../gentoo-0.9.13
», l'arbre
des sources du nouveau paquet, et recommencer ce que vous aviez fait dans Reconstruction complète, Section
6.1, Contrôler les erreurs du paquet, Chapitre
7 et Envoyer votre paquet, Chapitre 8.
Remarquez que si vous configurez « debian/watch
» comme
indiqué dans watch.ex, Section 5.10,
vous pouvez lancer uscan(1)
pour automagiquement chercher les
nouvelles sources, les télécharger et exécuter uupdate
dessus.
Lorsque vous préparez des paquets pour l'archive Debian, vous devez vérifier les paquets en résultant en détail. Voici un exemple plus réaliste de cette procédure :
vérifiez les modification dans la source amont ;
lisez les changelog
et NEWS
amonts, ainsi que toute
autre documentation distribuée avec la nouvelle version ;
faites un « diff -urN » entre l'ancienne et la nouvelle source amont pour avoir une idée de l'étendue des modifications, où le travail est en cours (et donc où les nouveaux bogues sont susceptibles d'apparaître), et pour avoir à l'œil quoi que ce soit de suspect ;
portez l'ancien empaquetage Debian dans la nouvelle version ;
décompressez l'archive source et renommez la racine de l'arborescence source en
<nompaquet>-<version_amont>/
et
« cd » dans ce répertoire ;
copiez l'archive source et renommez-la en
<nompaquet>-<version_amont>.orig.tar.gz
;
appliquez les mêmes modifications au nouvel arbre source qu'à l'ancien. Les méthodes possibles sont ;:
la commande « zcat /path/to/<nompaquet>_<ancienne-version>.diff.gz | patch -p1 » ;
la commande « uupdate
» ;
la commande « svn merge » si vous gérez les sources dans un répertoire Subversion ;
simplement copier le répertoire debian/
de l'ancien arbre source
s'il a été empaqueté avec dpatch
.
préservez les anciennes entrées changelog (cela va de soit, mais il y a déjà eu des incidents...) ;
le nouveau numéro de version et le numéro de version amont ajouté au numéro de révision Debian -t, par exemple « `0.9.13-1 » ;
ajoutez une entrée changelog avec "New upstream release" pour cette
nouvelle version au sommet de debian/changelog
. Par exemple,
« dch -v 0.9.13-1 » ;
décrivez succinctement les modifications dans la nouvelle version amont qui fixent des bogues et qui ferment les rapports associés dans le changelog ;
décrivez succinctement les modifications à la nouvelle version amont par le responsable qui fixent des bogues rapportés et qui ferment les rapports dans le changelog ;
si les modifications/fusions[4]
ne s'appliquent pas proprement, inspectez la situation pour déterminer ce qui a
échoué (les indices sont dans les fichiers .rej
). La plupart du
temps, le problème est qu'une modification que vous aviez appliquée aux sources
a été intégrée en amont, et donc n'est plus pertinente ;
les mises à jour vers la nouvelle version devraient être silencieuses et non intrusives (les utilisateurs existants ne devraient pas remarquer la mise à jour à part en découvrant que de vieux bogues ont été résolus, et peut-être que de nouvelles fonctionnalités sont présentes) ; [5]
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
dans le même répertoire, déjà « debianisé », avec l'option
-o. Puis éditez les correctement ;
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é changé (avec un peu de chance, vous êtes au
courant depuis l'étape 1), mettez à jour les dépendances de construction
debian/rules
et debian/control
, si besoin est.
construisez le nouveau paquet comme expliqué dans La commande debuild
, Section
6.3 ou Le paquet
pbuilder
, Section 7.6. L'utilisation de pbuilder
est souhaitable ;
vérifiez que le nouveau paquet est construit correctement ;
effectuez Contrôler les erreurs du paquet, Chapitre 7 ;
effectuez Vérifier les mises à jour de paquet, Section 9.6 ;
vérifiez à nouveau si des bogues rapportés dans le système de suivi des bogues Debian (Bug
Tracking System BTS)
ont été résolus ;
vérifiez le contenu du fichier .changes pour vous assurer que vous téléchargez 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é GPG, etc. ;
si des modifications devaient être faites pour corriger quoi que ce soit dans l'empaquetage, recommencez à l'étape 2 jusqu'à obtenir satisfaction ;
si votre téléchargement doit être parrainé, souvenez-vous de noter toute option spéciale requise pour construire le paquet (comme « dpkg-buildpackage -sa -v ... ») et d'en informer votre parrain/marraine pour qu'il/elle construise le paquet correctement ;
si vous téléchargez vous-même, effectuez Envoyer votre paquet, Chapitre 8.
orig.tar
Si vous essayez de construire des paquets seulement à partir de la nouvelle
arborescence source avec le répertoire debian
sans le fichier
orig.tar.gz
dans le répertoire parent, vous aurez créé sans le
vouloir un paquet source natif, qui vient sans fichier diff.gz
.
Ce genre d'empaquetage n'est approprié que pour les paquets spécifiques à
Debian, qui ne seront jamais utiles dans une autre distribution. [6]
Pour obtenir un paquet source non natif qui contient à la fois le fichier
orig.tar.gz
et le fichier diff.gz
, vous devez copier
manuellement l'archive amont dans le répertoire parent avec son nom changé en
<nompaquet>_<version_amont>.orig.tar.gz
, comme l'avait
fait la commande dh_make
dans « Debianisation » initiale, Section
2.4.
cvs-buildpackage
et similairesVous devriez considérer l'usage d'un système de gestion de code source pour gérer l'activité d'empaquetage. Il y a plusieurs scripts qui sont personnalisés pour être utilisés avec les plus populaires.
CVS
cvs-buildpackage
Subversion
svn-buildpackage
Arch (tla)
tla-buildpackage
arch-buildpackage
Ces commandes automatisent aussi l'empaquetage de nouvelles versions amonts.
Quand vous construisez une nouvelle version du paquet, vous devriez toujours suivre cette procédure pour vérifier le paquet, pour être tranquillement mis à jour :
mettez à jour depuis la version précédente ;
revenez à la version précédente, puis retirez-la ;
installez le nouveau paquet ;
retirez-le et réinstallez-le à nouveau ;
purgez-le.
Si le paquet utilise des scripts pre/post/inst/rm non triviaux, veillez à tester leurs chemins de mises à jour.
Gardez à l'esprit que si votre paquet a été livré avec Debian, les gens vont souvent mettre à jour votre paquet à partir de la révision qui était dans la dernière version Debian. Souvenez-vous de tester aussi les mises à jour à partir de cette révision.
[ précédent ] [ Table des matières ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 10 ] [ A ] [ suivant ]
Guide du nouveau responsable Debian
version 1.2.3, 18 janvier 2005.joy-mg@debian.org
adn+deb@diwi.org
debian-l10n-french@lists.debian.org
frederic.dumont@easynet.be