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