Re: Script pour démarrer un daemon par défaut : un bug ?

Cyril Brulebois <[email protected]> Fri, 22 Apr 2016 17:20:44 +0200
Newsgroups gmane.linux.debian.devel.french
Organization Debian
Message-ID <[email protected]>
Hello,

Laurent COOPER <[email protected]> (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.
signature.asc (application/pgp-signature, 819 B)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAEBAgAGBQJXGkFMAAoJEP+RSvDCs1UgkiYQAKyvipAQJFTE2lzWGESz3rxj
fHyQcFBuD2UUMZg00jPgtIxdySXcgBIEqNQzJacoPkawPMIn9toIAN+DWFa4gopL
INKKWTGDYzuG02b9gbDrFhYCVEc0JvmVXQUqralFL2KkfJmVv9FLHU4vEq+sNLIB
uPCfQFapOHJpR2ZVjtlt7+P6zdzboZJhk76AX+jvQBASHOED6R0Wr9utE72Hlgqu
4JdNmPNutkCb9CMD98iDv9h3AtKl/bL4jy4rSz0BR+7e/HWxR3lc/FSGZKWbK8Au
aR57/uOvSGyDKmS35pgrPzks6vg6puJ8BivinWzwgKhDR52d4VFF0BWnbn0LHjfr
Sw20Xlr7VRkg0T+DehZj8GYDHU2zatQDM91sWMKR9VgX1GYFy1BZGlQesrU8n6oN
49K2aq0RbqVK3AClzM4eA8FRR+TISIVvnMjfWY5xqVqWKDmWYGOzUkqnKMizNyGS
qGBT/n76UwaJy6ffX1nq+zlwJVG0GssZJW+aYDdpIo0Lp7wuhXfJlZf0MqDHmYRZ
WooE9HS5ZwUsPmKaYdPteY9L0PPt7npwo+JUMP67S16Wy+HPKcqa3+YZZ0e3V6dI
hDSeHzuixrtaFa7EX7L9eYTbnQ6EnYi4rTl//02A+nwMYtv3pAj7DBzkiKCsusAh
uWv2Sj06ZOL0hFWZN9Fp
=uP2W
-----END PGP SIGNATURE-----