Calling awk and not gawk in the Xen scripts
PATCH 1/1 Calling awk and not gawk in the Xen scripts
Hi,
I noticed that 2 scripts in Xen 4.0.0 are calling "gawk". Normally, in most distributions, gawk is considered a specific version of awk. Calling "gawk" and not "awk" generally means that you need specificities of the "g" version of awk, as opposed to "mawk" which is another implementation of the same tool.
So, unless I misread the scripts, Xen doesn't need to use gawk but just any implementation of awk, and the attached patch can safely be applied.
If I am wrong (which I don't think I am at the first look) and that there's a reason why gawk is used and not awk, then IMHO, the toplevel README should mention it in the prerequisites.
Thomas
tools/hotplug/Linux/network-bridge +1 -1
@@ -80,7 +80,7 @@ local interf=$1 local prefix=${interf%[[:digit:]]} local ifs=$(ip link show | grep " $prefix" |\ - gawk '{ printf ("%s",substr($2,1,length($2)-1)) }' |\ + awk '{ printf ("%s",substr($2,1,length($2)-1)) }' |\ sed s/$interf//) echo "$ifs" }
tools/hotplug/Linux/vtpm-common.sh +6 -6
@@ -98,7 +98,7 @@ avail=0 else instances=$(cat $VTPMDB | \ - gawk \ + awk \ '{ \ if (1 != index($1,"#")) { \ printf("%s ",$2); \
@@ -120,7 +120,7 @@ function vtpmdb_get_free_instancenum () { local ctr instances don found instances=$(cat $VTPMDB | \ - gawk \ + awk \ '{ \ if (1 != index($1,"#")) { \ printf("%s ",$2); \
@@ -174,7 +174,7 @@ inst=$2 res=$(cat $VTPMDB | \ - gawk -vvmname=$vmname \ + awk -vvmname=$vmname \ -vinst=$inst \ '{ \ if ( 1 == index($1,"#")) {\
@@ -209,7 +209,7 @@ VTPMDB_TMP="$VTPMDB".tmp $(cat $VTPMDB | \ - gawk -vvmname=$vmname \ + awk -vvmname=$vmname \ '{ \ if ( $1 != vmname ) { \ print $0; \
@@ -350,13 +350,13 @@ function vtpm_isLocalAddress() { local addr res addr=$(ping $1 -c 1 | \ - gawk '{ print substr($3,2,length($3)-2); exit }') + awk '{ print substr($3,2,length($3)-2); exit }') if [ "$addr" == "" ]; then echo "-1" return fi res=$(ifconfig | grep "inet addr" | \ - gawk -vaddr=$addr \ + awk -vaddr=$addr \ '{ \ if ( addr == substr($2, 6)) {\ print "1"; \
_______________________________________________
Xen-devel mailing list
[email protected]
http://lists.xensource.com/xen-devel
Thomas Goirand writes ("[Xen-devel] [patch] Calling awk and not gawk in the Xen scripts"):
Quoted 8 lines
I noticed that 2 scripts in Xen 4.0.0 are calling "gawk". Normally, in most distributions, gawk is considered a specific version of awk. Calling "gawk" and not "awk" generally means that you need specificities of the "g" version of awk, as opposed to "mawk" which is another implementation of the same tool.
So, unless I misread the scripts, Xen doesn't need to use gawk but just any implementation of awk, and the attached patch can safely be applied.
I agree.
Quoted 3 lines
If I am wrong (which I don't think I am at the first look) and that there's a reason why gawk is used and not awk, then IMHO, the toplevel README should mention it in the prerequisites.
They aren't very complicated uses of awk. If it does turn out to cause problems it should be straightforward to change the awk runes to use the SuSv6 subset of the language.
Ian.