Modify debian build files to support .NET core

This commit is contained in:
Joshua Boniface 2018-08-09 21:59:53 -04:00 committed by Vasily
parent 86f6b817fc
commit 0b64fb771f
2 changed files with 13 additions and 28 deletions

14
debian/control vendored
View File

@ -3,12 +3,12 @@ Section: misc
Priority: optional Priority: optional
Maintainer: Joshua Boniface <joshua@boniface.me> Maintainer: Joshua Boniface <joshua@boniface.me>
Build-Depends: debhelper (>= 9), Build-Depends: debhelper (>= 9),
mono-devel (>= 5.14), # libmono-cil-dev (>= 5.14),
mono-xbuild (>= 5.14), # mono-devel (>= 5.14),
msbuild (>= 15.6), # mono-xbuild (>= 5.14),
libmono-cil-dev (>= 5.14), # cli-common-dev (>= 0.9),
cli-common-dev (>= 0.9), # referenceassemblies-pcl,
referenceassemblies-pcl, dotnet-sdk-2.1,
libc6-dev libc6-dev
Standards-Version: 3.9.4 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 Breaks: mediabrowser, emby, emby-server-beta, emby-server-dev
Conflicts: mediabrowser, emby, emby-server-beta, emby-server-dev Conflicts: mediabrowser, emby, emby-server-beta, emby-server-dev
Architecture: all 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. 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. 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.

27
debian/rules vendored
View File

@ -1,9 +1,12 @@
#! /usr/bin/make -f #! /usr/bin/make -f
CONFIG := Release
RUNTIME := linux-x64
TERM := xterm
SHELL := /bin/bash SHELL := /bin/bash
export DH_VERBOSE=1 export DH_VERBOSE=1
%: %:
dh $@ --with=cli dh $@
# disable "make check" # disable "make check"
override_dh_auto_test: override_dh_auto_test:
@ -12,25 +15,7 @@ override_dh_auto_test:
override_dh_clistrip: override_dh_clistrip:
override_dh_auto_build: override_dh_auto_build:
ifneq ("$(wildcard $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config)","") dotnet build --configuration $(CONFIG) --runtime $(RUNTIME) $(CURDIR)/MediaBrowser.sln
$(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%\(</configuration>\)%<dllmap dll="dl" target="libdl.so.2" os="linux"/>\n\1%' $(CURDIR)/MediaBrowser.Server.Mono/SQLitePCLRaw.provider.sqlite3.dll.config; \
else \
sed -i -e 's%<dllmap dll="dl" target="libdl.so" os="linux"/>%<dllmap dll="dl" target="libdl.so.2" os="linux"/>%' $(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
override_dh_auto_clean: override_dh_auto_clean:
msbuild $(CURDIR)/MediaBrowser.sln /p:Configuration="Release Mono" /p:Platform="Any Cpu" /t:clean dotnet clean --configuration $(CONFIG) --runtime $(RUNTIME) $(CURDIR)/MediaBrowser.sln
# 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