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

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: