Bug#865284: init-system-helpers: fill /etc with irrelevant directories ; init specific files should be not be installed on systems not using these

Mathieu ROY yeupou at gnu.org
Tue Jun 20 12:23:30 BST 2017


Hello,



Le mardi 20 juin 2017, 12:22:57 CEST Michael Biebl a écrit :
> Control: tags -1 + wontfix
> 
> Am 20.06.2017 um 10:56 schrieb Mathieu Roy:

> To understand why the /etc/rc?.d directories were added to
> init-system-helpers, see
> https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=834524

I actually read this before submitting the report.

I understand why you wanted to to this.
Sadly, it does not change the problem of littering up /etc


> Keep in mind that the package ships update-rc.d, which creates symlinks
> in those directories. So it's completely justified that the package owns
> those directories.
> While we could move update-rc.d into a separate sub-package, this would
> not gain as a lot, as we'd either have to make it essential or have
> init-system-helpers depend on it, so we'd be back to square one.
> The reason for that is, that update-rc.d has always been considered
> essential, so maintainer scripts use it with actually depending on the
> package shipping update-rc.d. We can't simply break hundreds of packages
> like thi.
> 
> I guess this makes it an unfixable bug and I'm marking this as wontfix.

I am not sure to understand:

# dpkg -S /etc/runlevels
openrc: /etc/runlevels


# dpkg -S /etc/rc0.d/
init-system-helpers: /etc/rc0.d

We agree that if openrc is not installed, there won't be a /etc/runlevels. And update-rc.d will 
work nonetheless.

How come would it be definitely possible for init-system-helpers not to provide /etc/
runlevels but definitely not possible not to provide /etc/rc0.d ?

If update-rc.d can adjust to the presence or absence of /etc/runlevels, why could not it adjust 
to the presence or absence of /etc/rc*.d ?

It makes perfect sense for update-rc.d, common among openrc, sys-vr, upstart, etc, to be in a 
common package like init-system-helpers.
But it is quite different to include all possible combination of files of init systems.

I think bug #834524 quick fix was a bit too lightly considered (we have /etc/rc*d orphaned? 
let's give them an owner even without considering if they should exists or not). Still in bug 
#834524 there was the following dialog:

>> Not necessarily.  /etc/init.d will need to exist; /etc/rc?.d doesn't,
>> unless an init system making use of rc?.d links is installed.

>Systemd is an init systemd that makes use of rc?.d links, as it uses
>that information to determine if a service without native unit is
>enabled.
Well, clearly, not considering anything beside sysv-rc/systemd is an oversight. /etc/rc*.d 
doesn't
At this rate, /etc could easily be a total mess.
So please, reconsider. /etc/rc*.d should not be provided by init-system-helpers
(For the record, I tried update-rc.d with /etc/rc*.d removed harshly, it works work, it will just 
write out "update-rc.d: error: no runlevel symlinks to modify, aborting!" at some point, after 
proper symlinks are made for openrc)


If you'd accept a patch about update-rc.d so it does not print error message when /etc/rc*d 
are missing and do not apply, please tell.






-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20170620/879ff52e/attachment-0002.html>


More information about the Pkg-systemd-maintainers mailing list