[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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



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


Reply to: