aboutsummaryrefslogtreecommitdiff
path: root/fedora
diff options
context:
space:
mode:
authorCody Robibero <cody@robibe.ro>2024-03-18 08:42:07 -0600
committerGitHub <noreply@github.com>2024-03-18 10:42:07 -0400
commit78b53a60b4018b25c64a2477408c10144a750252 (patch)
treec193fcd988536af79ea3afb7f790d411128c4ba1 /fedora
parent4bcabbde7b8c1a9a0ca7a89ab3e2b0de390393f5 (diff)
Remove legacy build utilities (#11162)
Diffstat (limited to 'fedora')
-rw-r--r--fedora/.gitignore3
-rw-r--r--fedora/Makefile52
-rw-r--r--fedora/README.md39
-rw-r--r--fedora/jellyfin-firewalld.xml9
-rw-r--r--fedora/jellyfin-selinux-launcher.sh3
-rw-r--r--fedora/jellyfin-server-lowports.conf4
-rw-r--r--fedora/jellyfin.env44
-rw-r--r--fedora/jellyfin.override.conf53
-rw-r--r--fedora/jellyfin.service17
-rw-r--r--fedora/jellyfin.spec197
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