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 ?
Avant toute chose, merci d'avoir pris le temps de me lire et de me répondre
Après apt-get source dh-make dans stable, je vois un script qui contient :
# Do NOT "set -e"
Oui, c'est bien de ce script que je parle, qui sert de base pour la fourniture du service en théorie.
Je ne comprends pas très bien. Je croyais que le script <paquet>.init
était justement un squelette pour gérer un service. J'ai lu la documentation du mainteneur, le man de start-stop-daemon, et ça me
semblait un bon point de départ.
Oui, pas de problème. J'ai bien un suivi cela, et je n'ai pas de set -e
Le problème, c'est que c'est la dernière commande exécutée qui retourne 1, pas par ce que il y a un set -e. Juste par ce que c'est la dernière.
J'ai fait le test avec un script minimaliste […]
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 293 |
Nodes: | 16 (2 / 14) |
Uptime: | 231:22:30 |
Calls: | 6,624 |
Files: | 12,171 |
Messages: | 5,319,423 |