From: Thomas Goirand Subject: [patch] Calling awk and not gawk in the Xen scripts Date: Mon, 19 Apr 2010 04:40:27 +0800 Message-ID: <4BCB6E3B.1050905@goirand.fr> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="------------050603070604080903020003" Return-path: List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Sender: xen-devel-bounces@lists.xensource.com Errors-To: xen-devel-bounces@lists.xensource.com To: "xen-devel@lists.xensource.com" List-Id: xen-devel@lists.xenproject.org This is a multi-part message in MIME format. --------------050603070604080903020003 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit 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 --------------050603070604080903020003 Content-Type: text/x-diff; name="calling-awk-and-not-gawk.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="calling-awk-and-not-gawk.patch" diff -u -r xen-4.0.0.orig/tools/hotplug/Linux/network-bridge xen-4.0.0/tools/hotplug/Linux/network-bridge --- xen-4.0.0.orig/tools/hotplug/Linux/network-bridge 2010-04-08 00:12:04.000000000 +0800 +++ xen-4.0.0/tools/hotplug/Linux/network-bridge 2010-04-19 04:32:46.000000000 +0800 @@ -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" } diff -u -r xen-4.0.0.orig/tools/hotplug/Linux/vtpm-common.sh xen-4.0.0/tools/hotplug/Linux/vtpm-common.sh --- xen-4.0.0.orig/tools/hotplug/Linux/vtpm-common.sh 2010-04-08 00:12:04.000000000 +0800 +++ xen-4.0.0/tools/hotplug/Linux/vtpm-common.sh 2010-04-19 04:31:17.000000000 +0800 @@ -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"; \ --------------050603070604080903020003 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel --------------050603070604080903020003--