Copy:
[email protected]
This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --kH3o4iQqtxVcvT4JGcMMskNT3mCMDQPAq
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Le 22/04/2016 17:57, Cyril Brulebois a écrit :
Laurent COOPER <[email protected]> (2016-04-22):
Avant toute chose, merci d'avoir pris le temps de me lire et de me répondre
No worries.
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.
Justement, en suivant cette (forte) recommandation, avoir une commande qui retourne non-zéro ne met pas fin au script.
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
test.sh
---------------
#!/bin/sh
. /lib/lsb/init-functions
VERBOSE=no
[ "$VERBOSE" != no ] && log_end_msg 0
---------------
Si VERBOSE est à yes, pas de problème
test.sh
echo $?
0
Si VERBOSE est à no,
test.sh
echo $?
1
C'est normal, la dernière commande exécutée a retourné 1.
Mais dans le cas d'un script appelé par invoke-rc.d, si la valeur
retournée est 1, ça plante le postinst qui lui a un set -e
Plus de détails sur set * :
http://pubs.opengroup.org/onlinepubs/000095399/utilities/set.html
Si tu n'as pas positionné cette option, il est possible que ton analyse initiale ne soit pas la bonne.
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.
C'est un script d'init écrit en shell. On peut désormais décrire de manière plus fiable un service en quelques lignes, c'est ce qu'on
appelle une unité systemd ; pour te faire une idée, tu peux jeter un œil à :
/lib/systemd/system/*.service
La documentation :
systemd.unit(5)
https://www.freedesktop.org/software/systemd/man/systemd.unit.html
(Je n'ai pas vu de doc spécifique sur wiki.debian.org mais je n'ai pas cherché longuement.)
Effectivement
Mais je gère des serveurs qui étaient sous squeeze, sont en wheezy et n'utilisent pas (encore) systemd
Ceci dit, il est temps que je m'y mette pour planifier le passage à jessie.
Merci encore pour les réponses
KiBi.
--kH3o4iQqtxVcvT4JGcMMskNT3mCMDQPAq--
-----BEGIN PGP SIGNATURE-----
Version: GnuPG/MacGPG2 v2
Comment: GPGTools -
https://gpgtools.org
iEYEARECAAYFAlcaTQUACgkQuB19dK89d+CRggCgknewvnrI7l3yhSluQ8WpMSca KE8An19Iio9wm/y1wITg2HH0pTWEHqvy
=AeqG
-----END PGP SIGNATURE-----
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)