Re: upstart: please update to latest upstream version
Steve Langasek <firstname.lastname@example.org> writes:
> 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.
The nice thing about the converter is that, as people have pointed out
before, you don't have to solve the whole problem like you would if you
were writing a full init system. An 80% solution would be fine; the other
20% of the software will require manually-written init scripts, and will
bear some maintenance burden, but they're probably also likely to be more
"core" software that's worth the additional work.
The goal for the converter, I think, should be to get the typical daemon
that people are packaging without a huge amount of expertise to just work,
not to get, say, the complex system startup scripts to convert
Russ Allbery (email@example.com) <http://www.eyrie.org/~eagle/>