Re: [Xenomai-core] [Fwd: Bug#471871: xenomai-runtime: bashism in /bin/sh script]

2008-03-24 Thread Gilles Chanteperdrix
Jan Kiszka wrote:
 > Maybe someone with idle cycles left could have a look at this.

We do not need expr actually, $(()) also works with sh, but can not make
reference to a variable without a $, hence the new patch.

-- 


Gilles.
Index: scripts/xeno-info
===
--- scripts/xeno-info   (revision 3623)
+++ scripts/xeno-info   (working copy)
@@ -74,7 +74,7 @@ ldd -v > /dev/null 2>&1 && ldd -v || ldd
 'NR==1{print "Dynamic linker (ldd)  ", $NF}'
 fi
 
-ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
+ls -l /usr/lib/libg++.so /usr/lib/libstdc++.so  2>/dev/null | awk -F. \
'{print "Linux C++ Library  " $4"."$5"."$6}'
 
 if test 0 -eq $withBusybox ; then 
Index: scripts/xeno-load.in
===
--- scripts/xeno-load.in(revision 3623)
+++ scripts/xeno-load.in(working copy)
@@ -127,7 +127,7 @@ children_pids=""
 cleanup () {
 
 if test \! "x$children_pids" = x; then
-   $sudo kill -SIGINT $children_pids >& /dev/null
+   $sudo kill -SIGINT $children_pids > /dev/null 2>&1
children_pids=""
sleep 1
 fi
Index: scripts/xeno-test.in
===
--- scripts/xeno-test.in(revision 3623)
+++ scripts/xeno-test.in(working copy)
@@ -60,9 +60,9 @@ pidFile=/var/lock/`basename $0.$$`.pids
 
 checkUtilities() {
   # Check for needed helper utilities
-  local neededApplets="awk basename cut date dd dirname egrep grep head
+  neededApplets="awk basename cut date dd dirname egrep grep head
   kill md5sum mount sleep test top uname zcat"
-  local foundAll=1
+  foundAll=1
   for  _j in $neededApplets
   do
 if test -z "`which $_j`"; then
@@ -74,11 +74,17 @@ checkUtilities() {
 echo "Please build busybox's ash with support for getopts"
 foundAll=0
   fi
-  if test $foundAll -eq 0 ; then exit 3 ; fi
+  if test $foundAll -eq 0 ; then 
+  needApplets=""
+  foundAll=""
+  exit 3
+  fi
+  needApplets=""
+  foundAll=""
 }
 
 checkHelpers() {
-  local foundAll=1
+  foundAll=1
   if test -z "`which script`" -a -n "$logging"; then
   echo "You will not be able to log (-L option) as script is missing"
   foundAll=0
@@ -91,7 +97,11 @@ checkHelpers() {
   echo "You will not be able to upload (-U option) as curl is missing"
   foundAll=0
   fi
-  if test $foundAll -eq 0 ; then exit 3 ; fi
+  if test $foundAll -eq 0 ; then 
+  foundAll=""
+  exit 3
+  fi
+  foundAll=""
 }
 
 loudly() {
@@ -111,7 +121,7 @@ dd_jobs=
 mkload() { dd if=$device of=/dev/null $* & }
 
 generate_loads() {
-local jobsct=$1;
+jobsct=$1;
 # if test -z "$1"; then echo Skipping generate_loads; return; fi
 shift 1
 if test 0 -eq $withBusybox ; then
@@ -120,13 +130,14 @@ generate_loads() {
trap cleanup_load EXIT  # under all exit conditions
 fi
 while test $jobsct -ge 1; do 
-jobsct=$((jobsct-1)); 
+jobsct=$(($jobsct-1));
 mkload
 dd_jobs="$dd_jobs $!" ;
 done
 
 echo dd workload started, pids $dd_jobs stored in $pidFile
 echo  $dd_jobs > $pidFile
+jobsct=""
 }
 
 cleanup_load() {
@@ -159,7 +170,7 @@ boxinfo() { # static info, show once
 loudly md5sum /proc/cpuinfo'# cpuinfo fingerprint'
 
 # how much of the config do we want ?
-local filter=" grep -E '$whatconf'"
+filter=" grep -E '$whatconf'"
 [ "$verbose" = 1 ] && filter=
 if test -f /proc/config.gz; then # get the config
  loudly zcat /proc/config.gz | $filter
@@ -170,6 +181,7 @@ boxinfo() { # static info, show once
 
 [ -d /proc/adeos ] && for f in /proc/adeos/*; do loudly cat $f; done
 [ -d /proc/ipipe ] && for f in /proc/ipipe/*; do loudly cat $f; done
+filter=""
 }
 
 boxstatus() { # get dynamic status
@@ -274,7 +286,7 @@ verbose=
 dateargs='+%y%m%d.%H%M%S'
 
 sendit() {
-local file=$1
+file=$1
 if test "$sendit" = 'm' ; then
echo "mailing $file to $email"
if test -n "$file" ; then
@@ -290,6 +302,7 @@ sendit() {
 else
echo "sendit unsupported option '$sendit'"
 fi
+file=""
 }
 
 handle_options() { # called for XENOTEST_OPTS, ARGV
@@ -379,7 +392,7 @@ if test "$logging" != "" ; then
 # restart inside a script invocation, passing appropriate args
 script -c "`dirname $0`/xeno-test $loadpass $latpass $*" $wfile
 res="$?"
-if test "$res" == "0" ; then
+if test "$res" = "0" ; then
sendit $wfile
 fi
 else
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [Fwd: Bug#471871: xenomai-runtime: bashism in /bin/sh script]

2008-03-24 Thread Gilles Chanteperdrix
Jan Kiszka wrote:
 > Maybe someone with idle cycles left could have a look at this.

Ok. Here comes an (untested) patch.

-- 


Gilles.
Index: scripts/xeno-info
===
--- scripts/xeno-info   (revision 3623)
+++ scripts/xeno-info   (working copy)
@@ -74,7 +74,7 @@ ldd -v > /dev/null 2>&1 && ldd -v || ldd
 'NR==1{print "Dynamic linker (ldd)  ", $NF}'
 fi
 
-ls -l /usr/lib/lib{g,stdc}++.so  2>/dev/null | awk -F. \
+ls -l /usr/lib/libg++.so /usr/lib/libstdc++.so  2>/dev/null | awk -F. \
'{print "Linux C++ Library  " $4"."$5"."$6}'
 
 if test 0 -eq $withBusybox ; then 
Index: scripts/xeno-load.in
===
--- scripts/xeno-load.in(revision 3623)
+++ scripts/xeno-load.in(working copy)
@@ -127,7 +127,7 @@ children_pids=""
 cleanup () {
 
 if test \! "x$children_pids" = x; then
-   $sudo kill -SIGINT $children_pids >& /dev/null
+   $sudo kill -SIGINT $children_pids > /dev/null 2>&1
children_pids=""
sleep 1
 fi
Index: scripts/xeno-test.in
===
--- scripts/xeno-test.in(revision 3623)
+++ scripts/xeno-test.in(working copy)
@@ -60,9 +60,9 @@ pidFile=/var/lock/`basename $0.$$`.pids
 
 checkUtilities() {
   # Check for needed helper utilities
-  local neededApplets="awk basename cut date dd dirname egrep grep head
+  neededApplets="awk basename cut date dd dirname egrep grep head
   kill md5sum mount sleep test top uname zcat"
-  local foundAll=1
+  foundAll=1
   for  _j in $neededApplets
   do
 if test -z "`which $_j`"; then
@@ -74,11 +74,17 @@ checkUtilities() {
 echo "Please build busybox's ash with support for getopts"
 foundAll=0
   fi
-  if test $foundAll -eq 0 ; then exit 3 ; fi
+  if test $foundAll -eq 0 ; then 
+  needApplets=""
+  foundAll=""
+  exit 3
+  fi
+  needApplets=""
+  foundAll=""
 }
 
 checkHelpers() {
-  local foundAll=1
+  foundAll=1
   if test -z "`which script`" -a -n "$logging"; then
   echo "You will not be able to log (-L option) as script is missing"
   foundAll=0
@@ -91,7 +97,11 @@ checkHelpers() {
   echo "You will not be able to upload (-U option) as curl is missing"
   foundAll=0
   fi
-  if test $foundAll -eq 0 ; then exit 3 ; fi
+  if test $foundAll -eq 0 ; then 
+  foundAll=""
+  exit 3
+  fi
+  foundAll=""
 }
 
 loudly() {
@@ -111,7 +121,7 @@ dd_jobs=
 mkload() { dd if=$device of=/dev/null $* & }
 
 generate_loads() {
-local jobsct=$1;
+jobsct=$1;
 # if test -z "$1"; then echo Skipping generate_loads; return; fi
 shift 1
 if test 0 -eq $withBusybox ; then
@@ -120,13 +130,14 @@ generate_loads() {
trap cleanup_load EXIT  # under all exit conditions
 fi
 while test $jobsct -ge 1; do 
-jobsct=$((jobsct-1)); 
+jobsct=`expr $jobsct - 1`; 
 mkload
 dd_jobs="$dd_jobs $!" ;
 done
 
 echo dd workload started, pids $dd_jobs stored in $pidFile
 echo  $dd_jobs > $pidFile
+jobsct=""
 }
 
 cleanup_load() {
@@ -159,7 +170,7 @@ boxinfo() { # static info, show once
 loudly md5sum /proc/cpuinfo'# cpuinfo fingerprint'
 
 # how much of the config do we want ?
-local filter=" grep -E '$whatconf'"
+filter=" grep -E '$whatconf'"
 [ "$verbose" = 1 ] && filter=
 if test -f /proc/config.gz; then # get the config
  loudly zcat /proc/config.gz | $filter
@@ -170,6 +181,7 @@ boxinfo() { # static info, show once
 
 [ -d /proc/adeos ] && for f in /proc/adeos/*; do loudly cat $f; done
 [ -d /proc/ipipe ] && for f in /proc/ipipe/*; do loudly cat $f; done
+filter=""
 }
 
 boxstatus() { # get dynamic status
@@ -274,7 +286,7 @@ verbose=
 dateargs='+%y%m%d.%H%M%S'
 
 sendit() {
-local file=$1
+file=$1
 if test "$sendit" = 'm' ; then
echo "mailing $file to $email"
if test -n "$file" ; then
@@ -290,6 +302,7 @@ sendit() {
 else
echo "sendit unsupported option '$sendit'"
 fi
+file=""
 }
 
 handle_options() { # called for XENOTEST_OPTS, ARGV
@@ -379,7 +392,7 @@ if test "$logging" != "" ; then
 # restart inside a script invocation, passing appropriate args
 script -c "`dirname $0`/xeno-test $loadpass $latpass $*" $wfile
 res="$?"
-if test "$res" == "0" ; then
+if test "$res" = "0" ; then
sendit $wfile
 fi
 else
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [Fwd: Bug#471871: xenomai-runtime: bashism in /bin/sh script]

2008-03-23 Thread Gilles Chanteperdrix
Roland Stigge wrote:
 > Jan Kiszka wrote:
 > > Maybe someone with idle cycles left could have a look at this.
 > 
 > Idle? Preempted, at most!
 > 
 > Attached is what I will apply to the Debian version. Feel free to do as
 > well...

IMO, making the scripts sh compliant is worth the trouble: we do not
know what shell the users will use, this would give us maximum
compatibility.

-- 


Gilles.

___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core


Re: [Xenomai-core] [Fwd: Bug#471871: xenomai-runtime: bashism in /bin/sh script]

2008-03-22 Thread Roland Stigge
Jan Kiszka wrote:
> Maybe someone with idle cycles left could have a look at this.

Idle? Preempted, at most!

Attached is what I will apply to the Debian version. Feel free to do as
well...

bye,
  Roland
diff -u scripts.orig/xeno-info scripts/xeno-info
--- scripts.orig/xeno-info	2007-12-09 11:46:37.0 +0100
+++ scripts/xeno-info	2008-03-22 16:50:19.0 +0100
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 #
 # This file has been lifted 'as is' from linux/scripts/ver_linux.
 # Adapted to be run also under the BusyBox. If you want to test it under the BusyBox use
diff -u scripts.orig/xeno-load.in scripts/xeno-load.in
--- scripts.orig/xeno-load.in	2007-12-09 11:46:37.0 +0100
+++ scripts/xeno-load.in	2008-03-22 16:50:57.0 +0100
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 # Xenomai application loader script.
 # (Processes the .runinfo files)
 # June 2004, <[EMAIL PROTECTED]>
diff -u scripts.orig/xeno-test.in scripts/xeno-test.in
--- scripts.orig/xeno-test.in	2008-02-20 18:18:46.0 +0100
+++ scripts/xeno-test.in	2008-03-22 16:50:32.0 +0100
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 # Adapted to be run also under the BusyBox. 
 # If you want to test it this way, do: sh xeno-test
___
Xenomai-core mailing list
Xenomai-core@gna.org
https://mail.gna.org/listinfo/xenomai-core