jellyfin/fedora
Tarulia 0504ed9fe6 Standardise and cleanup Fedora build
* Remove additional dotnet-preview repo from Makefile
  * Repo doesn't seem maintained, and maintainers actively discourage
    the usage in production in its description
  * Considering this, we should build with stable .NET releases, which
    Fedora and RHEL 8+ repos already provide
* Use Fedora-version-specific runtime-identifier for `dotnet publish`
  * This has no actual effect right now judging by the [RID
    catalog](3efd59151a/docs/core/rid-catalog.md),
    so this is just future proofing.
* Remove AutoReqProv
  * There's rarely a reason to use this feature, this is not one of them
  * In the [proposal of this
    feature](https://fedoraproject.org/wiki/AutoReqProv_(draft)#Usage)
    it is stated that this is not to be used on packages with binaries
    in /usr/bin and others, which is the case in this package.
  * also didn't seem to work since we were still having dependency
    issues with implicit dependencies (see jellyfin/jellyfin#7471 )
* Removed DOTNET_SKIP_FIRST_TIME_EXPERIENCE as it is unused in .NET SDK
  * see dotnet/sdk#9945
  * it's already merged for removal in future versions
* Move building process `dotnet publish` to %build section
  * Also removed `--output` from this due to an outstanding bug on SDK's
    side. This also separates building and installing as intended
* define LICENSE as %license, which automatically puts it in a
  standardised directory
2022-06-15 23:09:26 +02:00
..
.gitignore Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin-firewalld.xml Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin-server-lowports.conf Put low port privilege into an optional subpackage 2021-11-30 01:18:27 -05:00
jellyfin.env Enable Workstation GC mode 2021-04-11 12:57:28 +02:00
jellyfin.override.conf Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
jellyfin.service Add SuccessExitStatus for exit 143 2022-03-15 20:27:38 -04:00
jellyfin.spec Standardise and cleanup Fedora build 2022-06-15 23:09:26 +02:00
jellyfin.sudoers Use a service unit, not a scope unit, to restart 2020-12-04 16:33:24 -08:00
Makefile Standardise and cleanup Fedora build 2022-06-15 23:09:26 +02:00
README.md Port Fedora and CentOS builds and remove web build 2020-03-23 17:32:07 -04:00
restart.sh Use a service unit, not a scope unit, to restart 2020-12-04 16:33:24 -08:00

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.

# ffmpeg from RPMfusion free
# Fedora
$ sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
# CentOS 7
$ sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm

ISO mounting

To allow Jellyfin to mount/umount ISO files uncomment these two lines in /etc/sudoers.d/jellyfin-sudoers

# %jellyfin ALL=(ALL) NOPASSWD: /bin/mount
# %jellyfin ALL=(ALL) NOPASSWD: /bin/umount

Building with dotnet

Jellyfin is build with --self-contained so no dotnet required for runtime.

# dotnet required for building the RPM
# Fedora
$ sudo dnf copr enable @dotnet-sig/dotnet
# CentOS
$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

TODO

  • OpenSUSE