mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-09-29 15:31:04 -04:00
Rewrite so we don't need to constantly update with every new Fedora release. This is especially useful when Fedora and Jellyfin release cycles don't line up. Version selection is as follows: * TARGET environment variable, which is currently used already * Currently running Fedora version * Hardcoded Fallback version that can be updated occasionally
58 lines
2.4 KiB
Makefile
58 lines
2.4 KiB
Makefile
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/
|
|
epel-8-x86_64_repos := https://download.copr.fedorainfracloud.org/results/@dotnet-sig/dotnet-preview/$(TARGET)/
|
|
|
|
fed_ver := $(shell rpm -E %fedora)
|
|
# fallback when not running on Fedora
|
|
fed_ver ?= 36
|
|
TARGET ?= fedora-$(fed_ver)-x86_64
|
|
|
|
ifeq ($(findstring fedora,$(TARGET)),fedora)
|
|
$(TARGET)_repos := https://download.copr.fedorainfracloud.org/results/@dotnet-sig/dotnet-preview/$(TARGET)/
|
|
endif
|
|
|
|
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) $<
|