Hello, Laurent COOPER <laurent.cooper@ac-grenoble.fr> (2016-04-22): > 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é Après apt-get source dh-make dans stable, je vois un script qui contient : # Do NOT "set -e" > 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 ? Je serais à ta place, j'écrirais un fichier service au lieu d'essayer de maintenir un script shell de 160+ lignes. KiBi.
Attachment:
signature.asc
Description: Digital signature