[debhelper-devel] Bug#864504: dh_systemd_enable: please go back using `disable` instead of `mask`
Alan Jenkins
alan.christopher.jenkins at gmail.com
Mon Oct 16 16:33:57 UTC 2017
On 16/10/17 16:44, Michael Biebl wrote:
> Am 16.10.2017 um 12:40 schrieb Alan Jenkins:
>
>> I suspect this would end up with Debian carrying the patch to the
>> systemd generator. But all it needs to do is test for
>> `/var/lib/update-rc.d/${script}.removed` and then skip ${script}.
>>
>> Alan
> I'm not very enthusiastic of keeping and maintaining (yet another) state
> directory/file which could potentially get out-of-sync .
>
> A much simpler idea could be, to remove the -x bit from the SysV init
> script on remove (and reapply it on re-install). Afair, the
> sysv-generator already ignores such init scripts. So nothing would have
> to change on the systemd side.
>
> dh_installinit (shipped by debhelper) would have to be updated to
> generate maintainer scripts code to remove and (re)add the executable bit.
>
> Still, we'd have to consider that we have upgraded systems which have
> not been rebuilt with the new debhelper so we can't just remove the
> current logic which masks uninstalled-but-not-purged init scripts.
>
> Maybe in two or three releases we could revisit that.
>
> Removing the -x bit of removed-but-not-purged init scripts would have
> the nice side effect, that those are also not executed under
> sysvinit/startpar.
>
> Are you interested in working on a patch for debhelper?
Sorry. I thought I should report my annoyance once I'd found the root
cause for it. But I don't think I can commit to writing patch(es) now.
Maybe you have the right idea about clobbering the executable bit. I
didn't like it because the reason for this annoyance was just such a
clobbering (v.s. systemctl mask).
It was already frustrating to prevent a Debian network service starting
before you'd configured it.[1] `systemctl mask` provides a way to do
it. For sysvinit, presumably assigning -x with `dpkg-statoverride`
would be an equivalent. Perhaps not a well-documented one. Such
procedures could be silently defeated if the install script applies +x.
[1]
https://unix.stackexchange.com/questions/321621/configuring-my-sshd-securely-with-automation/321622
> we can't just remove the current logic which masks
uninstalled-but-not-purged init scripts
Ouch, I'd forgotten about the transition issue. Yep, I guess wait for
long enough and then explain it in a release note. (Or write an even
more magic package script to apply the mask to residual conffiles in
/etc/rc.d).
Alan
More information about the debhelper-devel
mailing list