Some more cleanup

This commit is contained in:
2022-01-06 17:08:25 -05:00
parent 5150ce676a
commit f04db9d523

View File

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