[Pkg-sysvinit-commits] r1682 - sysvinit/trunk/debian/sysv-rc/sbin

Kel Modderman kelmo-guest at alioth.debian.org
Tue Sep 1 00:09:24 UTC 2009


Author: kelmo-guest
Date: 2009-09-01 00:09:23 +0000 (Tue, 01 Sep 2009)
New Revision: 1682

Modified:
   sysvinit/trunk/debian/sysv-rc/sbin/update-rc.d
Log:
Simplify block to treat runlevels 0 and 6 as always stop levels (good catch pere!). Do not always emit warning about LSB overriding command line parameters, that is not the case for legacy boot system.

Modified: sysvinit/trunk/debian/sysv-rc/sbin/update-rc.d
===================================================================
--- sysvinit/trunk/debian/sysv-rc/sbin/update-rc.d	2009-08-31 21:16:50 UTC (rev 1681)
+++ sysvinit/trunk/debian/sysv-rc/sbin/update-rc.d	2009-09-01 00:09:23 UTC (rev 1682)
@@ -461,7 +461,7 @@
 
 sub cmp_args_with_defaults {
     my ($name, $act) = (shift, shift);
-    my ($lsb_start_ref, $lsb_stop_ref, $arg_str, $lsb_str, $differ);
+    my ($lsb_start_ref, $lsb_stop_ref, $arg_str, $lsb_str);
     my (@arg_start_lvls, @arg_stop_lvls, @lsb_start_lvls, @lsb_stop_lvls);
 
     ($lsb_start_ref, $lsb_stop_ref) = parse_def_start_stop("/etc/init.d/$name");
@@ -484,18 +484,19 @@
 
         while (defined $_[$argi]) {
             my $arg = $_[$argi];
-            if ($arg eq 'start') {
+
+            # Runlevels 0 and 6 are always stop runlevels
+            if ($arg eq 0 or $arg eq 6) {
+		$start = 0; $stop = 1; 
+            } elsif ($arg eq 'start') {
                 $start = 1; $stop = 0; $argi++; next;
             } elsif ($arg eq 'stop') {
                 $start = 0; $stop = 1; $argi++; next;
             } elsif ($arg eq '.') {
                 next;
             }
-            # Runlevels 0 and 6 are always stop runlevels
-            push(@arg_start_lvls, $arg) if $start
-                && (0 ne $arg && 6 ne $arg);
-            push(@arg_stop_lvls, $arg) if $stop
-                || 0 eq $arg || 6 eq $arg;
+            push(@arg_start_lvls, $arg) if $start;
+            push(@arg_stop_lvls, $arg) if $stop;
         } continue {
             $argi++;
         }
@@ -503,7 +504,6 @@
 
     if ($#arg_start_lvls != $#lsb_start_lvls or
         join("\0", sort @arg_start_lvls) ne join("\0", sort @lsb_start_lvls)) {
-        $differ++;
         $arg_str = @arg_start_lvls ? "@arg_start_lvls" : "none";
         $lsb_str = @lsb_start_lvls ? "@lsb_start_lvls" : "none";
         warning "$name start runlevel arguments ($arg_str) do not match",
@@ -511,14 +511,11 @@
     }
     if ($#arg_stop_lvls != $#lsb_stop_lvls or
         join("\0", sort @arg_stop_lvls) ne join("\0", sort @lsb_stop_lvls)) {
-        $differ++;
         $arg_str = @arg_stop_lvls ? "@arg_stop_lvls" : "none";
         $lsb_str = @lsb_stop_lvls ? "@lsb_stop_lvls" : "none";
         warning "$name stop runlevel arguments ($arg_str) do not match",
                 "LSB Default-Stop values ($lsb_str)";
     }
-
-    warning "command line arguments overridden by $name LSB info" if $differ;
 }
 
 sub insserv_toggle {




More information about the Pkg-sysvinit-commits mailing list