[Initscripts-ng-commits] r738 - in /trunk/src/insserv/debian: changelog patches/00list patches/61_default_stop_changed_from_empty.dpatch patches/62_default_stop_no_defaults.dpatch
kelmo-guest at users.alioth.debian.org
kelmo-guest at users.alioth.debian.org
Sun May 18 01:44:53 UTC 2008
Author: kelmo-guest
Date: Sun May 18 01:44:53 2008
New Revision: 738
URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=738
Log:
* Add 61_default_stop_changed_from_empty to catch the case demonstrated by
test_adding_stop() and disallow overwrriten initscript to create stop
links when none were present initially.
* Add 62_default_stop_no_defaults to inhibit initscripts from being "given"
default stop links when none are wanted. Stop links should only be created
when asked for, there are no really sane defaults.
Added:
trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch (with props)
trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch (with props)
Modified:
trunk/src/insserv/debian/changelog
trunk/src/insserv/debian/patches/00list
Modified: trunk/src/insserv/debian/changelog
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/changelog?rev=738&op=diff
==============================================================================
--- trunk/src/insserv/debian/changelog (original)
+++ trunk/src/insserv/debian/changelog Sun May 18 01:44:53 2008
@@ -21,8 +21,14 @@
or more services to define and provide a virtual facility.
* Ensure custom insserv.conf.d/* files are cleaned after
test_insserv_conf_d() in run-testsuite.
-
- -- Kel Modderman <kel at otaku42.de> Fri, 16 May 2008 21:09:06 +1000
+ * Add 61_default_stop_changed_from_empty to catch the case demonstrated by
+ test_adding_stop() and disallow overwrriten initscript to create stop
+ links when none were present initially.
+ * Add 62_default_stop_no_defaults to inhibit initscripts from being "given"
+ default stop links when none are wanted. Stop links should only be created
+ when asked for, there are no really sane defaults.
+
+ -- Kel Modderman <kel at otaku42.de> Sun, 18 May 2008 11:41:12 +1000
insserv (1.11.0-8) unstable; urgency=low
Modified: trunk/src/insserv/debian/patches/00list
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/patches/00list?rev=738&op=diff
==============================================================================
--- trunk/src/insserv/debian/patches/00list (original)
+++ trunk/src/insserv/debian/patches/00list Sun May 18 01:44:53 2008
@@ -10,3 +10,5 @@
51_overwrite_output
52_shutdown_links
60_disable_cfgfilter_stat
+61_default_stop_changed_from_empty
+62_default_stop_no_defaults
Added: trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch?rev=738&op=file
==============================================================================
--- trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch (added)
+++ trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch Sun May 18 01:44:53 2008
@@ -1,0 +1,137 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 61_default_stop_changed_from_empty.dpatch by Kel Modderman <kel at otaku42.de>
+##
+## DP: When determining runlevel link scheme for a service, consider stop links
+## DP: before start links, so that we may determine if an existing script is
+## DP: already linked into a runlevel scheme but didn't initially provide
+## DP: stop links (valid configuration). Catch the case where a new script
+## DP: provides stop links without forcing default values to be used.
+
+ at DPATCH@
+diff -urNad insserv~/insserv.c insserv/insserv.c
+--- insserv~/insserv.c 2008-05-18 11:26:14.000000000 +1000
++++ insserv/insserv.c 2008-05-18 11:26:59.000000000 +1000
+@@ -2458,83 +2458,90 @@
+ error("exiting now!\n");
+ }
+
+- if (script_inf.default_start && script_inf.default_start != empty) {
+- uint deflvls = str2lvl(script_inf.default_start);
++#ifdef USE_STOP_TAGS
++ /*
++ * default_stop arn't used in SuSE Linux.
++ */
++ if (script_inf.default_stop && script_inf.default_stop != empty) {
++ uint deflvlk = str2lvl(script_inf.default_stop);
+
+ /*
+ * Compare all bits, which means `==' and not `&' and overwrite
+ * the defaults of the current script.
+ */
+- if (service->lvls) {
++ if (service->lvlk || service->lvls) {
+ /*
+ * Currently linked into service runlevel scheme, check
+ * if the defaults are overwriten.
+ */
+- if (!defaults && (deflvls != service->lvls)) {
++ if (!defaults && service->lvlk && (deflvlk != service->lvlk)) {
+ if (!del && chkfor(d->d_name, argv, argc) && !(argr[curr_argc]))
+- warn("Warning, current start runlevel(s) of script `%s' (%s) overwrites defaults (%s).\n",
+- d->d_name, lvl2str(service->lvls),
+- lvl2str(deflvls));
++ warn("Warning, current stop runlevel(s) of script `%s' (%s) overwrites defaults (%s).\n",
++ d->d_name, lvl2str(service->lvlk),
++ lvl2str(deflvlk));
++ } else if (!defaults && !service->lvlk) {
++ if (!del && chkfor(d->d_name, argv, argc) && !(argr[curr_argc])) {
++ warn("Warning, current empty stop runlevel(s) of script `%s' overwrites defaults (%s).\n",
++ d->d_name, lvl2str(deflvlk));
++ script_inf.default_stop = empty;
++ }
+ }
+ } else
+ /*
+ * Currently not linked into service runlevel scheme, info
+ * needed for enabling interactive services at first time.
+ */
+- service->lvls = deflvls;
++ service->lvlk = deflvlk;
+
+ } else {
+- if (service->lvls)
++ if (service->lvlk)
+ /*
+ * Could be a none LSB script, use info from current link scheme.
+ */
+- script_inf.default_start = lvl2str(service->lvls);
+- else
+- /*
+- * Ahh ... set default multiuser with network
+- */
+- script_inf.default_start = xstrdup(DEFAULT_START_LVL);
++ script_inf.default_stop = lvl2str(service->lvlk);
++ /*
++ * Do _not_ set default stop levels
++ */
+ }
+-#ifdef USE_STOP_TAGS
+- /*
+- * default_stop arn't used in SuSE Linux.
+- */
+- if (script_inf.default_stop && script_inf.default_stop != empty) {
+- uint deflvlk = str2lvl(script_inf.default_stop);
++#endif /* USE_STOP_TAGS */
++
++ if (script_inf.default_start && script_inf.default_start != empty) {
++ uint deflvls = str2lvl(script_inf.default_start);
+
+ /*
+ * Compare all bits, which means `==' and not `&' and overwrite
+ * the defaults of the current script.
+ */
+- if (service->lvlk) {
++ if (service->lvls) {
+ /*
+ * Currently linked into service runlevel scheme, check
+ * if the defaults are overwriten.
+ */
+- if (!defaults && (deflvlk != service->lvlk)) {
++ if (!defaults && (deflvls != service->lvls)) {
+ if (!del && chkfor(d->d_name, argv, argc) && !(argr[curr_argc]))
+- warn("Warning, current stop runlevel(s) of script `%s' (%s) overwrites defaults (%s).\n",
+- d->d_name, lvl2str(service->lvlk),
+- lvl2str(deflvlk));
++ warn("Warning, current start runlevel(s) of script `%s' (%s) overwrites defaults (%s).\n",
++ d->d_name, lvl2str(service->lvls),
++ lvl2str(deflvls));
+ }
+ } else
+ /*
+ * Currently not linked into service runlevel scheme, info
+ * needed for enabling interactive services at first time.
+ */
+- service->lvlk = deflvlk;
++ service->lvls = deflvls;
+
+ } else {
+- if (service->lvlk)
++ if (service->lvls)
+ /*
+ * Could be a none LSB script, use info from current link scheme.
+ */
+- script_inf.default_stop = lvl2str(service->lvlk);
+- /*
+- * Do _not_ set default stop levels
+- */
++ script_inf.default_start = lvl2str(service->lvls);
++ else
++ /*
++ * Ahh ... set default multiuser with network
++ */
++ script_inf.default_start = xstrdup(DEFAULT_START_LVL);
+ }
+-#endif /* USE_STOP_TAGS */
+ }
+ }
+ free(provides);
Propchange: trunk/src/insserv/debian/patches/61_default_stop_changed_from_empty.dpatch
------------------------------------------------------------------------------
svn:executable = *
Added: trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch
URL: http://svn.debian.org/wsvn/initscripts-ng/trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch?rev=738&op=file
==============================================================================
--- trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch (added)
+++ trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch Sun May 18 01:44:53 2008
@@ -1,0 +1,20 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 62_default_stop_no_defaults.dpatch by Kel Modderman <kel at otaku42.de>
+##
+## DP: Do not set default Default-Stop value for valid lsb scripts.
+
+ at DPATCH@
+diff -urNad insserv~/insserv.c insserv/insserv.c
+--- insserv~/insserv.c 2008-05-18 11:31:17.000000000 +1000
++++ insserv/insserv.c 2008-05-18 11:33:47.000000000 +1000
+@@ -2550,10 +2550,6 @@
+ /* Ahh ... set default multiuser with network */
+ if (!script_inf.default_start || script_inf.default_start == empty)
+ script_inf.default_start = xstrdup(DEFAULT_START_LVL);
+-#ifdef USE_STOP_TAGS
+- if (!script_inf.default_stop || script_inf.default_start == empty)
+- script_inf.default_stop = xstrdup(DEFAULT_STOP_LVL);
+-#endif /* USE_STOP_TAGS */
+
+ if (chkfor(d->d_name, argv, argc) && !defaults) {
+ if (argr[curr_argc]) {
Propchange: trunk/src/insserv/debian/patches/62_default_stop_no_defaults.dpatch
------------------------------------------------------------------------------
svn:executable = *
More information about the Initscripts-ng-commits
mailing list