Helpful output
This commit is contained in:
37
installJRMC
37
installJRMC
@@ -15,7 +15,7 @@
|
||||
|
||||
shopt -s extglob
|
||||
|
||||
_scriptversion="1.1.0"
|
||||
_scriptversion="1.0b1"
|
||||
_outputdir="$PWD/output"
|
||||
_createrepo_webroot="/srv/jriver"
|
||||
_exec_user="$(whoami)"
|
||||
@@ -146,9 +146,15 @@ init() {
|
||||
# Install script dependencies
|
||||
[[ "$ID" == "centos" ]] && installPackage epel-release
|
||||
|
||||
[[ ! -v _mcversion ]] && getLatestVersion
|
||||
if [[ -v _mcversion ]]; then
|
||||
_version_source="user input"
|
||||
else
|
||||
getLatestVersion
|
||||
fi
|
||||
|
||||
[[ ! "$_mcversion" =~ ([0-9]+.[0-9]+.[0-9]+) ]] && echo "Invalid version number" && exit 1
|
||||
[[ ! "$_mcversion" =~ ([0-9]+.[0-9]+.[0-9]+) ]] && err "Invalid version number" && exit 1
|
||||
|
||||
debug "Using MC version $_mcversion determined by $_version_source"
|
||||
|
||||
# Extract major version number
|
||||
_mversion="${_mcversion%%.*}"
|
||||
@@ -157,7 +163,7 @@ init() {
|
||||
# _variation="${_mcversion##*.}"
|
||||
}
|
||||
|
||||
|
||||
# Some helper functions
|
||||
askOk() {
|
||||
local _response
|
||||
read -r -p "$* [y/N]" _response
|
||||
@@ -291,13 +297,15 @@ parseInput() {
|
||||
}
|
||||
|
||||
|
||||
#######################################
|
||||
# Uses several methods to determine the latest JRiver MC version
|
||||
#######################################
|
||||
getLatestVersion() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
|
||||
declare -g _mcversion _source
|
||||
declare -g _mcversion
|
||||
|
||||
# Use a containerized package manager
|
||||
debug "Getting latest version using containerized apt"
|
||||
[[ ! -x $(command -v buildah) ]] && installPackage --silent buildah
|
||||
if [[ -x $(command -v buildah) ]] && CNT=$(buildah from ubuntu:18.04); then
|
||||
buildah run "$CNT" -- bash -c \
|
||||
@@ -305,12 +313,12 @@ getLatestVersion() {
|
||||
buildah run "$CNT" -- bash -c \
|
||||
"apt-get update --allow-insecure-repositories -y > /dev/null 2>&1"
|
||||
if _mcversion=$(buildah run "$CNT" -- apt-cache policy mediacenter?? | grep Candidate | awk '{print $2}' | sort -V | tail -n1); then
|
||||
_source="containerized package manager"
|
||||
_version_source="containerized package manager"
|
||||
fi
|
||||
buildah rm "$CNT" > /dev/null 2>&1
|
||||
# Else scrape from Interact
|
||||
elif _mcversion=$(wget -qO- "$_boardurl" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1); then
|
||||
_source="Interact scrape"
|
||||
_version_source="webscrape"
|
||||
fi
|
||||
|
||||
if ! [[ -v _mcversion ]]; then
|
||||
@@ -871,7 +879,7 @@ setDisplay() {
|
||||
#######################################
|
||||
# Create associated service variables based on service name
|
||||
#######################################
|
||||
servicePrep() {
|
||||
setServiceVars() {
|
||||
debug "Running: ${FUNCNAME[0]}"
|
||||
|
||||
if [[ "$_service_user" == "root" ]]; then
|
||||
@@ -1145,11 +1153,16 @@ uninstall() {
|
||||
# Uninstall services
|
||||
echo "Stopping and removing all associated Media Center services"
|
||||
for _service in $(compgen -A "function" "service"); do
|
||||
servicePrep "$_service"
|
||||
systemctl_disable "$_service_name"
|
||||
setServiceVars "$_service"
|
||||
if systemctl is-active "$_timer_name" || systemctl is-enabled "$_timer_name"; then
|
||||
systemctl_disable "$_timer_name"
|
||||
fi
|
||||
if systemctl is-active "$_service_name" || systemctl is-enabled "$_service_name"; then
|
||||
systemctl_disable "$_service_name"
|
||||
fi
|
||||
[[ -f "$_service_fname" ]] && rm_cmd "$_service_fname"
|
||||
[[ -f "$_timer_fname" ]] && rm_cmd "$_timer_fname"
|
||||
systemctl_reload
|
||||
done
|
||||
|
||||
echo "Removing repo files"
|
||||
@@ -1240,7 +1253,7 @@ main() {
|
||||
# Install services
|
||||
setDisplay
|
||||
for _service in "${_services[@]}"; do
|
||||
servicePrep "$_service"
|
||||
setServiceVars "$_service"
|
||||
if ! "service_$_service"; then
|
||||
if [[ $? -eq 127 ]]; then
|
||||
err "Service $_service does not exist, check your service name"
|
||||
|
||||
Reference in New Issue
Block a user