3 Commits

Author SHA1 Message Date
6431178333 Fix systemd user 2020-04-03 17:26:50 -04:00
326dc9ea66 Fix permissions on service scripts 2020-04-03 13:19:57 -04:00
d5d51ab506 Use firewall-cmd to avoid 5 second delay for xml file to load 2020-04-03 13:05:11 -04:00

View File

@@ -253,7 +253,7 @@ EOF
_install_cmd_nogpg=("${_install_cmd[@]}" "--nogpgcheck") _install_cmd_nogpg=("${_install_cmd[@]}" "--nogpgcheck")
# append sudo to non-containers and non-root users # append sudo for non-root users
if [[ "$_user" != "root" ]]; then if [[ "$_user" != "root" ]]; then
_install_cmd=("sudo" "${_install_cmd[@]}") _install_cmd=("sudo" "${_install_cmd[@]}")
_install_cmd_nogpg=("sudo" "${_install_cmd_nogpg[@]}") _install_cmd_nogpg=("sudo" "${_install_cmd_nogpg[@]}")
@@ -631,23 +631,18 @@ EOF"
# RHEL # RHEL
if [[ "$ID" == "fedora" || "$ID" == "centos" ]] && [[ -x $(command -v firewall-cmd) ]]; then if [[ "$ID" == "fedora" || "$ID" == "centos" ]] && [[ -x $(command -v firewall-cmd) ]]; then
if ! firewall-cmd --get-services | grep -q jriver; then if ! firewall-cmd --get-services | grep -q jriver; then
if [[ "$_user" == "root" ]]; then
_firewallcmd=("firewall-cmd")
else
_firewallcmd=("sudo" "firewall-cmd")
fi
# shellcheck disable=SC2140,SC1079,SC1078 # shellcheck disable=SC2140,SC1079,SC1078
"${_bash_cmd[@]}" "cat <<-EOF > /etc/firewalld/services/jriver.xml "${_firewallcmd[@]}" --permanent --new-service=jriver
<?xml version="1.0" encoding="utf-8"?> "${_firewallcmd[@]}" --permanent --service=jriver --set-description="JRiver Media Center Media Server"
<service> "${_firewallcmd[@]}" --permanent --service=jriver --set-short="jriver"
<short>jriver</short> "${_firewallcmd[@]}" --permanent --service=jriver --add-port=52100-52200/tcp
<description>JRiver Media Center Media Server</description> "${_firewallcmd[@]}" --permanent --service=jriver --add-port=1900/udp
<port protocol="udp" port="1900" /> "${_firewallcmd[@]}" --reload
<port protocol="tcp" port="52100-52200"/>
</service>
EOF"
fi
# Enable service
if [[ "$_user" == "root" ]]; then
firewall-cmd --permanent --add-service=jriver
else
sudo firewall-cmd --permanent --add-service=jriver
fi fi
# Ubuntu # Ubuntu
@@ -722,7 +717,7 @@ EOF"
fi fi
_service_fname="$HOME/.config/systemd/user/$1.service" _service_fname="$HOME/.config/systemd/user/$1.service"
_timer_fname="$HOME/.config/systemd/user/$1.timer" _timer_fname="$HOME/.config/systemd/user/$1.timer"
_systemd_user="User=$_user" #_systemd_user="User=$_user"
fi fi
} }
@@ -731,14 +726,13 @@ EOF"
_generateServiceVars "jriver-mediaserver" _generateServiceVars "jriver-mediaserver"
"${_bash_cmd[@]}" "cat <<-EOF > $_service_fname bash -c "cat <<-EOF > $_service_fname
[Unit] [Unit]
Description=JRiver Media Center $_mversion Media Server Description=JRiver Media Center $_mversion Media Server
After=graphical.target After=graphical.target
[Service] [Service]
Type=simple Type=simple
$_systemd_user
Environment=DISPLAY=$_display Environment=DISPLAY=$_display
ExecStart=/usr/bin/mediacenter$_mversion /MediaServer ExecStart=/usr/bin/mediacenter$_mversion /MediaServer
Restart=always Restart=always
@@ -766,14 +760,13 @@ EOF"
_exec_start_cmd="/usr/bin/x11vnc -display $_display -geometry 1920x1080 -rfbauth $HOME/.vnc/jrmc_passwd -auth guess -forever -bg" _exec_start_cmd="/usr/bin/x11vnc -display $_display -geometry 1920x1080 -rfbauth $HOME/.vnc/jrmc_passwd -auth guess -forever -bg"
fi fi
"${_bash_cmd[@]}" "cat <<-EOF > $_service_fname bash -c "cat <<-EOF > $_service_fname
[Unit] [Unit]
Description=x11vnc Description=x11vnc
After=display-manager.service After=display-manager.service
[Service] [Service]
Type=forking Type=forking
$_systemd_user
Environment=DISPLAY=$_display Environment=DISPLAY=$_display
ExecStart=$_exec_start_cmd ExecStart=$_exec_start_cmd
Restart=always Restart=always
@@ -790,18 +783,17 @@ EOF"
_generateServiceVars "jriver-createrepo" _generateServiceVars "jriver-createrepo"
"${_bash_cmd[@]}" "cat <<-EOF > $_service_fname bash -c "cat <<-EOF > $_service_fname
[Unit] [Unit]
Description=Builds JRiver Media Center RPM file, moves it to the repo dir, and runs createrepo Description=Builds JRiver Media Center RPM file, moves it to the repo dir, and runs createrepo
[Service] [Service]
$_systemd_user
ExecStart=$_basedir/installJRMC --buildpath=$_outputdir --createrepo --createrepo-webroot $_createrepo_webroot --createrepo-user $_createrepo_user ExecStart=$_basedir/installJRMC --buildpath=$_outputdir --createrepo --createrepo-webroot $_createrepo_webroot --createrepo-user $_createrepo_user
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF" EOF"
"${_bash_cmd[@]}" "cat <<-EOF > $_timer_fname bash -c "cat <<-EOF > $_timer_fname
[Unit] [Unit]
Description=Run JRiver MC rpmbuild hourly Description=Run JRiver MC rpmbuild hourly
@@ -894,21 +886,6 @@ EOF"
return $? return $?
fi fi
# Install MC systemd services
if [[ -n $_service_xms ]]; then
_serviceMediaserver
_serviceX11VNC
fi
if [[ -n $_service_ms ]]; then
_serviceMediaserver
fi
# Install createrepo systemd service
if [[ -n $_service_createrepo ]]; then
_serviceCreaterepo
fi
# Acquire source deb package # Acquire source deb package
_acquireDeb _acquireDeb
@@ -924,11 +901,27 @@ EOF"
return $? return $?
fi fi
# Install createrepo systemd service
if [[ -n $_service_createrepo ]]; then
_serviceCreaterepo
fi
# install MC # install MC
_installRPM _installRPM
_symlinkCerts _symlinkCerts
_restoreLicense _restoreLicense
_openFirewallPorts _openFirewallPorts
# Install MC systemd services
if [[ -n $_service_xms ]]; then
_serviceMediaserver
_serviceX11VNC
fi
if [[ -n $_service_ms ]]; then
_serviceMediaserver
fi
} }
# Execute function when called # Execute function when called