diff options
| author | Cody Robibero <cody@robibe.ro> | 2024-03-18 08:42:07 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-18 10:42:07 -0400 |
| commit | 78b53a60b4018b25c64a2477408c10144a750252 (patch) | |
| tree | c193fcd988536af79ea3afb7f790d411128c4ba1 /fedora | |
| parent | 4bcabbde7b8c1a9a0ca7a89ab3e2b0de390393f5 (diff) | |
Remove legacy build utilities (#11162)
Diffstat (limited to 'fedora')
| -rw-r--r-- | fedora/.gitignore | 3 | ||||
| -rw-r--r-- | fedora/Makefile | 52 | ||||
| -rw-r--r-- | fedora/README.md | 39 | ||||
| -rw-r--r-- | fedora/jellyfin-firewalld.xml | 9 | ||||
| -rw-r--r-- | fedora/jellyfin-selinux-launcher.sh | 3 | ||||
| -rw-r--r-- | fedora/jellyfin-server-lowports.conf | 4 | ||||
| -rw-r--r-- | fedora/jellyfin.env | 44 | ||||
| -rw-r--r-- | fedora/jellyfin.override.conf | 53 | ||||
| -rw-r--r-- | fedora/jellyfin.service | 17 | ||||
| -rw-r--r-- | fedora/jellyfin.spec | 197 |
10 files changed, 0 insertions, 421 deletions
diff --git a/fedora/.gitignore b/fedora/.gitignore deleted file mode 100644 index 6019b98c22..0000000000 --- a/fedora/.gitignore +++ /dev/null @@ -1,3 +0,0 @@ -*.rpm -*.zip -*.tar.gz
\ No newline at end of file diff --git a/fedora/Makefile b/fedora/Makefile deleted file mode 100644 index 3188cf6039..0000000000 --- a/fedora/Makefile +++ /dev/null @@ -1,52 +0,0 @@ -DIR := $(dir $(lastword $(MAKEFILE_LIST))) -INSTGIT := $(shell if [ "$$(id -u)" = "0" ]; then dnf -y install git; fi) -NAME := jellyfin-server -VERSION := $(shell sed -ne '/^Version:/s/.* *//p' $(DIR)/jellyfin.spec) -RELEASE := $(shell sed -ne '/^Release:/s/.* *\(.*\)%{.*}.*/\1/p' $(DIR)/jellyfin.spec) -SRPM := jellyfin-$(subst -,~,$(VERSION))-$(RELEASE)$(shell rpm --eval %dist).src.rpm -TARBALL :=$(NAME)-$(subst -,~,$(VERSION)).tar.gz - -epel-7-x86_64_repos := https://packages.microsoft.com/rhel/7/prod/ - -fed_ver := $(shell rpm -E %fedora) -# fallback when not running on Fedora -fed_ver ?= 36 -TARGET ?= fedora-$(fed_ver)-x86_64 - -outdir ?= $(PWD)/$(DIR)/ - -srpm: $(DIR)/$(SRPM) -tarball: $(DIR)/$(TARBALL) - -$(DIR)/$(TARBALL): - cd $(DIR)/; \ - SOURCE_DIR=.. \ - WORKDIR="$${PWD}"; \ - version=$(VERSION); \ - tar \ - --transform "s,^\.,$(NAME)-$(subst -,~,$(VERSION))," \ - --exclude='.git*' \ - --exclude='**/.git' \ - --exclude='**/.hg' \ - --exclude='**/.vs' \ - --exclude='**/.vscode' \ - --exclude=deployment \ - --exclude='**/bin' \ - --exclude='**/obj' \ - --exclude='**/.nuget' \ - --exclude='*.deb' \ - --exclude='*.rpm' \ - --exclude=$(notdir $@) \ - -czf $(notdir $@) \ - -C $${SOURCE_DIR} ./ - -$(DIR)/$(SRPM): $(DIR)/$(TARBALL) $(DIR)/jellyfin.spec - cd $(DIR)/; \ - rpmbuild -bs jellyfin.spec \ - --define "_sourcedir $$PWD/" \ - --define "_srcrpmdir $(outdir)" - -rpms: $(DIR)/$(SRPM) - mock $(addprefix --addrepo=, $($(TARGET)_repos)) \ - --enable-network \ - -r $(TARGET) $< diff --git a/fedora/README.md b/fedora/README.md deleted file mode 100644 index 6ea87740f2..0000000000 --- a/fedora/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# Jellyfin RPM - -## Build Fedora Package with docker - -Change into this directory `cd rpm-package` -Run the build script `./build-fedora-rpm.sh`. -Resulting RPM and src.rpm will be in `../../jellyfin-*.rpm` - -## ffmpeg - -The RPM package for Fedora/CentOS requires some additional repositories as ffmpeg is not in the main repositories. - -```shell -# ffmpeg from RPMfusion free -# Fedora -$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm -# CentOS 8 -$ sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm -# CentOS 9 -$ sudo dnf localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-9.noarch.rpm -``` - -## Building with dotnet - -Jellyfin is build with `--self-contained` so no dotnet required for runtime. - -```shell -# dotnet required for building the RPM -# Fedora -$ sudo dnf copr enable @dotnet-sig/dotnet -# CentOS 8 -$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/8/packages-microsoft-prod.rpm -# CentOS 9 -$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/9/packages-microsoft-prod.rpm -``` - -## TODO - -- [ ] OpenSUSE diff --git a/fedora/jellyfin-firewalld.xml b/fedora/jellyfin-firewalld.xml deleted file mode 100644 index 538c5d65f8..0000000000 --- a/fedora/jellyfin-firewalld.xml +++ /dev/null @@ -1,9 +0,0 @@ -<?xml version="1.0" encoding="utf-8"?> -<service> - <short>Jellyfin</short> - <description>The Free Software Media System.</description> - <port protocol="tcp" port="8096"/> - <port protocol="tcp" port="8920"/> - <port protocol="udp" port="1900"/> - <port protocol="udp" port="7359"/> -</service> diff --git a/fedora/jellyfin-selinux-launcher.sh b/fedora/jellyfin-selinux-launcher.sh deleted file mode 100644 index e07a351d9a..0000000000 --- a/fedora/jellyfin-selinux-launcher.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -exec /usr/lib64/jellyfin/jellyfin "${@}" diff --git a/fedora/jellyfin-server-lowports.conf b/fedora/jellyfin-server-lowports.conf deleted file mode 100644 index eeb48a4e4b..0000000000 --- a/fedora/jellyfin-server-lowports.conf +++ /dev/null @@ -1,4 +0,0 @@ -# This allows Jellyfin to bind to low ports such as 80 and/or 443 - -[Service] -AmbientCapabilities=CAP_NET_BIND_SERVICE
\ No newline at end of file diff --git a/fedora/jellyfin.env b/fedora/jellyfin.env deleted file mode 100644 index cee8f68544..0000000000 --- a/fedora/jellyfin.env +++ /dev/null @@ -1,44 +0,0 @@ -# Jellyfin default configuration options - -# Use this file to override the default configurations; add additional -# options with JELLYFIN_ADD_OPTS. - -# To override the user or this config file's location, use -# /etc/systemd/system/jellyfin.service.d/override.conf - -# -# This is a POSIX shell fragment -# - -# -# General options -# - -# Program directories -JELLYFIN_DATA_DIR="/var/lib/jellyfin" -JELLYFIN_CONFIG_DIR="/etc/jellyfin" -JELLYFIN_LOG_DIR="/var/log/jellyfin" -JELLYFIN_CACHE_DIR="/var/cache/jellyfin" - -# web client path, installed by the jellyfin-web package -# JELLYFIN_WEB_OPT="--webdir=/usr/share/jellyfin-web" - -# In-App service control -JELLYFIN_RESTART_OPT="--restartpath=/usr/libexec/jellyfin/restart.sh" - -# Disable glibc dynamic heap adjustment -MALLOC_TRIM_THRESHOLD_=131072 - -# [OPTIONAL] ffmpeg binary paths, overriding the UI-configured values -#JELLYFIN_FFMPEG_OPT="--ffmpeg=/usr/bin/ffmpeg" - -# [OPTIONAL] run Jellyfin as a headless service -#JELLYFIN_SERVICE_OPT="--service" - -# [OPTIONAL] run Jellyfin without the web app -#JELLYFIN_NOWEBAPP_OPT="--nowebclient" - -# [OPTIONAL] run Jellyfin with ASP.NET Server Garbage Collection (uses more RAM and less CPU than Workstation GC) -# 0 = Workstation -# 1 = Server -#COMPlus_gcServer=1 diff --git a/fedora/jellyfin.override.conf b/fedora/jellyfin.override.conf deleted file mode 100644 index 48b4de1e9a..0000000000 --- a/fedora/jellyfin.override.conf +++ /dev/null @@ -1,53 +0,0 @@ -# Jellyfin systemd configuration options - -# Use this file to override the user or environment file location. - -[Service] -#User = jellyfin -#EnvironmentFile = /etc/sysconfig/jellyfin - -# Service hardening options -# These were added in PR #6953 to solve issue #6952, but some combination of -# them causes "restart.sh" functionality to break with the following error: -# sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the -# 'nosuid' option set or an NFS file system without root privileges? -# See issue #7503 for details on the troubleshooting that went into this. -# Since these were added for NixOS specifically and are above and beyond -# what 99% of systemd units do, they have been moved here as optional -# additional flags to set for maximum system security and can be enabled at -# the administrator's or package maintainer's discretion. -# Uncomment these only if you know what you're doing, and doing so may cause -# bugs with in-server Restart and potentially other functionality as well. -#NoNewPrivileges=true -#SystemCallArchitectures=native -#RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 AF_NETLINK -#RestrictNamespaces=false -#RestrictRealtime=true -#RestrictSUIDSGID=true -#ProtectClock=true -#ProtectControlGroups=false -#ProtectHostname=true -#ProtectKernelLogs=false -#ProtectKernelModules=false -#ProtectKernelTunables=false -#LockPersonality=true -#PrivateTmp=false -#PrivateDevices=false -#PrivateUsers=true -#RemoveIPC=true -#SystemCallFilter=~@clock -#SystemCallFilter=~@aio -#SystemCallFilter=~@chown -#SystemCallFilter=~@cpu-emulation -#SystemCallFilter=~@debug -#SystemCallFilter=~@keyring -#SystemCallFilter=~@memlock -#SystemCallFilter=~@module -#SystemCallFilter=~@mount -#SystemCallFilter=~@obsolete -#SystemCallFilter=~@privileged -#SystemCallFilter=~@raw-io -#SystemCallFilter=~@reboot -#SystemCallFilter=~@setuid -#SystemCallFilter=~@swap -#SystemCallErrorNumber=EPERM diff --git a/fedora/jellyfin.service b/fedora/jellyfin.service deleted file mode 100644 index 01accdc0c9..0000000000 --- a/fedora/jellyfin.service +++ /dev/null @@ -1,17 +0,0 @@ -[Unit] -Description = Jellyfin Media Server -After = network-online.target - -[Service] -Type = simple -EnvironmentFile = /etc/sysconfig/jellyfin -User = jellyfin -Group = jellyfin -WorkingDirectory = /var/lib/jellyfin -ExecStart = /usr/bin/jellyfin $JELLYFIN_WEB_OPT $JELLYFIN_FFMPEG_OPT $JELLYFIN_SERVICE_OPT $JELLYFIN_NOWEBAPP_OPT $JELLYFIN_ADDITIONAL_OPTS -Restart = on-failure -TimeoutSec = 15 -SuccessExitStatus=0 143 - -[Install] -WantedBy = multi-user.target diff --git a/fedora/jellyfin.spec b/fedora/jellyfin.spec deleted file mode 100644 index 5327495ad3..0000000000 --- a/fedora/jellyfin.spec +++ /dev/null @@ -1,197 +0,0 @@ -%global debug_package %{nil} - -Name: jellyfin -Version: 10.9.0 -Release: 1%{?dist} -Summary: The Free Software Media System -License: GPLv2 -URL: https://jellyfin.org -# Jellyfin Server tarball created by `make -f .copr/Makefile srpm`, real URL ends with `v%%{version}.tar.gz` -Source0: jellyfin-server-%{version}.tar.gz -Source10: jellyfin-selinux-launcher.sh -Source11: jellyfin.service -Source12: jellyfin.env -Source13: jellyfin.override.conf -Source14: jellyfin-firewalld.xml -Source15: jellyfin-server-lowports.conf - -%{?systemd_requires} -BuildRequires: systemd -BuildRequires: libcurl-devel, fontconfig-devel, freetype-devel, openssl-devel, glibc-devel, libicu-devel -# Requirements not packaged in RHEL 7 main repos, added via Makefile -# https://packages.microsoft.com/rhel/7/prod/ -BuildRequires: dotnet-runtime-8.0, dotnet-sdk-8.0 -Requires: %{name}-server = %{version}-%{release}, %{name}-web = %{version}-%{release} - -%description -Jellyfin is a free software media system that puts you in control of managing and streaming your media. - -%package server -# RPMfusion free -Summary: The Free Software Media System Server backend -Requires(pre): shadow-utils -Requires: ffmpeg -Requires: libcurl, fontconfig, freetype, openssl, glibc, libicu - -%description server -The Jellyfin media server backend. - -%package server-lowports -# RPMfusion free -Summary: The Free Software Media System Server backend. Low-port binding. -Requires: jellyfin-server - -%description server-lowports -The Jellyfin media server backend low port binding package. This package -enables binding to ports < 1024. You would install this if you want -the Jellyfin server to bind to ports 80 and/or 443 for example. - -%prep -%autosetup -n jellyfin-server-%{version} -b 0 - - -%build -export DOTNET_CLI_TELEMETRY_OPTOUT=1 -export PATH=$PATH:/usr/local/bin -# cannot use --output due to https://github.com/dotnet/sdk/issues/22220 -dotnet publish --configuration Release --self-contained --runtime linux-x64 \ - -p:DebugSymbols=false -p:DebugType=none Jellyfin.Server - - -%install -# Jellyfin files -%{__mkdir} -p %{buildroot}%{_libdir}/jellyfin %{buildroot}%{_bindir} -%{__cp} -r Jellyfin.Server/bin/Release/net8.0/linux-x64/publish/* %{buildroot}%{_libdir}/jellyfin -%{__install} -D %{SOURCE10} %{buildroot}%{_bindir}/jellyfin -sed -i -e 's|/usr/lib64|%{_libdir}|g' %{buildroot}%{_bindir}/jellyfin - -# Jellyfin config -%{__install} -D Jellyfin.Server/Resources/Configuration/logging.json %{buildroot}%{_sysconfdir}/jellyfin/logging.json -%{__install} -D %{SOURCE12} %{buildroot}%{_sysconfdir}/sysconfig/jellyfin - -# system config -%{__install} -D %{SOURCE14} %{buildroot}%{_prefix}/lib/firewalld/services/jellyfin.xml -%{__install} -D %{SOURCE13} %{buildroot}%{_sysconfdir}/systemd/system/jellyfin.service.d/override.conf -%{__install} -D %{SOURCE11} %{buildroot}%{_unitdir}/jellyfin.service - -# empty directories -%{__mkdir} -p %{buildroot}%{_sharedstatedir}/jellyfin -%{__mkdir} -p %{buildroot}%{_sysconfdir}/jellyfin -%{__mkdir} -p %{buildroot}%{_var}/cache/jellyfin -%{__mkdir} -p %{buildroot}%{_var}/log/jellyfin - -# jellyfin-server-lowports subpackage -%{__install} -D -m 0644 %{SOURCE15} %{buildroot}%{_unitdir}/jellyfin.service.d/jellyfin-server-lowports.conf - - -%files -# empty as this is just a meta-package - -%files server -%defattr(644,root,root,755) - -# Jellyfin files -%{_bindir}/jellyfin -# Needs 755 else only root can run it since binary build by dotnet is 722 -%attr(755,root,root) %{_libdir}/jellyfin/createdump -%attr(755,root,root) %{_libdir}/jellyfin/jellyfin -%{_libdir}/jellyfin/* -%attr(755,root,root) %{_bindir}/jellyfin - -# Jellyfin config -%config(noreplace) %attr(644,jellyfin,jellyfin) %{_sysconfdir}/jellyfin/logging.json -%config %{_sysconfdir}/sysconfig/jellyfin - -# system config -%{_prefix}/lib/firewalld/services/jellyfin.xml -%{_unitdir}/jellyfin.service -%config(noreplace) %{_sysconfdir}/systemd/system/jellyfin.service.d/override.conf - -# empty directories -%attr(750,jellyfin,jellyfin) %dir %{_sharedstatedir}/jellyfin -%attr(755,jellyfin,jellyfin) %dir %{_sysconfdir}/jellyfin -%attr(750,jellyfin,jellyfin) %dir %{_var}/cache/jellyfin -%attr(-, jellyfin,jellyfin) %dir %{_var}/log/jellyfin - -%license LICENSE - - -%files server-lowports -%{_unitdir}/jellyfin.service.d/jellyfin-server-lowports.conf - -%pre server -getent group jellyfin >/dev/null || groupadd -r jellyfin -getent passwd jellyfin >/dev/null || \ - useradd -r -g jellyfin -d %{_sharedstatedir}/jellyfin -s /sbin/nologin \ - -c "Jellyfin default user" jellyfin -# Add jellyfin to the render and video groups for hwa. -[ ! -z "$(getent group render)" ] && usermod -aG render jellyfin >/dev/null 2>&1 -[ ! -z "$(getent group video)" ] && usermod -aG video jellyfin >/dev/null 2>&1 -exit 0 - -%post server -# Move existing configuration cache and logs to their new locations and symlink them. -if [ $1 -gt 1 ] ; then - service_state=$(systemctl is-active jellyfin.service) - if [ "${service_state}" = "active" ]; then - systemctl stop jellyfin.service - fi - if [ ! -L %{_sharedstatedir}/jellyfin/config ]; then - mv %{_sharedstatedir}/jellyfin/config/* %{_sysconfdir}/jellyfin/ - rmdir %{_sharedstatedir}/jellyfin/config - ln -sf %{_sysconfdir}/jellyfin %{_sharedstatedir}/jellyfin/config - fi - if [ ! -L %{_sharedstatedir}/jellyfin/logs ]; then - mv %{_sharedstatedir}/jellyfin/logs/* %{_var}/log/jellyfin - rmdir %{_sharedstatedir}/jellyfin/logs - ln -sf %{_var}/log/jellyfin %{_sharedstatedir}/jellyfin/logs - fi - if [ ! -L %{_sharedstatedir}/jellyfin/cache ]; then - mv %{_sharedstatedir}/jellyfin/cache/* %{_var}/cache/jellyfin - rmdir %{_sharedstatedir}/jellyfin/cache - ln -sf %{_var}/cache/jellyfin %{_sharedstatedir}/jellyfin/cache - fi - if [ "${service_state}" = "active" ]; then - systemctl start jellyfin.service - fi -fi -%systemd_post jellyfin.service - -%preun server -%systemd_preun jellyfin.service - -%postun server -%systemd_postun_with_restart jellyfin.service - -%changelog -* Wed Jul 13 2022 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.9.0; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.9.0 -* Mon Nov 29 2021 Brian J. Murrell <brian@interlinx.bc.ca> -- Add jellyfin-server-lowports.service drop-in in a server-lowports - subpackage to allow binding to low ports -* Fri Dec 04 2020 Jellyfin Packaging Team <packaging@jellyfin.org> -- Forthcoming stable release -* Mon Jul 27 2020 Jellyfin Packaging Team <packaging@jellyfin.org> -- Forthcoming stable release -* Mon Mar 23 2020 Jellyfin Packaging Team <packaging@jellyfin.org> -- Forthcoming stable release -* Fri Oct 11 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.5.0; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.5.0 -* Sat Aug 31 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.4.0; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.4.0 -* Wed Jul 24 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.7; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.7 -* Sat Jul 06 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.6; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.6 -* Sun Jun 09 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.5; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.5 -* Thu Jun 06 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.4; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.4 -* Fri May 17 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.3; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.3 -* Tue Apr 30 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.2; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.2 -* Sat Apr 20 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.1; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.1 -* Fri Apr 19 2019 Jellyfin Packaging Team <packaging@jellyfin.org> -- New upstream version 10.3.0; release changelog at https://github.com/jellyfin/jellyfin/releases/tag/v10.3.0 |
