Bug#832945: update-rc.d defaults does not respect disabled state of a sysv init script
Felipe Sateler
fsateler at debian.org
Sat Jul 30 18:52:56 BST 2016
On 29 July 2016 at 17:05, Michael Biebl <biebl at debian.org> wrote:
> Am 29.07.2016 um 22:44 schrieb Michael Biebl:
>> Package: init-system-helpers
>> Version: 1.41
>> Severity: serious
>>
>> Running
>> update-rc.d foo disable
>> update-rc.d foo defaults
>> will create start symlinks although this should not happen for a
>> disabled service.
>
> This happens when insserv is not installed, so is another regression in
> our fallback code.
Insserv does not create new links if there are already-existing links
for that runlevel. So I think the fix (untested) would be:
diff --git a/script/update-rc.d b/script/update-rc.d
index cbf4339..a01ed5e 100755
--- a/script/update-rc.d
+++ b/script/update-rc.d
@@ -116,15 +116,15 @@ sub make_sysv_links {
my ($lsb_start_ref, $lsb_stop_ref) =
parse_def_start_stop("/etc/init.d/$scriptname");
foreach my $lvl (@$lsb_start_ref) {
make_path("/etc/rc$lvl.d");
+ continue if glob("/etc/rc$lvl.d/[KS]??$scriptname");
my $l = "/etc/rc$lvl.d/S01$scriptname";
- unlink($l);
symlink("../init.d/$scriptname", $l);
}
foreach my $lvl (@$lsb_stop_ref) {
make_path("/etc/rc$lvl.d");
+ continue if glob("/etc/rc$lvl.d/[KS]??$scriptname");
my $l = "/etc/rc$lvl.d/K01$scriptname";
- unlink($l);
symlink("../init.d/$scriptname", $l);
}
}
--
Saludos,
Felipe Sateler
More information about the Pkg-systemd-maintainers
mailing list