[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