Ubuntu logo

Packaging Guide

4. Obtenir la source

4.1. Les URLs des paquets source

Bazaar fournit quelques astucieux raccourcis pour accéder aux branches source Launchpad des paquets Ubuntu ou Debian.

Pour se référer aux branches source, utilisez :

ubuntu:package

paquet désigne le nom du paquet qui vous intéresse. Cette URL se réfère au paquet dans l’actuelle version de développement d’Ubuntu. Pour faire référence à la branche de Tomboy dans la version de développement, vous devez utiliser :

ubuntu:tomboy

To refer to the version of a source package in an older release of Ubuntu, just prefix the package name with the release’s code name. E.g. to refer to Tomboy’s source package in Saucy use:

ubuntu:saucy/tomboy

Puisqu’il est unique, vous pouvez aussi abréger le nom de série de la distribution :

ubuntu:s/tomboy

Vous pouvez utiliser un schéma similaire pour accéder aux branches source dans Debian, bien qu’il n’y ait pas de raccourci pour les noms de série de distribution. Pour accéder à la branche Tomboy dans les actuelles séries en développement pour Debian, utilisez :

debianlp:tomboy

et pour accéder à Tomboy dans Debian Wheezy utilisez :

debianlp:wheezy/tomboy

4.2. Obtenir les sources

Chaque paquet source dans Ubuntu a une branche source associée sur Launchpad. Ces branches source sont mises à jour automatiquement par Launchpad, même si le processus n’est actuellement pas infaillible.

Il existe plusieurs choses à faire en premier pour rendre la force de travail plus efficace ultérieurement. Une fois que vous serez habitué à ce processus, vous apprendrez à quel moment il est possible de se passer de ces étapes.

4.2.1. Création d’un dépôt partagé

Dites que vous voulez travailler sur le paquet Tomboy, et que vous avez vérifié que le paquet source s’appelle tomboy. Avant de réellement brancher le code de Tomboy, créez un dépôt partagé pour maintenir les branches de ce paquet. Le dépôt partagé rendra le travail futur beaucoup plus efficace.

Faites-le en utilisant la commande bzr init-repo, en lui passant le nom du répertoire que nous souhaitons utiliser :

$ bzr init-repo tomboy

Vous verrez un répertoire tomboy créé dans votre espace de travail courant. Allez dans ce nouveau répertoire pour le reste de votre travail :

$ cd tomboy

4.2.2. Obtenir la branche commune

Nous utilisons la commande bzr branch pour créer une branche locale du paquet. Nous allons nommer le répertoire cible tomboy.dev juste pour faciliter sa mémorisation :

$ bzr branch ubuntu:tomboy tomboy.dev

Le répertoire tomboy.dev représente la version de Tomboy dans la version de développement d’Ubuntu, et vous pouvez toujours vous placer avec cd dans ce répertoire et lancer un bzr pull pour obtenir les éventuelles mises à jour ultérieures.

4.2.3. S’assurer que la version est à jour

Lorsque vous lancez votre bzr branch, vous recevez un message vous indiquant si la branche du paquet est à jour. Par exemple :

$ bzr branch ubuntu:tomboy
Most recent Ubuntu version: 1.8.0-1ubuntu1.2
Packaging branch status: CURRENT
Branched 86 revisions.

Parfois, l’importation échoue et les branches de paquets ne correspondent pas à ce qui est dans l’archive. Un message disant :

Packaging branch status: OUT-OF-DATE

means the importer has failed. You can find out why on http://package-import.ubuntu.com/status/ and file a bug on the UDD project to get the issue resolved.

4.2.4. Archive de l’amont

Vous pouvez obtenir l’archive de l’amont en exécutant :

bzr get-orig-source

Ceci essayera un certain nombre de méthodes pour obtenir l’archive de l’amont, d’une part en la recréant à partir de la balise upstream-x.y de l’archive bzr, puis en la téléchargeant à partir de l’archive Ubuntu, enfin en exécutant debian/rules get-orig-source. L’archive de l’amont sera alors recréée en utilisant bzr pour construire le paquet :

bzr builddeb

The builddeb plugin has several configuration options.

4.2.5. Obtenir une branche pour une version particulière

When you want to do something like a stable release update (SRU), or you just want to examine the code in an old release, you’ll want to grab the branch corresponding to a particular Ubuntu release. For example, to get the Tomboy package for Quantal do:

$ bzr branch ubuntu:m/tomboy quantal

4.2.6. Importation d’un paquet source Debian

Si le paquet sur lequel vous souhaitez travailler est disponible dans Debian et pas dans Ubuntu, il est toujours simple d’en importer le code vers une branche bzr locale de développement. Disons que vous souhaitez importer le paquet source newpackage. Nous commençons par créer un dépôt partagé comme d’habitude, mais nous devons également créer une arborescence de travail vers laquelle sera importée le paquet source (rappelez-vous de sortir du répertoire tomboy créé ci-dessus) :

$ bzr init-repo newpackage
$ cd newpackage
$ bzr init debian
$ cd debian
$ bzr import-dsc http://ftp.de.debian.org/debian/pool/main/n/newpackage/newpackage_1.0-1.dsc

Comme vous pouvez le voir, nous devons juste indiquer l’emplacement distant du fichier dsc, et Bazaar fera le reste. Vous avez désormais une branche source Bazaar.