~ salmonella-environment-setup (master) eea6ae4ec229d77c4c110ddb4475e5fd8f363a64


commit eea6ae4ec229d77c4c110ddb4475e5fd8f363a64
Author:     Mario Domenech Goulart <mario@parenteses.org>
AuthorDate: Sun Dec 24 13:27:37 2017 +0100
Commit:     Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Sun Dec 24 13:33:54 2017 +0100

    run-salmonella-linux.sh: auto-detect ARCH and OS

diff --git a/run-salmonella-linux.sh b/run-salmonella-linux.sh
index 2722fd0..0896d68 100755
--- a/run-salmonella-linux.sh
+++ b/run-salmonella-linux.sh
@@ -2,16 +2,13 @@
 
 usage() {
     cat <<EOF
-Usage: $(basename "$0") <arch> <confs>
+Usage: $(basename "$0") <confs>
 
-<arch>: either "x86" or "x86-64"
-
-<conf>: configuration filenames without the ".conf" extension.  E.g.,
-        if you have chicken-5.conf, use "chicken-5" as argument.
+<confs>: configuration filenames without the ".conf" extension.  E.g.,
+         if you have chicken-5.conf, use "chicken-5" as argument.
 EOF
 }
 
-OS=linux
 SRC_DIR=$HOME/src/chicken-infrastructure
 WORK_DIR=$HOME/salmonella/build
 LOG_DIR=$HOME/salmonella
@@ -27,12 +24,12 @@ export PATH=$PATH:/usr/local/bin/
 export BVSPIS_PATH=/usr/local/bvspis
 export LC_ALL=C
 export LANG=C
-# JAVA_HOME will be set in `main', according to $arch
+# JAVA_HOME will be set in `main', according to $ARCH
 
+OS=$($CHICKEN_4_PREFIX/bin/csi -p '(software-version)')
+ARCH=$($CHICKEN_4_PREFIX/bin/csi -p '(machine-type)')
 
 main() {
-    arch=$1
-    shift
     confs=$@
 
     mkdir -p "$LOG_DIR" "$WORK_DIR"
@@ -48,9 +45,9 @@ main() {
     done
 
     ### Actually run salmonella
-    if [ "$arch" = "x86" ]; then
+    if [ "$ARCH" = "x86" ]; then
         export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-i386/
-    else
+    elif [ "$ARCH" = "x86-64" ]; then
         export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
     fi
 
@@ -75,8 +72,8 @@ main() {
         fi
 
         # Prefer machine-specific configuration files
-        if [ -e "$SRC_DIR/salmonella/salmonella-${OS}-${arch}/${conf}.conf" ]; then
-            conf_path=$SRC_DIR/salmonella/salmonella-${OS}-${arch}/${conf}.conf
+        if [ -e "$SRC_DIR/salmonella/salmonella-${OS}-${ARCH}/${conf}.conf" ]; then
+            conf_path=$SRC_DIR/salmonella/salmonella-${OS}-${ARCH}/${conf}.conf
         else
             conf_path=$SRC_DIR/salmonella/${OS}-common/${conf}.conf
         fi
@@ -86,18 +83,12 @@ main() {
     done
 }
 
-
 if [ "$1" = "-h" ] || [ "$1" = "-help" ] || [ "$1" = "--help" ]; then
     usage
     exit 0
-elif [ "$#" -lt 2 ]; then
+elif [ "$#" -lt 1 ]; then
     usage >&2
     exit 1
-elif [ "$1" != "x86" ] && [ "$1" != "x86-64" ]; then
-    usage >&2
-    exit 2
 else
-    arch=$1
-    shift
-    main "$arch" $@
+    main $@
 fi
Trap