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
où 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.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.