On Mon, Jul 12, 2010 at 10:40:22AM +0200, Dejan Muhamedagic wrote:
> Hi,
> 
> On Mon, Jul 12, 2010 at 09:54:01AM +0900, Simon Horman wrote:
> > 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 <ho...@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 <ho...@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.
> 
> OK, I understand now.
> 
> > > > +           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 meant just the cpu_cores line.

Oops, I missed that it follows a different pattern.
I'll change the patch back to the grep/wl version.

> > 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.
> 
> Indeed.
> 
> > > Should we preserve here the original pattern "^processor"?
> > 
> > Yes, sorry about that.
> 
> OK.
> 
> Cheers,
> 
> Dejan

_______________________________________________
Pacemaker mailing list: Pacemaker@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

Reply via email to