Bonjour,
les discussions de ce week-end sur debconf ont �t� int�ressantes, mais
noy�es dans un flot d'insultes (�tonnant, non ?). Je me permets d'en
fournir un r�sum�, mais je ne pr�tends pas avoir tout compris, donc
n'h�sitez pas � rectifier.
Les responsables de paquets font deux erreurs r�currentes dans
l'utilisation de debconf :
a) ils stockent des donn�es permettant de g�n�rer la configuration de
leur paquet dans la base de donn�es debconf ;
b) les changements faits par l'administrateur peuvent �tre perdus,
s'il a donn� carte blanche au paquet pour g�rer la config � sa
place, et modifi� ensuite les fichiers de configuration.
(a) est appel� le syndrome du � debconf is not a registry �, et les
raisons pour lesquelles ceci pose probl�me sont donn�es par Steve
Langasek dans
http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01340.html
La bonne fa�on de faire consiste, lorsque le fichier de configuration
existe, � en extraire les informations utiles et remplir la base de
donn�es debconf avec ces valeurs avant de poser les questions.
(b) est de fa�on triviale une violation de la charte, section 11.7.3.
Comme dpkg pose le m�me genre de questions (� Voulez-vous garder votre
fichier modifi� ou installer celui fourni par le paquet ? �), des
responsables de paquets se sont crus autoris�s � faire de m�me avec
debconf. Mais il existe une diff�rence de taille, expliqu�e par Manoj
Srivastava dans
http://lists.debian.org/debian-devel/2003/debian-devel-200304/msg01590.html
En effet, dpkg pose la question lors de chaque �crasement �ventuel de
fichier. Avec debconf, la question est pos�e une seule fois, puis les
versions d'apr�s se permettent d'�craser le fichier de configuration,
sans donner la possibilit� � l'utilisateur (qui a oubli� deouis belle
lurette qu'il a donn� carte blanche au paquet pour �craser ses
changements) ; ceci n'est pas acceptable.
Manoj Srivastava fournit dans le paquet ucf un outil qui permet d'�muler
le comportement de dpkg.
Enfin, un exemple complet de fichiers config et postinst pour g�rer les
fichiers de configuration est fourni dans debconf-devel(7) dans la
section � Advanced programing with debconf �.
HTH
Denis