Merci de rajouter vos commentaires/remarques afin d'ameliorer ce tuto
(Dispo ici :
http://debian-facile.org/wiki/manuel:paquetdebian )
@+
Cette page explique comment créer un paquet Debian
====== Création d'un fichier.deb ======
===== Général =====
==== Création de la structure ====
Créer un répertoire portant le nom du package à créer. Exemple pour : nom-du-paquet.deb
mkdir $HOME/nom-du-paquet/
cd $HOME/nom-du-paquet/
ensuite il faut créer les fichiers suivants :
mkdir DEBIAN
touch DEBIAN/control
touch DEBIAN/postinst
touch DEBIAN/postrm
touch DEBIAN/preinst
touch DEBIAN/prerm
chmod 755 DEBIAN/post*
chmod 755 DEBIAN/pre*
==== Le fichier control ====
Ce fichier donne les informations essentielles à l'utilitaire de packages (dpkg par exemple) pour utiliser le package. Il est constitué de plusieurs champs, tous sous la forme Nom du champ : valeur
Exemple d'un fichier control
<code bash>
Package: Nom_Du_Paquet
Version: 1.0
Section: base
Priority: optional
Architecture: all
Depends: bash
Maintainer: Nom Prénom <user@domaine.com>
Description: script de test
Description des différents champs:
</code>
- Package : c'est le nom du package;
- Version : c'est le numéro de version du package. Si on modifie notre package, il faut penser à incrémenter ce nombre afin que le système comprenne qu'il remplace la précédente version;
- Section : base;
- Priority : c'est la priorité d'installation du package;
- Architecture : c'est l'architecture sur laquelle est utilisable le package;
- Depends : c'est ce qui doit être présent dans le système pour que le package puisse être utilisé;
- Maintainer : ce sont les informations sur la personne qui s'occupe du paquet;
- Description : c'est la description du paquet. On peut expliquer deux trois choses sur le paquet si nécessaire;
==== Configuration des fichiers avant et après installation du paquet ====
Les fichiers postrm, postinst, prerm, et preinst, sont simplement des scripts qui sont exécutés aux moments suivants:
- postinst => après l'installation
- preinst => avant l'installation
- postrm => après la désinstallation
- prerm => avant la désinstallation
Exemple de postinst et de postrm avec ajout puis suppression de lignes dans la crontab utilisateur.
**-> postinst**
<code bash>
#!/bin/bash
echo "# ACTION DU SCRIPT # NOM_DU_PAQUET : ref: REFERENCE_UNIQUE
12 6 * * * $HOME/nom_du_binaire # NOM_DU_PAQUET : ref: REFERENCE_UNIQUE " >>
/var/spool/cron/crontabs/root
</code>
**-> postrm**
<code bash>
#!/bin/bash
cp /var/spool/cron/crontabs/root /tmp/crontab.tmp
cat /tmp/crontab.tmp |grep -v REFERENCE_UNIQUE > /var/spool/cron/crontabs/root
rm /tmp/crontab.tmp
</code>
C'est à vous de mettre ce que vous souhaitez dedans en fonction de vos besoins.
===== Ajout de vos fichiers =====
À la racine du répertoire de votre paquet, copiez vos fichiers en reproduisant une arborescence Linux. Par exemple pour installer le script dans le répertoire /usr/bin,
mkdir -p $HOME/nom-du-paquet/usr/bin
cp test.sh $HOME/nom-du-paquet/usr/bin
===== Construction =====
Se placer dans le répertoire parent du paquet et construire le paquet par:
cd $HOME
dpkg-deb --build nom-du-script (sans le / de fin)
Et voilà vous avez un paquet .deb tout chaud!!
Reste à ajouter le paquet à notre dépôt (on est connecté sur le serveur hébergeant le dépôt) :
reprepro -Vb /var/www/depots includedeb debian /CHEMIN_VERS_MON_FICHIER.deb