Fedora builds were broken due to dotnet-sdk-3.1 and dotnet-runtime-3.1 not being available on the @dotnet-sig/dotnet repo as well as a lack of the git package (needed for yarn when installing jellyfin/jellyfin-noto per https://github.com/jellyfin/jellyfin-web/pull/735). Replaces the outdated repo with the official repo found in Microsoft's documentation.
Jellyfin Packaging
This directory contains the packaging configuration of Jellyfin for multiple platforms. The specification is below; all package platforms must follow the specification to be compatable with the central build script.
Package List
Operating System Packages
- debian-package-x64: Package for Debian and Ubuntu amd64 systems.
- fedora-package-x64: Package for Fedora, CentOS, and Red Hat Enterprise Linux amd64 systems.
Portable Builds (archives)
- linux-x64: Portable binary archive for generic Linux amd64 systems.
- macos: Portable binary archive for MacOS amd64 systems.
- win-x64: Portable binary archive for Windows amd64 systems.
- win-x86: Portable binary archive for Windows i386 systems.
Other Builds
These builds are not necessarily run from the build script, but are present for other platforms.
- portable: Compiled- .dllfor use with .NET Core runtime on any system.
- docker: Docker manifests for auto-publishing.
- unraid: unRaid Docker template; not built by- buildbut imported into unRaid directly.
- windows: Support files and scripts for Windows CI build.
Package Specification
Dependencies
- 
If a platform requires additional build dependencies, the required binary names, i.e. to validate which <binary>, should be specified in adependencies.txtfile inside the platform directory.
- 
Each dependency should be present on its own line. 
Action Scripts
- 
Actions are defined in BASH scripts with the name <action>.shwithin the platform directory.
- 
The list of valid actions are: - build: Builds a set of binaries.
- package: Assembles the compiled binaries into a package.
- sign: Performs signing actions on a package.
- publish: Performs a publishing action for a package.
- clean: Cleans up any artifacts from the previous actions.
 
- 
All package actions are optional, however at least one should generate output files, and any that do should contain a cleanaction.
- 
Actions are executed in the order specified above, and later actions may depend on former actions. 
- 
Actions except for cleanshouldset -o errexitto terminate on failed actions.
- 
The cleanaction should alwaysexit 0even if no work is done or it fails.
- 
The cleanaction can be passed a variable as argument 1, namedkeep_artifacts, containing either the valueyorn. It is indended to handle situations when the user runsbuild --keep-artifactsand should be handled intelligently. Usually, this is used to preserve Docker images while still removing temporary directories.
Output Files
- 
Upon completion of the defined actions, at least one output file must be created in the <platform>/pkg-distdirectory.
- 
Output files will be moved to the directory jellyfin-build/<platform>one directory above the repository root upon completion.