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