Pārlūkot izejas kodu

Fix variable assignment scope

bryan 2 nedēļas atpakaļ
vecāks
revīzija
239668490e
1 mainītis faili ar 6 papildinājumiem un 11 dzēšanām
  1. 6 11
      installJRMC

+ 6 - 11
installJRMC

@@ -139,7 +139,7 @@ init() {
     (( EUID == 0 )) && err "Running as root user"
 
     if [[ -f /etc/os-release ]]; then
-        source "/etc/os-release"
+        source /etc/os-release
     else
         err "/etc/os-release not found"
         err "Your OS is unsupported"
@@ -156,6 +156,10 @@ init() {
 
     debug "Detected host platform: $ID $VERSION_ID $ARCH"
 
+    # Set defaults
+    BUILD_TARGET="${BUILD_TARGET:-$ID}"
+    REPO_TARGET="${REPO_TARGET:-$ID}"
+
     # Normalize ID and set distro-specific vars
     case $ID in
         debian|arch) ;;
@@ -256,24 +260,17 @@ parse_input() {
     declare -g BUILD_SWITCH REPO_INSTALL_SWITCH LOCAL_INSTALL_SWITCH \
         COMPAT_SWITCH TEST_SWITCH CREATEREPO_SWITCH UNINSTALL_SWITCH \
         YES_SWITCH USER_MC_VERSION MJR_RESTORE_FILE BETAPASS SERVICE_TYPE \
-        VNCPASS USER_DISPLAY MC_REPO
+        VNCPASS USER_DISPLAY MC_REPO BUILD_TARGET REPO_TARGET
     declare -ga SERVICES CONTAINERS
     local long_opts short_opts input
-
-    declare -p ID BUILD_TARGET
-
     declare -g SCRIPT_PATH; SCRIPT_PATH=$(readlink -f "${BASH_SOURCE[0]}")
     declare -g SCRIPT_DIR=; SCRIPT_DIR=$(readlink -f "$(dirname "${BASH_SOURCE[0]}")")
-    declare -g BUILD_TARGET="$ID"
-    declare -g REPO_TARGET="$ID"
     declare -g CREATEREPO_USER="$USER"
     declare -g OUTPUT_DIR="$SCRIPT_DIR/output"
     declare -g CREATEREPO_WEBROOT="/var/www/jriver"
     declare -g USER="${SUDO_USER:-$USER}"
     declare -g HOME; HOME=$(getent passwd "$USER" | cut -d: -f6)
 
-    declare -p ID BUILD_TARGET
-
     # Set some defaults if zero or one arguments are passed
     if [[ $# -eq 0 && $ID != "unknown" ]]; then
         debug "Automatically setting --install repo"
@@ -1739,8 +1736,6 @@ main() {
         [[ -d $OUTPUT_DIR/SOURCES ]] || execute mkdir -p "$OUTPUT_DIR/SOURCES"
         acquire_deb || { err "Could not download Media Center DEB package"; return 1; }
 
-        declare -p ID BUILD_TARGET
-
         if [[ $BUILD_TARGET =~ (centos|fedora|suse) || $REPO_TARGET =~ (centos|fedora|suse) ]]; then
             install_package "dpkg" "rpm-build"
             [[ -d $OUTPUT_DIR/SPECS ]] || execute mkdir -p "$OUTPUT_DIR/SPECS"