123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #! /usr/bin/make -f
- CONFIG := Release
- TERM := xterm
- SHELL := /bin/bash
- WEB_TARGET := $(CURDIR)/MediaBrowser.WebDashboard/jellyfin-web
- WEB_VERSION := $(shell sed -n -e 's/^version: "\(.*\)"/\1/p' $(CURDIR)/build.yaml)
- HOST_ARCH := $(shell arch)
- BUILD_ARCH := ${DEB_HOST_MULTIARCH}
- ifeq ($(HOST_ARCH),x86_64)
- # Building AMD64
- DOTNETRUNTIME := debian-x64
- ifeq ($(BUILD_ARCH),arm-linux-gnueabihf)
- # Cross-building ARM on AMD64
- DOTNETRUNTIME := debian-arm
- endif
- ifeq ($(BUILD_ARCH),aarch64-linux-gnu)
- # Cross-building ARM on AMD64
- DOTNETRUNTIME := debian-arm64
- endif
- endif
- ifeq ($(HOST_ARCH),armv7l)
- # Building ARM
- DOTNETRUNTIME := debian-arm
- endif
- ifeq ($(HOST_ARCH),arm64)
- # Building ARM
- DOTNETRUNTIME := debian-arm64
- endif
- export DH_VERBOSE=1
- export DOTNET_CLI_TELEMETRY_OPTOUT=1
- %:
- dh $@
- # disable "make check"
- override_dh_auto_test:
- # disable stripping debugging symbols
- override_dh_clistrip:
- override_dh_auto_build:
- echo $(WEB_VERSION)
- # Clone down and build Web frontend
- mkdir -p $(WEB_TARGET)
- wget -O web-src.tgz https://github.com/jellyfin/jellyfin-web/archive/v$(WEB_VERSION).tar.gz || wget -O web-src.tgz https://github.com/jellyfin/jellyfin-web/archive/master.tar.gz
- mkdir -p $(CURDIR)/web
- tar -xzf web-src.tgz -C $(CURDIR)/web/ --strip 1
- cd $(CURDIR)/web/ && npm install yarn
- cd $(CURDIR)/web/ && node_modules/yarn/bin/yarn install
- mv $(CURDIR)/web/dist/* $(WEB_TARGET)/
- # Build the application
- dotnet publish --configuration $(CONFIG) --output='$(CURDIR)/usr/lib/jellyfin/bin' --self-contained --runtime $(DOTNETRUNTIME) \
- "-p:GenerateDocumentationFile=false;DebugSymbols=false;DebugType=none" Jellyfin.Server
- override_dh_auto_clean:
- dotnet clean -maxcpucount:1 --configuration $(CONFIG) Jellyfin.Server || true
- rm -f '$(CURDIR)/web-src.tgz'
- rm -rf '$(CURDIR)/usr'
- rm -rf '$(CURDIR)/web'
- rm -rf '$(WEB_TARGET)'
- # Force the service name to jellyfin even if we're building jellyfin-nightly
- override_dh_installinit:
- dh_installinit --name=jellyfin
|