Ubuntu logo

Packaging Guide

7. Envoi d’un paquet

Once your merge proposal is reviewed and approved, you will want to upload your package, either to the archive (if you have permission) or to your Personal Package Archive (PPA). You might also want to do an upload if you are sponsoring someone else’s changes.

7.1. Envoi d’une de vos modifications

Lorsque vous avez une branche avec un changement que vous souhaitez envoyer, vous devez de nouveau obtenir ce changement sur la branche principale source, construire un paquet source, puis le télécharger.

En premier lieu, vérifiez si vous avez la dernière version du paquet dans votre extraction du tronc de paquet en développement :

$ cd tomboy/tomboy.dev
$ bzr pull

Cela récupère tout changement pouvant avoir été soumis pendant que vous mettiez votre correctif au point. A partir de ce point, vous disposez de plusieurs options. Si les modifications sur le tronc sont importantes et que vous pensez qu’elles devraient être testées en même temps que vos modifications, vous pouvez les fusionner dans votre branche de correction de bogue et tester là-bas. Dans le cas contraire, vous pouvez continuer à fusionner votre branche de correction de bogue dans la branche du tronc en développement. Avec bzr 2.5 et bzr-builddeb 2.8.1, cela fonctionne juste avec la commande merge :

$ bzr merge ../bug-12345

Pour les versions plus anciennes de bzr, vous pouvez utiliser la commande merge-package à la place :

$ bzr merge-package ../bug-12345

Cela fusionnera les deux arbres, éventuellement en produisant des conflits, que vous devrez résoudre manuellement.

Ensuite, vous devriez vous assurer que le debian/changelog est comme vous le souhaitez, avec une distribution conforme, un numéro de version correct, etc.

Une fois que c’est fait, vous devriez examiner la modification que vous êtes sur le point d’engager avec bzr diff. Cela devrait vous montrer les mêmes changements qu’un debdiff ferait avant de télécharger le paquet source.

L’étape suivante consiste à construire et tester le paquet source modifié comme vous le feriez normalement :

$ bzr builddeb -S

Lorsque vous êtes finalement satisfait avec votre branche, assurez-vous d’avoir engagé toutes vos modifications, puis marquez la branche avec le numéro de version du changelog. La commande bzr tag le fera pour vous automatiquement lorsqu’elle n’a aucun argument fourni :

$ bzr tag

Cette balise indique à l’importateur du paquet que le contenu de la branche Bazaar est le même que celui de l’archive.

Maintenant, vous pouvez publier de nouveau vos modifications dans Launchpad :

$ bzr push ubuntu:tomboy

(Modifiez la destination si vous télécharger une SRU ou similaire.)

Vous avez encore une dernière étape pour obtenir le téléchargement de vos modifications vers Ubuntu ou votre PPA; vous devez exécuter dput sur le paquet source vers l’emplacement approprié. Par exemple, si vous souhaitez télécharger vos modifications vers votre PPA, vous lancerez :

$ dput ppa:imasponsor/myppa tomboy_1.5.2-1ubuntu5_source.changes

ou, si vous avez la permission de téléverser vers l’archive principale:

$ dput tomboy_1.5.2-1ubuntu5_source.changes

Vous êtes maintenant libre de supprimer votre branche de fonction, puisqu’elle est fusionnée, et peut être re-téléchargée à partir de Launchpad si nécessaire.

7.2. Parrainage d’un changement

Parrainer les modifications de quelqu’un d’autre est exactement identique à la procédure décrite ci-dessus, mais au lieu de fusionner depuis une branche que vous créez, vous fusionnez depuis la branche créée dans la proposition de fusion :

$ bzr merge lp:~subgenius/ubuntu/trusty/tomboy/bug-12345

Si de trop nombreux conflits de fusion apparaissent, vous devrez probablement demander au contributeur de les corriger. Regardez le prochain paragraphe pour apprendre à annuler une fusion en attente.

Mais si les modifications paraissent correctes, engagez et suivez le reste du processus de téléversement :

$ bzr commit --author "Bob Dobbs <subgenius@example.com>"

7.3. Annulation d’un téléchargement

À tout moment avant d’exécuter dput sur le paquet source, vous pouvez décider d’annuler un téléchargement et de revenir sur les modifications :

$ bzr revert

Vous pouvez le faire si vous constatez que quelque chose semble nécessiter plus de travail, ou si vous souhaitez demander au contributeur de résoudre des conflits quand vous parrainez quelque chose.

7.4. Parrainer quelque chose et effectuer vos propres modifications

Si vous vous apprêtez à parrainer le travail de quelqu’un, mais que vous souhaitez y apporter quelques changements de votre propre initiative, alors vous pouvez au préalable fusionner son travail en une branche séparée.

Si vous possédez déjà une branche dans laquelle vous mettez au point un paquet, et que vous souhaitez inclure ses modifications, exécutez simplement la commande bzr merge depuis cette branche, au lieu d’extraire depuis le paquet en développement. Vous pouvez ensuite effectuer les modifications, puis engager et continuer avec vos modifications apportées au paquet.

Si vous ne possédez pas de branche existante, mais que vous aimeriez apporter des changements basés sur ce que le contributeur a fourni, alors vous devez commencer par récupérer sa branche :

$ bzr branch lp:~subgenius/ubuntu/trusty/tomboy/bug-12345

ensuite, travaillez dans cette branche, puis fusionnez-la à la branche principale et téléchargez-la comme si c’était votre propre travail. Le contributeur est toujours mentionné dans le changelog et Bazaar attribue correctement les modifications à celui qui les a réalisées.