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

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



Re bonjour.

Avant toute chose, merci d'avoir pris le temps de me lire et de me répondre

Le 22/04/2016 17:20, Cyril Brulebois a écrit :
> 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"
> 
Oui, c'est bien de ce script que je parle, qui sert de base pour la
fourniture du service en théorie. C

>> 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.
> 

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.

Mais justement, je lui trouve des incohérences qui font qu'il ne
fonctionne pas dans sa forme actuelle. C'est pour cela que je me posais
la question de savoir s'il ne devrait pas être modifié ou si ce petit
"détail" ne devrait pas être documenté.

Merci encore pour la réponse

Laurent

> 
> KiBi.
> 

Attachment: signature.asc
Description: OpenPGP digital signature


Reply to: