Author: kelmo-guest
Date: Sat Jul 19 06:37:42 2008
New Revision: 787

URL: http://svn.debian.org/wsvn/initscripts-ng/?sc=1&rev=787
Log:
Merge 64_missing_default_fields_fallback.patch, 
81_empty_stop_start_defaults_no_override.patch and 
82_improve_runlevel_override_output.patch into a single patch: 
81_debian_default_start_stop_warnings.patch

Added:
    
branches/insserv-1.11.9/debian/patches/81_debian_default_start_stop_warnings.patch
Removed:
    
branches/insserv-1.11.9/debian/patches/64_missing_default_fields_fallback.patch
    
branches/insserv-1.11.9/debian/patches/81_empty_stop_start_defaults_no_override.patch
    
branches/insserv-1.11.9/debian/patches/82_improve_runlevel_override_output.patch
Modified:
    branches/insserv-1.11.9/debian/changelog
    branches/insserv-1.11.9/debian/patches/series

Modified: branches/insserv-1.11.9/debian/changelog
URL: 
http://svn.debian.org/wsvn/initscripts-ng/branches/insserv-1.11.9/debian/changelog?rev=787&op=diff
==============================================================================
--- branches/insserv-1.11.9/debian/changelog (original)
+++ branches/insserv-1.11.9/debian/changelog Sat Jul 19 06:37:42 2008
@@ -17,6 +17,7 @@
     - 51_overwrite_output.dpatch
     - 52_shutdown_links.dpatch
     - 60_disable_cfgfilter_stat.dpatch
+    - 64_missing_default_fields_fallback.dpatch
   * Discard patches not applied in series:
     - 32_debug_option.dpatch
     - 34_debian_fixedscripts.dpatch
@@ -26,7 +27,6 @@
     - 42_loopnochangemsg.dpatch
     - 62_warn_on_missing_required_fields.dpatch
     - 63_warn_on_missing_default_fields.dpatch
-    - 64_missing_default_fields_fallback.dpatch
   * Convert patches to a quilt series, adjust debian/{rules,control}
     accordingly. Build-Depend on quilt.
   * Add 70_test_suite_failed_count.patch to close delta between SUSE and
@@ -34,17 +34,15 @@
   * Add 80_do_not_mangle_argv_pointer.patch to revert optimisation that
     modifies argv pointer and causes chkfor() function to be impotent
     thereafter, completely wrecking the test suite.
-  * Add 81_empty_stop_start_defaults_no_override.patch to avoid treating
-    script with empty Default-{Start,Stop} LSB keywords as non-LSB scripts.
-    Additionally, warn and override when links exist but defaults are empty.
+  * Add 81_debian_default_start_stop_warnings.patch to harden Default-Start
+    and Default-Stop handling for Debian. Improve warnings when defaults are
+    overriden by on disk link due to unhandled change in script LSB header.
+    Don't provide default fallbacks to scripts without LSB header information.
   * Refresh 31_debian_conf.patch.
   * Add an extra call to list_rclinks() in test_newbug_keepoldorder()
     function of run-testsuite, after introducing the bug.
   * Make test_adding_start() and test_adding_stop() run-testsuite
     functions unconditionally fatal on failure.
-  * Add 82_improve_runlevel_override_output.patch to improve output when
-    overriding defaults with existing start|stop runlevel link
-    configuration.
   * Make test_bogus_facility() run-testsuite function non-fatal.
   * Mark tests that are currently failing with a comment in run-
     testsuite.
@@ -53,7 +51,7 @@
     unproperly replaced with empty Default-Start or Default-Stop.
   * Make test_adding_start() case a more realistic example.
 
- -- Kel Modderman <[EMAIL PROTECTED]>  Sat, 19 Jul 2008 03:31:13 +1000
+ -- Kel Modderman <[EMAIL PROTECTED]>  Sat, 19 Jul 2008 16:36:06 +1000
 
 insserv (1.11.0-9) unstable; urgency=low
 

Added: 
branches/insserv-1.11.9/debian/patches/81_debian_default_start_stop_warnings.patch
URL: 
http://svn.debian.org/wsvn/initscripts-ng/branches/insserv-1.11.9/debian/patches/81_debian_default_start_stop_warnings.patch?rev=787&op=file
==============================================================================
--- 
branches/insserv-1.11.9/debian/patches/81_debian_default_start_stop_warnings.patch
 (added)
+++ 
branches/insserv-1.11.9/debian/patches/81_debian_default_start_stop_warnings.patch
 Sat Jul 19 06:37:42 2008
@@ -1,0 +1,120 @@
+Improve warnings when overriding defaults with existing runlevel link scheme.
+
+In Debian, if Default-Start or Default-Stop fields are empty, warn and override
+defaults if runlevel links exist. Do not fallback to defaults when defaults are
+missing (broken LSB info), instead print a warning and create no links at all.
+
+This should not happen, as /usr/sbin/update-rc.d and lintian should be able to
+print enough warnings so that a Debian package maintainer notices the problems
+during his/her package quality control tests.
+---
+--- a/insserv.c
++++ b/insserv.c
+@@ -2779,8 +2779,9 @@
+                            */
+                           if (!defaults && (deflvls != service->start->lvl)) {
+                               if (!del && chkfor(d->d_name, argv, argc) && 
!(argr[curr_argc]))
+-                                  warn("Warning, current start runlevel(s) %s 
of script `%s' overwrites defaults %s.\n",
+-                                       lvl2str(service->start->lvl), 
d->d_name, lvl2str(deflvls));
++                                  warn("Warning, current start runlevel(s) 
(%s) of script `%s' overwrites defaults (%s).\n",
++                                       service->start->lvl ? 
lvl2str(service->start->lvl) : "empty", d->d_name,
++                                       lvl2str(deflvls));
+                           }
+                       } else
+                           /*
+@@ -2788,7 +2789,7 @@
+                            * needed for enabling interactive services at 
first time.
+                            */
+                           service->start->lvl = deflvls;
+-
++#ifdef SUSE
+                   } else {
+                       /*
+                        * Could be a none LSB script, use info from current 
link scheme.
+@@ -2798,6 +2799,20 @@
+                           script_inf.default_start = 
lvl2str(service->start->lvl);
+                       else
+                           script_inf.default_start = 
xstrdup(DEFAULT_START_LVL);
++#else
++                  } else if (script_inf.default_start && 
script_inf.default_start == empty) {
++                      if ((service->attr.flags & SERV_ENABLED) && 
service->start->lvl) {
++                          /*
++                           * Currently linked into service runlevel scheme,
++                           * but defaults are empty. Override defaults.
++                           */
++                          if (!defaults && !del && chkfor(d->d_name, argv, 
argc) && !(argr[curr_argc])) {
++                              warn("Warning, current start runlevel(s) (%s) 
of script `%s' overwrites defaults (empty).\n",
++                                   lvl2str(service->start->lvl), d->d_name);
++                              script_inf.default_start = 
lvl2str(service->start->lvl);
++                          }
++                      }
++#endif
+                   }
+ #ifdef SUSE
+                   /*
+@@ -2822,8 +2837,9 @@
+                            */
+                           if (!defaults && (deflvlk != service->stopp->lvl)) {
+                               if (!del && chkfor(d->d_name, argv, argc) && 
!(argr[curr_argc]))
+-                                  warn("Warning, current stop runlevel(s) %s 
of script `%s' overwrites defaults %s.\n",
+-                                       lvl2str(service->stopp->lvl), 
d->d_name, lvl2str(deflvlk));
++                                  warn("Warning, current stop runlevel(s) 
(%s) of script `%s' overwrites defaults (%s).\n",
++                                       service->stopp->lvl ? 
lvl2str(service->stopp->lvl) : "empty", d->d_name,
++                                       lvl2str(deflvlk));
+                           }
+                       } else
+                           /*
+@@ -2831,7 +2847,7 @@
+                            * needed for enabling interactive services at 
first time.
+                            */
+                           service->stopp->lvl = deflvlk;
+-
++#ifdef SUSE
+                   } else {
+                       /*
+                        * Could be a none LSB script, use info from current 
link scheme.
+@@ -2841,17 +2857,44 @@
+                           script_inf.default_stop = 
lvl2str(service->stopp->lvl);
+                       else
+                           script_inf.default_stop = xstrdup(DEFAULT_STOP_LVL);
++#else
++                  } else if (script_inf.default_stop && 
script_inf.default_stop == empty) {
++                      if ((service->attr.flags & SERV_ENABLED) && 
service->stopp->lvl) {
++                          /*
++                           * Currently linked into service runlevel scheme,
++                           * but defaults are empty. Override defaults.
++                           */
++                          if (!defaults && !del && chkfor(d->d_name, argv, 
argc) && !(argr[curr_argc])) {
++                              warn("Warning, current stop runlevel(s) (%s) of 
script `%s' overwrites defaults (empty).\n",
++                                   lvl2str(service->stopp->lvl), d->d_name);
++                              script_inf.default_stop = 
lvl2str(service->stopp->lvl);
++                          }
++                      }
++#endif
+                   }
+               }
+           }
+           free(provides);
+       }
+ 
++#ifdef SUSE
+       /* Ahh ... set default multiuser with network */
+       if (!script_inf.default_start || script_inf.default_start == empty)
+           script_inf.default_start = xstrdup(DEFAULT_START_LVL);
+       if (!script_inf.default_stop  || script_inf.default_start == empty)
+           script_inf.default_stop  = xstrdup(DEFAULT_STOP_LVL);
++#else
++      if (!script_inf.default_start) {
++          warn("Default-Start undefined, assuming empty start runlevel(s) for 
script `%s'\n",
++               d->d_name);
++          script_inf.default_start = empty;
++      }
++      if (!script_inf.default_stop) {
++          warn("Default-Stop undefined, assuming empty stop runlevel(s) for 
script `%s'\n",
++               d->d_name);
++          script_inf.default_stop = empty;
++      }
++#endif
+ 
+       if (chkfor(d->d_name, argv, argc) && !defaults && !del) {
+           if (argr[curr_argc]) {

Modified: branches/insserv-1.11.9/debian/patches/series
URL: 
http://svn.debian.org/wsvn/initscripts-ng/branches/insserv-1.11.9/debian/patches/series?rev=787&op=diff
==============================================================================
--- branches/insserv-1.11.9/debian/patches/series (original)
+++ branches/insserv-1.11.9/debian/patches/series Sat Jul 19 06:37:42 2008
@@ -4,8 +4,6 @@
 42_loopnochangemsg.patch
 62_warn_on_missing_required_fields.patch
 63_warn_on_missing_default_fields.patch
-64_missing_default_fields_fallback.patch
 70_test_suite_failed_count.patch
 80_do_not_mangle_argv_pointer.patch
-81_empty_stop_start_defaults_no_override.patch
-82_improve_runlevel_override_output.patch
+81_debian_default_start_stop_warnings.patch


_______________________________________________
Initscripts-ng-commits mailing list
[email protected]
http://lists.alioth.debian.org/mailman/listinfo/initscripts-ng-commits

Reply via email to