aboutsummaryrefslogtreecommitdiff
path: root/debian/rules
diff options
context:
space:
mode:
Diffstat (limited to 'debian/rules')
-rwxr-xr-xdebian/rules57
1 files changed, 57 insertions, 0 deletions
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
bgstack15