From 9a2248e1d20ebc1826d246bf5bcb194e3499408e Mon Sep 17 00:00:00 2001 From: "Joshua M. Boniface" Date: Sat, 3 Feb 2024 16:08:56 -0500 Subject: Add combined Debian build --- debian/rules | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100755 debian/rules (limited to 'debian/rules') diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..8c52b29 --- /dev/null +++ b/debian/rules @@ -0,0 +1,57 @@ +#! /usr/bin/make -f +CONFIG := Release +TERM := xterm +SHELL := /bin/bash + +HOST_ARCH := $(shell arch) +BUILD_ARCH := ${DEB_HOST_MULTIARCH} +ifeq ($(HOST_ARCH),x86_64) + # Building AMD64 + DOTNETRUNTIME := linux-x64 + ifeq ($(BUILD_ARCH),arm-linux-gnueabihf) + # Cross-building ARM on AMD64 + DOTNETRUNTIME := linux-arm + endif + ifeq ($(BUILD_ARCH),aarch64-linux-gnu) + # Cross-building ARM on AMD64 + DOTNETRUNTIME := linux-arm64 + endif +endif +ifeq ($(HOST_ARCH),armv7l) + # Building ARM + DOTNETRUNTIME := linux-arm +endif +ifeq ($(HOST_ARCH),arm64) + # Building ARM + DOTNETRUNTIME := linux-arm64 +endif + +export DH_VERBOSE=1 +export DOTNET_CLI_TELEMETRY_OPTOUT=1 + +%: + dh $@ + +override_dh_auto_test: + +override_dh_clistrip: + +override_dh_auto_build: + cd jellyfin-server && dotnet publish -maxcpucount:1 --configuration $(CONFIG) \ + --output='$(CURDIR)/build/usr/lib/jellyfin/bin' --self-contained --runtime $(DOTNETRUNTIME) \ + -p:DebugSymbols=false -p:DebugType=none Jellyfin.Server + cd jellyfin-web && npm ci --no-audit --unsafe-perm && \ + npm run build:production && mv $(CURDIR)/jellyfin-web/dist $(CURDIR)/build/web + +override_dh_auto_clean: + cd jellyfin-server && dotnet clean -maxcpucount:1 --configuration $(CONFIG) Jellyfin.Server || true + test -d $(CURDIR)/jellyfin-web/dist && \ + rm -rf '$(CURDIR)/jellyfin-web/dist' || true + test -d $(CURDIR)/jellyfin-web/web && \ + rm -rf '$(CURDIR)/jellyfin-web/web' || true + test -d $(CURDIR)/jellyfin-web/node_modules && \ + rm -rf '$(CURDIR)/jellyfin-web/node_modules' || true + rm -rf '$(CURDIR)/build' + +override_dh_installinit: + dh_installinit --name=jellyfin -- cgit