Package: upstart
Version: upstart/1.10-2
Severity: minor

While attempting to support an /etc/default file for backward
compatibility, I struggled with finding the right way to import
the environment settings into the upstart job and use them
appropriately.  I'm not sure if there's a piece of documentation
on how to handle this that I missed.  I finally arrived at:

expect stop
script
    if [ -f /etc/default/lbcd ] ; then
        . /etc/default/lbcd
    fi
    /usr/sbin/lbcd -f -l -Z $DAEMON_OPTS
end script

but, as I'm sure you know, this is subtlely wrong and will cause
initctl to just hang.

The correct incantation is:

expect stop
script
    if [ -f /etc/default/lbcd ] ; then
        . /etc/default/lbcd
    fi
    exec /usr/sbin/lbcd -f -l -Z $DAEMON_OPTS
end script

The example of script in the init(5) man page is correct, but
I don't believe the requirement to use exec is explicitly
mentioned.  It would be good to stress this, since it's not
immediately obvious that the use of a script will cause upstart
to lose track of the started process otherwise.  (In retrospect,
it's obvious what the underlying implementation must look like,
but I don't think everyone will figure this out.)

-- System Information:
Debian Release: jessie/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)

Kernel: Linux 3.11-2-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to