[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: PoC: cross-init-bridge



[Christian Seiler]
> Hi there,

Hi.

> Also, systemd does not run on non-Linux ports and will most likely not
> run on those anytime soon, if Debian wants to support those, they will
> have to make due with another init system. Currently, the only
> contenders for those ports are sysvinit and OpenRC. And for
> compatibility reasons, even on Linux sysvinit will have to be supported
> for quite a while now. But one of the main advantages of both systemd
> and Upstart (and also OpenRC) is that the init definitions (unit files,
> jobs, init scripts) are by *far* easier to maintain than those of sysvinit.

Have you consider the /lib/init/init-d-script approach now available
in unstable when considering how hard it is to maintain init.d
scripts?  It allow package maintainers to only store the package
specific parts in their init.d scripts, and offload the complete
implementation of the init.d script machinery to the
/lib/init/init-d-script library/interpreter.

> The main reason for this thread is actually to somehow auto-generate
> init scripts from systemd unit files. So I could easily imagining
> improving upon the current bridge to support running systemd-enabled
> services on sysvinit, kind of like start-stop-daemon but also with some
> of the most commonly used features in systemd units, such as detecting
> readiness properly (-b in start-stop-daemon has a huge warning in the
> man-page because of this) and auto-creating sockets and then passing
> them via the socket activation protocol.

I believe this would be a great way to allow platforms where systemd
can not be ported to run, to handle packages with daemons started by
systemd unit files with very little effort from the package
maintainers.

> So two questions:
>
> 1. Is there any interest in at least the current version of the
> cross-init-bridge? If so, I'll add a proper build system, fix the known
> quirks/bugs, call that "0.1" and make a debian package out of it. (I'm
> not a DD, so somebody else will have to upload it. ;-))

I'm interested, at least. :)

> 2. Is there any interest in the "big picture" idea? The improved
> version of my bridge would be complimentary to the debhelper
> proposed here, the design I'd chose is to NOT read unit files but
> have everything as command line arguments, and that the debhelper
> would generate the required arguments from the unit file. (That has
> the advantage that once generated, it's easier to debug those init
> scripts.) If that is the case, I'd volunteer to work on the improved
> version that can start daemons when started from sysvinit.

This idea is similar to the ideas underlying the metainit package.
Its goal was to allow package maintainers to specify the boot
requirements once and generate automatically the files needed by
various boot systems.  Perhaps your system could become part of
metainit?  It still seem like a good idea, and reusing existing file
formats is probably a better idea than making a new format.

-- 
Happy hacking
Petter Reinholdtsen


Reply to: