Pour faire un paquet débian, il faut créer une arborescence qui répond a certaines règles :

timeofday-0.1-1.amd64/
timeofday-0.1-1.amd64/DEBIAN
timeofday-0.1-1.amd64/DEBIAN/postrm
timeofday-0.1-1.amd64/DEBIAN/preinst
timeofday-0.1-1.amd64/DEBIAN/prerm
timeofday-0.1-1.amd64/DEBIAN/control
timeofday-0.1-1.amd64/DEBIAN/postinst
timeofday-0.1-1.amd64/usr
timeofday-0.1-1.amd64/usr/local
timeofday-0.1-1.amd64/usr/local/bin
timeofday-0.1-1.amd64/usr/local/bin/tod

Le nom du package

"timeofday - 0.1 - 1 _ amd64" répond à la nomenclature suivante :

  • nom du programme : timeofday
  • version du programme : 0.1
  • version du packet debian : 1
  • architecture du logicle : amd64

Contenu du dossier DEBIAN

ce dossier est appelé le dossier de contrôle. Il contient un fichier "control" qui décrit le paquet et quelques impératifs :

Package: timeofday
Version: 0.1
Architecture: amd64
Maintainer: Pascal Valois <pascal.valois@free.fr>
Description: A simple program that give you current time and date
Depends: libc6

Les dépendances peuvent inclure une version entre parenthèse, ex (>= 2.16), et sont séparées par des virgules.

Les fichiers preinst, postinst, prerm, et postrm, sont des scripts shell, qui sont exécutés aux moments opportuns des installation et suppressions.

Leurs droits doivent être 0755.

Il est possible d'utiliser des templates de questions d'installation et désinstallation, mais nous n'iront pas jusque la pour ce post.

Autres dossiers

Les autres dossiers sont une architecture LFS standard, ou nous copions les fichiers à inclure dans un paquets, comme ils le seraient dans un tar.

Le dossier "." qui précède cette architecture, sera copié dans le "/" de la machine installé.

Création du package

Une fois tout cela fait, nous pouvons créer un package debiant avec la commande

dpkg-deb --build --root-owner-group timeofday-0.1-1.amd64