mardi 12 mai 2009

Création d'un paquet Debian -- test.deb

Commencer par créer un script qui ne fait pas grand chose (!) :

Exemple "test.sh" :
[...]
#!/bin/bash
echo "Entrer un nom [eg - foo] : "
read nom
echo $nom > ./test
[...]

Ensuite créer l'architecture du paquet "test" :
/home/<vous>/test/
/home/<vous>/test/DEBIAN/
/home/<vous>/test/DEBIAN/control (fichier décrivant les informations
relatives à notre paquet)
/home/<vous>/test/DEBIAN/postinst (script exécuté après l'installation
du paquet)
/home/<vous>/test/DEBIAN/postrm (script exécuté après la désinstallation
du paquet)
/home/<vous>/test/DEBIAN/prerm (script exécuté avant la désinstallation
du paquet)
/home/<vous>/test/usr/
/home/<vous>/test/usr/bin/
/home/<vous>/test/usr/bin/test.sh (notre script, exposé ci-dessus)
/home/<vous>/test/usr/share/
/home/<vous>/test/usr/share/doc/
/home/<vous>/test/usr/share/doc/README (informations relatives à
l'utilisation de test.sh)
/home/<vous>/test/usr/share/doc/copyright
/home/<vous>/test/usr/share/doc/changelog (changements apportés par
rapport à la dernière version)
/home/<vous>/test/usr/share/doc/changelog.Debian (idem, mais seulement
pour le paquet Debian

Note : Les fichiers post* et pre* doivent contenir le "shebang" càd
"#!/bin/bash" au minimum et être en 755

Note2 : De la même manière il est possible d'ajouter des fichiers où
l'on souhaite en respectant l'arborescence du système, eg: /var/www en
sus de /usr/bin, etc...

Renseigner le fichier "control" comme suit :
Package: test
Version: 1.0
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: Mr X <MrX@fun.com>
Description: Que fait mon script test.sh

Note3 : Il est possible de modifier les dépendances de paquet, en
modifiant la ligne "Depends: bash", avec par exemple :
Depends: bash, some_package >= 1.2, some_other_package >= 2 (le
séparateur étant une virgule)

Il ne reste plus qu'à générer le paquet :
# chmod 755 /home/<vous>/test/DEBIAN/post* /home/<vous>/test/DEBIAN/pre*
# cd ~<vous>
# dpkg-deb --build test.deb
Et voilà un beau paquet Debian tout neuf (mais vraiment minimaliste !)
Il ne reste plus qu'à l'installer avec la commande :
# dpkg -i test.deb
Et enlever avec les commandes :
# dkpg --remove test && dpkg --purge test

Aucun commentaire: