From 0b64fb771f3613e0efcb3692eb2fc73c77fcb7e1 Mon Sep 17 00:00:00 2001 From: Joshua Boniface Date: Thu, 9 Aug 2018 21:59:53 -0400 Subject: [PATCH] Modify debian build files to support .NET core --- debian/control | 14 +++++++------- debian/rules | 27 ++++++--------------------- 2 files changed, 13 insertions(+), 28 deletions(-) diff --git a/debian/control b/debian/control index c18bd7f7c7..f387abb81a 100644 --- a/debian/control +++ b/debian/control @@ -3,12 +3,12 @@ Section: misc Priority: optional Maintainer: Joshua Boniface Build-Depends: debhelper (>= 9), - mono-devel (>= 5.14), - mono-xbuild (>= 5.14), - msbuild (>= 15.6), - libmono-cil-dev (>= 5.14), - cli-common-dev (>= 0.9), - referenceassemblies-pcl, +# libmono-cil-dev (>= 5.14), +# mono-devel (>= 5.14), +# mono-xbuild (>= 5.14), +# cli-common-dev (>= 0.9), +# referenceassemblies-pcl, + dotnet-sdk-2.1, libc6-dev Standards-Version: 3.9.4 @@ -17,6 +17,6 @@ Replaces: mediabrowser, emby, emby-server-beta, emby-server-dev Breaks: mediabrowser, emby, emby-server-beta, emby-server-dev Conflicts: mediabrowser, emby, emby-server-beta, emby-server-dev Architecture: all -Depends: ${shlibs:Depends}, ${cli:Depends}, ${misc:Depends}, at, libsqlite3-0, mono-runtime (>= 5.14) +Depends: ${shlibs:Depends}, ${misc:Depends}, at, libsqlite3-0 Description: Emby Server is a home media server. It is built on top of other popular open source technologies such as Service Stack, jQuery, jQuery mobile, and Mono. It features a REST-based api with built-in documentation to facilitate client development. We also have client libraries for our api to enable rapid development. diff --git a/debian/rules b/debian/rules index 2db0b14ddb..bcee85c50e 100755 --- a/debian/rules +++ b/debian/rules @@ -1,9 +1,12 @@ #! /usr/bin/make -f +CONFIG := Release +RUNTIME := linux-x64 +TERM := xterm SHELL := /bin/bash export DH_VERBOSE=1 %: - dh $@ --with=cli + dh $@ # disable "make check" override_dh_auto_test: @@ -12,25 +15,7 @@ override_dh_auto_test: override_dh_clistrip: override_dh_auto_build: -ifneq ("$(wildcard $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config)","") - $(eval libdl_count := $(shell grep -c "libdl" $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config)) - @ if [[ "$(libdl_count)" -eq "0" ]]; then \ - sed -i -e 's%\(\)%\n\1%' $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config; \ - else \ - sed -i -e 's%%%' $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config; \ - fi -endif - msbuild $(CURDIR)/MediaBrowser.sln /p:Configuration="Release Mono" /p:Platform="Any Cpu" /property:OutputPath='$(CURDIR)/usr/lib/emby-server/bin' /t:build + dotnet build --configuration $(CONFIG) --runtime $(RUNTIME) $(CURDIR)/MediaBrowser.sln override_dh_auto_clean: - msbuild $(CURDIR)/MediaBrowser.sln /p:Configuration="Release Mono" /p:Platform="Any Cpu" /t:clean - -# disable package does not produce library files -override_dh_makeclilibs: - -override_dh_clideps: - dh_clideps --exclude-moduleref=i:ole32 --exclude-moduleref=i:msvcrt --exclude-moduleref=i:Mono.Posix.dll --exclude-moduleref=i:MonoPosixHelper --exclude-moduleref=i:CORE_RL_Wand_ --exclude-moduleref=i:MediaInfo --exclude-moduleref=i:CORE_RL_magick_ --exclude-moduleref=i:sqlite3 --exclude-moduleref=i:libSkiaSharp --exclude-moduleref=i:SkiaSharp --exclude-moduleref=i:libEGL.dll --exclude-moduleref=ntdll.dll - -override_dh_installinit: - # use "emby-server" as our service name, not "emby-server-beta" - dh_installinit --name=emby-server --no-start --noscripts + dotnet clean --configuration $(CONFIG) --runtime $(RUNTIME) $(CURDIR)/MediaBrowser.sln