Merge remote-tracking branch 'origin/master' into HEAD

This commit is contained in:
Brian J. Murrell
2021-11-29 17:53:26 -05:00
1262 changed files with 28360 additions and 18869 deletions

View File

@@ -1,5 +1,5 @@
[Unit]
After=network.target
After=network-online.target
Description=Jellyfin is a free software media system that puts you in control of managing and streaming your media.
[Service]

View File

@@ -27,7 +27,7 @@ BuildRequires: libcurl-devel, fontconfig-devel, freetype-devel, openssl-devel,
# Requirements not packaged in main repos
# COPR @dotnet-sig/dotnet or
# https://packages.microsoft.com/rhel/7/prod/
BuildRequires: dotnet-runtime-5.0, dotnet-sdk-5.0
BuildRequires: dotnet-runtime-6.0, dotnet-sdk-6.0
Requires: %{name}-server = %{version}-%{release}, %{name}-web = %{version}-%{release}
# Disable Automatic Dependency Processing
AutoReqProv: no
@@ -40,7 +40,7 @@ Jellyfin is a free software media system that puts you in control of managing an
Summary: The Free Software Media System Server backend
Requires(pre): shadow-utils
Requires: ffmpeg
Requires: libcurl, fontconfig, freetype, openssl, glibc, libicu, at
Requires: libcurl, fontconfig, freetype, openssl, glibc, libicu, at, sudo
%description server
The Jellyfin media server backend.

View File

@@ -1,8 +1,7 @@
# Allow jellyfin group to start, stop and restart itself
Cmnd_Alias RESTARTSERVER_SYSTEMD = /usr/bin/systemctl restart jellyfin, /bin/systemctl restart jellyfin
Cmnd_Alias STARTSERVER_SYSTEMD = /usr/bin/systemctl start jellyfin, /bin/systemctl start jellyfin
Cmnd_Alias STOPSERVER_SYSTEMD = /usr/bin/systemctl stop jellyfin, /bin/systemctl stop jellyfin
Cmnd_Alias RESTARTSERVER_SYSTEMD = /usr/bin/systemd-run systemctl restart jellyfin
Cmnd_Alias STARTSERVER_SYSTEMD = /usr/bin/systemd-run systemctl start jellyfin
Cmnd_Alias STOPSERVER_SYSTEMD = /usr/bin/systemd-run systemctl stop jellyfin
jellyfin ALL=(ALL) NOPASSWD: RESTARTSERVER_SYSTEMD
jellyfin ALL=(ALL) NOPASSWD: STARTSERVER_SYSTEMD

View File

@@ -11,23 +11,43 @@
#
# This script is used by the Debian/Ubuntu/Fedora/CentOS packages.
get_service_command() {
for command in systemctl service; do
if which $command &>/dev/null; then
echo $command && return
# This is the Right Way(tm) to check if we are booted with
# systemd, according to sd_booted(3)
if [ -d /run/systemd/system ]; then
cmd=systemctl
else
# Everything else is really hard to figure out, so we just use
# service(8) if it's available - that works with most init
# systems/distributions I know of, including FreeBSD
if type service >/dev/null 2>&1; then
cmd=service
else
# If even service(8) isn't available, we just try /etc/init.d
# and hope for the best
if [ -d /etc/init.d ]; then
cmd=sysv
else
echo "Unable to detect a way to restart Jellyfin; bailing out" 1>&2
echo "Please report this bug to https://github.com/jellyfin/jellyfin/issues" 1>&2
exit 1
fi
done
echo "sysv"
}
fi
fi
if type sudo >/dev/null 2>&1; then
sudo_command=sudo
else
sudo_command=
fi
cmd="$( get_service_command )"
echo "Detected service control platform '$cmd'; using it to restart Jellyfin..."
case $cmd in
'systemctl')
echo "sleep 0.5; /usr/bin/sudo $( which systemctl ) start jellyfin" | at now
# Without systemd-run here, `jellyfin.service`'s shutdown terminates this process too
$sudo_command systemd-run systemctl restart jellyfin
;;
'service')
echo "sleep 0.5; /usr/bin/sudo $( which service ) jellyfin start" | at now
echo "sleep 0.5; $sudo_command service jellyfin start" | at now
;;
'sysv')
echo "sleep 0.5; /usr/bin/sudo /etc/init.d/jellyfin start" | at now