On Tue, 25.05.10 09:42, Jeff Spaleta (jspaleta(a)gmail.com) wrote:
Like I said... we need to have more discussion a long the lines of
what I saw concerning how cups and other services will work in a
systemd setting. We have to have a feel for the complexity of
configuration.
We'll also need to have good examples showing the sysV and inetd
compatibility at work. Not that I don't trust what was written in the
blog story, but having tangible example of a parallel installable
systemd that used the existing SySV styled init scripts as a precursor
for a serious discussion is going to go a long way at helping the
signal to noise ratio. I didn't see the systemd packages in the people
space Richard pointed to. Can someone point me to an updated url?
OK, here's an example, for a relatively modern and clean daemon, the
dbus system bus. Its SysV init script is relatively simple (see
/etc/init.d/messagebus). And the configuration to make it socket-bus
activatable would be even simpler and look like this:
You'd have two units, one for the socket:
http://0pointer.de/public/dbus.socket
The contents should be pretty self-explanatory.
And one for the service itself, that is activated when the socket units
receives traffic:
http://0pointer.de/public/dbus.service
This one is pretty self-explanatory too I guess. It defines some
requirement and ordering dependencies, to make sure that dbus is started
after the initial base system is set up and after the socket itself is
set up. (Later on we might even drop part of those ordering
dependencies, since dbus could run much earlier at boot-up if it was
simply using an abstract namespace socket, instead of relying on a
writable /var. But that's another discussion)
(Oh, don't try to run actually use that .socket and .service file, you
need my patches that add --address to dbus daemon, and the special
"systemd:" address)
Lennart
--
Lennart Poettering Red Hat, Inc.
lennart [at] poettering [dot] net
http://0pointer.net/lennart/ GnuPG 0x1A015CC4