Package: upstart
Version: 1.6.1-1
Severity: normal

Reading Debian Policy §9.11.1 [1] and the recommendations on
implementing it [2] results in a few undesirable properties:

* one needs to modify sysv init.d scripts
* the code in the init.d scripts does nothing when upstart is not
installer or not running
* the init.d scripts becomes less portable

But considering the fact that If upstart is not installed, initctl
will not be present in the $PATH and thus init_is_upstart will always
return 1, as well as the init-functions providing hooks directory
/lib/lsb/init-functions.d the debian policy can be implemented in an
alternative way:

* upstart package ships /lib/lsb/init-functions.d/70-upstart with
contents similar to the attached file

If upstart package is installed, all init.d scripts will continue to
work correctly or will abort with the appropriate status if upstart is
managing that particular job.
If upstart is currently PID 1, yet upstart package was removed, the
system is in flux anyway as upstart's binaries are gone and it will be
hard to do a clean shutdown.
No changes are required to init.d scripts and packages correctly
integrate with upstart, once upstart is installed. Unless init.d
script does not source /lib/lsb/init-functions, in that case one
either migrates to do so, or executes the check as per policy.

[1] http://www.debian.org/doc/debian-policy/ch-opersys.html#s-alternateinit
[2] https://wiki.ubuntu.com/UpstartCompatibleInitScripts

Regards,

Dmitrijs.

Attachment: upstart-lsb.sh
Description: Bourne shell script

Reply via email to