Jelajahi Sumber

Move execute up for all pm commands

bryan 2 tahun lalu
induk
melakukan
439361e4cb
1 mengubah file dengan 40 tambahan dan 36 penghapusan
  1. 40 36
      installJRMC

+ 40 - 36
installJRMC

@@ -143,7 +143,7 @@ init() {
     fi
 
     # Detect architecture and translate to MC convention
-    # Also catch user input in getopt
+    # Override with user input with getopt
     ARCH=$(uname -m)
     case "$ARCH" in
         x86_64)
@@ -204,30 +204,30 @@ init() {
     # Abstract distro-specific package manager commands 
     case "$ID" in
         fedora|centos)
-            PKG_INSTALL=(sudo "$RPM_MGR" install -y)
-            PKG_REMOVE=(sudo "$RPM_MGR" remove -y)
-            PKG_UPDATE=(sudo "$RPM_MGR" makecache)
+            PKG_INSTALL=(execute sudo "$RPM_MGR" install -y)
+            PKG_REMOVE=(execute udo "$RPM_MGR" remove -y)
+            PKG_UPDATE=(execute sudo "$RPM_MGR" makecache)
             PKG_QUERY(){ rpm -q "$@"; }
             PKG_INSTALL_LOCAL(){ installMCRPM; }
             ;;
         debian|ubuntu)
-            PKG_INSTALL=(sudo apt-get -f install -y -q0)
-            PKG_REMOVE=(sudo apt-get remove --auto-remove -y -q0)
-            PKG_UPDATE=(sudo apt-get update -y -q0)
+            PKG_INSTALL=(execute sudo apt-get -f install -y -q0)
+            PKG_REMOVE=(execute sudo apt-get remove --auto-remove -y -q0)
+            PKG_UPDATE=(execute sudo apt-get update -y -q0)
             PKG_QUERY(){ dpkg -s "$@"; }
             PKG_INSTALL_LOCAL(){ installMCDEB; }
             ;;
         suse)
-            PKG_INSTALL=(sudo zypper --non-interactive -q install --force --no-confirm)
-            PKG_REMOVE=(sudo zypper --non-interactive -q remove --clean-deps)
-            PKG_UPDATE=(sudo zypper --non-interactive -q refresh jriver)
+            PKG_INSTALL=(execute sudo zypper --non-interactive -q install --force --no-confirm)
+            PKG_REMOVE=(execute sudo zypper --non-interactive -q remove --clean-deps)
+            PKG_UPDATE=(execute sudo zypper --non-interactive -q refresh jriver)
             PKG_QUERY(){ rpm -q "$@"; }
             PKG_INSTALL_LOCAL(){ installMCRPM; }
             ;;
         arch)
-            PKG_INSTALL=(sudo pacman -Sy --noconfirm)
-            PKG_REMOVE=(sudo pacman -Rs --noconfirm)
-            PKG_UPDATE=(sudo pacman -Syy)
+            PKG_INSTALL=(execute sudo pacman -Sy --noconfirm)
+            PKG_REMOVE=(execute sudo pacman -Rs --noconfirm)
+            PKG_UPDATE=(execute sudo pacman -Syy)
             PKG_QUERY(){ sudo pacman -Qs "$@"; }
             PKG_INSTALL_LOCAL(){ installMCARCH; }
             ;;
@@ -534,7 +534,7 @@ installPackage() {
 
     # Install packages from package array
     if [[ ${#pkg_array[@]} -ge 1 ]]; then
-        if ! execute "${PKG_INSTALL[@]}" "${install_flags[@]}" "${pkg_array[@]}"; then       
+        if ! "${PKG_INSTALL[@]}" "${install_flags[@]}" "${pkg_array[@]}"; then       
             (( silent )) || err "Failed to install ${pkg_array[*]}. Attempting to continue"
             return 1
         fi
@@ -561,7 +561,7 @@ installMesa() {
                         return 1
                     fi
                 else
-                    execute "${PKG_INSTALL[@]}" mesa-va-drivers-freeworld
+                    "${PKG_INSTALL[@]}" mesa-va-drivers-freeworld
                 fi
             fi
             ;;
@@ -603,7 +603,7 @@ installMCFromRepo() {
             ;;
     esac
 
-    if ! execute "${PKG_UPDATE[@]}"; then
+    if ! "${PKG_UPDATE[@]}"; then
         err "Package update failed!"
         return 1
     fi
@@ -922,6 +922,7 @@ installMCARCH() {
     debug "Running: ${FUNCNAME[0]}"
 
     [[ -d "$OUTPUTDIR/PKGBUILD" ]] || mkdir -p "$OUTPUTDIR/PKGBUILD"
+
     cat <<-EOF > "$OUTPUTDIR/PKGBUILD/mediacenter.pkgbuild"
 		pkgname=mediacenter$MVERSION
 		pkgver=$MCVERSION
@@ -1057,7 +1058,7 @@ restoreLicense() {
     )
     shopt -u nullglob
 
-    if [[ ${#mjrfiles[@]} -ge 1 ]]; then
+    if [[ ${#mjrfiles[@]} -gt 0 ]]; then
 
         debug "mjrfiles=(${mjrfiles[*]})"
 
@@ -1188,7 +1189,7 @@ setServiceVars() {
 
     declare -g SERVICE_NAME SERVICE_FNAME TIMER_NAME TIMER_FNAME 
     declare -g USER_STRING DISPLAY_STRING GRAPHICAL_TARGET
-    declare -g RELOAD ENABLE DISABLE IS_ENABLED IS_ACTIVE
+    declare -ga RELOAD ENABLE DISABLE IS_ENABLED IS_ACTIVE
     declare -a systemctl_prefix
     declare service_name="$1"
     declare service_type="${2:-${SERVICE_TYPE:-system}}"
@@ -1209,11 +1210,11 @@ setServiceVars() {
     fi
 
     # systemctl commands
-    RELOAD="${systemctl_prefix[*]} daemon-reload"
-    ENABLE="${systemctl_prefix[*]} enable --now"
-    DISABLE="${systemctl_prefix[*]} disable --now"
-    IS_ENABLED="${systemctl_prefix[*]} is-enabled -q"
-    IS_ACTIVE="${systemctl_prefix[*]} is-active -q"
+    RELOAD=(execute "${systemctl_prefix[@]}" daemon-reload)
+    ENABLE=(execute "${systemctl_prefix[@]}" enable --now)
+    DISABLE=(execute "${systemctl_prefix[@]}" disable --now)
+    IS_ENABLED=(execute "${systemctl_prefix[@]}" is-enabled -q)
+    IS_ACTIVE=(execute "${systemctl_prefix[@]}" is-active -q)
 
     [[ -d "$service_dir" ]] || execute sudo mkdir -p "$service_dir"
 
@@ -1275,8 +1276,8 @@ service_jriver-mediacenter() {
 		WantedBy=$GRAPHICAL_TARGET
 	EOF"
 
-    execute "$RELOAD" &&
-    execute "$ENABLE" "$SERVICE_NAME" &&
+    "${RELOAD[@]}" &&
+    "${ENABLE[@]}" "$SERVICE_NAME" &&
     openFirewall "jriver-mediacenter" "52100-52200/tcp" "1900/udp"
 }
 
@@ -1351,8 +1352,9 @@ service_jriver-xvnc() {
 		WantedBy=multi-user.target
 	EOF"
 
-    execute "$RELOAD"
-    if ! execute "$ENABLE" "$SERVICE_NAME"; then
+    "${RELOAD[@]}"
+
+    if ! execute "${ENABLE[@]}" "$SERVICE_NAME"; then
         err "vncserver failed to start on DISPLAY $NEXT_DISPLAY"
         err "Incrementing DISPLAY and retrying"
         service_jriver-xvnc increment
@@ -1421,8 +1423,8 @@ service_jriver-x11vnc() {
 		WantedBy=$GRAPHICAL_TARGET
 	EOF"
 
-    execute "$RELOAD" &&
-    execute "$ENABLE" "$SERVICE_NAME" &&
+    "${RELOAD[@]}" &&
+    "${ENABLE[@]}" "$SERVICE_NAME" &&
     echo "x11vnc running on localhost:$PORT" &&
     openFirewall "jriver-x11vnc" "$PORT/tcp"
 }
@@ -1465,8 +1467,8 @@ service_jriver-createrepo() {
 		WantedBy=timers.target
 	EOF"
 
-    execute "$RELOAD" &&
-    execute "$ENABLE" "$TIMER_NAME"
+    "${RELOAD[@]}" &&
+    "${ENABLE[@]}" "$TIMER_NAME"
 }
 
 
@@ -1612,20 +1614,22 @@ uninstall() {
         for i in user system; do
             setServiceVars "$service" "$i"; 
             for unit in "$SERVICE_NAME" "$TIMER_NAME"; do
-                if execute "$IS_ACTIVE" "$unit" ||
-                execute "$IS_ENABLED" "$unit"; then
-                    execute "$DISABLE" "$unit"
+                if "${IS_ACTIVE[@]}" "$unit" || 
+                "${IS_ENABLED[@]}" "$unit"; then
+                    "${DISABLE[@]}" "$unit"
                 fi
             done
             for f in "$SERVICE_FNAME" "$TIMER_FNAME"; do
                 [[ -f "$f" ]] && 
                 execute sudo rm -f "$f"
             done
-            execute "$RELOAD"
+            "${RELOAD[@]}"
+            unset f
         done
         for f in /etc/systemd/system/jriver-*; do
             execute sudo rm -f "$f"
         done
+        unset f
     done
 
     echo "Removing repo files"
@@ -1648,7 +1652,7 @@ uninstall() {
     fi
 
     echo "Uninstalling JRiver Media Center package"
-    if execute "${PKG_REMOVE[@]}" "$MCPKG"; then
+    if "${PKG_REMOVE[@]}" "$MCPKG"; then
         echo "JRiver Media Center has been completely uninstalled"
         echo "To remove your library files, run: rm -rf $HOME/.jriver"
     elif [[ $? -eq 100 ]]; then