Traduction(s): English - Français


Ce que vous devriez savoir pour participer à votre première chasse aux bogues (BSP) !

Note: ceci est un brouillon rédigé par une personne qui n'avait jamais résolu de bogues auparavant ... donc tout ajout, amélioration, etc sont les bienvenus.

Choisir un bogue critique (release critical - RC)

La première chose à faire est naturellement que vous trouviez un bogue. Si vous découvrez le principe de la chasse aux bogues, il peut être compliqué de trouver le bogue qui correspond à vos capacités. Vous trouverez ici un guide sur comment choisir un bogue critique pour la sortie de la prochaine version à votre portée. Une liste de bogues critiques peut être trouvée sur le site bugs.debian.org. Cependant une liste plus souple est disponible sur le site udd.debian.org.

Une bonne méthode pour porter votre attention sur une liste plus courte des bogues critiques qui vous intéressent et de démarrer le système Debian que vous utilisez le plus souvent (votre portable votre ordinateur de bureau ou votre serveur) et exécutez la commande 'rc-alert' que vous trouverez dans le paquet devscripts package. Si vous voulez vous concentrer sur les bogues qui sont toujours ouverts dans la distribution unstable, exécutez la commande rc-alert -d U ou lisez la page du manuel pour trouver d'autres options de tri ou de filtre.

S'attribuer un bogue

Avant de commencer, vous devez annoncer votre intention de travailler sur un bogue sur le canal IRC #debian-bugs (on irc.debian.org) puis vous l'attribuer

bts claim <no du bogue> <votre@mél>

(bts est un outil en ligne de commande fourni par le paquet devscripts.)

Votre bogue sera alors marqué comme claimed sur http://udd.debian.org/bugs.cgi après un petit moment.

Résoudre un bogue

Récupérer les sources

Pour être sûr que vous récupérez les dernières sources du paquet, vérifiez la version du paquet sur les pages http://incoming.debian.org et http://packages.qa.debian.org. Allez dans le répertoire dans lequel vous voudrez éditer les sources et récupérez toutes les sources nécessaires avec :

dget -x [url du fichier .dsc]

(dget fait partie du paquet devscripts). Une manière alternative est de récupérer les sources avec apt :

apt-get source <paquet_source>

Pour cela, vous devez avoir une ligne deb-src pour unstable dans le fichier /etc/apt/sources.list.

Avant de faire vos essais

Dans le dossier du paquet, faites dch -i. Ceci appelle un éditeur avec un modèle de changelog préparé. D'abord, il faut définir le numéro de version selon le principe suivant (pour les upload de non-responsable de paquet) :

Sur la première ligne après la version du paquet, inscrivez la modification en tant qu'upload de non-responsable :

  * Non-maintainer upload

Sur les lignes suivantes, expliquez les changements réalisés, par exemple :

  * Fixed this and that (closes: #123456).

Note : Les upload de non-responsables ne devraient comporter que des modifications minimes et être liés uniquement à des bogues critiques.

Résoudre le bogue

Maintenant vous pouvez résoudre le bogue ! (Comment ? Les explications sur la résolution sortent du contexte de cette page.)

Construire le nouveau paquet source

Pour faire un nouveau paquet source, exécutez la commande suivante :

dpkg-buildpackage -us -uc -S

(Assurez-vous d'avoir incrémenté le numéro de révision du paquet avec dch comme mentionné plus haut, sans quoi le paquet source initial sera écrasé !)

Construire le nouveau paquet binaire

Note: Suivant le paquet, le paquet source peut entraîner la création d'un ou plusieurs paquets binaires.

Méthode rapide mais sale

Cette méthode permet de construire le paquet de manière rapide mais sale (pour faire des tests). Après avoir installé toutes les dépendances nécessaires à la construction du paquet (apt-get build-dep [package]) la commande :

fakeroot debian/rules binary

construit le .deb que vous pouvez installer pour tester (mais pas uploader).

Méthode avec pbuilder

La méthode recommandée utilise pbuilder pour plusieurs raisons :

Pour plus de détails sur pbuilder, lisez le manuel. Ici nous donnerons simplement les étapes nécessaires pour construire le paquet.

Vous pouvez utiliser la configuration par défaut en installant simplement les paquets pbuilder et cdebootstrap.

Premièrement, créez un chroot de base avec :

sudo pbuilder create

Ceci crée /var/cache/pbuilder/base.tgz. Comme cela nécessite le téléchargement de beaucoup de paquets, il sera peut-être intéressant d'ajouter un --mirror http://192.168.2.248/debian/ ou autre pour utiliser un cache local. Si vous avez déjà un chroot de base, mettez-le à jour avec :

sudo pbuilder update

Puis, dans le dossier du paquet exécutez pdebuild, ceci construit à la fois le nouveau paquet source et le(s) paquet(s) binaire(s). Le(s) paquet(s) créé(s) se trouvent dans /var/cache/pbuilder/result/.

Tester le nouveau paquet binaire

En utilisant pbuilder

Pour tester votre paquet fraîchement créé, installez-le dans votre chroot :

sudo pbuilder login --bindmounts /var/cache/pbuilder/result/

et dans le chroot :

dpkg -i /var/cache/pbuilder/result/*.deb

Si tout fonctionne, bravo ! Il ne reste qu'à envoyer le patch sur le Bug Tracking System (BTS) et voir comment uploader le paquet corrigé.

Upload du patch sur le BTS

Créez le fichier diff avec :

debdiff ancien-paquet.dsc nouveau-paquet.dsc > nouveau-paquet.diff

et envoyez-le (en pièce jointe) à [no du bogue]@bugs.debian.org avec quelques (aimables) explications si nécessaire.

Marquez le bogue comme "patch available" en exécutant :

bts tags [bugnumber] + patch

Upload du paquet corrigé

Il vous faut trouver un membre de Debian avec les droits d'upload - et si vous êtes l'un d'entre eux, faites l'upload !