Les documents proposés sur ce site ont été testés et validés par différentes installations mais ne sauraient engager la responsabilité de la société en cas de problèmes ou de pertes de données si les modifications n'ont pas été réalisées par la société elle même.

9-Paramétrage du paquet

Vous avez précédemment créé un nouveau paquet. Quelques informations vous ont été demandées, mais vous pouvez affiner ce paramétrage si vous le désirez.

Cette étape n'a rien d'une obligation technique. Vous pouvez parfaitement ne pas la faire, et tout le reste fonctionnera quand même.

Cependant, c'est le soin apporté à cette étape qui fera la différence entre un bon paquet et un mauvais paquet.

Les fichiers de paramétrage du paquet se trouvent dans le répertoire debian dans le dossier de votre paquet. Tous les fichiers ne seront pas passés en revue, seuls les plus importants/utiles seront détaillés. Pour les autres, veuillez vous reporter au guide du mainteneur debian http://www.debian.org/doc/manuals/reference/index.fr.html#contents ou à http://www.debian.org/doc/debian-policy/index.html#contents

debian/changelog

Ce fichier contient le changelog avec la version du paquet. Ouvrez le avec un éditeur de texte après quelques compilation pour voir comment il a évolué.

debian/control

Ce fichier contient les éléments d'identification et d'installation du paquet. La moindre erreur dans ce fichier rend la création ou l'installation impossible.

Notez que la description longue doit commencer par un espace sur chaque ligne et finir par une ligne vide. Si vous désirez placer une ligne de séparation entre deux paragraphes, insérez une ligne comportant un espace et un point.

Certaines sections non utilisées sont commentées. Vous pouvez les décommenter si vous en avez besoin.

Exemple de fichier control:

Source: elise
Section: absolacom-dev
Priority: optional
Standards-Version: 3.7.2
Build-Depends: debhelper (>> 5.0.0)
Maintainer: manuel BERROCAL <manu.berrocal@absolacom.com>


Package: elise
Architecture: i386
# Version: <enter version here; defaults to 1.0>
# Pre-Depends: <comma-separated list of packages>
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Copyright: <copyright file; defaults to GPL2>
# Extra-Files: <comma-separated list of additional files for the doc directory>
Depends: beep
Description: Joue la lettre à Elise avec le beep de la carte mère
 Ce paquet installe le programme "elise" qui joue la musique "La lettre 
 à Elise" de Beethoven

debian/preinst

A programmer en bash. Ce programme sera exécuté avant l'installation des fichiers du paquet sur l'ordinateur. Vous pouvez l'utiliser pour exécuter des commandes afin de préparer l'installation ou le paramétrage de votre programme (par exemple, la mise à jour de fichiers de configuration, la copie de fichiers depuis un dossier vers un autre, le “linkage” des bibliothèques, …)

Notez l'option ”-e” à la suite du sheebang qui fera que si le code de ce fichier renvoie un code d'erreur différent de zéro, le paquet sera marqué comme installé partiellement.

debian/postinst

A programmer en bash. Ce programme sera exécuté après l'installation des fichiers du paquet sur l'ordinateur. Vous pouvez l'utiliser pour exécuter des commandes afin de finaliser l'installation ou le paramétrage de votre programme (par exemple, la mise à jour de fichiers de configuration, la copie de fichiers depuis un dossier vers un autre, le “linkage” des bibliothèques, …)

Notez l'option ”-e” à la suite du sheebang qui fera que si le code de ce fichier renvoie un code d'erreur différent de zéro, le paquet sera marqué comme installé partiellement.

Voici un exemple de fichier postinst

#!/bin/sh -e
# postinst for elise

# ANSI COLORS #####################
CRE="
"
NORMAL=""
# RED: Failure or error message   #
RED=""
# GREEN: Success message          #
GREEN=""
# YELLOW: Descriptions            #
YELLOW=""
# BLUE: System messages           #
BLUE=""
# MAGENTA: Found devices or drivers
MAGENTA=""
# CYAN: Questions                 #
CYAN=""
# BOLD WHITE: Hint                #
WHITE=""
###################################


# Source debconf library.
if [ -e /usr/share/debconf/confmodule ]; then
	. /usr/share/debconf/confmodule
fi

if [ "$1" != configure ]; then
	exit 0
fi

echo "${GREEN}Configuration de elise${NORMAL}"


for usert in $(ls /home|grep -v "lost+found")
do
# suppression des fichiers de configuration du programme elise dans les home des utilisateurs
if [ -f /home/$usert/.elise ]
then
rm -f /home/$usert/.elise
fi

# ajout du nouveau fichier de configuration
cat /etc/elise/elise.conf > /home/$usert/.elise.conf

done


echo "${GREEN}Configuration de elise...................................................................[OK]${NORMAL}"

Cet exemple n'est destiné qu'à servir d'exemple: si nous avions besoin de faire ces opérations, ce serait une méthode fonctionnelle mais pas propre à utiliser.

debian/prerm

A programmer en bash. Ce fichier sera exécuté avant suppression des fichiers du paquet de l'ordinateur. Vous pouvez l'utiliser pour exécuter des commandes afin de finaliser la suppression de votre programme (par exemple, la mise à jour de fichiers de configuration, la copie de fichiers depuis un dossier vers un autre, le “linkage” des bibliothèques, …)

Notez l'option ”-e” à la suite du sheebang qui fera que si le code de ce fichier renvoie un code d'erreur différent de zéro, le paquet sera marqué comme supprimé partiellement.

debian/postrm

A programmer en bash. Ce programme sera exécuté après la suppression du programme de l'ordinateur. Vous pouvez l'utiliser pour exécuter des commandes afin de finaliser la suppression de votre programme (par exemple, suppression des fichiers du programme, nettoyage des répertoires, désactivation des fonctions que votre programme avait activé,…).

C'est “la femme de ménage” qui remet en état tel que c'était avant votre passage.

Notez l'option ”-e” à la suite du sheebang qui fera que si le code de ce fichier renvoie un code d'erreur différent de zéro, le paquet sera marqué comme supprimé partiellement.

Ces deux derniers fichiers sont souvent négligés. Pourtant, ce sont ceux qui permettent que le système reste propre après désinstallation d'un paquet. Si votre programme laisse des traces sur l'ordinateur où il a été installé après sa suppression, vous risquez de créer des pannes liées à d'autres paquets sans pouvoir savoir où et pourquoi ça pose problème (débuggage impossible) et vos prochaines mises à jour risquent de ne pas fonctionner à cause d'une ancienne version de votre programme.

Apportez un soin particulier à ces fichiers.

Ces deux derniers fichiers (prerm et postrm) sont exécutés aussi lors d'une mise à jour. L'ancien programme est supprimé puis le nouveau installé.

debian/*.predeb

Ce fichier n'est pas un fichier concernant directement le paquet. Il est utilisé par le programme debdevel et sera détaillé dans la page 10-remplissage_nouveau_paquet_avec_un_programme. Vous pouvez l'ignorer ou le supprimer.


Outils personnels