Package: hdparm Version: 5.8-1 Severity: minor Tags: patch The attached patch improves the initscript's output by bringing it into line with the convention:
Doing something to things: thing1 thing2. E.g., either $ sudo ./hdparm start Setting disc parameters: /dev/hda. or $ sudo ./hdparm start Setting parameters of disc: (none). -- System Information: Debian Release: 3.1 APT prefers testing APT policy: (500, 'testing'), (50, 'unstable'), (1, 'experimental') Architecture: i386 (i686) Kernel: Linux 2.6.10 Locale: [EMAIL PROTECTED], [EMAIL PROTECTED] (charmap=ISO-8859-15) Versions of packages hdparm depends on: ii libc6 2.3.2.ds1-20 GNU C Library: Shared libraries an -- no debconf information
--- hdparm_ORIG 2005-02-11 16:18:40.000000000 +0100 +++ hdparm 2005-02-11 16:48:25.000000000 +0100 @@ -2,6 +2,23 @@ set -e +MYNAME="$0" +report() +{ + echo "${MYNAME}: $*" +} + +report_error() +{ + echo "${MYNAME}: Error: $*" >&2 +} + +report_error_and_exit() +{ + report_error "$*. Exiting." + exit 1 +} + case $1 in start|restart|reload|force-reload) ;; @@ -9,13 +26,13 @@ exit 0 ;; *) - echo "Usage: $0 {stop|start|restart|reload|force-reload}" >&2 - exit 1 + echo "Usage: $MYNAME {stop|start|restart|reload|force-reload}" >&2 + exit 3 ;; esac if grep -w -q "nohdparm" /proc/cmdline ; then - echo "Skipping setup of disc parameters." + report "Skipping setup of disc parameters." exit 0 fi @@ -29,11 +46,10 @@ fi if ! [ "$raidstat" = 'OK' ]; then - echo "RAID status not OK. Exiting." - exit 0 + report_error_and_exit "RAID status not OK" fi -echo -n "Setting disc parameters:" +echo -n "Setting parameters of disc:" DISC= DEFAULT= @@ -82,10 +98,13 @@ # Get blocks as far as the drive's write cache. /bin/sync -egrep -v '^[[:space:]]*(#|$)' /etc/hdparm.conf | while read KEY SEP VALUE; do - if [ "$NEXT_LINE" != 'go' ]; then - case $SEP in - '{') +egrep -v '^[[:space:]]*(#|$)' /etc/hdparm.conf | \ + { + ITEMS_ECHOED=no + while read KEY SEP VALUE; do + if [ "$NEXT_LINE" != 'go' ]; then + case $SEP in + '{') case $KEY in command_line) NEXT_LINE=go @@ -101,7 +120,7 @@ ;; esac ;; - =) + =) case $KEY in read_ahead_sect) set_option -a$VALUE @@ -161,18 +180,16 @@ set_option -p$VALUE ;; *) - echo "unknown option $KEY" - exit 1 + report_error_and_exit "Unknown option: $KEY" ;; esac - ;; - "") - case $KEY in - }) + ;; + "") + case "$KEY" in + '}') if [ -z "$DISC" ]; then if [ "$WAS_RUN" != '1' ]; then - echo "No disk enabled. Exiting" - exit 1 + report_error_and_exit "No disk enabled" fi fi if [ -n "$OPTIONS" ]; then @@ -180,7 +197,12 @@ /sbin/hdparm -q -f $DISC /sbin/hdparm $OPTIONS $DISC - echo -n " $DISC," + if [ "$ITEMS_ECHOED" = yes ] ; then + echo -n ", $DISC" + else + echo -n " $DISC" + ITEMS_ECHOED=yes + fi fi ;; quiet) @@ -200,21 +222,23 @@ set_option -Z ;; *) - echo "unknown option $KEY" - exit 1 + report_error_and_exit "Unknown option: $KEY" ;; esac - ;; - *) - echo "unknown separator $SEP" - exit 1 - ;; - esac -else - $KEY $SEP $VALUE - NEXT_LINE=no-go - WAS_RUN=1 -fi -done - -echo " done." + ;; + *) + report_error_and_exit "Unknown separator: $SEP" + ;; + esac + else + $KEY $SEP $VALUE + NEXT_LINE=no-go + WAS_RUN=1 + fi + done + if [ "$ITEMS_ECHOED" = yes ] ; then + echo "." + else + echo " (none)." + fi +}