Bug #826214: Bug #826215: init-d-script and systemd: solution

Christian Seiler christian at iwakd.de
Thu Dec 29 16:24:26 GMT 2016


Hi Andreas,


Sorry for not replying earlier, but I wanted to mull this over some
before answering.

On 12/27/2016 10:49 AM, Andreas Henriksson wrote:
> On Sun, Dec 25, 2016 at 01:34:41PM +0100, Christian Seiler wrote:
>> Hi there,
>> (Cc'd a lot of people, so that hopefully everybody relevant
>> is included.)
> [...]
> 
> The problem I pointed you to where only one out of many symptoms of the
> breakage introduced by using init-d-script. I think just attacking one
> specific symptom of one specific LSB hook is wrong.

So after reading your arguments I believe I agree with you.

> Following Martins advice and pushing this back into the original
> init-d-script is better, because that means this is confined in a single
> place.

Yes.

> I also have to point out that I completely disagree with you on
> minimal systems not being relevant to anyone.

I think you misunderstood me a bit, I'm not against making
the Debian base smaller (I use containers myself and them
requiring less stuff is definitely something I look forward
to) - but since that was in support of an argument for
something I'm now convinced it's not the right way, I'm
going to leave it at that.





After reading the other emails, maybe we can converge on the
following consensus / compromise?

For stretch:

 - I'll provide a patch for #826214 against init-d-script
   that will restore the original arguments while sourcing
   /lib/lsb/init-functions. This will make systemctl
   redirection work again for Stretch when using
   init-d-script.

 - We'll ignore #826215 for Stretch and scripts shipping an
   init-d-script based init script will hard-depend on
   sysvinit-utils regardless of systemd service
   availability. (As they do now.)

 - Add a warning to the output in systemd's
   /lib/lsb/init-functions.d/40-systemd and mention that
   calling init scripts directly on systemd systems is
   deprecated. (I can provide a patch.)

For Buster:

 - We revisit #826215 and say that packages that provide a
   init-d-script that has the same name as a systemd service
   need not depend on sysvinit-utils, and that if people
   want init-d-scripts called directly in /etc/init.d
   (when a corresponding systemd service also exists) to
   work on systemd systems, they also have to install
   sysvinit-utils, otherwise this just breaks.

   People using service / invoke-rc.d will not have any
   trouble, and people who really want to call the script
   directly via /etc/init.d have to install an additional
   package. (Or use sysvinit as the init system.)

For either Buster or Buster + 1:

 - Revisit init.d script redirection entirely and perhaps
   get rid of it. (Or not, we'll have to see.)

Would at least the Stretch part of that be agreeable for
everyone involved here?

Regards,
Christian

PS: I've also gone through the bug list against init-d-script
and have been working on fixing a couple of other issues. I
haven't posted anything in that regard yet because I wanted to
wait what came out of this discussion here first, because this
is the most important issue at the moment.




More information about the Pkg-systemd-maintainers mailing list