Change condition style
This commit is contained in:
@@ -45,7 +45,7 @@ $ installJRMC --help
|
|||||||
The webroot directory to install the repo (default: /var/www/jriver/)
|
The webroot directory to install the repo (default: /var/www/jriver/)
|
||||||
--createrepo-user USER
|
--createrepo-user USER
|
||||||
The web server user if different from the current user
|
The web server user if different from the current user
|
||||||
--yes, -y
|
--yes, -y, --auto
|
||||||
Always assume yes for questions
|
Always assume yes for questions
|
||||||
--version, -v
|
--version, -v
|
||||||
Print this script version and exit
|
Print this script version and exit
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ $ installJRMC --help
|
|||||||
The webroot directory to install the repo (default: /var/www/jriver/)
|
The webroot directory to install the repo (default: /var/www/jriver/)
|
||||||
--createrepo-user USER
|
--createrepo-user USER
|
||||||
The web server user if different from the current user
|
The web server user if different from the current user
|
||||||
--yes, -y
|
--yes, -y, --auto
|
||||||
Always assumes yes for questions
|
Always assumes yes for questions
|
||||||
--version, -v
|
--version, -v
|
||||||
Print this script version and exit
|
Print this script version and exit
|
||||||
|
|||||||
363
installJRMC
363
installJRMC
@@ -17,14 +17,9 @@
|
|||||||
shopt -s extglob
|
shopt -s extglob
|
||||||
|
|
||||||
declare -g SCRIPTVERSION="1.0-dev"
|
declare -g SCRIPTVERSION="1.0-dev"
|
||||||
declare -g SCRIPTDIR=; SCRIPTDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
|
||||||
declare -g OUTPUTDIR="$SCRIPTDIR/output"
|
|
||||||
declare -g BOARDURL="https://yabb.jriver.com/interact/index.php/board,76.0.html" # MC30
|
declare -g BOARDURL="https://yabb.jriver.com/interact/index.php/board,76.0.html" # MC30
|
||||||
declare -g DEBIANBASE="buster"
|
declare -g DEBIANBASE="buster"
|
||||||
declare -g MCVERSION_HARDCODE="${MCVERSION:-"30.0.83"}" # Hardcoded fallback
|
declare -g MCVERSION_HARDCODE="30.0.83"
|
||||||
declare -g CREATEREPO_WEBROOT="/var/www/jriver"
|
|
||||||
declare -g USER="${SUDO_USER:-$USER}"
|
|
||||||
declare -g HOME; HOME=$(getent passwd "$USER" | cut -d: -f6)
|
|
||||||
|
|
||||||
printHelp() {
|
printHelp() {
|
||||||
debug "Running: ${FUNCNAME[0]}"
|
debug "Running: ${FUNCNAME[0]}"
|
||||||
@@ -70,7 +65,7 @@ printHelp() {
|
|||||||
Specify the web server user if it differs from $USER
|
Specify the web server user if it differs from $USER
|
||||||
--uninstall, -u
|
--uninstall, -u
|
||||||
Uninstall JRiver MC, remove services, containers, and firewall rules (does not remove library files)
|
Uninstall JRiver MC, remove services, containers, and firewall rules (does not remove library files)
|
||||||
--yes, -y
|
--yes, -y, --auto
|
||||||
Always assume yes for questions
|
Always assume yes for questions
|
||||||
--version, -v
|
--version, -v
|
||||||
Print this script version and exit
|
Print this script version and exit
|
||||||
@@ -105,14 +100,16 @@ printHelp() {
|
|||||||
EOF
|
EOF
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#######################################
|
||||||
# Helpers
|
# Helpers
|
||||||
|
#######################################
|
||||||
debug() { (( DEBUG )) && echo "Debug: $*"; }
|
debug() { (( DEBUG )) && echo "Debug: $*"; }
|
||||||
err() { echo "Error: $*" >&2; }
|
err() { echo "Error: $*" >&2; }
|
||||||
askOk() {
|
askOk() {
|
||||||
declare response
|
declare response
|
||||||
(( YES_SWITCH )) && return 0
|
(( YES_SWITCH )) && return 0
|
||||||
read -r -p "$* [y/N]: " response
|
read -r -p "$* [y/N]: " response
|
||||||
[[ "${response,,}" =~ ^(yes|y)$ ]]
|
[[ ${response,,} =~ ^(yes|y)$ ]]
|
||||||
}
|
}
|
||||||
execute() {
|
execute() {
|
||||||
if debug "$*"; then
|
if debug "$*"; then
|
||||||
@@ -123,145 +120,6 @@ execute() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#######################################
|
|
||||||
# Parses user input and sets sensible defaults
|
|
||||||
#######################################
|
|
||||||
parseInput() {
|
|
||||||
debug "Running: ${FUNCNAME[0]}"
|
|
||||||
|
|
||||||
declare -g BUILD_SWITCH REPO_INSTALL_SWITCH COMPAT_SWITCH TEST_SWITCH
|
|
||||||
declare -g LOCAL_INSTALL_SWITCH CREATEREPO_SWITCH UNINSTALL_SWITCH
|
|
||||||
declare -g YES_SWITCH USER_VERSION_SWITCH USER_ARCH
|
|
||||||
declare -g OUTPUTDIR RESTOREFILE BETAPASS SERVICE_TYPE
|
|
||||||
declare -g VNCPASS USER_DISPLAY
|
|
||||||
declare -ga SERVICES CONTAINERS
|
|
||||||
declare long_opts short_opts input
|
|
||||||
|
|
||||||
# Set some defaults
|
|
||||||
declare -g REPO_TARGET="$ID"
|
|
||||||
declare -g BUILD_TARGET="$ID"
|
|
||||||
declare -g CREATEREPO_USER="$USER"
|
|
||||||
|
|
||||||
if [[ $# -eq 0 ]] ||
|
|
||||||
[[ $# -eq 1 && " $1 " =~ ^( --debug | -d | -y | --yes )$ ]] &&
|
|
||||||
[[ $ID != "unknown" ]]; then
|
|
||||||
REPO_INSTALL_SWITCH=1
|
|
||||||
elif [[ $# -eq 1 && " $1 " =~ ^( --compat )$ ]]; then
|
|
||||||
BUILD_SWITCH=1
|
|
||||||
LOCAL_INSTALL_SWITCH=1
|
|
||||||
fi
|
|
||||||
|
|
||||||
long_opts="install:,build::,outputdir:,mcversion:,restorefile:,betapass:,"
|
|
||||||
long_opts+="service-type:,service:,services:,"
|
|
||||||
long_opts+="version,debug,verbose,help,uninstall,tests,"
|
|
||||||
long_opts+="createrepo::,createrepo-webroot:,createrepo-user:,"
|
|
||||||
long_opts+="vncpass:,display:,container:,compat,arch:,yes"
|
|
||||||
short_opts="+i:vb::dhus:c:"
|
|
||||||
|
|
||||||
# Reset DEBUG and catch with getopt
|
|
||||||
declare -g DEBUG=0
|
|
||||||
|
|
||||||
if input=$(getopt -o $short_opts -l $long_opts -- "$@"); then
|
|
||||||
eval set -- "$input"
|
|
||||||
while true; do
|
|
||||||
case "$1" in
|
|
||||||
--install|-i)
|
|
||||||
shift
|
|
||||||
case "$1" in
|
|
||||||
local|rpm)
|
|
||||||
BUILD_SWITCH=1
|
|
||||||
LOCAL_INSTALL_SWITCH=1
|
|
||||||
;;
|
|
||||||
repo|remote)
|
|
||||||
REPO_INSTALL_SWITCH=1
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
;;
|
|
||||||
--build|-b)
|
|
||||||
BUILD_SWITCH=1
|
|
||||||
shift && BUILD_TARGET="$1"
|
|
||||||
;;
|
|
||||||
--outputdir)
|
|
||||||
shift && OUTPUTDIR="$1"
|
|
||||||
;;
|
|
||||||
--mcversion)
|
|
||||||
shift
|
|
||||||
MCVERSION="$1"
|
|
||||||
USER_VERSION_SWITCH=1
|
|
||||||
;;
|
|
||||||
--arch)
|
|
||||||
shift
|
|
||||||
USER_ARCH="$1"
|
|
||||||
;;
|
|
||||||
--restorefile)
|
|
||||||
shift && RESTOREFILE="$1"
|
|
||||||
;;
|
|
||||||
--betapass)
|
|
||||||
shift && BETAPASS="$1"
|
|
||||||
;;
|
|
||||||
--service-type)
|
|
||||||
shift && SERVICE_TYPE="$1"
|
|
||||||
;;
|
|
||||||
--service|-s|--services)
|
|
||||||
shift && SERVICES+=("$1")
|
|
||||||
;;
|
|
||||||
--createrepo)
|
|
||||||
BUILD_SWITCH=1
|
|
||||||
CREATEREPO_SWITCH=1
|
|
||||||
shift && REPO_TARGET="$1"
|
|
||||||
;;
|
|
||||||
--createrepo-webroot)
|
|
||||||
shift && CREATEREPO_WEBROOT="$1"
|
|
||||||
;;
|
|
||||||
--createrepo-user)
|
|
||||||
shift && CREATEREPO_USER="$1"
|
|
||||||
;;
|
|
||||||
--vncpass)
|
|
||||||
shift && VNCPASS="$1"
|
|
||||||
;;
|
|
||||||
--display)
|
|
||||||
shift && USER_DISPLAY="$1"
|
|
||||||
;;
|
|
||||||
--compat)
|
|
||||||
COMPAT_SWITCH=1
|
|
||||||
;;
|
|
||||||
--container|-c)
|
|
||||||
shift && CONTAINERS+=("$1")
|
|
||||||
;;
|
|
||||||
--yes|-y)
|
|
||||||
YES_SWITCH=1
|
|
||||||
;;
|
|
||||||
--version|-v)
|
|
||||||
echo "Version: $SCRIPTVERSION"
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
--debug|-d|--verbose)
|
|
||||||
DEBUG=1
|
|
||||||
;;
|
|
||||||
--help|-h)
|
|
||||||
printHelp
|
|
||||||
exit
|
|
||||||
;;
|
|
||||||
--uninstall|-u)
|
|
||||||
UNINSTALL_SWITCH=1
|
|
||||||
;;
|
|
||||||
--tests)
|
|
||||||
TEST_SWITCH=1
|
|
||||||
;;
|
|
||||||
--)
|
|
||||||
shift
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
shift
|
|
||||||
done
|
|
||||||
else
|
|
||||||
err "Incorrect options provided"
|
|
||||||
printHelp && exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Perform OS detection and fallback
|
# Perform OS detection and fallback
|
||||||
# Generate OS-specific functions
|
# Generate OS-specific functions
|
||||||
@@ -382,6 +240,150 @@ init() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#######################################
|
||||||
|
# Parses user input and sets sensible defaults
|
||||||
|
#######################################
|
||||||
|
parseInput() {
|
||||||
|
debug "Running: ${FUNCNAME[0]}"
|
||||||
|
|
||||||
|
declare -g BUILD_SWITCH REPO_INSTALL_SWITCH COMPAT_SWITCH TEST_SWITCH
|
||||||
|
declare -g LOCAL_INSTALL_SWITCH CREATEREPO_SWITCH UNINSTALL_SWITCH
|
||||||
|
declare -g YES_SWITCH USER_VERSION_SWITCH USER_ARCH
|
||||||
|
declare -g RESTOREFILE BETAPASS SERVICE_TYPE
|
||||||
|
declare -g VNCPASS USER_DISPLAY
|
||||||
|
declare -ga SERVICES CONTAINERS
|
||||||
|
declare long_opts short_opts input
|
||||||
|
|
||||||
|
# Defaults
|
||||||
|
declare -g BUILD_TARGET="$ID"
|
||||||
|
declare -g REPO_TARGET="$ID"
|
||||||
|
declare -g CREATEREPO_USER="$USER"
|
||||||
|
declare -g SCRIPTDIR=; SCRIPTDIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
declare -g OUTPUTDIR="$SCRIPTDIR/output"
|
||||||
|
declare -g CREATEREPO_WEBROOT="/var/www/jriver"
|
||||||
|
declare -g USER="${SUDO_USER:-$USER}"
|
||||||
|
declare -g HOME; HOME=$(getent passwd "$USER" | cut -d: -f6)
|
||||||
|
|
||||||
|
if [[ $# -eq 0 ]] ||
|
||||||
|
[[ $# -eq 1 && " $1 " =~ ^( --debug | -d | -y | --yes )$ ]] &&
|
||||||
|
[[ $ID != "unknown" ]]; then
|
||||||
|
REPO_INSTALL_SWITCH=1
|
||||||
|
elif [[ $# -eq 1 && " $1 " =~ ^( --compat )$ ]]; then
|
||||||
|
BUILD_SWITCH=1
|
||||||
|
LOCAL_INSTALL_SWITCH=1
|
||||||
|
fi
|
||||||
|
|
||||||
|
long_opts="install:,build::,outputdir:,mcversion:,restorefile:,betapass:,"
|
||||||
|
long_opts+="service-type:,service:,services:,"
|
||||||
|
long_opts+="version,debug,verbose,help,uninstall,tests,"
|
||||||
|
long_opts+="createrepo::,createrepo-webroot:,createrepo-user:,"
|
||||||
|
long_opts+="vncpass:,display:,container:,compat,arch:,yes,auto"
|
||||||
|
short_opts="+i:vb::dhus:c:"
|
||||||
|
|
||||||
|
# Reset DEBUG and catch with getopt
|
||||||
|
declare -g DEBUG=0
|
||||||
|
|
||||||
|
if input=$(getopt -o $short_opts -l $long_opts -- "$@"); then
|
||||||
|
eval set -- "$input"
|
||||||
|
while true; do
|
||||||
|
case "$1" in
|
||||||
|
--install|-i)
|
||||||
|
shift
|
||||||
|
case "$1" in
|
||||||
|
local|rpm)
|
||||||
|
BUILD_SWITCH=1
|
||||||
|
LOCAL_INSTALL_SWITCH=1
|
||||||
|
;;
|
||||||
|
repo|remote)
|
||||||
|
REPO_INSTALL_SWITCH=1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
;;
|
||||||
|
--build|-b)
|
||||||
|
BUILD_SWITCH=1
|
||||||
|
shift && BUILD_TARGET="$1"
|
||||||
|
;;
|
||||||
|
--outputdir)
|
||||||
|
shift && OUTPUTDIR="$1"
|
||||||
|
;;
|
||||||
|
--mcversion)
|
||||||
|
shift
|
||||||
|
MCVERSION="$1"
|
||||||
|
USER_VERSION_SWITCH=1
|
||||||
|
;;
|
||||||
|
--arch)
|
||||||
|
shift
|
||||||
|
USER_ARCH="$1"
|
||||||
|
;;
|
||||||
|
--restorefile)
|
||||||
|
shift && RESTOREFILE="$1"
|
||||||
|
;;
|
||||||
|
--betapass)
|
||||||
|
shift && BETAPASS="$1"
|
||||||
|
;;
|
||||||
|
--service-type)
|
||||||
|
shift && SERVICE_TYPE="$1"
|
||||||
|
;;
|
||||||
|
--service|-s|--services)
|
||||||
|
shift && SERVICES+=("$1")
|
||||||
|
;;
|
||||||
|
--createrepo)
|
||||||
|
BUILD_SWITCH=1
|
||||||
|
CREATEREPO_SWITCH=1
|
||||||
|
shift && REPO_TARGET="$1"
|
||||||
|
;;
|
||||||
|
--createrepo-webroot)
|
||||||
|
shift && CREATEREPO_WEBROOT="$1"
|
||||||
|
;;
|
||||||
|
--createrepo-user)
|
||||||
|
shift && CREATEREPO_USER="$1"
|
||||||
|
;;
|
||||||
|
--vncpass)
|
||||||
|
shift && VNCPASS="$1"
|
||||||
|
;;
|
||||||
|
--display)
|
||||||
|
shift && USER_DISPLAY="$1"
|
||||||
|
;;
|
||||||
|
--compat)
|
||||||
|
COMPAT_SWITCH=1
|
||||||
|
;;
|
||||||
|
--container|-c)
|
||||||
|
shift && CONTAINERS+=("$1")
|
||||||
|
;;
|
||||||
|
--yes|-y|--auto)
|
||||||
|
YES_SWITCH=1
|
||||||
|
;;
|
||||||
|
--version|-v)
|
||||||
|
echo "Version: $SCRIPTVERSION"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
--debug|-d|--verbose)
|
||||||
|
DEBUG=1
|
||||||
|
;;
|
||||||
|
--help|-h)
|
||||||
|
printHelp
|
||||||
|
exit
|
||||||
|
;;
|
||||||
|
--uninstall|-u)
|
||||||
|
UNINSTALL_SWITCH=1
|
||||||
|
;;
|
||||||
|
--tests)
|
||||||
|
TEST_SWITCH=1
|
||||||
|
;;
|
||||||
|
--)
|
||||||
|
shift
|
||||||
|
break
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
else
|
||||||
|
err "Incorrect options provided"
|
||||||
|
printHelp && exit 1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#######################################
|
#######################################
|
||||||
# Uses several methods to determine the latest JRiver MC version
|
# Uses several methods to determine the latest JRiver MC version
|
||||||
# TODO but how to determine build distro `$DEBIANBASE=buster`?
|
# TODO but how to determine build distro `$DEBIANBASE=buster`?
|
||||||
@@ -394,7 +396,7 @@ setMCVersion() {
|
|||||||
|
|
||||||
# User input
|
# User input
|
||||||
if (( USER_VERSION_SWITCH )) &&
|
if (( USER_VERSION_SWITCH )) &&
|
||||||
[[ "$MCVERSION" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
[[ $MCVERSION =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
||||||
MCVERSION_SOURCE="user input"
|
MCVERSION_SOURCE="user input"
|
||||||
# Containerized package manager
|
# Containerized package manager
|
||||||
elif installPackage --silent buildah &&
|
elif installPackage --silent buildah &&
|
||||||
@@ -405,12 +407,12 @@ setMCVersion() {
|
|||||||
buildah run "$cnt" -- bash -c \
|
buildah run "$cnt" -- bash -c \
|
||||||
"apt update --allow-insecure-repositories &>/dev/null" &>/dev/null &&
|
"apt update --allow-insecure-repositories &>/dev/null" &>/dev/null &&
|
||||||
MCVERSION=$(buildah run "$cnt" -- apt-cache policy mediacenter?? | grep Candidate | awk '{print $2}' | sort -V | tail -n1) &>/dev/null &&
|
MCVERSION=$(buildah run "$cnt" -- apt-cache policy mediacenter?? | grep Candidate | awk '{print $2}' | sort -V | tail -n1) &>/dev/null &&
|
||||||
[[ "$MCVERSION" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
[[ $MCVERSION =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
||||||
MCVERSION_SOURCE="containerized package manager"
|
MCVERSION_SOURCE="containerized package manager"
|
||||||
buildah rm "$cnt" &>/dev/null
|
buildah rm "$cnt" &>/dev/null
|
||||||
# Webscrape
|
# Webscrape
|
||||||
elif installPackage wget && MCVERSION=$(wget -qO- "$BOARDURL" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1) &&
|
elif installPackage wget && MCVERSION=$(wget -qO- "$BOARDURL" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1) &&
|
||||||
[[ "$MCVERSION" =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
[[ $MCVERSION =~ ([0-9]+.[0-9]+.[0-9]+) ]]; then
|
||||||
MCVERSION_SOURCE="webscrape"
|
MCVERSION_SOURCE="webscrape"
|
||||||
# Hardcoded
|
# Hardcoded
|
||||||
else
|
else
|
||||||
@@ -423,7 +425,7 @@ setMCVersion() {
|
|||||||
MCPKG="mediacenter$MVERSION"
|
MCPKG="mediacenter$MVERSION"
|
||||||
MCRPM="$OUTPUTDIR/RPMS/x86_64/mediacenter$MVERSION-$MCVERSION.x86_64.rpm"
|
MCRPM="$OUTPUTDIR/RPMS/x86_64/mediacenter$MVERSION-$MCVERSION.x86_64.rpm"
|
||||||
|
|
||||||
if [[ "$MCVERSION_SOURCE" == "user input" ]]; then
|
if [[ $MCVERSION_SOURCE == "user input" ]]; then
|
||||||
# Append explicit package version when user provides --mcversion
|
# Append explicit package version when user provides --mcversion
|
||||||
case "$ID" in
|
case "$ID" in
|
||||||
fedora|centos|suse)
|
fedora|centos|suse)
|
||||||
@@ -435,7 +437,7 @@ setMCVersion() {
|
|||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
echo "Using MC version $MCVERSION determined by $MCVERSION_SOURCE"
|
echo "Using MC version $MCVERSION determined by $MCVERSION_SOURCE"
|
||||||
[[ "$MCVERSION_SOURCE" == "user input" ]] || echo "To override, use --mcversion"
|
[[ $MCVERSION_SOURCE == "user input" ]] || echo "To override, use --mcversion"
|
||||||
debug "MVERSION: $MVERSION, MCVERSION: $MCVERSION, MCPKG: $MCPKG, MCRPM: $MCRPM"
|
debug "MVERSION: $MVERSION, MCVERSION: $MCVERSION, MCPKG: $MCPKG, MCRPM: $MCRPM"
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -750,7 +752,7 @@ buildRPM() {
|
|||||||
requires=("${requires[@]/libfreetype6*/freetype}") # Remove minimum version specifier
|
requires=("${requires[@]/libfreetype6*/freetype}") # Remove minimum version specifier
|
||||||
requires=("${requires[@]/libharfbuzz0b/libharfbuzz0}")
|
requires=("${requires[@]/libharfbuzz0b/libharfbuzz0}")
|
||||||
for i in "${!requires[@]}"; do
|
for i in "${!requires[@]}"; do
|
||||||
[[ "${requires[$i]}" == "mesa-vulkan-drivers" ]] && unset -v 'requires[i]'
|
[[ ${requires[$i]} == "mesa-vulkan-drivers" ]] && unset -v 'requires[i]'
|
||||||
done
|
done
|
||||||
recommends+=(libvulkan_intel)
|
recommends+=(libvulkan_intel)
|
||||||
recommends+=(libvulkan_radeon)
|
recommends+=(libvulkan_radeon)
|
||||||
@@ -851,7 +853,7 @@ installMCDEB() {
|
|||||||
# Remove minimum version specifiers from control file
|
# Remove minimum version specifiers from control file
|
||||||
sed -i 's/ ([^)]*)//g' "control"
|
sed -i 's/ ([^)]*)//g' "control"
|
||||||
sed -i 's/([^)]*)//g' "control" # TODO MC DEB package error
|
sed -i 's/([^)]*)//g' "control" # TODO MC DEB package error
|
||||||
[[ "$ID" == "ubuntu" && "${VERSION_ID%.*}" -le 16 ]] &&
|
[[ $ID == "ubuntu" && "${VERSION_ID%.*}" -le 16 ]] &&
|
||||||
sed -i 's/libva2/libva1/g' "control"
|
sed -i 's/libva2/libva1/g' "control"
|
||||||
tar -cJf "control.tar.xz" "control" "postinst"
|
tar -cJf "control.tar.xz" "control" "postinst"
|
||||||
declare -g MCDEB="${MCDEB/.deb/.compat.deb}"
|
declare -g MCDEB="${MCDEB/.deb/.compat.deb}"
|
||||||
@@ -1055,25 +1057,28 @@ restoreLicense() {
|
|||||||
)
|
)
|
||||||
shopt -u nullglob
|
shopt -u nullglob
|
||||||
|
|
||||||
debug "mjrfiles=(${mjrfiles[*]})"
|
if [[ ${#mjrfiles[@]} -ge 1 ]]; then
|
||||||
|
|
||||||
# Sort globbed files by time, newest first
|
debug "mjrfiles=(${mjrfiles[*]})"
|
||||||
newest=${mjrfiles[0]}
|
|
||||||
for f in "${mjrfiles[@]}"; do
|
|
||||||
if [[ -f $f && $f -nt $newest ]]; then
|
|
||||||
newest=$f
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
debug "Latest mjrfile: $newest"
|
# Sort globbed files by time, newest first
|
||||||
|
newest=${mjrfiles[0]}
|
||||||
for f in "$RESTOREFILE" "$newest"; do
|
for f in "${mjrfiles[@]}"; do
|
||||||
if [[ -f "$f" ]]; then
|
if [[ -f $f && $f -nt $newest ]]; then
|
||||||
if execute "mediacenter$MVERSION" "/RestoreFromFile" "$f"; then
|
newest=$f
|
||||||
return 0
|
|
||||||
fi
|
fi
|
||||||
fi
|
done
|
||||||
done
|
|
||||||
|
debug "Latest mjrfile: $newest"
|
||||||
|
|
||||||
|
for f in "$RESTOREFILE" "$newest"; do
|
||||||
|
if [[ -f "$f" ]]; then
|
||||||
|
if execute "mediacenter$MVERSION" "/RestoreFromFile" "$f"; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -1189,16 +1194,16 @@ setServiceVars() {
|
|||||||
declare service_type="${2:-${SERVICE_TYPE:-system}}"
|
declare service_type="${2:-${SERVICE_TYPE:-system}}"
|
||||||
declare service_dir="/usr/lib/systemd/$service_type"
|
declare service_dir="/usr/lib/systemd/$service_type"
|
||||||
|
|
||||||
if [[ "$USER" == "root" && "$service_type" == "user" ]]; then
|
if [[ $USER == "root" && $service_type == "user" ]]; then
|
||||||
err "Trying to install user service as root"
|
err "Trying to install user service as root"
|
||||||
err "Use --service-type service and/or execute installJRMC as non-root user"
|
err "Use --service-type service and/or execute installJRMC as non-root user"
|
||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "$service_type" == "system" ]]; then
|
if [[ $service_type == "system" ]]; then
|
||||||
systemctl_prefix=(sudo systemctl)
|
systemctl_prefix=(sudo systemctl)
|
||||||
GRAPHICAL_TARGET="graphical.target"
|
GRAPHICAL_TARGET="graphical.target"
|
||||||
elif [[ "$service_type" == "user" ]]; then
|
elif [[ $service_type == "user" ]]; then
|
||||||
systemctl_prefix=(systemctl --user)
|
systemctl_prefix=(systemctl --user)
|
||||||
GRAPHICAL_TARGET="default.target"
|
GRAPHICAL_TARGET="default.target"
|
||||||
fi
|
fi
|
||||||
@@ -1223,7 +1228,7 @@ setServiceVars() {
|
|||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if [[ "$SERVICE_TYPE" == "system" && "$USER" != "root" ]]; then
|
if [[ $SERVICE_TYPE == "system" && $USER != "root" ]]; then
|
||||||
SERVICE_FNAME="$service_dir/$service_name@.service"
|
SERVICE_FNAME="$service_dir/$service_name@.service"
|
||||||
TIMER_FNAME="$service_dir/$service_name@.timer"
|
TIMER_FNAME="$service_dir/$service_name@.timer"
|
||||||
SERVICE_NAME="$service_name@$USER.service"
|
SERVICE_NAME="$service_name@$USER.service"
|
||||||
@@ -1377,7 +1382,7 @@ service_jriver-x11vnc() {
|
|||||||
|
|
||||||
# If .Xauthority file is missing, generate a dummy for x11vnc -auth guess
|
# If .Xauthority file is missing, generate a dummy for x11vnc -auth guess
|
||||||
if [[ ! -f "$HOME/.Xauthority" ]]; then
|
if [[ ! -f "$HOME/.Xauthority" ]]; then
|
||||||
[[ "$XDG_SESSION_TYPE" == "wayland" ]] &&
|
[[ $XDG_SESSION_TYPE == "wayland" ]] &&
|
||||||
askOk "Unsupported Wayland session detected for x11vnc, continue?" || return 1
|
askOk "Unsupported Wayland session detected for x11vnc, continue?" || return 1
|
||||||
touch "$HOME/.Xauthority"
|
touch "$HOME/.Xauthority"
|
||||||
xauth generate "$DISPLAY" . trusted
|
xauth generate "$DISPLAY" . trusted
|
||||||
@@ -1430,7 +1435,7 @@ service_jriver-x11vnc() {
|
|||||||
service_jriver-createrepo() {
|
service_jriver-createrepo() {
|
||||||
debug "Running: ${FUNCNAME[0]}"
|
debug "Running: ${FUNCNAME[0]}"
|
||||||
|
|
||||||
if [[ "$CREATEREPO_USER" != "$USER" ]]; then
|
if [[ $CREATEREPO_USER != "$USER" ]]; then
|
||||||
USER="root" setServiceVars "${FUNCNAME[0]##*_}" "system"
|
USER="root" setServiceVars "${FUNCNAME[0]##*_}" "system"
|
||||||
else
|
else
|
||||||
setServiceVars "${FUNCNAME[0]##*_}" "system"
|
setServiceVars "${FUNCNAME[0]##*_}" "system"
|
||||||
@@ -1627,7 +1632,7 @@ uninstall() {
|
|||||||
sudo rm -rf \
|
sudo rm -rf \
|
||||||
"/etc/yum.repos.d/jriver.repo" \
|
"/etc/yum.repos.d/jriver.repo" \
|
||||||
/etc/apt/sources.list.d/{jriver,mediacenter}*.list # also remove legacy repo files
|
/etc/apt/sources.list.d/{jriver,mediacenter}*.list # also remove legacy repo files
|
||||||
if [[ "$ID" == "suse" ]]; then
|
if [[ $ID == "suse" ]]; then
|
||||||
execute sudo zypper rr jriver
|
execute sudo zypper rr jriver
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@@ -1741,7 +1746,7 @@ main() {
|
|||||||
if (( BUILD_SWITCH )) && [[ $ID != "arch" ]]; then
|
if (( BUILD_SWITCH )) && [[ $ID != "arch" ]]; then
|
||||||
installPackage "wget"
|
installPackage "wget"
|
||||||
acquireDeb
|
acquireDeb
|
||||||
if [[ "$BUILD_TARGET" =~ (centos|fedora|suse) ]]; then
|
if [[ $BUILD_TARGET =~ (centos|fedora|suse) ]]; then
|
||||||
installPackage "dpkg" "rpm-build"
|
installPackage "dpkg" "rpm-build"
|
||||||
buildRPM
|
buildRPM
|
||||||
fi
|
fi
|
||||||
@@ -1769,7 +1774,7 @@ main() {
|
|||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ "${#SERVICES[@]}" -gt 0 ]]; then
|
if [[ ${#SERVICES[@]} -gt 0 ]]; then
|
||||||
declare service
|
declare service
|
||||||
for service in "${SERVICES[@]}"; do
|
for service in "${SERVICES[@]}"; do
|
||||||
if ! "service_$service"; then
|
if ! "service_$service"; then
|
||||||
|
|||||||
Reference in New Issue
Block a user