Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 11-11-2009 18:52:50

gutts
Membre
Inscription : 06-05-2009

Documentation créer un paquet debian

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

Hors ligne

Pied de page des forums