Script pour démarrer un daemon par défaut : un bug ?
Bonjour à tous
Je cherche à faire un package qui lance un daemon et je me suis servi de
la structure du fichier init construite par défaut par les paquets debian.
Dans mon postinst, je lance une
invoke-rc.d mondaemon start
et là ... ça plante
Je lance à la main avec start-stop-daemon et les arguments du script ...
ça marche.
j'ai fini par trouver l'erreur
case "$1" in
start)
[ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME"
do_start
case "$?" in
0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;;
2) [ "$VERBOSE" != no ] && log_end_msg 1 ;;
esac
;;
en fait, si VERBOSE vaut no (c'est la cas par défaut), le
[ "$VERBOSE" != no ] retourne 1.
Le && n'est donc pas évalué (normal, on veut pas afficher le log) mais
du coup, le dernier truc évalué du script est 1, et c'est ce qui est
retourné
Le invoke-rc.d mondaemon start dit que ça n'a pas marché alors que tout
avait bien marché
Du coup, est ce le .init construit par dh_make est judicieux ? D'autant
que la fin utilise log_end_msg sans le [ "$VERBOSE" != no ] génant pour
la partie force-reload|restart)
Est ce qu'il faudrait ouvrir un bug la dessus à votre avis, ou est ce
que j'ai mal compris ?
Merci par avance pour vos avis
Laurent
Reply to: