[Pkg-mono-svn-commits] rev 2890 - in mono/trunk/debian: . patches

Mirco Bauer meebey-guest at alioth.debian.org
Fri Dec 15 00:31:21 CET 2006


Author: meebey-guest
Date: 2006-12-15 00:31:20 +0100 (Fri, 15 Dec 2006)
New Revision: 2890

Added:
   mono/trunk/debian/patches/kfreebsd_support.dpatch
Modified:
   mono/trunk/debian/changelog
   mono/trunk/debian/control
   mono/trunk/debian/dh_clideps
   mono/trunk/debian/patches/00list
   mono/trunk/debian/rules
Log:
- mono 1.2.2.1-2 release



Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/changelog	2006-12-14 23:31:20 UTC (rev 2890)
@@ -1,3 +1,24 @@
+mono (1.2.2.1-2) unstable; urgency=low
+
+  * Mirco 'meebey' Bauer:
+    + debian/rules:
+      - Added --disable-mcs-build to configure call when building on arm(eb).
+        (on arm it doesn't need to build the complete base-class-libraries,
+         since it's arch-indep, in arch-indep packages, and already in the
+         archive when uploaded. This should reduce the build time from 10
+         hours to about 1 hour)
+      - Added kfreebsd checks for configure confflags.
+      - Moved building of MonoGetAssemblyName.exe from install to binary-indep,
+        else the compiler isn't available yet (if only binary-arch is build).
+    + debian/dh_clideps:
+     - Synced from cli-common (contains support for kfreebsd)
+    + debian/patches/kfreebsd_support.dpatch:
+      - Adds kfreebsd support to Mono.
+        (Closes: #394456, thanks to Petr Salinger <Petr.Salinger at seznam.cz>
+         and Aurelien Jarno <aurelien at aurel32.net> for the patch)
+
+ -- Mirco Bauer <meebey at meebey.net>  Thu, 15 Dec 2006 23:04:04 +0100
+
 mono (1.2.2.1-1) unstable; urgency=low
 
   * New upstream release

Modified: mono/trunk/debian/control
===================================================================
--- mono/trunk/debian/control	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/control	2006-12-14 23:31:20 UTC (rev 2890)
@@ -7,7 +7,7 @@
 Standards-Version: 3.7.2
 
 Package: mono-common
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: ${shlibs:Depends}, ${misc:Depends}, binfmt-support (>= 1.1.2)
 Description: common files for Mono
  Mono is a platform for running and developing applications based on the
@@ -21,7 +21,7 @@
 
 Package: mono-runtime
 Provides: cli-runtime
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: mono-jit (= ${Source-Version}), mono-gac (= ${source:Version})
 Description: Mono runtime
  Mono is a platform for running and developing applications based on the
@@ -34,7 +34,7 @@
 
 Package: mono-jit
 Provides: cli-virtual-machine
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: ${shlibs:Depends}, ${misc:Depends}, mono-common (= ${Source-Version})
 Description: fast CLI JIT/AOT compiler for Mono
  Mono is a platform for running and developing applications based on the
@@ -46,10 +46,10 @@
  This package contains the Virtual Execution Environment and the JIT
  (Just-in-Time) and AOT (Ahead-of-Time) code generator "mono".
  "mono" runs CLI applications, which is currently only available for i386,
- powerpc, amd64 and ia64 architectures.
+ powerpc, arm, amd64 and ia64 architectures.
 
 Package: mono
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: mono-common (= ${Source-Version}), mono-jit (= ${Source-Version})
 Recommends: libgdiplus, libmono-corlib1.0-cil
 Description: Mono CLI (.NET) runtime
@@ -66,7 +66,7 @@
 
 Package: mono-devel
 Section: devel
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: mono (= ${Source-Version}), mono-mcs, mono-gac, mono-utils, mono-jay
 Suggests: mono-gmcs
 Description: Mono CLI runtime with development tools
@@ -82,7 +82,7 @@
 Package: mono-utils
 Provides: cil-disassembler
 Section: devel
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Replaces: mono-mcs (<= 1.1.6-4)
 Depends: ${shlibs:Depends}, ${misc:Depends}, libmono-corlib1.0-cil
 Suggests: libmono-corlib2.0-cil
@@ -98,7 +98,7 @@
 
 Package: libmono0
 Section: libs
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Replaces: libmono-dev (<= 1.1.6-4)
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: libraries for the Mono JIT
@@ -113,7 +113,7 @@
 
 Package: libmono-dev
 Section: devel
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: libmono0 (= ${Source-Version}), libglib2.0-dev
 Description: libraries for the Mono JIT - Development files
  Header files and static libraries for libmono and libmono-profiler-conv.
@@ -915,7 +915,7 @@
 
 Package: mono-jay
 Section: devel
-Architecture: i386 powerpc amd64 ia64 arm armeb
+Architecture: i386 kfreebsd-i386 powerpc amd64 ia64 arm armeb
 Depends: ${shlibs:Depends}, ${misc:Depends}
 Description: LALR(1) parser generator oriented to Java/CLI
  Mono is a platform for running and developing applications based on the

Modified: mono/trunk/debian/dh_clideps
===================================================================
--- mono/trunk/debian/dh_clideps	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/dh_clideps	2006-12-14 23:31:20 UTC (rev 2890)
@@ -389,9 +389,11 @@
   $newpkgref =~ m/(\S+)(?:\s+(\(\S+\s+\S+\)))?/;
   my $pkgname = $1;
   my $ver = $2;
-  # hack for libc6, for ia64 and alpha the package name is libc6.1
-  if ($pkgname =~ m/^libc6/) {
-    $newpkgref = "libc6 $ver | libc6.1 $ver";
+  # hack for libc6,
+  # for ia64 and alpha the package name is libc6.1,
+  # for kfreebsd-i386 and kfreebsd-amd64 it is libc0.1
+  if ($pkgname =~ m/^libc[06]/) {
+    $newpkgref = "libc6 $ver | libc6.1 $ver | libc0.1 $ver";
   }
  
   my %overridedata;

Modified: mono/trunk/debian/patches/00list
===================================================================
--- mono/trunk/debian/patches/00list	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/patches/00list	2006-12-14 23:31:20 UTC (rev 2890)
@@ -1,2 +1,3 @@
 remove_broken_dllmap_from_mono-shlib-cop.dpatch
 console-no-utf8-bom.dpatch
+kfreebsd_support.dpatch

Added: mono/trunk/debian/patches/kfreebsd_support.dpatch
===================================================================
--- mono/trunk/debian/patches/kfreebsd_support.dpatch	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/patches/kfreebsd_support.dpatch	2006-12-14 23:31:20 UTC (rev 2890)
@@ -0,0 +1,257 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## 
+##
+## All lines beginning with ## DP:' are a description of the patch.
+## DP: kfreebsd support - mainly backport of gc 6.8
+
+ at DPATCH@
+
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/configure.in
++++ mono-1.1.18/configure.in
+@@ -88,6 +88,16 @@
+ 		libdl=
+ 		libgc_threads=no
+ 		;;
++	*-*-kfreebsd*-gnu)
++		platform_win32=no
++		CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DTHREAD_LOCAL_ALLOC -pthread"
++		libmono_cflags="-D_REENTRANT -DTHREAD_LOCAL_ALLOC -pthread"
++		libmono_ldflags="-lpthread -pthread"
++		libdl="-ldl"
++		libgc_threads=pthreads
++		need_link_unlink=yes
++		with_sigaltstack=no
++		;;
+ # these flags will work for all versions of -STABLE
+ #
+ 	*-*-*freebsd4*)
+@@ -1663,6 +1673,11 @@
+ 	LIBC="libc.so.12"
+ 	INTL="libintl.so.0"
+ 	;;
++     *-*-kfreebsd*-gnu)
++	LIBC="libc.so.0.1"
++	INTL="libc.so.0.1"
++	X11="libX11.so.6"
++	;;
+     *-*-*freebsd*)
+     	LIBC="libc.so"
+ 	INTL="libintl.so"
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/libgc/configure.in
++++ mono-1.1.18/libgc/configure.in
+@@ -103,6 +103,17 @@
+ 	AC_DEFINE(THREAD_LOCAL_ALLOC)
+ 	THREADDLLIBS="-lpthread -lrt"
+ 	;;
++      *-*-kfreebsd*-gnu)
++        AC_DEFINE(GC_FREEBSD_THREADS)
++        INCLUDES="$INCLUDES -pthread"
++        THREADDLLIBS=-pthread
++        AC_DEFINE(_REENTRANT)
++        if test "${enable_parallel_mark}" = yes; then
++          AC_DEFINE(PARALLEL_MARK)
++        fi
++        AC_DEFINE(THREAD_LOCAL_ALLOC)
++        AC_DEFINE(USE_COMPILER_TLS)
++        ;;
+      *-*-freebsd4*)
+ 	AC_MSG_WARN("FreeBSD does not yet fully support threads with Boehm GC.")
+ 	AC_DEFINE(GC_FREEBSD_THREADS)
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/libgc/dyn_load.c
++++ mono-1.1.18/libgc/dyn_load.c
+@@ -26,7 +26,7 @@
+  * None of this is safe with dlclose and incremental collection.
+  * But then not much of anything is safe in the presence of dlclose.
+  */
+-#if defined(__linux__) && !defined(_GNU_SOURCE)
++#if (defined(__linux__) || defined(__GLIBC__)) && !defined(_GNU_SOURCE)
+     /* Can't test LINUX, since this must be define before other includes */
+ #   define _GNU_SOURCE
+ #endif
+@@ -386,7 +386,7 @@
+ /* For glibc 2.2.4+.  Unfortunately, it doesn't work for older	*/
+ /* versions.  Thanks to Jakub Jelinek for most of the code.	*/
+ 
+-# if defined(LINUX) /* Are others OK here, too? */ \
++# if (defined(LINUX) || defined (__GLIBC__)) /* Are others OK here, too? */ \
+      && (__GLIBC__ > 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ > 2) \
+          || (__GLIBC__ == 2 && __GLIBC_MINOR__ == 2 && defined(DT_CONFIG))) 
+ 
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/libgc/include/gc.h
++++ mono-1.1.18/libgc/include/gc.h
+@@ -484,7 +484,7 @@
+ #   define GC_RETURN_ADDR (GC_word)__return_address
+ #endif
+ 
+-#ifdef __linux__
++#if defined(__linux__) || defined(__GLIBC__)
+ # include <features.h>
+ # if (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 1 || __GLIBC__ > 2) \
+      && !defined(__ia64__)
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/libgc/include/private/gcconfig.h
++++ mono-1.1.18/libgc/include/private/gcconfig.h
+@@ -55,7 +55,7 @@
+ # endif
+ 
+ /* And one for FreeBSD: */
+-# if defined(__FreeBSD__) && !defined(FREEBSD)
++# if (defined(__FreeBSD__) || defined(__FreeBSD_kernel__)) && !defined(FREEBSD)
+ #    define FREEBSD
+ # endif
+ 
+@@ -1275,8 +1275,15 @@
+ #	ifndef GC_FREEBSD_THREADS
+ #	    define MPROTECT_VDB
+ #	endif
+-#      define SIG_SUSPEND SIGTSTP
+-#      define SIG_THR_RESTART SIGCONT
++#       ifdef __GLIBC__
++#           define SIG_SUSPEND          (32+6)
++#           define SIG_THR_RESTART      (32+5)
++            extern int _end[];
++#           define DATAEND (_end)
++#       else
++#           define SIG_SUSPEND SIGTSTP
++#           define SIG_THR_RESTART SIGCONT
++#       endif
+ #	define FREEBSD_STACKBOTTOM
+ #	ifdef __ELF__
+ #	    define DYNAMIC_LOADING
+@@ -1989,6 +1996,28 @@
+ #	    define PREFETCH_FOR_WRITE(x) __builtin_prefetch((x), 1)
+ #	endif
+ #   endif
++#   ifdef FREEBSD
++#	define OS_TYPE "FREEBSD"
++#	ifndef GC_FREEBSD_THREADS
++#	    define MPROTECT_VDB
++#	endif
++#	ifdef __GLIBC__
++#	    define SIG_SUSPEND		(32+6)
++#	    define SIG_THR_RESTART	(32+5)
++	    extern int _end[];
++#	    define DATAEND (_end)
++#	else
++#	    define SIG_SUSPEND SIGUSR1
++#	    define SIG_THR_RESTART SIGUSR2
++#	endif
++#	define FREEBSD_STACKBOTTOM
++#	ifdef __ELF__
++#	    define DYNAMIC_LOADING
++#	endif
++	extern char etext[];
++	extern char * GC_FreeBSDGetDataStart();
++#	define DATASTART GC_FreeBSDGetDataStart(0x1000, &etext)
++#   endif
+ #   ifdef NETBSD
+ #	define OS_TYPE "NETBSD"
+ #	ifdef __ELF__
+@@ -2060,7 +2089,7 @@
+ #   define SUNOS5SIGS
+ # endif
+ 
+-# if defined(FREEBSD) && (__FreeBSD__ >= 4)
++# if defined(FREEBSD) && ((__FreeBSD__ >= 4) || (__FreeBSD_kernel__ >= 4))
+ #   define SUNOS5SIGS
+ # endif
+ 
+@@ -2123,7 +2152,7 @@
+ #   define CACHE_LINE_SIZE 32	/* Wild guess	*/
+ # endif
+ 
+-# ifdef LINUX
++# if defined(LINUX) || defined(__GLIBC__)
+ #   define REGISTER_LIBRARIES_EARLY
+     /* We sometimes use dl_iterate_phdr, which may acquire an internal	*/
+     /* lock.  This isn't safe after the world has stopped.  So we must	*/
+@@ -2204,7 +2233,7 @@
+ #if defined(SPARC)
+ # define CAN_SAVE_CALL_ARGS
+ #endif
+-#if (defined(I386) || defined(X86_64)) && defined(LINUX)
++#if (defined(I386) || defined(X86_64)) && (defined(LINUX) || defined(__GLIBC__))
+ 	    /* SAVE_CALL_CHAIN is supported if the code is compiled to save	*/
+ 	    /* frame pointers by default, i.e. no -fomit-frame-pointer flag.	*/
+ # define CAN_SAVE_CALL_ARGS
+
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/libgc/configure
++++ mono-1.1.18/libgc/configure
+@@ -3974,6 +4636,32 @@
+ 
+ 	THREADDLLIBS="-lpthread -lrt"
+ 	;;
++      *-*-kfreebsd*-gnu)
++        cat >>confdefs.h <<\_ACEOF
++#define GC_FREEBSD_THREADS 1
++_ACEOF
++
++        INCLUDES="$INCLUDES -pthread"
++        THREADDLLIBS=-pthread
++        cat >>confdefs.h <<\_ACEOF
++#define _REENTRANT 1
++_ACEOF
++
++        if test "${enable_parallel_mark}" = yes; then
++          cat >>confdefs.h <<\_ACEOF
++#define PARALLEL_MARK 1
++_ACEOF
++
++        fi
++        cat >>confdefs.h <<\_ACEOF
++#define THREAD_LOCAL_ALLOC 1
++_ACEOF
++
++        cat >>confdefs.h <<\_ACEOF
++#define USE_COMPILER_TLS 1
++_ACEOF
++
++        ;;
+      *-*-freebsd4*)
+ 	{ echo "$as_me:$LINENO: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&5
+ echo "$as_me: WARNING: \"FreeBSD does not yet fully support threads with Boehm GC.\"" >&2;}
+
+only in patch2:
+unchanged:
+--- mono-1.1.18.orig/configure
++++ mono-1.1.18/configure
+@@ -2245,6 +2828,16 @@
+ 		libdl=
+ 		libgc_threads=no
+ 		;;
++	*-*-kfreebsd*-gnu)
++		platform_win32=no
++		CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DTHREAD_LOCAL_ALLOC -pthread"
++		libmono_cflags="-D_REENTRANT -DTHREAD_LOCAL_ALLOC -pthread"
++		libmono_ldflags="-lpthread -pthread"
++		libdl="-ldl"
++		libgc_threads=pthreads
++		need_link_unlink=yes
++		with_sigaltstack=no
++		;;
+ # these flags will work for all versions of -STABLE
+ #
+ 	*-*-*freebsd4*)
+@@ -35603,6 +38772,11 @@
+ 	LIBC="libc.so.12"
+ 	INTL="libintl.so.0"
+ 	;;
++     *-*-kfreebsd*-gnu)
++	LIBC="libc.so.0.1"
++	INTL="libc.so.0.1"
++	X11="libX11.so.6"
++	;;
+     *-*-*freebsd*)
+     	LIBC="libc.so"
+ 	INTL="libintl.so"


Property changes on: mono/trunk/debian/patches/kfreebsd_support.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Modified: mono/trunk/debian/rules
===================================================================
--- mono/trunk/debian/rules	2006-12-11 22:20:05 UTC (rev 2889)
+++ mono/trunk/debian/rules	2006-12-14 23:31:20 UTC (rev 2890)
@@ -22,14 +22,20 @@
 	confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
 endif
 
-ifeq ($(DEB_BUILD_ARCH), amd64)
+ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd)
 	confflags += --with-tls=__thread
+        confflags += --enable-minimal=aot
+else ifeq ($(DEB_BUILD_ARCH), amd64)
+	confflags += --with-tls=__thread
 else
 	confflags += --with-tls=pthread
 endif
 
-ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd)
-	confflags += --enable-minimal=aot
+#ifeq ($(DEB_BUILD_ARCH), arm)
+ifeq ($(DEB_BUILD_ARCH), i386)
+	confflags += --disable-mcs-build
+else ifeq ($(DEB_BUILD_ARCH), armeb)
+	confflags += --disable-mcs-build
 endif
 
 ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
@@ -52,6 +58,7 @@
 	  --with-jit=yes --with-ikvm-native=no --with-preview=yes \
 	  --with-libgdiplus=installed --with-x=yes
 	LC_ALL=C $(MAKE) EXTERNAL_MCS=false EXTERNAL_MONO=false
+	cd mcs/jay && $(MAKE)
 	chmod +x debian/dh_makeclilibs debian/dh_clideps
 	touch build-stamp
 
@@ -75,10 +82,7 @@
 	dh_clean -k
 	dh_installdirs
 	$(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
-	# Build the late-GAC tool
-	$(RUN_MONO) mcs/class/lib/default/mcs.exe /t:exe \
-	  /out:debian/MonoGetAssemblyName.exe \
-	  debian/MonoGetAssemblyName.cs
+	cd mcs/jay && $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
 	# we do not want nunit, it's a forked version
 	rm -f debian/tmp/usr/lib/pkgconfig/mono-nunit.pc
 	rm -f debian/tmp/usr/lib/mono/1.0/nunit*
@@ -98,8 +102,8 @@
 	install -o root -g root -m 644 debian/cli.binfmt \
 	  debian/mono-common/usr/share/binfmts/cli
 	# CLI Policy
-	cd debian && find -type f -name "*.dll" -or -name "*.mdb" -or -name "*.cs" | xargs chmod -x
-	cd debian && find -type f -name "*.exe" | xargs chmod +x
+	cd debian && find -type f -name "*.dll" -or -name "*.mdb" -or -name "*.cs" | xargs -r chmod -x
+	cd debian && find -type f -name "*.exe" | xargs -r chmod +x
 	# Late GAC
 	install -D -m 755 debian/mono.runtime-script debian/tmp/usr/share/cli-common/runtimes.d/mono
 	touch install-stamp
@@ -107,6 +111,10 @@
 binary-indep: build install
 	dh_testdir -i
 	dh_testroot -i
+	# Build the late-GAC tool
+	$(RUN_MONO) mcs/class/lib/default/mcs.exe /t:exe \
+	  /out:debian/MonoGetAssemblyName.exe \
+	  debian/MonoGetAssemblyName.cs
 	# that exclude list are programs for arch-dep packages
 	dh_install -i -Xbin/monodiet -Xbin/monodis -Xbin/monograph -Xbin/mono-find-provides -Xbin/mono-find-requires -Xbin/pedump -Xbin/jay
 	# delete bin/mono from mono-mcs, no way to exclude it with dh_install,




More information about the Pkg-mono-svn-commits mailing list