martin f krafft <madd...@debian.org> writes:

> tags 563727 patch
> thanks

> Indeed:

> diff -u /tmp/console-screen.sh /etc/init.d/console-screen.sh
> --- /tmp/console-screen.sh      2010-01-05 11:42:38.000000000 +1300
> +++ /etc/init.d/console-screen.sh       2010-01-05 11:42:58.000000000 +1300
> @@ -82,11 +82,10 @@
>      CONSOLE_TYPE=`fgconsole 2>/dev/null` || return 0
>  
>      if [ ! $CONSOLE_TYPE = "serial" ]  ; then
> -       readlink /proc/self/fd/0 | grep -q -e /dev/vc -e '/dev/tty[^p]' -e 
> /dev/console
> -       if [ $? -eq 0 ] ; then
> -           VT="yes"
> -           reset_vga_palette
> -       fi
> +      if readlink /proc/self/fd/0 | grep -q -e /dev/vc -e '/dev/tty[^p]' -e 
> /dev/console; then
> +       VT="yes"
> +       reset_vga_palette
> +      fi
>      fi
>  
>      [ $VT = "no" ] && return 0

I believe change in the previous version to add set -e should also be
undone.  Init scripts should in general not use set -e.  I opened a bug on
Policy a while back to make that clearer.  See, for instance, the comment
in /etc/init.d/skeleton.

Many common operations that one wants to do in an init script, such as
starting a daemon and checking its return status, or things like the above
are not set -e clean.  Neither are the LSB functions to output status of
init scripts starting, nor is there really any reason to go to the effort
of making them so.

For init scripts, explicitly checking the return status where it matters
is more robust.  set -e often results in strange and difficult-to-debug
failures when used in init scripts.

-- 
Russ Allbery (r...@debian.org)               <http://www.eyrie.org/~eagle/>



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

Reply via email to