From 46f92b7812f13e909896e5f99a470bc2d610264e Mon Sep 17 00:00:00 2001 From: bryan Date: Thu, 13 Jan 2022 13:54:17 -0500 Subject: [PATCH] Wire up --target deb --- installJRMC | 73 ++++++++++++++++++++++++++++++++++++----------------- 1 file changed, 50 insertions(+), 23 deletions(-) diff --git a/installJRMC b/installJRMC index f896f5e..0a40f6c 100755 --- a/installJRMC +++ b/installJRMC @@ -345,6 +345,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 ####################################### @@ -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