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?

Fortune et Kaamelott

La commande fortune permet d\’afficher dans son terminal des citations en tout genre (extraits de livres, théorèmes, citations d\’hommes politiques, etc…). Bien que ce ne soit pas d\’une utilité flagrante, voire même carrément chronophage, une petite citation à chaque ouverture de terminal, par exemple, ajoute un peu de gaîté à une journée de travail pas toujours reluisante.

Pour l\’installer et ajouter des citations françaises :

$ sudo apt-get install fortune fortunes-fr

Ensuite l\’exécution se fait simplement en tapant la commande fortune éventuellement suivie d\’un des thèmes présent dans la liste issue de fortune -f.

Seulement voilà… Les citations incluses dans le paquet ne sont pas toujours fantastiques et parfois même incompréhensibles. Bref, suite à un journal posté sur LinuxFr concernant une fortune sur La Classe Américaine, je me suis lancé dans l\’écriture d\’un fichier contenant des citations de Kaamelott. Pour avoir une bonne base, je suis parti sur celles proposées sur Wikiquote. Après avoir ajoutées les extraits de la page principale et des pages dérivées (Arthur, Léodagan, Perceval, Karadoc, etc…) j\’arrive à un total de 505 entrées ce qui commence à être suffisamment correct pour le partager! Le fichier texte se trouve ici. Une fois que vous l\’aurez enregistrer, ouvrez un terminal et allez dans le répertoire contenant ce fichier texte puis :

$ mv kaamelott.txt kaamelott
$ strfile kaamelott
\"kaamelott.dat\" created
There were 505 strings
Longest string: 2166 bytes
Shortest string: 50 bytes

La comamnde strfile va générer un fichier .dat lisible par fortune. Il suffit ensuite de copier ces deux fichier dans le répertoire approprié :

$sudo cp kaamelott kaamelott.dat /usr/share/games/fortunes/

Le tour est joué! La preuve :

$ fortune kaamelott
Un village assailli de brigands, une femme qui se fait tabasser, une poule qui boîte,
c est pas les opprimés qui manquent ! Et là au moins, j aurais l impression de servir
à quelque chose.
[Lancelot, Livre III, 1 : Le chevalier errant]
$

Enfin, pour avoir une citation au lancement de son terminal il suffit d\’ajouter cette commande dans son fichier ~/.bashrc.

Le manuel de la commande fortune se trouve . Un explication détaillé est également disponible ici.

Si vous avez des suggestions de citations à ajouter, ce sera avec plaisir! Postez les dans les commentaires et je me chargerai du reste. Si vous pouvez en plus fournir le nom et le numéro de l\’épisode, alors là c\’est parfait!