Un paquet Debian contient un dossier DEBIAN contenant les infos relatives au paquet, et les fichiers qui devront être copiés sur le système.
- dossier_du_paquet/
--- DEBIAN/
----- control //Contient les informations du paquet
----- preinst //Script exécuté avant l'installation du paquet
----- postinst //Script exécuté après l'installation du paquet
----- prerm //Script exécuté avant la suppression du paquet
----- postrm //Script exécuté après la suppression du paquet
--- var/
----- www/
------- languille11/ // Structure des fichiers a copier ( dans l'exemple tous sera copié dans /var/www/languille11/... )
------- fichier1
------- fichier2
------- fichier3
Exemple du fichier *control* :
Package: languille11
Version: 2.10
Section: base
Priority: optional
Architecture: all
Depends: apache2, php5, mysql-server
Maintainer: Anthony Magnini
Description: Package to install website Languille11
Homepage: http://www.languille11.fr
Les scripts de pré installation, post installation, pré suppression, post suppression doivent être exécutable.
== Compilation du paquet ==
Une fois le paquet créé comme on le souhaite, on se place au même niveau que le *dossier_du_paquet* et on compile le .deb par la commande :
dpkg-deb --build nom_du_paquet
Et voila le paquet Debian est créé.
Pour l’installer :
dpkg -i nom_du_paquet.deb
===== Exemple De script pour la création automatique d’un paquet Debian à partir des sources =====
*build-debian-package.sh
#!/bin/sh
if [ -f ${1} ]; then
echo "Utilisation : ./build-debian-package.sh "
else
SOURCE=$1
INSTALLFOLDER="var/www"
VERSION=$(cat ${SOURCE}/utils/debian/control | grep "Version" | awk '{print $2}')
NAME=$(cat ${SOURCE}/utils/debian/control | grep "Package" | awk '{print $2}')
ARCH=$(cat ${SOURCE}/utils/debian/control | grep "Architecture" | awk '{print $2}')
echo "Creation de l'arborescence du paquet"
mkdir -p ${NAME}_${VERSION}_${ARCH}/DEBIAN
mkdir -p ${NAME}_${VERSION}_${ARCH}/${INSTALLFOLDER}/${NAME}
echo "Recuperation des informations du paquet"
cp $1/utils/debian/* ${NAME}_${VERSION}_${ARCH}/DEBIAN/
chmod 755 ${NAME}_${VERSION}_${ARCH}/DEBIAN/p*
echo "Recuperation des sources du paquet"
cp -r $1/* ${NAME}_${VERSION}_${ARCH}/${INSTALLFOLDER}/${NAME}/
echo "Creation du paquet debian"
dpkg-deb --build ${NAME}_${VERSION}_${ARCH}
#dpkg-buildpackage -us -uc ${NAME}_${VERSION}_${ARCH}
rm -rf ${NAME}_${VERSION}_${ARCH}
echo "Le paquet Debian est disponible"
fi
== Mise en ligne du paquet Debian ==
Pour mettre en ligne le paquet Debian, utiliser un répos comme expliqué dans [[Créer un repos privé Debian|cette rubrique]]