Browse Source

Allow MCVERSION env override

bryan 1 year ago
parent
commit
cc6107ed51
2 changed files with 17 additions and 20 deletions
  1. 6 6
      README.md
  2. 11 14
      installJRMC

+ 6 - 6
README.md

@@ -23,9 +23,9 @@ $ installJRMC --help
 --compat
     Build/install MC without minimum dependency version requirements
 --mcversion VERSION
-    Build or install a specific MC version, ex. "30.0.51"
+    Build or install a specific MC version, ex. "30.0.51" (default: latest version)
 --outputdir PATH
-    Generate rpmbuild output in this PATH (Default: ./output)
+    Generate rpmbuild output in this PATH (default: ./output)
 --restorefile RESTOREFILE
     Restore file location for automatic license registration
 --betapass PASSWORD
@@ -33,14 +33,14 @@ $ installJRMC --help
 --service, -s SERVICE
     See SERVICES section below for the list of services to deploy
   --service-type user|system
-      Starts services at boot (system) or user login (user) (Default: per-service see SERVICES)
+      Starts services at boot (system) or user login (user) (default: per-service, see SERVICES)
 --container, -c CONTAINER (TODO: Under construction)
     See CONTAINERS section below for a list of containers to deploy
 --createrepo[=suse|fedora|centos]
     Build rpm, copy to webroot, and run createrepo.
     Optionally, specify a target distro for non-native repo (ex. --createrepo=fedora, note the '=')
   --createrepo-webroot PATH
-      The webroot directory to install the repo (Default: /var/www/jriver/)
+      The webroot directory to install the repo (default: /var/www/jriver/)
   --createrepo-user USER
       The web server user if different from the current user
 --version, -v
@@ -110,9 +110,9 @@ Multiple services (but not `--service-types`) can be installed at one time using
 
     Install MC from the repository and start/enable `jriver-mediacenter.service` as a user service.
 
-* `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 30.0.17`
+* `installJRMC --install local --compat --restorefile /path/to/license.mjr --mcversion 30.0.51`
 
-    Build and install an MC 30.0.17 comptability RPM locally and activate it using the `/path/to/license.mjr`
+    Build and install an MC 30.0.51 comptability RPM locally and activate it using the `/path/to/license.mjr`
 
 * `installJRMC --createrepo --createrepo-webroot /srv/jriver/repo --createrepo-user www-user`
 

+ 11 - 14
installJRMC

@@ -22,8 +22,7 @@ declare -g OUTPUTDIR="$PWD/output"
 # MC30 (Buster)
 declare -g BOARDURL="https://yabb.jriver.com/interact/index.php/board,76.0.html"
 declare -g DEBIANBASE="buster"
-declare -g MCVERSION_HARDCODE="30.0.51" # Hardcoded fallback
-
+declare -g MCVERSION_HARDCODE="${MCVERSION:-"30.0.55"}" # Hardcoded fallback
 declare -g CREATEREPO_WEBROOT="/var/www/jriver"
 declare -g USER="${SUDO_USER:-$USER}"
 declare -g HOME; HOME=$(getent passwd "$USER" | cut -d: -f6)
@@ -51,7 +50,7 @@ printHelp() {
 		    --outputdir PATH
 		        Generate rpmbuild output in this directory (default: ./output)
 		    --restorefile RESTOREFILE
-		        Restore file location for automatic license registration (default: skip registration)
+		        Restore file location for automatic license registration
 		    --betapass PASSWORD
 		        Enter beta team password for access to beta builds
 		    --service, -s SERVICE
@@ -124,7 +123,7 @@ execute() {
 parseInput() {
     debug "Running: ${FUNCNAME[0]}"
 
-    declare -g BUILD_SWITCH REPO_INSTALL_SWITCH COMPAT_SWITCH TEST_SWITCH
+    declare -g BUILD_SWITCH REPO_INSTALL_SWITCH COMPAT_SWITCH TEST_SWITCH USER_VERSION_SWITCH
     declare -g LOCAL_INSTALL_SWITCH CREATEREPO_SWITCH UNINSTALL_SWITCH 
     declare -g OUTPUTDIR RESTOREFILE BETAPASS SERVICE_TYPE VNCPASS USER_DISPLAY CREATEREPO_WEBROOT
     declare -ga SERVICES CONTAINERS
@@ -170,7 +169,9 @@ parseInput() {
                     shift && OUTPUTDIR="$1"
                     ;;
                 --mcversion)
-                    shift && declare -g MCVERSION_INPUT="$1"
+                    shift
+                    MCVERSION="$1"
+                    USER_VERSION_SWITCH=1
                     ;;
                 --restorefile)
                     shift && RESTOREFILE="$1"
@@ -347,16 +348,12 @@ init() {
 setMCVersion() {
     debug "Running: ${FUNCNAME[0]}"
 
-    declare -g MCVERSION MCVERSION_SOURCE MVERSION MCPKG MCRPM 
+    declare -g MCVERSION_SOURCE MVERSION MCPKG MCRPM 
     declare cnt
 
     # User input
-    if [[ -v MCVERSION_INPUT ]]; then
-        if ! [[ "$MCVERSION_INPUT" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
-            err "Incorrect --mcversion format provided"
-            printHelp && exit 1
-        fi
-        MCVERSION="$MCVERSION_INPUT"
+    if (( USER_VERSION_SWITCH )) &&
+    [[ "$MCVERSION" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
         MCVERSION_SOURCE="user input"
     # Containerized package manager
     elif installPackage --silent buildah &&
@@ -375,8 +372,8 @@ setMCVersion() {
         MCVERSION_SOURCE="webscrape"
     # Hardcoded
     else
-        MCVERSION="$MCVERSION_HARDCODE"
-        MCVERSION_SOURCE="hardcoded version"
+        declare -g MCVERSION="$MCVERSION_HARDCODE"
+        MCVERSION_SOURCE="hardcoded or MCVERSION env"
         err "Warning! Using hardcoded version number"
     fi