Some more cleanup
This commit is contained in:
56
installJRMC
56
installJRMC
@@ -154,9 +154,6 @@ init() {
|
||||
_service_user="${_service_user:-$_exec_user}"
|
||||
_createrepo_user="${_createrepo_user:-$_exec_user}"
|
||||
|
||||
# Install dependency dependencies :-)
|
||||
[[ "$ID" == "centos" ]] && installPackage epel-release
|
||||
|
||||
# Select MC version to work with
|
||||
if [[ -v mcversion ]]; then
|
||||
_version_source="user input"
|
||||
@@ -169,7 +166,7 @@ init() {
|
||||
[[ "$_version_source" != "user input" ]] && echo "To override, use --mcversion"
|
||||
|
||||
# Extract major version number
|
||||
_mversion="${mcversion%%.*}"
|
||||
mversion="${mcversion%%.*}"
|
||||
|
||||
# Saving this substituion in case it's needed in the future
|
||||
# _variation="${mcversion##*.}"
|
||||
@@ -337,6 +334,8 @@ getLatestVersion() {
|
||||
|
||||
declare -g mcversion base boardurl
|
||||
|
||||
installPackage --silent buildah
|
||||
|
||||
# Latest defaults
|
||||
base="buster" # For container method
|
||||
boardurl="https://yabb.jriver.com/interact/index.php/board,71.0.html" # MC28 (Buster), for fallback webscrape
|
||||
@@ -380,7 +379,7 @@ getLatestVersion() {
|
||||
|
||||
# Use a containerized package manager
|
||||
# TODO but how to determine build distro ($base=buster)?
|
||||
[[ -x $(command -v buildah) ]] || installPackage --silent buildah
|
||||
|
||||
if [[ -x $(command -v buildah) ]] && CNT=$(buildah from debian:$base); then
|
||||
buildah run "$CNT" -- bash -c \
|
||||
"echo 'deb [trusted=no arch=amd64,i386,armhf,arm64] http://dist.jriver.com/latest/mediacenter/ $base main' > /etc/apt/sources.list 2>&1"
|
||||
@@ -394,7 +393,7 @@ getLatestVersion() {
|
||||
return 0
|
||||
fi
|
||||
# Scrape from Interact
|
||||
installPackage wget
|
||||
installPackage --silent wget
|
||||
if mcversion=$(wget -qO- "$boardurl" | grep -o "[0-9][0-9]\.[0-9]\.[0-9]\+" | head -n 1); then
|
||||
_version_source="webscrape"
|
||||
fi
|
||||
@@ -507,10 +506,10 @@ addRepo() {
|
||||
gpgcheck=0
|
||||
EOF'
|
||||
elif [[ "$ID" =~ ^(debian|ubuntu|linuxmint)$ ]]; then
|
||||
# _mversion will depend on base unless --mcversion is passed
|
||||
installPackage wget
|
||||
# mversion will depend on base unless --mcversion is passed
|
||||
installPackage --silent wget
|
||||
wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | ifSudo apt-key add - > /dev/null 2>&1
|
||||
ifSudo wget "http://dist.jriver.com/latest/mediacenter/mediacenter$_mversion.list" -O "/etc/apt/sources.list.d/mediacenter$_mversion.list" > /dev/null 2>&1
|
||||
ifSudo wget "http://dist.jriver.com/latest/mediacenter/mediacenter$mversion.list" -O "/etc/apt/sources.list.d/mediacenter$mversion.list" > /dev/null 2>&1
|
||||
elif [[ "$ID" =~ ^opensuse.* ]]; then
|
||||
ifSudo zypper addrepo --no-gpgcheck "https://repos.bryanroessler.com/jriver" jriver > /dev/null 2>&1
|
||||
fi
|
||||
@@ -545,7 +544,7 @@ installMCFromRepo() {
|
||||
if [[ "$ID" =~ ^(fedora|centos|opensuse.*)$ ]]; then
|
||||
_mcpkg="MediaCenter"
|
||||
elif [[ "$ID" =~ ^(debian|ubuntu|linuxmint)$ ]]; then
|
||||
_mcpkg="mediacenter$_mversion"
|
||||
_mcpkg="mediacenter$mversion"
|
||||
fi
|
||||
|
||||
if [[ -v _specific_version ]]; then
|
||||
@@ -585,7 +584,7 @@ acquireDeb() {
|
||||
elif [[ -v _betapass ]]; then
|
||||
echo "Checking beta repo..."
|
||||
if wget -q -O "$DEBFILENAME" \
|
||||
"https://files.jriver.com/mediacenter/channels/v$_mversion/beta/$_betapass/MediaCenter-$mcversion-amd64.deb"; then
|
||||
"https://files.jriver.com/mediacenter/channels/v$mversion/beta/$_betapass/MediaCenter-$mcversion-amd64.deb"; then
|
||||
echo "Found!"
|
||||
fi
|
||||
elif echo "Checking test repo..." && wget -q -O "$DEBFILENAME" \
|
||||
@@ -593,7 +592,7 @@ acquireDeb() {
|
||||
echo "Found!"
|
||||
# Else check latest repo
|
||||
elif echo "Checking latest repo..." && wget -q -O "$DEBFILENAME" \
|
||||
"https://files.jriver.com/mediacenter/channels/v$_mversion/latest/MediaCenter-$mcversion-amd64.deb"; then
|
||||
"https://files.jriver.com/mediacenter/channels/v$mversion/latest/MediaCenter-$mcversion-amd64.deb"; then
|
||||
echo "Found!"
|
||||
else
|
||||
err "Cannot find DEB file."
|
||||
@@ -738,7 +737,7 @@ buildRPM() {
|
||||
Release: 1
|
||||
Summary: JRiver Media Center
|
||||
Group: Applications/Media
|
||||
Source0: http://files.jriver.com/mediacenter/channels/v$_mversion/latest/MediaCenter-$mcversion-amd64.deb
|
||||
Source0: http://files.jriver.com/mediacenter/channels/v$mversion/latest/MediaCenter-$mcversion-amd64.deb
|
||||
BuildArch: x86_64
|
||||
%define _rpmfilename %%{ARCH}/%%{NAME}-%%{version}.%%{ARCH}.rpm
|
||||
|
||||
@@ -747,7 +746,7 @@ buildRPM() {
|
||||
${requires:-}
|
||||
${recommends:-}
|
||||
|
||||
Provides: mediacenter$_mversion
|
||||
Provides: mediacenter$mversion
|
||||
|
||||
License: Copyright 1998-2022, JRiver, Inc. All rights reserved. Protected by U.S. patents #7076468 and #7062468
|
||||
URL: http://www.jriver.com/
|
||||
@@ -769,10 +768,10 @@ buildRPM() {
|
||||
%postun -p /sbin/ldconfig
|
||||
|
||||
%files
|
||||
%{_bindir}/mediacenter$_mversion
|
||||
%{_bindir}/mediacenter$mversion
|
||||
%{_libdir}/jriver
|
||||
%{_datadir}
|
||||
%exclude %{_datadir}/applications/media_center_packageinstaller_$_mversion.desktop
|
||||
%exclude %{_datadir}/applications/media_center_packageinstaller_$mversion.desktop
|
||||
/etc/security/limits.d/*
|
||||
EOF
|
||||
|
||||
@@ -878,7 +877,7 @@ restoreLicense() {
|
||||
|
||||
# Restore license
|
||||
if [[ -f "$_restorefile" ]]; then
|
||||
if ! "mediacenter$_mversion" /RestoreFromFile "$_restorefile"; then
|
||||
if ! "mediacenter$mversion" /RestoreFromFile "$_restorefile"; then
|
||||
err "Automatic license restore failed"
|
||||
return 1
|
||||
fi
|
||||
@@ -907,7 +906,7 @@ openFirewall() {
|
||||
|
||||
# Open the ports
|
||||
if [[ "$ID" =~ ^(fedora|centos|opensuse.*)$ ]]; then
|
||||
[[ ! -x $(command -v firewall-cmd) ]] && installPackage firewalld
|
||||
installPackage firewalld
|
||||
if ! firewall_cmd --get-services | grep -q "$1"; then
|
||||
firewall_cmd --permanent --new-service="$1" > /dev/null 2>&1
|
||||
firewall_cmd --permanent --service="$1" --set-description="$1 installed by installJRMC" > /dev/null 2>&1
|
||||
@@ -920,7 +919,7 @@ openFirewall() {
|
||||
fi
|
||||
elif [[ "$ID" =~ ^(debian|ubuntu|linuxmint)$ ]]; then
|
||||
# Debian ufw package state is broken on fresh installations
|
||||
[[ ! -x $(command -v ufw) ]] && installPackage ufw
|
||||
installPackage ufw
|
||||
if [[ ! -f "/etc/ufw/applications.d/$1" ]]; then
|
||||
bash_cmd "cat <<- EOF > /etc/ufw/applications.d/$1
|
||||
[$1]
|
||||
@@ -1061,7 +1060,7 @@ service_jriver-mediacenter() {
|
||||
|
||||
bash_cmd "cat <<- EOF > $_service_fname
|
||||
[Unit]
|
||||
Description=JRiver Media Center $_mversion
|
||||
Description=JRiver Media Center $mversion
|
||||
After=graphical.target
|
||||
|
||||
[Service]
|
||||
@@ -1069,7 +1068,7 @@ service_jriver-mediacenter() {
|
||||
Type=simple
|
||||
Environment=DISPLAY=$_display
|
||||
Environment=XAUTHORITY=$XAUTHORITY
|
||||
ExecStart=/usr/bin/mediacenter$_mversion $*
|
||||
ExecStart=/usr/bin/mediacenter$mversion $*
|
||||
Restart=always
|
||||
RestartSec=10
|
||||
KillSignal=SIGHUP
|
||||
@@ -1108,9 +1107,9 @@ service_jriver-xvnc() {
|
||||
local _port=$(( _next_displaynum + 5900 ))
|
||||
|
||||
if [[ -v _novncauth ]]; then
|
||||
_exec_start_cmd="/usr/bin/vncserver $_next_display -geometry 1440x900 -alwaysshared -name jriver$_next_display -SecurityTypes None -autokill -xstartup /usr/bin/mediacenter$_mversion"
|
||||
_exec_start_cmd="/usr/bin/vncserver $_next_display -geometry 1440x900 -alwaysshared -name jriver$_next_display -SecurityTypes None -autokill -xstartup /usr/bin/mediacenter$mversion"
|
||||
else
|
||||
_exec_start_cmd="/usr/bin/vncserver $_next_display -geometry 1440x900 -alwaysshared -rfbauth $HOME/.vnc/jrmc_passwd -autokill -xstartup /usr/bin/mediacenter$_mversion"
|
||||
_exec_start_cmd="/usr/bin/vncserver $_next_display -geometry 1440x900 -alwaysshared -rfbauth $HOME/.vnc/jrmc_passwd -autokill -xstartup /usr/bin/mediacenter$mversion"
|
||||
fi
|
||||
|
||||
bash_cmd "cat <<- EOF > $_service_fname
|
||||
@@ -1339,7 +1338,7 @@ service_jriver-createrepo() {
|
||||
# "--label" "maintainer=$MAINTAINER" \
|
||||
# "--env" "TZ=$TZ" \
|
||||
# "--workingdir" "/app" \
|
||||
# "--cmd" "mediacenter$_mversion")
|
||||
# "--cmd" "mediacenter$mversion")
|
||||
|
||||
# mkcdirs() {
|
||||
# local dir
|
||||
@@ -1372,11 +1371,11 @@ service_jriver-createrepo() {
|
||||
# wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | apt-key add - > /dev/null 2>&1
|
||||
# EOF
|
||||
|
||||
# brc wget "http://dist.jriver.com/latest/mediacenter/mediacenter$_mversion.list" -O "/etc/apt/sources.list.d/mediacenter$_mversion.list"
|
||||
# brc wget "http://dist.jriver.com/latest/mediacenter/mediacenter$mversion.list" -O "/etc/apt/sources.list.d/mediacenter$mversion.list"
|
||||
|
||||
# brc apt-get update -y -q0
|
||||
|
||||
# brc add-pkg "mediacenter$_mversion"
|
||||
# brc add-pkg "mediacenter$mversion"
|
||||
|
||||
# brc del-pkg .build-deps
|
||||
# }
|
||||
@@ -1443,7 +1442,7 @@ uninstall() {
|
||||
if [[ "$ID" =~ ^(fedora|centos|opensuse.*)$ ]]; then
|
||||
_mcpkg="MediaCenter"
|
||||
elif [[ "$ID" =~ ^(debian|ubuntu|linuxmint)$ ]]; then
|
||||
_mcpkg="mediacenter$_mversion"
|
||||
_mcpkg="mediacenter$mversion"
|
||||
fi
|
||||
|
||||
if debug; then
|
||||
@@ -1478,6 +1477,9 @@ main() {
|
||||
exit $?
|
||||
fi
|
||||
|
||||
# Install dependency dependencies :-)
|
||||
[[ "$ID" == "centos" ]] && installPackage epel-release
|
||||
|
||||
# Install MC using package manager
|
||||
if [[ -v _install && "$_install" == "repo" ]]; then
|
||||
if [[ "$ID" =~ ^opensuse.*$ ]]; then
|
||||
|
||||
Reference in New Issue
Block a user