[Pacemaker] [PATCH 2 of 2] low: remove various bashisms

Simon Horman horms at verge.net.au
Mon Jul 12 00:54:01 UTC 2010


On Fri, Jul 09, 2010 at 04:05:13PM +0200, Dejan Muhamedagic wrote:
> Hi,
> 
> On Thu, Jul 08, 2010 at 03:16:03PM +0900, Simon Horman wrote:
> > # HG changeset patch
> > # User Simon Horman <horms at verge.net.au>
> > # Date 1278569313 -32400
> > # Node ID 48a51108d0d181ecb21c3289d3bc86b46f77f622
> > # Parent  110d056193472fa64ffabd3069d5ed20d32b01c2
> > low: remove various bashisms
> > 
> > As reported by Debian's devscripts's checkbashisms.
> > 
> > Signed-off-by: Simon Horman <horms at verge.net.au>
> > 
> > diff -r 110d05619347 -r 48a51108d0d1 ConfigureMe
> > --- a/ConfigureMe	Thu Jul 08 15:06:00 2010 +0900
> > +++ b/ConfigureMe	Thu Jul 08 15:08:33 2010 +0900
> > @@ -294,7 +294,7 @@
> >  	;;
> >    distcheck)			
> >    	do_configure $FLAGS $@ && \
> > -	source ./heartbeat/lib/ha_config && \
> > +	. ./heartbeat/lib/ha_config && \
> >  	Run $MAKE_CMD DESTDIR="$PWD/heartbeat-$VERSION/=inst" distcheck
> >  	;;
> >    pkg|package|rpm|deb|dpkg)	
> > diff -r 110d05619347 -r 48a51108d0d1 extra/resources/SysInfo
> > --- a/extra/resources/SysInfo	Thu Jul 08 15:06:00 2010 +0900
> > +++ b/extra/resources/SysInfo	Thu Jul 08 15:08:33 2010 +0900
> > @@ -107,7 +107,7 @@
> >  UpdateStat() {
> >      name=$1; shift
> >      value="$*"
> > -    echo -e "$name:\t$value"
> > +    printf "%s:\t%s\n" "$name" "$value"
> >      ${HA_SBIN_DIR}/attrd_updater ${OCF_RESKEY_delay} -S status -n $name -v "$value"
> >  }
> >  
> > @@ -123,19 +123,15 @@
> >  	    mem=`SysInfo_mem_units $mem`
> >  	    mem_used=`SysInfo_mem_units $mem_used`
> >  	    mem_total=`expr $mem_used + $mem`
> > -	    cpu_type=`system_profiler SPHardwareDataType | grep "CPU Type:"`
> > -	    cpu_type=${cpu_type/*: /}
> > -	    cpu_speed=`system_profiler SPHardwareDataType | grep "CPU Speed:" | awk '{print $3}'`
> > -	    cpu_cores=`system_profiler SPHardwareDataType | grep "Number Of"`
> > -	    cpu_cores=${cpu_cores/*: /}
> > +	    cpu_type=`system_profiler SPHardwareDataType | awk 'BEGIN {FS=": "} /^CPU Type/ {print $2; exit}'`
> 
> Why not:
> 
> +	    cpu_type=`system_profiler SPHardwareDataType | awk -F": " '/^CPU Type/ {print $2; exit}'`

Thats fine by me. It seems to just be a style decision between 
using -F and using BEGIN {FS=..}. I have no preference either way.
I was just concerned that -F might not be supported by some awk somewhere.
Its probably not a rational concern.

> > +	    cpu_speed=`system_profiler SPHardwareDataType | awk 'BEGIN {FS=": "} /^CPU Speed/ {print $2; exit}'`
> > +	    cpu_cores=`system_profiler SPHardwareDataType | awk 'BEGIN {FS=": "} /^Number Of/ {print $2; exit}'`
> >  	;;
> >  	"Linux")
> >  	    if [ -f /proc/cpuinfo ]; then
> > -		cpu_type=`grep "model name" /proc/cpuinfo | head -n 1`
> > -		cpu_type=${cpu_type/*: /}
> > -		cpu_speed=`grep "bogomips" /proc/cpuinfo | head -n 1`
> > -		cpu_speed=${cpu_speed/*: /}
> > -		cpu_cores=`grep "^processor" /proc/cpuinfo | wc -l`
> > +		cpu_type=`awk 'BEGIN {FS=": "} /model name/ {print $2; exit}' /proc/cpuinfo`
> > +		cpu_speed=`awk 'BEGIN {FS=": "} /bogomips/ {print $2; exit}' /proc/cpuinfo`
> > +		cpu_cores=`awk 'BEGIN {I=0} /processor/ {I++} END {print I}' /proc/cpuinfo`
> 
> I'd prefer here the old grep/wc version.

The main aim of this was to remove ${x:y}.
It seemed easy enough to just use
awk for both filtering and mangling.

I guess its possible to throw sed into the mix
and have a grep | head | sed pipeline.
I don't object to that, but I think using awk
is cleaner, especially as awk is already used in this script.

> Should we preserve here the original pattern "^processor"?

Yes, sorry about that.

> 
> >  	    fi
> >  
> >  	    if [ -f /proc/meminfo ]; then
> > diff -r 110d05619347 -r 48a51108d0d1 fencing/test/stonithd_test.sh
> > --- a/fencing/test/stonithd_test.sh	Thu Jul 08 15:06:00 2010 +0900
> > +++ b/fencing/test/stonithd_test.sh	Thu Jul 08 15:08:33 2010 +0900
> > @@ -36,51 +36,51 @@
> >  ERR_COUNT=0
> >  
> >  $LRMADMIN -A myid1 stonith null NULL hostlist=$NODE2
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $LRMADMIN -A myid2 stonith null NULL hostlist=$NODE3
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $LRMADMIN -E myid1 start 0 0 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $LRMADMIN -E myid2 start 0 0 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  
> >  $RSH root@$NODE2 $LRMADMIN -A myid3 stonith null NULL hostlist=$NODE1
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $LRMADMIN -A myid4 stonith null NULL hostlist=$NODE3
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $LRMADMIN -E myid3 start 0 0 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $LRMADMIN -E myid4 start 0 0 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  
> >  $APITEST 0 $NODE3 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $APITEST 1 $NODE3 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $APITEST 1 $NODE1 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $APITEST 1 $NODE2 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $APITEST 3 $NODE4 4000 2
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  
> >  echo "will run test on the $NODE2"
> >  
> >  $RCP .libs/$APITEST root@$NODE2:
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  
> >  $RSH root@$NODE2 $APITEST 0 $NODE3 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $APITEST 1 $NODE3 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $APITEST 1 $NODE1 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $RSH root@$NODE2 $APITEST 1 $NODE2 4000 0
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  $APITEST 2 $NODE4 4000 2
> > -[ $? == 0 ] || let ERR_COUNT++ 
> > +[ $? = 0 ] || ERR_COUNT=$(($ERR_COUNT+1))
> >  
> > -if [ $ERR_COUNT == 0 ]; then
> > +if [ $ERR_COUNT = 0 ]; then
> >  	echo "All tests are ok."
> >  else
> >  	echo "There are $ERR_COUNT errors."
> > diff -r 110d05619347 -r 48a51108d0d1 tools/hb2openais.sh.in
> > --- a/tools/hb2openais.sh.in	Thu Jul 08 15:06:00 2010 +0900
> > +++ b/tools/hb2openais.sh.in	Thu Jul 08 15:08:33 2010 +0900
> > @@ -351,10 +351,10 @@
> >  newstanza() {
> >  	do_tabs
> >  	printf "%s {\n" $1
> > -	let sw=sw+1
> > +	sw=$((sw+1))
> >  }
> >  endstanza() {
> > -	let sw=sw-1
> > +	sw=$((sw-1))
> >  	do_tabs
> >  	printf "}\n"
> >  }
> > @@ -466,7 +466,7 @@
> >  	multicastinfo $ring $addr $port
> >  	setvalue mcastport $port
> >  	setvalue mcastaddr $addr
> > -	let ring=$ring+1
> > +	ring=$(($ring+1))
> >  	endstanza
> >  done
> >  changemediainfo
> > @@ -674,7 +674,7 @@
> >  		(cd / && tar cf - $DIST_FILES) |
> >  		ssh $ssh_opts $node "rm -f $REMOTE_RM_FILES &&
> >  			cd / && tar xf -"
> > -		let rc=$rc+$?
> > +		rc=$(($rc+$?))
> >  	fi
> >  done
> >  info "Done transfering files"
> > diff -r 110d05619347 -r 48a51108d0d1 tools/ocf-tester.in
> > --- a/tools/ocf-tester.in	Thu Jul 08 15:06:00 2010 +0900
> > +++ b/tools/ocf-tester.in	Thu Jul 08 15:08:33 2010 +0900
> > @@ -44,7 +44,7 @@
> >      exit_code=$1; shift
> >      if [ $rc -ne $target ]; then
> >  	num_errors=`expr $num_errors + 1`
> > -	echo -e "* rc=$rc: $msg"
> > +	printf "* rc=%s: %s" "$rc" "$msg"
> >  	if [ ! -z $exit_code ]; then
> >  	    echo "Aborting tests"
> >  	    exit $exit_code
> 
> OK.
> 
> Cheers,
> 
> Dejan
> 
> > _______________________________________________
> > Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> > http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> > 
> > Project Home: http://www.clusterlabs.org
> > Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> > Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker
> 
> _______________________________________________
> Pacemaker mailing list: Pacemaker at oss.clusterlabs.org
> http://oss.clusterlabs.org/mailman/listinfo/pacemaker
> 
> Project Home: http://www.clusterlabs.org
> Getting started: http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf
> Bugs: http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemaker



More information about the Pacemaker mailing list