浏览代码

Modify debian build files to support .NET core

Joshua Boniface 6 年之前
父节点
当前提交
0b64fb771f
共有 2 个文件被更改,包括 13 次插入28 次删除
  1. 7 7
      debian/control
  2. 6 21
      debian/rules

+ 7 - 7
debian/control

@@ -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),
-                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
                 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.

+ 6 - 21
debian/rules

@@ -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)","")
-	$(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
+	dotnet build --configuration $(CONFIG) --runtime $(RUNTIME) $(CURDIR)/MediaBrowser.sln
 
 
 override_dh_auto_clean:
 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