Ubuntu logo

Packaging Guide

11. Empaquetage traditionnel

La majorité de ce guide traite du Développement Distribué d’Ubuntu (UDD) qui utilise le système de contrôle de version distribuée (DVCS) Bazaar pour récupérer les paquets sources et soumettre les correctifs à l’aide de fusions de propositions. Cet article va présenter ce que nous allons appeler les méthodes d’empaquetage traditionnelles, en l’absence d’une meilleure définition. Avant que Bazaar ne soit adopté pour le développement d’Ubuntu, celles-ci étaient les méthodes classiques pour contribuer à Ubuntu.

Dans certains cas, vous devrez peut-être utiliser ces outils au lieu de l’UDD. Ainsi, il est bon de s’y familiariser. Avant de commencer, vous devriez déjà avoir lu l’article Mise en place.

11.1. Obtenir la source

Afin d’obtenir un paquet source, vous pouvez simplement lancer :

$ apt-get source <package_name>

Cette méthode a cependant quelques inconvénients. Elle télécharge la version de la source disponible sur votre système. Vous exécutez très probablement la version stable actuelle, mais vous souhaitez contribuer aux modifications concernant les paquets dans la version de développement. Heureusement, le paquet ubuntu-dev-tools fournit un script d’assistance :

$ pull-lp-source <package_name>

Par défaut, la version la plus récente de la version de développement sera téléchargée. Vous pouvez également spécifier une version ou une version d’Ubuntu comme :

$ pull-lp-source <package_name> trusty

to pull the source from the trusty release, or:

$ pull-lp-source <package_name> 1.0-1ubuntu1

pour télécharger la version 1.0-1ubuntu1 du paquet. Pour plus d’informations sur la commande, voir man pull-lp-source.

Pour notre exemple, supposons que nous avons un rapport de bogue disant que « colour » dans la description du xicc devrait être « color », et que nous souhaitions y remédier. (Note : Ceci est juste un exemple de quelque chose à changer et pas réellement un bogue.) Pour obtenir le code source, exécutez :

$ pull-lp-source xicc 0.2-3

11.2. Création d’un Debdiff

Un debdiff montre la différence entre deux paquets Debian. Le nom de la commande utilisée pour en générer un est également debdiff. Elle fait partie du paquet devscripts. Voir man debdiff pour tous les détails. Pour comparer deux paquets sources, passez les deux fichiers dsc en arguments :

$ debdiff <package_name>_1.0-1.dsc <package_name>_1.0-1ubuntu1.dsc

Pour continuer avec notre exemple, éditons le debian/control et « corrigeons » notre « bogue » :

$ cd xicc-0.2
$ sed -i 's/colour/color/g' debian/control

We also must adhere to the Debian Maintainer Field Spec and edit debian/control to replace:

Maintainer: Ross Burton <ross@debian.org>

par :

Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
XSBC-Original-Maintainer: Ross Burton <ross@debian.org>

Nous pouvons utiliser l’outil update-maintainer (dans le paquet ubuntu-dev-tools) pour le faire.

N’oubliez pas de documenter vos modifications dans debian/changelog en utilisant dch-i et générons ensuite un nouveau paquet source :

$ debuild -S

Maintenant, nous pouvons examiner nos modifications à l’aide de debdiff :

$ cd ..
$ debdiff xicc_0.2-3.dsc xicc_0.2-3ubuntu1.dsc | less

Pour créer un fichier de correctif que vous pourrez envoyer aux autres ou joindre à un rapport de bogue pour le parrainage, exécutez :

$ debdiff xicc_0.2-3.dsc xicc_0.2-3ubuntu1.dsc > xicc_0.2-3ubuntu1.debdiff

11.3. Application d’un Debdiff

En vue d’appliquer un debdiff, assurez-vous en premier lieu d’avoir le code source de la version avec laquelle il a été créé :

$ pull-lp-source xicc 0.2-3

Puis dans un terminal, modifiez le répertoire pour celui où a été décompressée la source :

$ cd xicc-0.2

Un debdiff est exactement comme un fichier correctif normal. Appliquez-le comme d’habitude avec|nbsp]:

$ patch -p1 < ../xicc_0.2.2ubuntu1.debdiff