Hi Roger, On Fri, Feb 24, 2012 at 11:41:35AM +0000, Roger Leigh wrote: > Another alternative is to let sysvinit run systemd units and/or > upstart jobs. Given their declarative syntax, would it be possible > for these to be translated into init script form so that they can > be run by init? This would provide a migration path and permit > packages to migrate away from providing init scripts in favour of > systemd units (or upstart jobs), while permitting sysvinit use to > continue.
There are two main challenges here that I'm aware of with trying to generate init scripts from upstart jobs: - Process supervision. A lot of the win of moving to an init system like upstart or systemd is that init *knows* which process corresponds to which job and doesn't have to use PID files. If we lose the process supervision, we have to manage how to generate PID files for our processes again, for all the different ways that daemons start, and we have to track that information somewhere - even if we put it in the upstart job or systemd ini, it's information not being used except under sysvinit, so have we actually saved ourselves from code rot? - Dependency tracking. Upstart start conditions are not easily convertible into the kind of dependency information that's useful to insserv+startpar; with socket-based activation in systemd, much of the inter-service dependency information is missing altogether. Again, this is probably going to somehow require tracking information for the benefit of sysvinit that's not used by the native consumer of the job format. Granted, though, it's at least potentially possible to keep track of both of these things in a declarative fashion, and there'd certainly be some benefit to that even if we're not entirely free of the risk of bit rot. If someone is interested in trying to implement such an upstart job -> init script autoconverter, I'd be willing to help. -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: Digital signature