--- buildman/install	2025/01/21 17:36:51	1.1
+++ buildman/install	2025/03/12 02:31:46	1.12
@@ -18,22 +18,111 @@
 
 PROGN=`basename $0`
 
-if [ $EUID -ne 0 ]
-then
-    echo "$PROGN error:  must run as root"
-    exit 1
-fi
+#if [ "$UID" != "0" ]
+#then
+#    echo "$PROGN error:  must run as root"
+#    exit 1
+#fi
 
 TARGET="client"
 TUSER="build:6000"
 TGROUP="build:6000"
-BUILDMAN_BASE="/home/build"
 BUILDMAN_MASTER=""
+INSTALL_BASE="/usr/local"
+
+OS=`uname`
+
+if [ "$OS" = "SCO_SV" ] ; then
+    THOST=`hostname -s`
+    PATH=/usr/gnu/bin:$PATH
+    export PATH
+else
+    if [ "$OS" = "SunOS" ] ; then
+        THOST=`hostname`
+    else    
+        THOST=`hostname -s`
+    fi
+fi
+
+tmphost=`echo ${THOST} | cut -d. -f1`
+THOST="${tmphost}"
 
-while getopts ':t:u:g:b:m:' OPTION
+if [ "$OS" = "SunOS" ]
+then
+    BUILDMAN_BASE="/export/home/build"
+else    
+    BUILDMAN_BASE="/home/build"
+fi
+
+while getopts ':t:u:g:b:m:i:h' OPTION
 do
     case $OPTION in
+
+        i)
+            INSTALL_BASE="${OPTARG}"
+            ;;
+        
+        u)
+            TUSER="${OPTARG}"
+            ;;
+
+        g)
+            TGROUP="${OPTARG}"
+            ;;
         
+        b)
+            BUILDMAN_BASE="${OPTARG}"
+            ;;
 
+        m)
+            BUILDMAN_MASTER="${OPTARG}"
+            ;;
+
+        h)
+            echo ""
+            echo "BuildMan Installer"
+            echo " Copyright (C) 2025 Coherent Logic Development LLC"
+            echo ""
+            echo ""
+            echo "usage:  ${PROGN} [-i <install-base>] [-b <buildman-base>] [-u <buildman-username:buildman-uid>] [-g <buildman-groupname:buildman-gid> ] [-m <buildman-master>"
+            echo "  <install-base> is the directory in which buildman will be installed"
+            echo "  <buildman-base> is the directory in which buildman will operate"
+            echo "  <buildman-username> is the username owning the files for buildman"
+            echo "  <buildman-uid> is the numeric UID of the owner of the buildman files"
+            echo "  <buildman-groupname> is the group name owning the files for buildman"
+            echo "  <buildman-gid> is the numeric GID of the group owning the buildman files"
+            echo "  <buildman-master> is the primary buildman host, supplied as IP address or FQDN"
+            echo ""
+            exit 0
+            ;;
     esac
 done
+
+T_LOGIN=`echo ${TUSER} | cut -d: -f1`
+T_UID=`echo ${TUSER} | cut -d: -f2`
+T_GRPNAM=`echo ${TGROUP} | cut -d: -f1`
+T_GID=`echo ${TGROUP} | cut -d: -f2`
+
+BIN_BASE="${INSTALL_BASE}/bin"
+
+if [ ! -d "${BIN_BASE}" ]
+then
+    mkdir -p "${BIN_BASE}"
+fi
+
+groupadd -g ${T_GID} ${T_GRPNAM}
+useradd -u ${T_UID} -g ${T_GRPNAM} -c "BuildMan" -m -d "${BUILDMAN_BASE}" "${T_LOGIN}"
+
+install -o ${T_UID} -g ${T_GID} -m 755 bm "${BIN_BASE}/bm"
+install -o ${T_UID} -g ${T_GID} -m 755 bma "${BIN_BASE}/bma"
+
+DEF="/etc/default/bm"
+
+
+echo "BUILDMAN_BASE=${BUILDMAN_BASE}" > "${DEF}"
+echo "BUILDMAN_USER=${T_LOGIN}" >> "${DEF}"
+echo "BUILDMAN_GROUP=${T_GRPNAM}" >> "${DEF}"
+echo "BUILDMAN_UID=${T_UID}" >> "${DEF}"
+echo "BUILDMAN_GID=${T_GID}" >> "${DEF}"
+echo "BUILDMAN_MASTER=${BUILDMAN_MASTER}" >> "${DEF}"
+