Bonjour,
J'ai un soucis avec un script postrm utilisant debconf qui bloque quand
je purge le paquet.
Dans le script, en cas de purge, j'utilise debconf pour r�cup�rer le nom
d'une base postgresql, puis le supprime la base, je change un fichier de
conf de postgresql et je fais un reload. Jusque l� tout va bien. Mais
debhelper ajoute gentiment la purge des param�tres du paquet dans sa
base de donn�es, et l� �a se bloque ind�finiment (enfin, ca prend plus
de 5 minutes, apr�s quoi, j'ai envoy� un ^C pour arr�ter tout).
Mon script ressemble � �a:
---------------------8<---------------------------------
#! /bin/sh -e
. /usr/share/debconf/confmodule ;
db_version 2.0 ;
if [ "$1" = "purge" ]; then
db_get ginco-db/web/host ;
GINCOHOST=$RET ;
db_get ginco-db/database/name ;
PGDATABASE=$RET ;
db_get ginco-db/database/user ;
PGUSER=$RET ;
db_stop ;
su - postgres -c "dropdb $PGDATABASE" || true ;
if grep --quiet "^host.*$PGDATABASE.*$PGUSER.*$GINCOHOST.*"
/etc/postgresql/pg_hba.conf ; then
true ;
else
grep -v "$PGDATABASE" /etc/postgresql/pg_hba.conf >
/etc/postgresql/pg_hba.conf.temp ;
mv /etc/postgresql/pg_hba.conf.temp /etc/postgresql/pg_hba.conf
;
invoke-rc.d postgresql reload >/dev/null 2>&1 || true ;
fi ;
fi;
#DEBHELPER#
exit 0
-----------------------------8<------------------------------------
debhelper ajoute les lignes suivantes:
# Automatically added by dh_installdebconf
if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then
. /usr/share/debconf/confmodule
db_purge
fi
# End automatically added section
et �a bloque sur db_purge.
debconf-devel(7) mentionne un probl�me avec les daemons, et dit qu'il
faut utiliser db_stop pour �viter des ennuis, mais visiblement ce n'est
pas li�.
Quelqu'un aurait une piste ?
--
Alexandre Fayolle