jellyfin-packaging/debian/rules

65 lines
1.9 KiB
Makefile
Executable File

#! /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
export COMPlus_LTTng=0
export COMPlus_EnableDiagnostics=0
%:
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
rm -f $(CURDIR)/build/usr/lib/jellyfin/bin/libcoreclrtraceptprovider.so
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
cd jellyfin-server && find . -type d \( -name bin -o -name obj \) -exec rm -r {} \; || 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
override_dh_shdeplibs:
dh_shlibdeps --dpkg-shlibdeps-params=--ignore-missing-info