Systemd unit file implementation questions (ypbind)

Lennart Poettering mzerqung at 0pointer.de
Thu Apr 14 15:31:35 UTC 2011


On Thu, 14.04.11 16:35, Michal Hlavinka (mhlavink at redhat.com) wrote:

> 
> On Thursday, April 14, 2011 15:48:09 Lennart Poettering wrote:
> > On Thu, 14.04.11 14:51, Michal Hlavinka (mhlavink at redhat.com) wrote:
> > 
> > > 
> > > On Thursday, April 14, 2011 13:26:02 Michal Schmidt wrote:
> > > > On 04/14/2011 11:14 AM, Michal Hlavinka wrote:
> > > > > d) split it to more service files and make dependency there
> > > > >
> > > > > this would be incompatible change in configuration and hard to do,
> > > > 
> > > > Hard maybe, but solvable. Incompatibility happens from time to time. 
> > > > That's what release notes are for.
> > > 
> > > Upstream has their cross-distribution packaging "guidelines" / effort / ... 
> > > (I can't find the proper description.) Making configuration work different 
> > > way then on other systems won't make anyone happy. If there is a way to 
> > > keep current configuration working, then it's the way it will be done. Option c)
> > > would work, I'm just looking for another possibility to make it work the same 
> > > way but also more systemd-like way.
> > 
> > I presume their guidelines just cover SysV-style bootups?
> 
> It's not only about SysV, but also says something like: when user starts nut, it should 
> start exactly those services that are needed based on
> /etc/sysconfig/nut MODE=? option

/etc/sysconfig/xxx is mostly a Fedora/Red Hat idiom. I am pretty sure
the Debian version of the boot scripts do not honour this request.

> Also I don't see how is this different from for example dovecot (pop3 and imap server) 
> where master process starts auth, imapd, pop3d,... there just is no master process.
> This was handled by init script, because it was sufficient for this job. So it seems that 
> systemd is not capable of doing this and "master" script will solve
> this.

Dovecot upstream actually comes with systemd support including socket
activation. I haven't tried it myself but it sounds as if dovecot is
perfectly compatible with systemd ;-)

> > If upsd strictly requires ups driver, then a Requires= directive in its
> > unit file is a good idea. 
> 
> If I use Requires= directive, it starts driver for upsd, but is it possible to specify to 
> stop the driver when upsd stops? 

Yes, as was pointed out BindTo= can do that for you.

Lennart

-- 
Lennart Poettering - Red Hat, Inc.


More information about the devel mailing list