Browse Source

Wire up --target deb

bryan 3 năm trước cách đây
mục cha
commit
46f92b7812
1 tập tin đã thay đổi với 50 bổ sung23 xóa
  1. 50 23
      installJRMC

+ 50 - 23
installJRMC

@@ -346,6 +346,44 @@ installPackage() {
 
 
 #######################################
+# Installs a package using the system package manager
+# Arguments:
+#   One or more package names
+# Options:
+#   --skip-check-installed: Do not check if package is already installed
+#   --nogpgcheck: Disable GPG checks for RPM based distros
+#   --allow-downgrades: Useful for installing compatability versions on DEB based distros
+#   --silent, -s: Do not report errors (useful if package is not strictly required and errors are noisy)
+#######################################
+installMCDEB() {
+    debug "Running: ${FUNCNAME[0]}"
+
+    aquireDeb
+
+    declare mcdeb="$MCDEB"
+    declare pkg_install_cmd="installPackage --skip-check-installed --nogpgcheck"
+    if (( COMPAT_SWITCH )); then
+        declare extract_dir && extract_dir="$(mktemp -d)"
+        mcdeb="${MCDEB/.deb/.compat.deb}"
+        pushd "$extract_dir" &>/dev/null || return $?
+        ar x "$MCDEB"
+        tar -xJf "control.tar.xz"
+        # Remove minimum version specifiers from control file
+        sed -i 's/ ([^)]*)//g' "control"
+        sed -i 's/([^)]*)//g' "control" # TODO MC DEB package error
+        tar -cJf "control.tar.xz" "control" "postinst"
+        ar rcs "$mcdeb" "debian-binary" "control.tar.xz" "data.tar.xz"
+        popd &>/dev/null || return $?
+        rm -rf "$extract_dir"
+        pkg_install_cmd+=" --allow-downgrades"
+    fi
+    pkg_install_cmd+=" $mcdeb"
+    debug "$pkg_install_cmd" || pkg_install_cmd+=" &>/dev/null"
+    eval "$pkg_install_cmd"
+}
+
+
+#######################################
 # Add the JRiver repository files
 #######################################
 addRepo() {
@@ -1422,9 +1460,9 @@ main() {
             exit 1
         fi
         if installMCFromRepo; then
-            echo "JRiver Media Center installed successfully"
+            echo "JRiver Media Center installed successfully from repo"
         else
-            err "JRiver Media Center installation failed"
+            err "JRiver Media Center installation from repo failed"
             exit 1
         fi
         symlinkCerts
@@ -1433,24 +1471,15 @@ main() {
     fi
 
     if (( DEB_INSTALL_SWITCH )); then
-        acquireDeb
-        if (( COMPAT_SWITCH )); then
-            declare extract_dir && extract_dir="$(mktemp -d)"
-            declare mcdeb_compat="${MCDEB/.deb/.compat.deb}"
-            pushd "$extract_dir" &>/dev/null || return $?
-            ar x "$MCDEB"
-            tar -xJf "control.tar.xz"
-            # Remove minimum version specifiers from control file
-            sed -i 's/ ([^)]*)//g' "control"
-            sed -i 's/([^)]*)//g' "control" # TODO MC DEB package error
-            tar -cJf "control.tar.xz" "control" "postinst"
-            ar rcs "$mcdeb_compat" "debian-binary" "control.tar.xz" "data.tar.xz"
-            popd &>/dev/null || return $?
-            rm -rf "$extract_dir"
+        if installMCDEB; then
+            echo "JRiver Media Center installed successfully from local deb"
+        else
+            err "JRiver Media Center installation from local deb failed"
+            exit 1
         fi
-        pkg_install_cmd="installPackage --skip-check-installed --nogpgcheck $mcdeb_compat"
-        debug "$pkg_install_cmd" || pkg_install_cmd+=" &>/dev/null"
-        eval "$pkg_install_cmd"
+        symlinkCerts
+        restoreLicense
+        openFirewall "jriver"
     fi
 
     if (( RPM_BUILD_SWITCH )); then
@@ -1460,13 +1489,11 @@ main() {
     fi
 
     if (( RPM_INSTALL_SWITCH )); then
-
         #rpm --upgrade "$MCRPM" # TODO, maybe universalize for RPM distros       
-
         if installPackage --skip-check-installed --nogpgcheck "$MCRPM"; then
-            echo "JRiver Media Center installed successfully"
+            echo "JRiver Media Center installed successfully from local RPM"
         else
-            err "JRiver Media Center installation failed"
+            err "JRiver Media Center installation from local RPM failed"
             exit 1
         fi
         symlinkCerts