Mon premier paquet AUR : fortune-mod-kaamelott
Suite au billet de Devil505 expliquant qu’il avait packagé pour Frugalware et pour l’application fortune-mod des citations des Tontons Flingueurs, je me suis dit qu’il était temps pour moi de proposer mon premier paquet AUR pour ArchLinux sur le même principe. En effet, il y a quelques mois, j’avais extrait de Wikiquote.org plus de 500 citations de la série Kaamelott de façon à les utiliser avec fortune. Je faisais l’installation à la main sous Ubuntu (si on peut vraiment parler d’installation vu qu’il s’agit de copier deux fichiers…). Dorénavant, il suffira de faire sous ArchLinux :
$ yaourt -S fortune-mod fortune-mod-kaamelott
Permettant ainsi d’avoir de superbes citations :
$ fortune kaamelott C est pas que c est difficile de la récupérer... C est que c est sa mère difficile de la récupérer, la race de sa grand-mère ! [Karadoc, Livre IV, Le Vice De Forme]
Bref, je vais profiter de ce billet pour expliquer brièvement comment j’ai créé et soumis ce paquet AUR. Le principe est finalement très simple puisque que j’ai créé d’une part une archive des « sources » hébergée sur mon serveur contenant les citations de Kaamelott au format « fortune » et d’autre part une archive contenant le fichier PKGBUILD qui permet de décrire le paquet (que ce soit des informations sur la version ou la licence comme la fonction permettant l’installation). Pour écrire ce fichier, je me suis inspiré de PKGBUILD existants et notamment celui de fortume-mod-chucknorris. Voilà ce que ça donne :
# Maintainer: François Tessier pkgname=fortune-mod-kaamelott pkgver=1 pkgrel=1 pkgdesc="French Fortune cookies from Kaamelott" arch=(any) license=('CCPL') depends=(fortune-mod) makedepends=(coreutils) source="http://www.francoistessier.info/blog/wp-content/uploads/2011/02/fortune-kaamelott.tar.gz" url="http://www.francoistessier.info/blog/2011/02/14/mon-premier-paquet-aur-fortune-mod-kaamelott" md5sums=('a490897ecfdf4b1944e1411bd97b6a17') build() { cd $startdir/src mkdir -p $startdir/pkg/usr/share/fortune fold -w 80 -s fortune-kaamelott/kaamelott > \\ $startdir/pkg/usr/share/fortune/kaamelott || exit 1 strfile $startdir/pkg/usr/share/fortune/kaamelott || exit 2 }
Quelques précisions concernant cette archive : une fois le PKGBUILD rédigé, j’ai dû générer le hash MD5 du fichier spécifié dans le champ « source ». Un outils permet de faire ça simplement : makepkg. Ainsi, une fois dans le dossier contenant mon PKGBUILD :
$ makepkg -g >> PKGBUILD
Cette commande va télécharger la source, en générer le hash et l’écrire à la fin du fichier PKGBUILD. Pour plus de lisibilité, j’ai déplacé cette ligne au-dessus de la fonction build(). Enfin, pour générer proprement l’archive qu’il faudra uploader sur http://aur.archlinux.org, toujours dans le même dossier :
$ makepkg --source
Un fichier fortune-mod-kaamelott-1-1.src.tar.gz a été créé. L’upload s’est bien passé et l’installation via yaourt aussi! Bref, je suis vraiment très impressionné par la simplicité de la procédure permettant de soumettre un paquet AUR. Qui plus est la documentation est assez fournie. Ce système est vraiment puissant et encourage la communauté à participer ou tout du moins ne la décourage pas! Qui dit mieux?!
PS : Les citations de Wikiquote.org étant sous licence CC by-sa, j’ai soumis mon paquet à la même licence et j’ai cité Wikiquote.org dans mon README. Qu’en pensez-vous? Suis-je bien en règle en procédant ainsi?