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