[systemd-devel] abstracting chkconfig vs. update-rc.d [was: non-merged /usr changes]

Lukáš Nykrýn lnykryn at redhat.com
Wed May 27 08:32:16 PDT 2015


Lennart Poettering píše v St 27. 05. 2015 v 15:22 +0200:
> On Wed, 27.05.15 15:17, Martin Pitt (martin.pitt at ubuntu.com) wrote:
> 
> > Hey Lennart,
> > 
> > Lennart Poettering [2015-05-27 15:08 +0200]:
> > > >   /usr/lib/lsb/install_initd /etc/init.d/example.com-coffeed
> > > >   /usr/lib/lsb/remove_initd /etc/init.d/example.com-coffeed
> > > > 
> > > > So we could make systemctl just call this if it's available, and
> > > > otherwise do nothing for init.d scripts.
> > > 
> > > Sounds OK to use something like this, that already exists.
> > > 
> > > However, we actually need not only enabling/disabling, but also
> > > "is-enabled" support, and idea on that?
> > 
> > My current version of the patch keeps the chkconfig implementation for
> > now; I suppose we don't want to needlessly enforce a lockstep
> > situation where you can't use systemd git on Fedora until these
> > scripts exist.
> 
> We barely have any init scripts left, this isn't really a big issue
> hence. I think it's no problem to require an update in lockstep for
> this for Fedora.
> 
> > LSB does not define an interface for checking whether an init.d script
> > is enabled, and e. g. Debian's update-rc.d does not currently either
> > (https://bugs.debian.org/705254).
> > 
> > We certainly know whether an init.d script is enabled, as we check
> > exactly that in the sysv-generator (and if it's disabled we don't
> > create a .service for it). However, right now the systemctl is-enabled
> > command will just give you a "not supported with sysvinit" error with
> > --disable-chkconfig.
> 
> I think it should be the hook that generates that error, not systemctl...
> 
> > 
> > > Also, I'd like to keep Lukas Nykryn in the loop on this, our
> > > initscripts maintainer.
> > 
> > Did you mean to CC: him?
> 
> That was my intention, and I could bet I did add him.
> 
> Lukas, I added you now, can you have a look at branch of the thread
> please?
> 
> Lennart
> 

We already have /usr/lib/lsb/install_initd in fedora and rhel, it is in 
redhat-lsb-core, but basically it is just a symlink to chkconfig.

But I would be careful about it. The main problem is, that according to
LSB install_initd requires that lsb dependencies are satisfied and
refuses to install an initscript if they are not.

Lukas





More information about the systemd-devel mailing list