Quantcast

bash exorcism for testo

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

bash exorcism for testo

Greg Troxel

I am updating pkgsrc for 1.5.2, and it builds fine and passes tests on
NetBSD 6 i386.  testo has a /bin/bash line, and there are only minor
bashisms in the file which aren't actually necessary.  The following
converts the code to POSIX /bin/sh, which is strictly more portable
(because bash complies with POSIX).  With this, the tests still run and
pass.

The changes are basically avoiding non-standard bash extensions:
  let (use expr)
  == (use =)
  >& (use '2>&1 >')



$NetBSD$

--- testo.orig 2014-12-22 19:30:03.000000000 +0000
+++ testo
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/bin/sh
 
 GPSBABEL_FREEZE_TIME=y
 export GPSBABEL_FREEZE_TIME
@@ -38,7 +38,7 @@ bincompare()
  ${OD} $2 >${TMPDIR}/bc2
  ${DIFF} ${TMPDIR}/bc1 ${TMPDIR}/bc2 || {
  echo ERROR binary comparing $*
- let errorcount=errorcount+1
+ errorcount=`expr errorcount+1`
  #exit 1
  }
 }
@@ -47,7 +47,7 @@ compare()
 {
  ${DIFF} -u -b -w $* ||  {
  echo ERROR comparing $*
- let errorcount=errorcount+1
+ errorcount=`expr errorcount+1`
  #exit 1
  }
 }
@@ -64,7 +64,7 @@ gpsbabel()
  ${PNAME} $* || {
  echo "$PNAME returned error $?"
  echo "($PNAME $*)"
- let errorcount=errorcount+1
+ errorcount=`expr errorcount+1`
  #exit 1
  }
 }
@@ -72,9 +72,9 @@ gpsbabel()
 utf8bomcheck()
 {
   if [ ${RUNNINGVALGRIND} -ne  0 ]; then
-    if [ "$(dd if=$1 bs=1 count=3 2>/dev/null)" == $'\xef\xbb\xbf' ]; then
+    if [ "$(dd if=$1 bs=1 count=3 2>/dev/null)" = $'\xef\xbb\xbf' ]; then
       echo "ERROR: UTF-8 BOM found in $1"
-      let errorcount=errorcount+1
+      errorcount=`expr errorcount+1`
     fi
   fi
 }
@@ -82,13 +82,13 @@ utf8bomcheck()
 xmlwfcheck()
 {
   if [ ${RUNNINGVALGRIND} -ne 0 ]; then
-    if which ${XMLWF} >& /dev/null; then
+    if which ${XMLWF} 2>&1 > /dev/null; then
       # xmlwf is a bit lame, exit status is always 0
       rm -f ${TMPDIR}/xmlwf.out
       ${XMLWF} $1 2>&1 | tee ${TMPDIR}/xmlwf.out
       if [ -s ${TMPDIR}/xmlwf.out ]; then
         echo "ERROR: xml is not well-formed in $1"
-        let errorcount=errorcount+1
+        errorcount=`expr errorcount+1`
       fi
     fi
   fi
@@ -108,7 +108,7 @@ xmlwfcheck()
 # cambridge
 # cup
 
-let errorcount=0;
+errorcount=0;
 
 if [ $# -ge 1 ]; then
   while [ $# -ge 1 ];
@@ -144,7 +144,7 @@ if [ ${RUNNINGVALGRIND} -ne  0 ]; then
 fi
 
 if [ ${RUNNINGVALGRIND} -ne  0 ]; then
-  if which ${XMLWF} >& /dev/null; then
+  if which ${XMLWF} 2>&1 > /dev/null; then
     echo "Running well-formed XML test"
     for i in ${XMLS}
     do

------------------------------------------------------------------------------

_______________________________________________
Gpsbabel-code mailing list  http://www.gpsbabel.org
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gpsbabel-code

attachment0 (186 bytes) Download Attachment
Loading...