From 4c9cc48020fb8ddc65dc6fa6d2d2c9b97d11f911 Mon Sep 17 00:00:00 2001
From: Leigh B Stoller <stoller@flux.utah.edu>
Date: Thu, 21 Jul 2011 08:05:36 -0600
Subject: [PATCH] Need this on the clientside.

---
 clientside/tmcc/osstuff.sh | 95 ++++++++++++++++++++++++++++++++++++++
 1 file changed, 95 insertions(+)
 create mode 100755 clientside/tmcc/osstuff.sh

diff --git a/clientside/tmcc/osstuff.sh b/clientside/tmcc/osstuff.sh
new file mode 100755
index 0000000000..b9bd761b92
--- /dev/null
+++ b/clientside/tmcc/osstuff.sh
@@ -0,0 +1,95 @@
+#!/bin/sh
+#
+# EMULAB-COPYRIGHT
+# Copyright (c) 2007 University of Utah and the Flux Group.
+# All rights reserved.
+#
+
+#
+# Figure out which OS, distro. etc.
+# Output: TAG=<string> OS=<string> DIST=<string> REL=<string>
+#  where OS is 'FreeBSD', 'Linux', 'Cygwin', etc.
+#        DIST for Linux only, is 'Redhat', 'Fedora', 'Ubuntu', etc.
+#        REL is the release like '6.2', '9.0', '5.1', etc.
+#        TAG is a unique combo of the above like 'freebsd6', 'fedora4', etc.
+#
+
+if [ $# -ne 1 ]; then
+    arg="-a"
+else
+    arg=$1
+fi
+
+os=`uname -s`
+tag=
+dist=
+
+case $os in
+FreeBSD)
+    dist="FreeBSD"
+    rel=`uname -v | sed -e 's/FreeBSD \([0-9]\.[0-9][0-9]*\).*/\1/'`
+    ;;
+Linux)
+    if [ -r /etc/lsb-release ]; then
+        dist=`grep DISTRIB_ID /etc/lsb-release | awk -F = '{ print $2; }'`
+        rel=`grep DISTRIB_RELEASE /etc/lsb-release | awk -F = '{ print $2; }'`
+    fi
+    if [ -z "$dist" -a -r /etc/redhat-release ]; then
+        trel=`grep 'Red Hat' /etc/redhat-release | sed -e 's/Red Hat Linux release \([0-9]\(\.[0-9]\)\?\).*/\1/'`
+	if [ -n "$trel" ]; then
+            dist="Redhat"
+	    rel=$trel
+	fi
+	trel=`grep 'Fedora' /etc/redhat-release | sed -e 's/Fedora .*release \([0-9.]\+\).*/\1/'`
+	if [ -n "$trel" ]; then
+	    dist="Fedora"
+	    rel=$trel
+	fi
+	trel=`grep 'CentOS' /etc/redhat-release | sed -e 's/CentOS .*release \([0-9.]\+\).*/\1/'`
+	if [ -n "$trel" ]; then
+	    dist="CentOS"
+	    rel=$trel
+	fi
+    fi
+    # XXX hack check for stargate
+    if [ -z "$dist" -a `uname -m` = "armv5tel" ]; then
+        dist="Stargate"
+        rel=1.0  # XXX probably wrong
+    fi
+    ;;
+CYGWIN_NT-5.1)	# aka Windows XP
+    tag=$os	# XXX compat for tmcd makefile
+    os="Cygwin"
+    dist="NT"
+    rel="5.1"
+    ;;
+*)
+    dist="Unknown"
+    rel="0.0"
+    ;;
+esac
+
+if [ -z "$tag" ]; then
+    p1=`echo $dist | tr '[A-Z]' '[a-z]'`
+    p2=`echo $rel | sed -e 's/^\([0-9]*\).*/\1/'`
+    tag="${p1}${p2}"
+fi
+
+case $arg in
+-a)
+    echo "TAG=$tag OS=$os DIST=$dist REL=$rel"
+    ;;
+-t)
+    echo "$tag"
+    ;;
+-o)
+    echo "$os"
+    ;;
+-d)
+    echo "$dist"
+    ;;
+-r)
+    echo "$rel"
+    ;;
+esac
+exit 0
-- 
GitLab