Comment 31 for bug 430224

Revision history for this message
Liraz (liraz-siri) wrote :

This really is a major pain for system builders. Had to work around this problem today to allow TKLPatch to work with Lucid. My approach was to temporarily lobotomize upstart, replacing it with a shell script that reproduces the sysvinit functionality in the old init scripts:

http://github.com/turnkeylinux/tklpatch/commit/a2bd433ed9483b5faaa631098eb372eecc0e4f12

This way we can run start and stop mysql "normally" inside chroot. It's a hack, but if we need we can extend this approach to other services as well. Maybe someone else will find the approach useful.

Other server services which are known to use upstart in Lucid are samba, vsftpd, squid. But I think for tklpatch we only need the ability to start mysql within the chroot (e.g., to manipulate the databases).

If upstart can't support chrooted services out of the box, it would be nice if it was at least configurable (e.g., via an environment variable) so you could enable a workaround of some kind for when you actually do need to start/stop services inside chroot. I don't see why you couldn't bypass communication with the supervision god-process over dbus and just execute the initialization hooks directly. You know, the way we've been doing it with sysvinit forever...

That way you get all the wiz bang async service management stuff while still allowing services to work when you don't need/want it.