Bug#932290: insserv: Script has overlapping Default-Start and Default-Stop runlevels
Dmitry Bogatov
KAction at debian.org
Thu Jul 25 20:06:22 BST 2019
control: tags -1 +confirmed +help +upstream +patch
[2019-07-24 14:12] Lorenz <lorenzo.ru.g at gmail.com>
> Control: severity -1 normal
>
> Ok, here is what I've found out; to reproduce the issue you need to
> disable with update-rc.d a script that has an empty ' Default-Stop: ' field
> in the LSB header.
> [...]
Yes, I reproduced.
> This is a minor issue, but still i have few suggestions:
>
> 1. the message looks like an error, but insserv exits 0, so i guess it' a
> warning,
> maybe it should be ' insserv: warning: Script ssh has ...'
> 2. disabling a service is a legit action and insserv already prints a
> warning about
> overriding LSB defaults, so what is this warning about (what is to be
> fixed)?
> Is an empty ' Default-Stop: ' field a bug, or it's something else?
This check is about LSB headers, where some runlevel is listed both in
Default-Start and Default-Stop. It is really serious. But behaviour you
are reporing is false-positive. There is no need to change message --
only to make sure it is printed in apporiate situations.
I prepared patch that fix problem at hand (I believe), but I am not sure
that it does not introduce problems in another cases. The whole point is
that `script_inf.default_stop' value gets overrided around
insserv.c:3698, so I moved overlap check up. Jesse, can you please take
a look?
By the way, `if (!service)' conditional is always true -- `service'
variable gets initialized to `0' and is not modified before this
conditional.
diff --git a/insserv.c b/insserv.c
index 0c638dd..fa02b23 100644
--- a/insserv.c
+++ b/insserv.c
@@ -3475,6 +3475,12 @@ int main (int argc, char *argv[])
} /* !findservice(&guess, script_inf.provides) */
}
+ overlap = Start_Stop_Overlap(script_inf.default_start, script_inf.default_stop);
+ if (overlap) {
+ warn("Script %s has overlapping Default-Start and Default-Stop runlevels (%s) and (%s). This should be fixed.\n",
+ d->d_name, script_inf.default_start, script_inf.default_stop);
+ }
+
/*
* Use guessed service to find it within the the runlevels
* (by using the list from the first scan for script locations).
@@ -3733,13 +3739,6 @@ int main (int argc, char *argv[])
}
#endif /* not SUSE */
- overlap = Start_Stop_Overlap(script_inf.default_start, script_inf.default_stop);
- if (overlap)
- {
- warn("Script %s has overlapping Default-Start and Default-Stop runlevels (%s) and (%s). This should be fixed.\n",
- d->d_name, script_inf.default_start, script_inf.default_stop);
- }
-
if (isarg && !defaults && !del) {
if (argr[curr_argc]) {
char * ptr = argr[curr_argc];
--
Note, that I send and fetch email in batch, once in a few days.
Please, mention in body of your reply when you add or remove recepients.
More information about the Debian-init-diversity
mailing list