On Wednesday 25 August 2010 07:05:14 Ron wrote:
> Package: sysv-rc
> Version: 2.86.ds1-65
> Severity: normal
> 
> Hi Petter :)
> 
> Thanks for the tips, it turns out this is nothing particularly tricky
> at all, it's just a plain vanilla bug in /etc/init.d/rc ;
> 
> Around line 184 we have this code:
> 
>         case "$runlevel" in
>                 0|6)
>                         ACTION=stop
>         ...
> 
> 
> Followed by this at line 220:
> 
>       if [ makefile = "$CONCURRENCY" ]
>       then
>               [ "$previous" != N ] && startup stop
>         ...
> 
> 
> which calls 'startup stop' the first time, and is followed at line 268 by:
> 
>       if [ makefile = "$CONCURRENCY" ]
>       then
>               if [ S = "$runlevel" ]
>               then
>                       startup boot
>               else
>                       startup $ACTION
>               fi
>       else
>         ...
> 
> Which then calls 'startup stop' again :(

Thanks for the report, this change should sort out the issue:

diff -u sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rc 
sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rc
--- sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rc
+++ sysvinit-2.88dsf/debian/src/sysv-rc/etc/init.d/rc
@@ -217,10 +215,13 @@
        done
        step=0
 
+       # First, run the KILL scripts.
        if [ makefile = "$CONCURRENCY" ]
        then
-               [ "$previous" != N ] && startup stop
-       # First, run the KILL scripts.
+               if [ "$ACTION" = "start" ] && [ "$previous" != N ]
+               then
+                       startup stop
+               fi
        elif [ "$previous" != N ]
        then
                # Run all scripts with the same level in parallel
---

Thanks, Kel



-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to