--- mono-1.1.13.2.orig/debian/patches/03_hppa_buildfix.dpatch +++ mono-1.1.13.2/debian/patches/03_hppa_buildfix.dpatch @@ -0,0 +1,923 @@ +#! /bin/sh -e +## 03_hppa_buildfix.dpatch by Eduard Bloch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/hppa_atomic.S mono-0.31/mono/io-layer/hppa_atomic.S +--- /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/hppa_atomic.S 1970-01-01 01:00:00.000000000 +0100 ++++ mono-0.31/mono/io-layer/hppa_atomic.S 2004-04-07 00:58:13.000000000 +0200 +@@ -0,0 +1,263 @@ ++/* ++ Copyright (c) 2003 Bernie Solomon ++ ++ Permission is hereby granted, free of charge, to any person obtaining ++ a copy of this software and associated documentation files (the ++ "Software"), to deal in the Software without restriction, including ++ without limitation the rights to use, copy, modify, merge, publish, ++ distribute, sublicense, and/or sell copies of the Software, and to ++ permit persons to whom the Software is furnished to do so, subject to ++ the following conditions: ++ ++ The above copyright notice and this permission notice shall be ++ included in all copies or substantial portions of the Software. ++ ++ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE ++ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION ++ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION ++ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ ++ ++ ++ Implementation of "atomic" operations for HPPA. Currently (Oct 9th 2003) ++ only implemented for 64 bit compiles. There is only one atomic ++ instruction LDCW which is used to implement spinlocks. There are ++ 16 locks which are selected by taking 4 bits out of the address of ++ the relevant variable to try to avoid too much contention ++ for a single lock. ++*/ ++#include "config.h" ++ ++#ifdef __LP64__ ++#if SIZEOF_VOID_P != 8 ++#error "__LP64__ state and SIZEOF_VOID_P don't match!!" ++#endif ++#define EXPORT_ARGS ,NO_RELOCATION,LONG_RETURN ++#define CALLINFO_ARGS ,ARGS_SAVED,ORDERING_AWARE ++#define RETURN bve,n (%rp) ++#define LDPTR ldd ++#define STPTR std ++#else ++#if SIZEOF_VOID_P != 4 ++#error "__LP64__ state and SIZEOF_VOID_P don't match!!" ++#endif ++#define CALLINFO_ARGS ++#define EXPORT_ARGS ++#define RETURN bv,n (%rp) ++#define LDPTR ldw ++#define STPTR stw ++#endif ++ .code ++ ++ .label InterlockedIncrement ++ .EXPORT InterlockedIncrement,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$1 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$1 ++ NOP ++ .label spin$1 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$1 ++ NOP ++ B,N atomictest$1 ++ .label gotlock$1 ++ LDW 0(%arg0),%ret0 ++ LDI 1,%r29 ++ LDO 1(%ret0),%ret0 ++ STW %ret0,0(%arg0) ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ .label InterlockedDecrement ++ .EXPORT InterlockedDecrement,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$2 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$2 ++ NOP ++ .label spin$2 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$2 ++ NOP ++ B,N atomictest$2 ++ .label gotlock$2 ++ LDW 0(%arg0),%ret0 ++ LDI 1,%r29 ++ LDO -1(%ret0),%ret0 ++ STW %ret0,0(%arg0) ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ .label InterlockedExchange ++ .EXPORT InterlockedExchange,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$3 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$3 ++ NOP ++ .label spin$3 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$3 ++ NOP ++ B,N atomictest$3 ++ .label gotlock$3 ++ LDW 0(%arg0),%ret0 ++ STW %arg1,0(%arg0) ++ LDI 1,%r29 ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ .label InterlockedExchangePointer ++ .EXPORT InterlockedExchangePointer,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$4 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$4 ++ NOP ++ .label spin$4 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$4 ++ NOP ++ B,N atomictest$4 ++ .label gotlock$4 ++ LDPTR 0(%arg0),%ret0 ++ STPTR %arg1,0(%arg0) ++ LDI 1,%r29 ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ .label InterlockedCompareExchange ++ .EXPORT InterlockedCompareExchange,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$5 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$5 ++ NOP ++ .label spin$5 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$5 ++ NOP ++ B,N atomictest$5 ++ .label gotlock$5 ++ LDW 0(%arg0),%ret0 ++ sub,<> %ret0,%r24,%r0 ++ STW %arg1,0(%arg0) /* not done if %ret0 <> %r24 */ ++ LDI 1,%r29 ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ .label InterlockedCompareExchangePointer ++ .EXPORT InterlockedCompareExchangePointer,ENTRY,PRIV_LEV=3 EXPORT_ARGS ++ .PROC ++ .CALLINFO FRAME=0 CALLINFO_ARGS ++ .ENTRY ++ ADDIL L%locks-$global$,%dp ++ LDO R%locks-$global$(%r1),%r31 ++ EXTRU %arg0,28,4,%r28 ++ ZDEP %r28,27,28,%r29 ++ ADD,L %r29,%r31,%r31 ++ .label atomictest$6 ++ LDCW 0(%r31),%r29 ++ CMPB,<> %r0,%r29,gotlock$6 ++ NOP ++ .label spin$6 ++ LDW 0(%r31),%r29 ++ CMPB,= %r29,%r0,spin$6 ++ NOP ++ B,N atomictest$6 ++ .label gotlock$6 ++ LDPTR 0(%arg0),%ret0 ++ sub,<> %ret0,%r24,%r0 ++ STPTR %arg1,0(%arg0) ++ LDI 1,%r29 ++ STW %r29,0(%r31) ++ .EXIT ++ RETURN ++ .PROCEND ++ ++ ++ .data ++ .label locks ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .ALIGN 16 ++ .STRING "\x00\x00\x00\x01" ++ .IMPORT $global$,DATA ++ .END +diff -urNad /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.am mono-0.31/mono/io-layer/Makefile.am +--- /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.am 2004-04-07 00:57:51.000000000 +0200 ++++ mono-0.31/mono/io-layer/Makefile.am 2004-04-07 00:58:13.000000000 +0200 +@@ -107,7 +107,7 @@ + io-layer-dummy.c + + HPPA_SRC = \ +- hppa_atomic.s ++ hppa_atomic.S + + if PLATFORM_WIN32 + libwapi_la_SOURCES = $(WINDOWS_SRC) +diff -urNad /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.in mono-0.31/mono/io-layer/Makefile.in +--- /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.in 2004-04-07 00:57:51.000000000 +0200 ++++ mono-0.31/mono/io-layer/Makefile.in 2004-04-07 00:58:13.000000000 +0200 +@@ -232,7 +232,7 @@ + + + HPPA_SRC = \ +- hppa_atomic.s ++ hppa_atomic.S + + + @HPPA_FALSE@@PLATFORM_WIN32_FALSE@libwapi_la_SOURCES = $(OTHER_SRC) +@@ -324,7 +324,7 @@ + echo "rm -f \"$${dir}/so_locations\""; \ + rm -f "$${dir}/so_locations"; \ + done +-libwapi_la-hppa_atomic.lo: hppa_atomic.s ++libwapi_la-hppa_atomic.lo: hppa_atomic.S + libwapi.la: $(libwapi_la_OBJECTS) $(libwapi_la_DEPENDENCIES) + $(LINK) $(libwapi_la_LDFLAGS) $(libwapi_la_OBJECTS) $(libwapi_la_LIBADD) $(LIBS) + +@@ -388,14 +388,14 @@ + .s.lo: + $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< + +-libwapi_la-hppa_atomic.o: hppa_atomic.s +- $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.o `test -f 'hppa_atomic.s' || echo '$(srcdir)/'`hppa_atomic.s ++libwapi_la-hppa_atomic.o: hppa_atomic.S ++ $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.o `test -f 'hppa_atomic.S' || echo '$(srcdir)/'`hppa_atomic.S + +-libwapi_la-hppa_atomic.obj: hppa_atomic.s +- $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.obj `cygpath -w hppa_atomic.s` ++libwapi_la-hppa_atomic.obj: hppa_atomic.S ++ $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.obj `cygpath -w hppa_atomic.S` + +-libwapi_la-hppa_atomic.lo: hppa_atomic.s +- $(LIBTOOL) --mode=compile $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.lo `test -f 'hppa_atomic.s' || echo '$(srcdir)/'`hppa_atomic.s ++libwapi_la-hppa_atomic.lo: hppa_atomic.S ++ $(LIBTOOL) --mode=compile $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.lo `test -f 'hppa_atomic.S' || echo '$(srcdir)/'`hppa_atomic.S + + mostlyclean-libtool: + -rm -f *.lo +diff -urNad /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.in.orig mono-0.31/mono/io-layer/Makefile.in.orig +--- /home/inet/debian/dev/build-area/mono-0.31/mono/io-layer/Makefile.in.orig 1970-01-01 01:00:00.000000000 +0100 ++++ mono-0.31/mono/io-layer/Makefile.in.orig 2004-04-07 00:57:51.000000000 +0200 +@@ -0,0 +1,573 @@ ++# Makefile.in generated by automake 1.6.3 from Makefile.am. ++# @configure_input@ ++ ++# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002 ++# Free Software Foundation, Inc. ++# This Makefile.in is free software; the Free Software Foundation ++# gives unlimited permission to copy and/or distribute it, ++# with or without modifications, as long as this notice is preserved. ++ ++# This program is distributed in the hope that it will be useful, ++# but WITHOUT ANY WARRANTY, to the extent permitted by law; without ++# even the implied warranty of MERCHANTABILITY or FITNESS FOR A ++# PARTICULAR PURPOSE. ++ ++@SET_MAKE@ ++SHELL = @SHELL@ ++ ++srcdir = @srcdir@ ++top_srcdir = @top_srcdir@ ++VPATH = @srcdir@ ++prefix = @prefix@ ++exec_prefix = @exec_prefix@ ++ ++bindir = @bindir@ ++sbindir = @sbindir@ ++libexecdir = @libexecdir@ ++datadir = @datadir@ ++sysconfdir = @sysconfdir@ ++sharedstatedir = @sharedstatedir@ ++localstatedir = @localstatedir@ ++libdir = @libdir@ ++infodir = @infodir@ ++mandir = @mandir@ ++includedir = @includedir@ ++oldincludedir = /usr/include ++pkgdatadir = $(datadir)/@PACKAGE@ ++pkglibdir = $(libdir)/@PACKAGE@ ++pkgincludedir = $(includedir)/@PACKAGE@ ++top_builddir = ../.. ++ ++ACLOCAL = @ACLOCAL@ ++AUTOCONF = @AUTOCONF@ ++AUTOMAKE = @AUTOMAKE@ ++AUTOHEADER = @AUTOHEADER@ ++ ++am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd ++INSTALL = @INSTALL@ ++INSTALL_PROGRAM = @INSTALL_PROGRAM@ ++INSTALL_DATA = @INSTALL_DATA@ ++install_sh_DATA = $(install_sh) -c -m 644 ++install_sh_PROGRAM = $(install_sh) -c ++install_sh_SCRIPT = $(install_sh) -c ++INSTALL_SCRIPT = @INSTALL_SCRIPT@ ++INSTALL_HEADER = $(INSTALL_DATA) ++transform = @program_transform_name@ ++NORMAL_INSTALL = : ++PRE_INSTALL = : ++POST_INSTALL = : ++NORMAL_UNINSTALL = : ++PRE_UNINSTALL = : ++POST_UNINSTALL = : ++build_alias = @build_alias@ ++build_triplet = @build@ ++host_alias = @host_alias@ ++host_triplet = @host@ ++target_alias = @target_alias@ ++target_triplet = @target@ ++ ++EXEEXT = @EXEEXT@ ++OBJEXT = @OBJEXT@ ++PATH_SEPARATOR = @PATH_SEPARATOR@ ++AMTAR = @AMTAR@ ++AS = @AS@ ++AWK = @AWK@ ++BISON = @BISON@ ++BUILD_EXEEXT = @BUILD_EXEEXT@ ++BUILD_GLIB_CFLAGS = @BUILD_GLIB_CFLAGS@ ++BUILD_GLIB_LIBS = @BUILD_GLIB_LIBS@ ++BUNDLE_FILE = @BUNDLE_FILE@ ++CC = @CC@ ++CCAS = @CCAS@ ++CCASFLAGS = @CCASFLAGS@ ++CC_FOR_BUILD = @CC_FOR_BUILD@ ++CFLAGS = @CFLAGS@ ++CPPFLAGS = @CPPFLAGS@ ++DEPDIR = @DEPDIR@ ++DISABLE_SHARED_HANDLES = @DISABLE_SHARED_HANDLES@ ++DLLTOOL = @DLLTOOL@ ++ECHO = @ECHO@ ++GLIB_CFLAGS = @GLIB_CFLAGS@ ++GLIB_LIBS = @GLIB_LIBS@ ++GMODULE_CFLAGS = @GMODULE_CFLAGS@ ++GMODULE_LIBS = @GMODULE_LIBS@ ++HAVE_BOEHM_GC = @HAVE_BOEHM_GC@ ++HOST_CC = @HOST_CC@ ++ICU_CFLAGS = @ICU_CFLAGS@ ++ICU_CONFIG = @ICU_CONFIG@ ++ICU_LIBS = @ICU_LIBS@ ++INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@ ++LDFLAGS = @LDFLAGS@ ++LIBC = @LIBC@ ++LIBGC_CFLAGS = @LIBGC_CFLAGS@ ++LIBGC_LIBS = @LIBGC_LIBS@ ++LIBTOOL = @LIBTOOL@ ++LN_S = @LN_S@ ++MAINT = @MAINT@ ++OBJDUMP = @OBJDUMP@ ++PACKAGE = @PACKAGE@ ++PKG_CONFIG = @PKG_CONFIG@ ++RANLIB = @RANLIB@ ++STRIP = @STRIP@ ++VERSION = @VERSION@ ++am__include = @am__include@ ++am__quote = @am__quote@ ++arch_target = @arch_target@ ++install_sh = @install_sh@ ++libgc_dir = @libgc_dir@ ++libmono_cflags = @libmono_cflags@ ++libmono_ldflags = @libmono_ldflags@ ++libsuffix = @libsuffix@ ++noinst_LTLIBRARIES = libwapi.la ++ ++INCLUDES = \ ++ $(GLIB_CFLAGS) \ ++ $(GMODULE_CFLAGS) \ ++ $(LIBGC_CFLAGS) \ ++ -DMONO_BINDIR=\""$(bindir)"\" \ ++ -I$(top_srcdir) ++ ++ ++libwapiincludedir = $(includedir)/mono/io-layer ++ ++OTHER_H = \ ++ access.h \ ++ atomic.h \ ++ context.h \ ++ critical-sections.h \ ++ error.h \ ++ events.h \ ++ handles.h \ ++ io.h \ ++ io-layer.h \ ++ macros.h \ ++ mono-mutex.h \ ++ mutexes.h \ ++ processes.h \ ++ semaphores.h \ ++ sockets.h \ ++ status.h \ ++ system.h \ ++ threads.h \ ++ timefuncs.h \ ++ types.h \ ++ uglify.h \ ++ versioninfo.h \ ++ wait.h \ ++ wapi.h ++ ++ ++OTHER_SRC = \ ++ access.h \ ++ atomic.c \ ++ atomic.h \ ++ context.c \ ++ context.h \ ++ critical-sections.c \ ++ critical-sections.h \ ++ daemon.c \ ++ daemon-private.h \ ++ daemon-messages.c \ ++ daemon-messages.h \ ++ error.c \ ++ error.h \ ++ events.c \ ++ events.h \ ++ event-private.h \ ++ handles.c \ ++ handles.h \ ++ handles-private.h \ ++ io.c \ ++ io.h \ ++ io-private.h \ ++ io-layer.h \ ++ macros.h \ ++ misc.c \ ++ misc-private.h \ ++ mutexes.c \ ++ mutexes.h \ ++ mutex-private.h \ ++ mono-mutex.c \ ++ mono-mutex.h \ ++ mono-spinlock.h \ ++ processes.c \ ++ processes.h \ ++ process-private.h \ ++ semaphores.c \ ++ semaphores.h \ ++ semaphore-private.h \ ++ shared.c \ ++ shared.h \ ++ sockets.c \ ++ sockets.h \ ++ socket-private.h \ ++ socket-wrappers.h \ ++ status.h \ ++ system.c \ ++ system.h \ ++ threads.c \ ++ threads.h \ ++ thread-private.h \ ++ timefuncs.c \ ++ timefuncs.h \ ++ timefuncs-private.h \ ++ timed-thread.c \ ++ timed-thread.h \ ++ types.h \ ++ uglify.h \ ++ versioninfo.h \ ++ wait.c \ ++ wait.h \ ++ wapi.h \ ++ wapi-private.h ++ ++ ++WINDOWS_H = \ ++ io-layer.h ++ ++ ++WINDOWS_SRC = \ ++ io-layer.h \ ++ io-layer-dummy.c ++ ++ ++HPPA_SRC = \ ++ hppa_atomic.s ++ ++ ++@HPPA_FALSE@@PLATFORM_WIN32_FALSE@libwapi_la_SOURCES = $(OTHER_SRC) ++@HPPA_TRUE@@PLATFORM_WIN32_FALSE@libwapi_la_SOURCES = $(OTHER_SRC) $(HPPA_SRC) ++@PLATFORM_WIN32_TRUE@libwapi_la_SOURCES = $(WINDOWS_SRC) ++@PLATFORM_WIN32_TRUE@libwapiinclude_HEADERS = $(WINDOWS_H) ++@PLATFORM_WIN32_FALSE@libwapiinclude_HEADERS = $(OTHER_H) ++# to enable pick up of config.h ++@HPPA_TRUE@@PLATFORM_WIN32_FALSE@libwapi_la_CCASFLAGS = -I$(top_builddir) ++ ++EXTRA_DIST = \ ++ $(WINDOWS_SRC) \ ++ $(HPPA_SRC) \ ++ $(OTHER_SRC) ++ ++subdir = mono/io-layer ++mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs ++CONFIG_HEADER = $(top_builddir)/config.h ++CONFIG_CLEAN_FILES = ++LTLIBRARIES = $(noinst_LTLIBRARIES) ++ ++libwapi_la_LDFLAGS = ++libwapi_la_LIBADD = ++am__objects_1 = atomic.lo context.lo critical-sections.lo daemon.lo \ ++ daemon-messages.lo error.lo events.lo handles.lo io.lo misc.lo \ ++ mutexes.lo mono-mutex.lo processes.lo semaphores.lo shared.lo \ ++ sockets.lo system.lo threads.lo timefuncs.lo timed-thread.lo \ ++ wait.lo ++am__objects_2 = libwapi_la-hppa_atomic.lo ++am__objects_3 = io-layer-dummy.lo ++@HPPA_FALSE@@PLATFORM_WIN32_FALSE@am_libwapi_la_OBJECTS = \ ++@HPPA_FALSE@@PLATFORM_WIN32_FALSE@ $(am__objects_1) ++@HPPA_TRUE@@PLATFORM_WIN32_FALSE@am_libwapi_la_OBJECTS = \ ++@HPPA_TRUE@@PLATFORM_WIN32_FALSE@ $(am__objects_1) \ ++@HPPA_TRUE@@PLATFORM_WIN32_FALSE@ $(am__objects_2) ++@PLATFORM_WIN32_TRUE@am_libwapi_la_OBJECTS = $(am__objects_3) ++libwapi_la_OBJECTS = $(am_libwapi_la_OBJECTS) ++ ++DEFS = @DEFS@ ++DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir) ++LIBS = @LIBS@ ++depcomp = $(SHELL) $(top_srcdir)/depcomp ++am__depfiles_maybe = depfiles ++@AMDEP_TRUE@DEP_FILES = ./$(DEPDIR)/atomic.Plo ./$(DEPDIR)/context.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/critical-sections.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/daemon-messages.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/daemon.Plo ./$(DEPDIR)/error.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/events.Plo ./$(DEPDIR)/handles.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/io-layer-dummy.Plo ./$(DEPDIR)/io.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/misc.Plo ./$(DEPDIR)/mono-mutex.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/mutexes.Plo ./$(DEPDIR)/processes.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/semaphores.Plo ./$(DEPDIR)/shared.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/sockets.Plo ./$(DEPDIR)/system.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/threads.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/timed-thread.Plo \ ++@AMDEP_TRUE@ ./$(DEPDIR)/timefuncs.Plo ./$(DEPDIR)/wait.Plo ++COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \ ++ $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++LTCOMPILE = $(LIBTOOL) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) \ ++ $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS) ++CCLD = $(CC) ++LINK = $(LIBTOOL) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \ ++ $(AM_LDFLAGS) $(LDFLAGS) -o $@ ++CCASCOMPILE = $(CCAS) $(AM_CCASFLAGS) $(CCASFLAGS) ++LTCCASCOMPILE = $(LIBTOOL) --mode=compile $(CCAS) $(AM_CCASFLAGS) \ ++ $(CCASFLAGS) ++DIST_SOURCES = $(libwapi_la_SOURCES) ++HEADERS = $(libwapiinclude_HEADERS) ++ ++DIST_COMMON = $(libwapiinclude_HEADERS) ChangeLog Makefile.am \ ++ Makefile.in ++SOURCES = $(libwapi_la_SOURCES) ++ ++all: all-am ++ ++.SUFFIXES: ++.SUFFIXES: .c .lo .o .obj .s ++$(srcdir)/Makefile.in: @MAINTAINER_MODE_TRUE@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) ++ cd $(top_srcdir) && \ ++ $(AUTOMAKE) --gnu mono/io-layer/Makefile ++Makefile: @MAINTAINER_MODE_TRUE@ $(srcdir)/Makefile.in $(top_builddir)/config.status ++ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe) ++ ++clean-noinstLTLIBRARIES: ++ -test -z "$(noinst_LTLIBRARIES)" || rm -f $(noinst_LTLIBRARIES) ++ @list='$(noinst_LTLIBRARIES)'; for p in $$list; do \ ++ dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \ ++ test -z "$dir" && dir=.; \ ++ echo "rm -f \"$${dir}/so_locations\""; \ ++ rm -f "$${dir}/so_locations"; \ ++ done ++libwapi_la-hppa_atomic.lo: hppa_atomic.s ++libwapi.la: $(libwapi_la_OBJECTS) $(libwapi_la_DEPENDENCIES) ++ $(LINK) $(libwapi_la_LDFLAGS) $(libwapi_la_OBJECTS) $(libwapi_la_LIBADD) $(LIBS) ++ ++mostlyclean-compile: ++ -rm -f *.$(OBJEXT) core *.core ++ ++distclean-compile: ++ -rm -f *.tab.c ++ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/atomic.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/critical-sections.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/daemon-messages.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/daemon.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/error.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/events.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/handles.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io-layer-dummy.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/io.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/misc.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mono-mutex.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/mutexes.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/processes.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/semaphores.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/shared.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/sockets.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/system.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/threads.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timed-thread.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/timefuncs.Plo@am__quote@ ++@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/wait.Plo@am__quote@ ++ ++distclean-depend: ++ -rm -rf ./$(DEPDIR) ++ ++.c.o: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.c.obj: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Po' tmpdepfile='$(DEPDIR)/$*.TPo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(COMPILE) -c `cygpath -w $<` ++ ++.c.lo: ++@AMDEP_TRUE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ depfile='$(DEPDIR)/$*.Plo' tmpdepfile='$(DEPDIR)/$*.TPlo' @AMDEPBACKSLASH@ ++@AMDEP_TRUE@ $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ ++ $(LTCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< ++CCDEPMODE = @CCDEPMODE@ ++ ++.s.o: ++ $(CCASCOMPILE) -c `test -f '$<' || echo '$(srcdir)/'`$< ++ ++.s.obj: ++ $(CCASCOMPILE) -c `cygpath -w $<` ++ ++.s.lo: ++ $(LTCCASCOMPILE) -c -o $@ `test -f '$<' || echo '$(srcdir)/'`$< ++ ++libwapi_la-hppa_atomic.o: hppa_atomic.s ++ $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.o `test -f 'hppa_atomic.s' || echo '$(srcdir)/'`hppa_atomic.s ++ ++libwapi_la-hppa_atomic.obj: hppa_atomic.s ++ $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.obj `cygpath -w hppa_atomic.s` ++ ++libwapi_la-hppa_atomic.lo: hppa_atomic.s ++ $(LIBTOOL) --mode=compile $(CCAS) $(libwapi_la_CCASFLAGS) $(CCASFLAGS) -c -o libwapi_la-hppa_atomic.lo `test -f 'hppa_atomic.s' || echo '$(srcdir)/'`hppa_atomic.s ++ ++mostlyclean-libtool: ++ -rm -f *.lo ++ ++clean-libtool: ++ -rm -rf .libs _libs ++ ++distclean-libtool: ++ -rm -f libtool ++uninstall-info-am: ++libwapiincludeHEADERS_INSTALL = $(INSTALL_HEADER) ++install-libwapiincludeHEADERS: $(libwapiinclude_HEADERS) ++ @$(NORMAL_INSTALL) ++ $(mkinstalldirs) $(DESTDIR)$(libwapiincludedir) ++ @list='$(libwapiinclude_HEADERS)'; for p in $$list; do \ ++ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \ ++ f="`echo $$p | sed -e 's|^.*/||'`"; \ ++ echo " $(libwapiincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libwapiincludedir)/$$f"; \ ++ $(libwapiincludeHEADERS_INSTALL) $$d$$p $(DESTDIR)$(libwapiincludedir)/$$f; \ ++ done ++ ++uninstall-libwapiincludeHEADERS: ++ @$(NORMAL_UNINSTALL) ++ @list='$(libwapiinclude_HEADERS)'; for p in $$list; do \ ++ f="`echo $$p | sed -e 's|^.*/||'`"; \ ++ echo " rm -f $(DESTDIR)$(libwapiincludedir)/$$f"; \ ++ rm -f $(DESTDIR)$(libwapiincludedir)/$$f; \ ++ done ++ ++ETAGS = etags ++ETAGSFLAGS = ++ ++tags: TAGS ++ ++ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES) ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ mkid -fID $$unique ++ ++TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \ ++ $(TAGS_FILES) $(LISP) ++ tags=; \ ++ here=`pwd`; \ ++ list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \ ++ unique=`for i in $$list; do \ ++ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ ++ done | \ ++ $(AWK) ' { files[$$0] = 1; } \ ++ END { for (i in files) print i; }'`; \ ++ test -z "$(ETAGS_ARGS)$$tags$$unique" \ ++ || $(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \ ++ $$tags $$unique ++ ++GTAGS: ++ here=`$(am__cd) $(top_builddir) && pwd` \ ++ && cd $(top_srcdir) \ ++ && gtags -i $(GTAGS_ARGS) $$here ++ ++distclean-tags: ++ -rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH ++DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) ++ ++top_distdir = ../.. ++distdir = $(top_distdir)/$(PACKAGE)-$(VERSION) ++ ++distdir: $(DISTFILES) ++ @list='$(DISTFILES)'; for file in $$list; do \ ++ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \ ++ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \ ++ if test "$$dir" != "$$file" && test "$$dir" != "."; then \ ++ dir="/$$dir"; \ ++ $(mkinstalldirs) "$(distdir)$$dir"; \ ++ else \ ++ dir=''; \ ++ fi; \ ++ if test -d $$d/$$file; then \ ++ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \ ++ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \ ++ fi; \ ++ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \ ++ else \ ++ test -f $(distdir)/$$file \ ++ || cp -p $$d/$$file $(distdir)/$$file \ ++ || exit 1; \ ++ fi; \ ++ done ++check-am: all-am ++check: check-am ++all-am: Makefile $(LTLIBRARIES) $(HEADERS) ++ ++installdirs: ++ $(mkinstalldirs) $(DESTDIR)$(libwapiincludedir) ++ ++install: install-am ++install-exec: install-exec-am ++install-data: install-data-am ++uninstall: uninstall-am ++ ++install-am: all-am ++ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am ++ ++installcheck: installcheck-am ++install-strip: ++ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \ ++ INSTALL_STRIP_FLAG=-s \ ++ `test -z '$(STRIP)' || \ ++ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install ++mostlyclean-generic: ++ ++clean-generic: ++ ++distclean-generic: ++ -rm -f Makefile $(CONFIG_CLEAN_FILES) ++ ++maintainer-clean-generic: ++ @echo "This command is intended for maintainers to use" ++ @echo "it deletes files that may require special tools to rebuild." ++clean: clean-am ++ ++clean-am: clean-generic clean-libtool clean-noinstLTLIBRARIES \ ++ mostlyclean-am ++ ++distclean: distclean-am ++ ++distclean-am: clean-am distclean-compile distclean-depend \ ++ distclean-generic distclean-libtool distclean-tags ++ ++dvi: dvi-am ++ ++dvi-am: ++ ++info: info-am ++ ++info-am: ++ ++install-data-am: install-libwapiincludeHEADERS ++ ++install-exec-am: ++ ++install-info: install-info-am ++ ++install-man: ++ ++installcheck-am: ++ ++maintainer-clean: maintainer-clean-am ++ ++maintainer-clean-am: distclean-am maintainer-clean-generic ++ ++mostlyclean: mostlyclean-am ++ ++mostlyclean-am: mostlyclean-compile mostlyclean-generic \ ++ mostlyclean-libtool ++ ++uninstall-am: uninstall-info-am uninstall-libwapiincludeHEADERS ++ ++.PHONY: GTAGS all all-am check check-am clean clean-generic \ ++ clean-libtool clean-noinstLTLIBRARIES distclean \ ++ distclean-compile distclean-depend distclean-generic \ ++ distclean-libtool distclean-tags distdir dvi dvi-am info \ ++ info-am install install-am install-data install-data-am \ ++ install-exec install-exec-am install-info install-info-am \ ++ install-libwapiincludeHEADERS install-man install-strip \ ++ installcheck installcheck-am installdirs maintainer-clean \ ++ maintainer-clean-generic mostlyclean mostlyclean-compile \ ++ mostlyclean-generic mostlyclean-libtool tags uninstall \ ++ uninstall-am uninstall-info-am uninstall-libwapiincludeHEADERS ++ ++# Tell versions [3.59,3.63) of GNU make to not export all variables. ++# Otherwise a system limit (for SysV at least) may be exceeded. ++.NOEXPORT: --- mono-1.1.13.2.orig/debian/patches/05_lib_linker.dpatch +++ mono-1.1.13.2/debian/patches/05_lib_linker.dpatch @@ -0,0 +1,47 @@ +#! /bin/sh -e +## 05_lib_linker.dpatch by Eduard Bloch +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /tmp/mono-1.0/mono/mini/Makefile.am mono-1.0/mono/mini/Makefile.am +--- /tmp/mono-1.0/mono/mini/Makefile.am 2004-06-08 21:22:16.000000000 +0200 ++++ mono-1.0/mono/mini/Makefile.am 2004-08-08 19:41:48.000000000 +0200 +@@ -171,7 +171,7 @@ + libmonoinclude_HEADERS = jit.h + + libmono_la_LIBADD = \ +- $(libs) ++ $(libs) $(GLIB_LIBS) $(GMODULE_LIBS) -ldl + + %.exe: %.cs TestDriver.dll + $(MCS) /unsafe $< /r:TestDriver.dll +diff -urNad /tmp/mono-1.0/mono/profiler/Makefile.am mono-1.0/mono/profiler/Makefile.am +--- /tmp/mono-1.0/mono/profiler/Makefile.am 2003-07-01 11:35:48.000000000 +0200 ++++ mono-1.0/mono/profiler/Makefile.am 2004-08-08 19:42:28.000000000 +0200 +@@ -11,5 +11,5 @@ + endif + + libmono_profiler_cov_la_SOURCES = mono-cov.c +-libmono_profiler_cov_la_LIBADD = $(top_builddir)/mono/mini/libmono.la ++libmono_profiler_cov_la_LIBADD = $(top_builddir)/mono/mini/libmono.la $(GLIB_LIBS) $(GMODULE_LIBS) -ldl + --- mono-1.1.13.2.orig/debian/patches/00list +++ mono-1.1.13.2/debian/patches/00list @@ -0,0 +1 @@ +remove_broken_dllmap_from_mono-shlib-cop --- mono-1.1.13.2.orig/debian/patches/datetime_doparse_fix.dpatch +++ mono-1.1.13.2/debian/patches/datetime_doparse_fix.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## datetime_doparse_fix.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad --exclude=CVS --exclude=.svn ./mcs/class/corlib/System/DateTime.cs /tmp/dpep-work.TvWOd3/mono-1.1.9/mcs/class/corlib/System/DateTime.cs +--- ./mcs/class/corlib/System/DateTime.cs 2005-09-06 19:31:04.000000000 +0200 ++++ /tmp/dpep-work.TvWOd3/mono-1.1.9/mcs/class/corlib/System/DateTime.cs 2005-09-24 16:19:05.000000000 +0200 +@@ -1307,7 +1307,7 @@ + + long newticks = (result.ticks - utcoffset).Ticks; + +- result = new DateTime (newticks); ++ result = new DateTime (false, new TimeSpan (newticks)); + if (use_localtime) + result = result.ToLocalTime (); + --- mono-1.1.13.2.orig/debian/patches/07_no_libc_fun.dpatch +++ mono-1.1.13.2/debian/patches/07_no_libc_fun.dpatch @@ -0,0 +1,19 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 07_no_libc_fun.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mono-1.1.6/libgc/os_dep.c /tmp/dpep.XXSckM/mono-1.1.6/libgc/os_dep.c +--- mono-1.1.6/libgc/os_dep.c 2005-03-30 23:23:15.000000000 +0200 ++++ /tmp/dpep.XXSckM/mono-1.1.6/libgc/os_dep.c 2005-04-16 17:19:07.286471504 +0200 +@@ -939,7 +939,7 @@ + /* since the correct value of __libc_stack_end never */ + /* becomes visible to us. The second test works around */ + /* this. */ +- if (0 != &__libc_stack_end && 0 != __libc_stack_end ) { ++ if (0) { + # ifdef IA64 + /* Some versions of glibc set the address 16 bytes too */ + /* low while the initialization code is running. */ --- mono-1.1.13.2.orig/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch +++ mono-1.1.13.2/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch @@ -0,0 +1,15 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## remove_broken_dllmap_from_mono-shlib-cop.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad --exclude=CVS --exclude=.svn ./mcs/tools/mono-shlib-cop/mono-shlib-cop.exe.config /tmp/dpep-work.cUJt1r/mono-1.1.9/mcs/tools/mono-shlib-cop/mono-shlib-cop.exe.config +--- ./mcs/tools/mono-shlib-cop/mono-shlib-cop.exe.config 2005-07-18 17:02:26.000000000 +0200 ++++ /tmp/dpep-work.cUJt1r/mono-1.1.9/mcs/tools/mono-shlib-cop/mono-shlib-cop.exe.config 2005-09-10 19:53:18.000000000 +0200 +@@ -1,4 +1,3 @@ + +- + + --- mono-1.1.13.2.orig/debian/patches/64bit_implicit_pointer_cast_fix.dpatch +++ mono-1.1.13.2/debian/patches/64bit_implicit_pointer_cast_fix.dpatch @@ -0,0 +1,18 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## 64bit_implicit_pointer_cast_fix.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mono-1.1.9.1~/mono/dis/get.h mono-1.1.9.1/mono/dis/get.h +--- mono-1.1.9.1~/mono/dis/get.h 2005-08-25 17:12:40.000000000 +0200 ++++ mono-1.1.9.1/mono/dis/get.h 2005-10-02 16:53:55.000000000 +0200 +@@ -44,6 +44,7 @@ + char *dis_stringify_method_signature (MonoImage *m, MonoMethodSignature *method, int methoddef_row, + MonoGenericContext *context, gboolean fully_qualified); + char *dis_stringify_function_ptr (MonoImage *m, MonoMethodSignature *method); ++char *dis_stringify_marshal_spec (MonoMarshalSpec *spec); + + guint32 method_dor_to_token (guint32 idx); + --- mono-1.1.13.2.orig/debian/patches/io_layer_fix_r50689.dpatch +++ mono-1.1.13.2/debian/patches/io_layer_fix_r50689.dpatch @@ -0,0 +1,226 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## io_layer_fix_r50689.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mono-1.1.9.1~/mono/io-layer/ChangeLog mono-1.1.9.1/mono/io-layer/ChangeLog +--- mono-1.1.9.1~/mono/io-layer/ChangeLog 2005-09-20 23:32:39.000000000 +0200 ++++ mono-1.1.9.1/mono/io-layer/ChangeLog 2005-09-27 11:36:28.000000000 +0200 +@@ -1,3 +1,11 @@ ++2005-09-23 Dick Porter ++ ++ * processes.c: Don't wait for processes that have already been ++ signalled; also fix typo. ++ ++ * handles.c: Improve locking inside new handle and handle ++ searching functions. ++ + 2005-09-20 Dick Porter + + * collection.c: +diff -urNad mono-1.1.9.1~/mono/io-layer/handles.c mono-1.1.9.1/mono/io-layer/handles.c +--- mono-1.1.9.1~/mono/io-layer/handles.c 2005-06-21 15:53:09.000000000 +0200 ++++ mono-1.1.9.1/mono/io-layer/handles.c 2005-09-27 11:34:37.000000000 +0200 +@@ -351,10 +351,6 @@ + _wapi_private_handle_count += _WAPI_HANDLE_INITIAL_COUNT; + } + +- thr_ret = mono_mutex_unlock (&scan_mutex); +- g_assert (thr_ret == 0); +- pthread_cleanup_pop (0); +- + /* Make sure we left the space for fd mappings */ + g_assert (handle_idx >= _wapi_fd_reserve); + +@@ -375,7 +371,8 @@ + handle_specific); + if (offset == 0) { + /* FIXME: grow the arrays */ +- return (_WAPI_HANDLE_INVALID); ++ handle = _WAPI_HANDLE_INVALID; ++ goto done; + } + } + +@@ -386,7 +383,8 @@ + + if (ref == 0) { + /* FIXME: grow the arrays */ +- return (_WAPI_HANDLE_INVALID); ++ handle = _WAPI_HANDLE_INVALID; ++ goto done; + } + } + +@@ -396,6 +394,11 @@ + ref); + #endif + } ++ ++done: ++ thr_ret = mono_mutex_unlock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ pthread_cleanup_pop (0); + + return(handle); + } +@@ -403,7 +406,7 @@ + gpointer _wapi_handle_new_from_offset (WapiHandleType type, guint32 offset) + { + guint32 handle_idx = 0; +- gpointer handle; ++ gpointer handle = INVALID_HANDLE_VALUE; + int thr_ret, i, k; + + mono_once (&shared_init_once, shared_init); +@@ -417,6 +420,11 @@ + g_assert(_WAPI_SHARED_HANDLE(type)); + g_assert(offset != 0); + ++ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, ++ (void *)&scan_mutex); ++ thr_ret = mono_mutex_lock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ + for (i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { + for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { + struct _WapiHandleUnshared *handle_data = &_wapi_private_handles [i][k]; +@@ -424,14 +432,24 @@ + if (handle_data->type == type && + handle_data->u.shared.offset == offset) { + handle = GUINT_TO_POINTER (i * _WAPI_HANDLE_INITIAL_COUNT + k); +- _wapi_handle_ref (handle); ++ goto first_pass_done; ++ } ++ } ++ } ++ ++first_pass_done: ++ thr_ret = mono_mutex_unlock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ pthread_cleanup_pop (0); ++ ++ if (handle != INVALID_HANDLE_VALUE) { ++ _wapi_handle_ref (handle); + + #ifdef DEBUG +- g_message ("%s: Returning old handle %p referencing 0x%x", __func__, handle, offset); ++ g_message ("%s: Returning old handle %p referencing 0x%x", ++ __func__, handle, offset); + #endif +- return (handle); +- } +- } ++ return (handle); + } + + pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, +@@ -713,8 +731,13 @@ + gpointer ret = NULL; + guint32 i, k; + gboolean found = FALSE; ++ int thr_ret; + +- ++ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, ++ (void *)&scan_mutex); ++ thr_ret = mono_mutex_lock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ + for (i = SLOT_INDEX (0); !found && _wapi_private_handles [i] != NULL; i++) { + for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { + handle_data = &_wapi_private_handles [i][k]; +@@ -729,6 +752,10 @@ + } + } + ++ thr_ret = mono_mutex_unlock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ pthread_cleanup_pop (0); ++ + if (!found && _WAPI_SHARED_HANDLE (type)) { + /* Not found yet, so search the shared memory too */ + #ifdef DEBUG +@@ -1564,7 +1591,13 @@ + { + struct _WapiHandleUnshared *handle_data; + guint32 i, k; +- ++ int thr_ret; ++ ++ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, ++ (void *)&scan_mutex); ++ thr_ret = mono_mutex_lock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ + for(i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { + for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { + handle_data = &_wapi_private_handles [i][k]; +@@ -1582,6 +1615,10 @@ + g_print ("\n"); + } + } ++ ++ thr_ret = mono_mutex_unlock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ pthread_cleanup_pop (0); + } + + static void _wapi_shared_details (gpointer handle_info) +@@ -1602,6 +1639,10 @@ + thr_ret = _wapi_shm_sem_lock (_WAPI_SHARED_SEM_SHARE); + g_assert(thr_ret == 0); + ++ pthread_cleanup_push ((void(*)(void *))mono_mutex_unlock_in_cleanup, ++ (void *)&scan_mutex); ++ thr_ret = mono_mutex_lock (&scan_mutex); ++ + for(i = SLOT_INDEX (0); _wapi_private_handles [i] != NULL; i++) { + for (k = SLOT_OFFSET (0); k < _WAPI_HANDLE_INITIAL_COUNT; k++) { + struct _WapiHandleUnshared *handle = &_wapi_private_handles [i][k]; +@@ -1644,6 +1685,10 @@ + } + } + } ++ ++ thr_ret = mono_mutex_unlock (&scan_mutex); ++ g_assert (thr_ret == 0); ++ pthread_cleanup_pop (0); + + thr_ret = _wapi_shm_sem_unlock (_WAPI_SHARED_SEM_SHARE); + +diff -urNad mono-1.1.9.1~/mono/io-layer/processes.c mono-1.1.9.1/mono/io-layer/processes.c +--- mono-1.1.9.1~/mono/io-layer/processes.c 2005-09-20 23:32:39.000000000 +0200 ++++ mono-1.1.9.1/mono/io-layer/processes.c 2005-09-27 11:34:37.000000000 +0200 +@@ -97,6 +97,11 @@ + int status; + pid_t ret; + ++ if (_wapi_handle_issignalled (test)) { ++ /* We've already done this one */ ++ return (FALSE); ++ } ++ + ok = _wapi_lookup_handle (test, WAPI_HANDLE_PROCESS, + (gpointer *)&process); + if (ok == FALSE) { +@@ -104,14 +109,14 @@ + } + + do { +- ret == waitpid (process->id, &status, WNOHANG); ++ ret = waitpid (process->id, &status, WNOHANG); + } while (errno == EINTR); + + if (ret <= 0) { + /* Process not ready for wait */ + #ifdef DEBUG +- g_message ("%s: Process %d not ready for waiting for", +- __func__, ret); ++ g_message ("%s: Process %d not ready for waiting for: %s", ++ __func__, process->id, g_strerror (errno)); + #endif + + return (FALSE); --- mono-1.1.13.2.orig/debian/patches/fix_xsp2_inherits.dpatch +++ mono-1.1.13.2/debian/patches/fix_xsp2_inherits.dpatch @@ -0,0 +1,31 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## fix_xsp2_inherits.dpatch by Dylan R. E. Moonfire +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: Temporarily corrects the problem with XSP2 using inherits working +## DP: properly. This patch reverts that specific XSP2 code to XSP until +## DB: it functions properly from the SVN. + +@DPATCH@ + +diff -ru mono-1.1.9.1.orig/mcs/class/System.Web/System.Web.UI/TemplateParser.cs mono-1.1.9.1/mcs/class/System.Web/System.Web.UI/TemplateParser.cs +--- mono-1.1.9.1.orig/mcs/class/System.Web/System.Web.UI/TemplateParser.cs 2005-10-14 08:23:32.000000000 -0500 ++++ mono-1.1.9.1/mcs/class/System.Web/System.Web.UI/TemplateParser.cs 2005-10-14 08:24:53.000000000 -0500 +@@ -428,16 +428,13 @@ + srcAssembly = GetAssemblyFromSource (src); + + string inherits = GetString (atts, "Inherits", null); +-#if NET_2_0 +- className = inherits; +-#else ++ + if (inherits != null) + SetBaseType (inherits); + + className = GetString (atts, "ClassName", null); + if (className != null && !CodeGenerator.IsValidLanguageIndependentIdentifier (className)) + ThrowParseException (String.Format ("'{0}' is not valid for 'className'", className)); +-#endif + + if (atts.Count > 0) + ThrowParseException ("Unknown attribute: " + GetOneKey (atts)); --- mono-1.1.13.2.orig/debian/patches/01_fix-mono-calls.dpatch +++ mono-1.1.13.2/debian/patches/01_fix-mono-calls.dpatch @@ -0,0 +1,65 @@ +#! /bin/sh -e +## 01_fix-mono-calls.dpatch by Michael Schiansky +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: fix all cli/mono calls (See: #265521) +## DP: thanks to: Dave Beckett + +if [ $# -lt 1 ]; then + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1 +fi + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch} ${2:+-d $2}" + +case "$1" in + -patch) patch -p1 ${patch_opts} < $0;; + -unpatch) patch -R -p1 ${patch_opts} < $0;; + *) + echo "`basename $0`: script expects -patch|-unpatch as argument" >&2 + exit 1;; +esac + +exit 0 + +@DPATCH@ +diff -urNad /home/ms/uprojects/pkg/mono/build/1.0.2/mcs/mcs-1.0.2/gmcs/Makefile mcs-1.0.2/gmcs/Makefile +--- /home/ms/uprojects/pkg/mono/build/1.0.2/mcs/mcs-1.0.2/gmcs/Makefile 2004-06-16 19:13:41.000000000 +0200 ++++ mcs-1.0.2/gmcs/Makefile 2004-09-24 17:47:42.000000000 +0200 +@@ -69,7 +69,7 @@ + dist-local: dist-default + + gmcs.exe: $(all_sources) +- MONO_PATH="../class/lib/net_2_0_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" mono ../mcs/mcs.exe $(DEBUG_FLAGS) -2 /target:exe /debug /out:$@ $^ ++ MONO_PATH="../class/lib/net_2_0_bootstrap$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" $(RUNTIME) ../mcs/mcs.exe $(DEBUG_FLAGS) -2 /target:exe /debug /out:$@ $^ + + gmcs2.exe: $(all_sources) + MONO_PATH="../class/lib/net_2_0$(PLATFORM_PATH_SEPARATOR)$$MONO_PATH" time mcs -2 /target:exe /debug /out:$@ $^ $(DEBUG_FLAGS) +@@ -110,12 +110,12 @@ + @ $(FRIENDLY_TIME) $(RUNTIME) ./mcs2.exe $(USE_MCS_FLAGS) /target:exe /out:mcs3.exe $(all_sources) > /dev/null || (echo FAILED; exit 1) + @ echo -n "corlib: " + @ rm -f ../class/lib/mscorlib.dll +- @ (cd ../class/corlib ; make BOOTSTRAP_MCS="$(FRIENDLY_TIME) mono ../../mcs/mcs.exe" > /dev/null ) || (echo FAILED; exit 1) ++ @ (cd ../class/corlib ; make BOOTSTRAP_MCS="$(FRIENDLY_TIME) $(RUNTIME) ../../mcs/mcs.exe" > /dev/null ) || (echo FAILED; exit 1) + + do-corlib: + @ echo -n "corlib: " + @ rm -f ../class/lib/mscorlib.dll +- @ (cd ../class/corlib ; make BOOTSTRAP_MCS="$(FRIENDLY_TIME) mono ../../mcs/mcs.exe" > /dev/null ) || (echo FAILED; exit 1) ++ @ (cd ../class/corlib ; make BOOTSTRAP_MCS="$(FRIENDLY_TIME) $(RUNTIME) ../../mcs/mcs.exe" > /dev/null ) || (echo FAILED; exit 1) + + PROFILER=default + +diff -urNad /home/ms/uprojects/pkg/mono/build/1.0.2/mcs/mcs-1.0.2/mcs/Makefile mcs-1.0.2/mcs/Makefile +--- /home/ms/uprojects/pkg/mono/build/1.0.2/mcs/mcs-1.0.2/mcs/Makefile 2004-05-24 12:37:00.000000000 +0200 ++++ mcs-1.0.2/mcs/Makefile 2004-09-24 17:47:36.000000000 +0200 +@@ -62,7 +62,7 @@ + do-corlib: + @ echo -n "corlib: " + @ rm -f ../class/lib/mscorlib.dll +- @ cd ../class/corlib ; $(MAKE) BOOTSTRAP_MCS="$(FRIENDLY_TIME) mono ../../mcs/mcs.exe" > /dev/null || (echo FAILED; exit 1) ++ @ cd ../class/corlib ; $(MAKE) BOOTSTRAP_MCS="$(FRIENDLY_TIME) $(RUNTIME) ../../mcs/mcs.exe" > /dev/null || (echo FAILED; exit 1) + + PROFILER=default + --- mono-1.1.13.2.orig/debian/patches/amd64_compile_fix_r50553.dpatch +++ mono-1.1.13.2/debian/patches/amd64_compile_fix_r50553.dpatch @@ -0,0 +1,30 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## amd64_compile_fix_r50553.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mono-1.1.9.1~/mono/utils/ChangeLog mono-1.1.9.1/mono/utils/ChangeLog +--- mono-1.1.9.1~/mono/utils/ChangeLog 2005-09-07 21:56:14.000000000 +0200 ++++ mono-1.1.9.1/mono/utils/ChangeLog 2005-09-28 11:33:19.000000000 +0200 +@@ -1,3 +1,7 @@ ++2005-09-12 Zoltan Varga ++ ++ * mono-compiler.h (MONO_THREAD_VAR_OFFSET): Fix compilation on amd64 ++ with recent binutils. + + Wed Sep 7 21:23:18 BST 2005 Paolo Molaro + +diff -urNad mono-1.1.9.1~/mono/utils/mono-compiler.h mono-1.1.9.1/mono/utils/mono-compiler.h +--- mono-1.1.9.1~/mono/utils/mono-compiler.h 2005-08-27 16:36:10.000000000 +0200 ++++ mono-1.1.9.1/mono/utils/mono-compiler.h 2005-09-28 11:33:19.000000000 +0200 +@@ -27,7 +27,7 @@ + #if defined(PIC) + #define MONO_THREAD_VAR_OFFSET(var,offset) (offset) = -1 + #else +-#define MONO_THREAD_VAR_OFFSET(var,offset) __asm ("jmp 1f; .section writetext, \"awx\"; 1: movl $" #var "@TPOFF, %0; jmp 2f; .previous; 2:" : "=r" (offset)); ++#define MONO_THREAD_VAR_OFFSET(var,offset) do { guint64 foo; __asm ("jmp 1f; .section writetext, \"awx\"; 1: movq $" #var "@TPOFF, %0; jmp 2f; .previous; 2:" : "=a" (foo)); offset = foo; } while (0); + #endif + #elif defined(__ia64__) && !defined(__INTEL_COMPILER) + #define MONO_THREAD_VAR_OFFSET(var,offset) __asm ("addl %0 = @tprel(" #var "#), r0 ;;\n" : "=r" (offset)); --- mono-1.1.13.2.orig/debian/patches/s390_compile_fix.dpatch +++ mono-1.1.13.2/debian/patches/s390_compile_fix.dpatch @@ -0,0 +1,26 @@ +#! /bin/sh /usr/share/dpatch/dpatch-run +## s390_compile_fix.dpatch by Mirco Bauer +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: No description. + +@DPATCH@ +diff -urNad mono-1.1.9.2~/mono/arch/s390/tramp.c mono-1.1.9.2/mono/arch/s390/tramp.c +--- mono-1.1.9.2~/mono/arch/s390/tramp.c 2005-10-16 19:55:57.000000000 +0200 ++++ mono-1.1.9.2/mono/arch/s390/tramp.c 2005-10-16 20:01:35.000000000 +0200 +@@ -649,6 +649,7 @@ + /* The callee has already placed the result */ + /* in the required area */ + /*------------------------------------------*/ ++ break; + } + break; + case MONO_TYPE_VOID: +@@ -1117,6 +1118,7 @@ + /*-------------------------------------------------*/ + /* stackval_to_data has placed data in result area */ + /*-------------------------------------------------*/ ++ break; + } + break; + default: --- mono-1.1.13.2.orig/debian/watch +++ mono-1.1.13.2/debian/watch @@ -0,0 +1,2 @@ +version=2 +http://go-mono.com/sources/ .+/mono-([\d\.]+)\.tar\.gz --- mono-1.1.13.2.orig/debian/mono-common.postinst +++ mono-1.1.13.2/debian/mono-common.postinst @@ -0,0 +1,28 @@ +#!/bin/sh -e + +if [ configure = "$1" ] && [ -x /usr/sbin/update-binfmts ]; then + /usr/sbin/update-binfmts --import cli >/dev/null 2>&1 +fi + +if [ configure = "$1" ] && [ -d /usr/share/dotnet/mono/ ] && ! [ -L /usr/share/dotnet/mono ]; then + if [ -L /usr/lib/mono ]; then + # it's a symlink + rm /usr/lib/mono + fi + if ! ( mkdir -p /usr/lib/mono && cp -af /usr/share/dotnet/mono/. /usr/lib/mono/ ); then + # unwind in case of error + rm -rf /usr/lib/mono + ln -s ../share/dotnet/mono /usr/lib/mono + exit 1 + fi + rm -rf /usr/share/dotnet/mono + ln -s ../../lib/mono /usr/share/dotnet/mono +fi + +if [ configure = "$1" ] && ! [ -L /usr/share/dotnet/mono ]; then + # it's not a symlink + mkdir -p /usr/share/dotnet + ln -s ../../lib/mono /usr/share/dotnet/mono +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/control +++ mono-1.1.13.2/debian/control @@ -0,0 +1,259 @@ +Source: mono +Section: interpreters +Priority: optional +Maintainer: Debian Mono Group +Uploaders: Eduard Bloch , Mirco Bauer +Build-Depends: debhelper (>= 5.0.0), libglib2.0-dev (>= 2.4), bison, libtool, dpatch, libxslt1-dev, dc, libx11-dev, libxt-dev, libgc-dev [kfreebsd-i386] +Build-Conflicts: pnet-compiler +Standards-Version: 3.6.2.1 + +Package: mono-common +Architecture: 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 + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains base configuration files and configures the + system to run CIL executables like native applications. + +Package: mono-jit +Provides: cli-virtual-machine +Architecture: i386 powerpc amd64 ia64 arm armeb +Depends: ${shlibs:Depends}, ${misc:Depends}, mono-common (= ${Source-Version}), mono-classlib-1.0-${mono:upversion} +Description: fast CLI JIT/AOT compiler for Mono + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + 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. + +Package: mono +Architecture: i386 powerpc amd64 ia64 arm armeb +Depends: mono-common (= ${Source-Version}), mono-jit (= ${Source-Version}) +Recommends: libgdiplus +Description: Mono CLI (.NET) runtime + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + mono is a metapackage containing dependencies for the runtime of Mono. + If you do not need all of them (or try to work around X11 + dependencies), install the core packages manually: mono-jit, mono-mcs or + mono-utils. + +Package: mono-devel +Section: devel +Architecture: 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 + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + mono-devel is a metapackage containing dependencies for the runtime and + development components of Mono. + +Package: mono-utils +Section: devel +Architecture: i386 powerpc amd64 ia64 arm armeb +Replaces: mono-mcs (<= 1.1.6-4) +Depends: ${shlibs:Depends}, ${misc:Depends}, mono-classlib-1.0 +Provides: cil-disassembler +Description: Mono utilities + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package includes various tools useful for CLI developers, like + dh_installxsp, pedump, monodiet, monodis and monograph. + +Package: libmono0 +Section: libs +Architecture: i386 powerpc amd64 ia64 arm armeb +Replaces: libmono-dev (<= 1.1.6-4) +Depends: ${shlibs:Depends}, ${misc:Depends} +Provides: libmono-${mono:upversion} +Description: libraries for the Mono JIT + Shared libraries for Mono, used for embedding/hosting of the JIT. + The package also contains libmono-profiler-cov used for optimisation work. + . + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + +Package: libmono-dev +Section: devel +Architecture: 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. + . + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + +Package: mono-assemblies-base +Section: libs +Architecture: all +Depends: mono-classlib-1.0 (= ${Source-Version}) +Description: Mono class library - transistion package + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + mono-assemblies-base is a metapackage for the "mono-assemblies-base to + mono-classlib-1.0" transistion. + +Package: mono-classlib-1.0 +Section: libs +Architecture: all +Replaces: mono-assemblies-base (<< 1.1.8) +Provides: mono-classlib-1.0-${mono:upversion} +Description: Mono class library (1.0) + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains the Mono class library version 1.0 that is used by + nearly all CLI applications/libraries on the system. + +Package: mono-classlib-1.0-dbg +Section: libs +Priority: extra +Architecture: all +Replaces: mono-assemblies-base (<< 1.1.8) +Depends: mono-classlib-1.0 (= ${Source-Version}) +Description: Mono class library (1.0) - debug symbols + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains debug symbols (*.mdb) for Mono class library 1.0 + +Package: mono-classlib-2.0 +Section: libs +Architecture: all +Provides: mono-classlib-2.0-${mono:upversion} +Description: Mono class library (2.0) + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains the Mono class library version 2.0 that is used by + nearly all CLI applications/libraries on the system. + +Package: mono-classlib-2.0-dbg +Section: libs +Priority: extra +Architecture: all +Depends: mono-classlib-2.0 (= ${Source-Version}) +Description: Mono class library (2.0) - debug symbols + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package contains debug symbols (*.mdb) for Mono class library 2.0 + +Package: mono-mcs +Section: devel +Architecture: all +Depends: ${cli:Depends} +Recommends: pkg-config +Conflicts: pnet-compiler +Provides: c-sharp-compiler, resource-file-generator, assembly-linker, strong-name-tool +Description: Mono C# compiler + This is the Mono C# (C-Sharp) compiler, a platform-independent compiler which + produces CIL (Common Intermediate Language) binary executables, and the + most development tools around it like ilasm, wsdl stub generator, assembly + linker and security tools. + . + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + +Package: mono-gmcs +Section: devel +Architecture: all +Depends: ${cli:Depends} +Recommends: pkg-config +Conflicts: pnet-compiler +Replaces: mono-mcs (>= 1.1.10), mono-mcs (<= 1.1.13) +Provides: c-sharp-2.0-compiler +Description: Mono C# 2.0 compiler + This is the Mono C# (C-Sharp) 2.0 compiler, a platform-independent compiler + which produces CIL (Common Intermediate Language) binary executables. + The gmcs compiler supports the C# 2.0 featureset like generics, anonymous + methods, iterators, partial types and nullable types. + WARNING: The C# 2.0 specification is not yet official (there is currently only + a draft), means no ISO nor EMCA standard yet and the specification may + change and breaks your code! + . + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + +Package: mono-gac +Section: devel +Architecture: all +Depends: ${cli:Depends} +Provides: global-assembly-cache-tool +Description: Mono GAC tool + Mono is a platform for running and developing applications based on the + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + This package includes the GAC (Global Assembly Cache) tool (gacutil) + used by Mono to store shared CIL (Common Intermediate Language) libraries. + +Package: mono-jay +Section: devel +Architecture: 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 + ECMA/ISO Standards. Mono is an open source effort led by Novell. + Mono provides a complete CLR (Common Language Runtime) including compiler and + runtime, which can produce and execute CIL (Common Intermediate Language) + bytecode (aka assemblies), and a class library. + . + Jay is a Yacc implementation oriented to Java-like input syntax. It + takes a grammar, specified in BNF and augmented with semantic actions, + and generates tables and an interpreter which recognizes the language + defined by the grammar and executes the semantic actions as their + corresponding phrases are recognized. --- mono-1.1.13.2.orig/debian/libmono-dev.install +++ mono-1.1.13.2/debian/libmono-dev.install @@ -0,0 +1,6 @@ +debian/tmp/usr/lib/libmono*.a +debian/tmp/usr/lib/libMono*.a +debian/tmp/usr/lib/libmono*.so +debian/tmp/usr/lib/libMonoSupportW.a +debian/tmp/usr/lib/pkgconfig/mono.pc +debian/tmp/usr/include/ --- mono-1.1.13.2.orig/debian/mono-jay.docs +++ mono-1.1.13.2/debian/mono-jay.docs @@ -0,0 +1,5 @@ +debian/tmp/usr/share/jay/ACKNOWLEDGEMENTS +debian/tmp/usr/share/jay/NEW_FEATURES +debian/tmp/usr/share/jay/NOTES +debian/tmp/usr/share/jay/README +debian/tmp/usr/share/jay/README.jay --- mono-1.1.13.2.orig/debian/mono-common.preinst +++ mono-1.1.13.2/debian/mono-common.preinst @@ -0,0 +1,3 @@ +#!/bin/sh -e + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-mcs.manpages +++ mono-1.1.13.2/debian/mono-mcs.manpages @@ -0,0 +1,30 @@ +debian/tmp/usr/share/man/man1/al.1 +debian/man/caspol.1 +debian/tmp/usr/share/man/man1/cert2spc.1 +debian/tmp/usr/share/man/man1/certmgr.1 +debian/tmp/usr/share/man/man1/chktrust.1 +debian/tmp/usr/share/man/man1/cilc.1 +debian/tmp/usr/share/man/man1/disco.1 +debian/tmp/usr/share/man/man1/dtd2xsd.1 +debian/tmp/usr/share/man/man1/genxs.1 +debian/tmp/usr/share/man/man1/ilasm.1 +debian/tmp/usr/share/man/man1/macpack.1 +debian/tmp/usr/share/man/man1/makecert.1 +debian/man/mbas.1 +debian/tmp/usr/share/man/man1/mcs.1 +debian/man/mjs.1 +debian/tmp/usr/share/man/man1/mkbundle.1 +debian/tmp/usr/share/man/man1/mono-service.1 +debian/tmp/usr/share/man/man1/mono-shlib-cop.1 +debian/tmp/usr/share/man/man1/monop.1 +debian/tmp/usr/share/man/man1/mozroots.1 +debian/tmp/usr/share/man/man1/permview.1 +debian/man/resgen.1 +debian/tmp/usr/share/man/man1/secutil.1 +debian/tmp/usr/share/man/man1/setreg.1 +debian/tmp/usr/share/man/man1/signcode.1 +debian/tmp/usr/share/man/man1/sn.1 +debian/tmp/usr/share/man/man1/soapsuds.1 +debian/tmp/usr/share/man/man1/sqlsharp.1 +debian/tmp/usr/share/man/man1/wsdl.1 +debian/tmp/usr/share/man/man1/xsd.1 --- mono-1.1.13.2.orig/debian/libmono0.install +++ mono-1.1.13.2/debian/libmono0.install @@ -0,0 +1,3 @@ +debian/tmp/usr/lib/libmono*.so.* +debian/tmp/usr/lib/libMonoPosixHelper.so +debian/tmp/usr/lib/libMonoSupportW.so --- mono-1.1.13.2.orig/debian/mono-gac.prerm +++ mono-1.1.13.2/debian/mono-gac.prerm @@ -0,0 +1,7 @@ +#!/bin/sh -e + +if [ "$1" = remove ]; then + update-alternatives --remove global-assembly-cache-tool /usr/bin/gacutil +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/cli.binfmt +++ mono-1.1.13.2/debian/cli.binfmt @@ -0,0 +1,4 @@ +package mono-common +detector /usr/lib/cli/binfmt-detector-cli +interpreter /usr/bin/cli +magic MZ --- mono-1.1.13.2.orig/debian/mono-jit.manpages +++ mono-1.1.13.2/debian/mono-jit.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/mono.1 --- mono-1.1.13.2.orig/debian/detector/cil-coff.h +++ mono-1.1.13.2/debian/detector/cil-coff.h @@ -0,0 +1,190 @@ + +#ifndef __MONO_CIL_COFF_H__ +#define __MONO_CIL_COFF_H__ + +#include + +/* + * 25.2.1: Method header type values + */ +#define METHOD_HEADER_FORMAT_MASK 7 +#define METHOD_HEADER_TINY_FORMAT 2 +#define METHOD_HEADER_TINY_FORMAT1 6 +#define METHOD_HEADER_FAT_FORMAT 3 + +/* + * 25.2.3.1: Flags for method headers + */ +#define METHOD_HEADER_INIT_LOCALS 0x10 +#define METHOD_HEADER_MORE_SECTS 0x08 + +/* + * For section data (25.3) + */ +#define METHOD_HEADER_SECTION_RESERVED 0 +#define METHOD_HEADER_SECTION_EHTABLE 1 +#define METHOD_HEADER_SECTION_OPTIL_TABLE 2 +#define METHOD_HEADER_SECTION_FAT_FORMAT 0x40 +#define METHOD_HEADER_SECTION_MORE_SECTS 0x80 + +/* 128 bytes */ +typedef struct { + char msdos_sig [2]; + uint16_t nlast_page; + uint16_t npages; + char msdos_header [54]; + unsigned char pe_offset[4]; + char msdos_header2 [64]; +} MSDOSHeader; + +/* 20 bytes */ +typedef struct { + uint16_t coff_machine; + uint16_t coff_sections; + uint32_t coff_time; + uint32_t coff_symptr; + uint32_t coff_symcount; + uint16_t coff_opt_header_size; + uint16_t coff_attributes; +} COFFHeader; + +#define COFF_ATTRIBUTE_EXECUTABLE_IMAGE 0x0002 +#define COFF_ATTRIBUTE_LIBRARY_IMAGE 0x2000 + +/* 28 bytes */ +typedef struct { + unsigned char pe_magic[2]; + unsigned char pe_major; + unsigned char pe_minor; + uint32_t pe_code_size; + uint32_t pe_data_size; + uint32_t pe_uninit_data_size; + uint32_t pe_rva_entry_point; + uint32_t pe_rva_code_base; + uint32_t pe_rva_data_base; +} PEHeader; + +/* 68 bytes */ +typedef struct { + uint32_t pe_image_base; /* must be 0x400000 */ + uint32_t pe_section_align; /* must be 8192 */ + uint32_t pe_file_alignment; /* must be 512 or 4096 */ + uint16_t pe_os_major; /* must be 4 */ + uint16_t pe_os_minor; /* must be 0 */ + uint16_t pe_user_major; + uint16_t pe_user_minor; + uint16_t pe_subsys_major; + uint16_t pe_subsys_minor; + uint32_t pe_reserved_1; + uint32_t pe_image_size; + uint32_t pe_header_size; + uint32_t pe_checksum; + uint16_t pe_subsys_required; + uint16_t pe_dll_flags; + uint32_t pe_stack_reserve; + uint32_t pe_stack_commit; + uint32_t pe_heap_reserve; + uint32_t pe_heap_commit; + uint32_t pe_loader_flags; + uint32_t pe_data_dir_count; +} PEHeaderNT; + +typedef struct { + unsigned char rva[4]; + uint32_t size; +} PEDirEntry; + +/* 128 bytes */ +typedef struct { + PEDirEntry pe_export_table; + PEDirEntry pe_import_table; + PEDirEntry pe_resource_table; + PEDirEntry pe_exception_table; + PEDirEntry pe_certificate_table; + PEDirEntry pe_reloc_table; + PEDirEntry pe_debug; + PEDirEntry pe_copyright; + PEDirEntry pe_global_ptr; + PEDirEntry pe_tls_table; + PEDirEntry pe_load_config_table; + PEDirEntry pe_bound_import; + PEDirEntry pe_iat; + PEDirEntry pe_delay_import_desc; + PEDirEntry pe_cli_header; + PEDirEntry pe_reserved; +} PEDatadir; + +/* 248 bytes */ +typedef struct { + char pesig [4]; + COFFHeader coff; + PEHeader pe; + PEHeaderNT nt; + PEDatadir datadir; +} DotNetHeader; + +typedef struct { + char st_name [8]; + uint32_t st_virtual_size; + uint32_t st_virtual_address; + uint32_t st_raw_data_size; + uint32_t st_raw_data_ptr; + uint32_t st_reloc_ptr; + uint32_t st_lineno_ptr; + uint16_t st_reloc_count; + uint16_t st_line_count; + +#define SECT_FLAGS_HAS_CODE 0x20 +#define SECT_FLAGS_HAS_INITIALIZED_DATA 0x40 +#define SECT_FLAGS_HAS_UNINITIALIZED_DATA 0x80 +#define SECT_FLAGS_MEM_DISCARDABLE 0x02000000 +#define SECT_FLAGS_MEM_NOT_CACHED 0x04000000 +#define SECT_FLAGS_MEM_NOT_PAGED 0x08000000 +#define SECT_FLAGS_MEM_SHARED 0x10000000 +#define SECT_FLAGS_MEM_EXECUTE 0x20000000 +#define SECT_FLAGS_MEM_READ 0x40000000 +#define SECT_FLAGS_MEM_WRITE 0x80000000 + uint32_t st_flags; + +} SectionTable; + +typedef struct { + uint32_t ch_size; + uint16_t ch_runtime_major; + uint16_t ch_runtime_minor; + PEDirEntry ch_metadata; + +#define CLI_FLAGS_ILONLY 0x01 +#define CLI_FLAGS_32BITREQUIRED 0x02 +#define CLI_FLAGS_TRACKDEBUGDATA 0x00010000 + uint32_t ch_flags; + + uint32_t ch_entry_point; + PEDirEntry ch_resources; + PEDirEntry ch_strong_name; + PEDirEntry ch_code_manager_table; + PEDirEntry ch_vtable_fixups; + PEDirEntry ch_export_address_table_jumps; + + /* The following are zero in the current docs */ + PEDirEntry ch_eeinfo_table; + PEDirEntry ch_helper_table; + PEDirEntry ch_dynamic_info; + PEDirEntry ch_delay_load_info; + PEDirEntry ch_module_image; + PEDirEntry ch_external_fixups; + PEDirEntry ch_ridmap; + PEDirEntry ch_debug_map; + PEDirEntry ch_ip_map; +} CLIHeader; + +/* This is not an on-disk structure */ +typedef struct { + DotNetHeader cli_header; + int cli_section_count; + SectionTable *cli_section_tables; + void **cli_sections; + CLIHeader cli_cli_header; +} CLIImageInfo; + +#endif /* __MONO_CIL_COFF_H__ */ --- mono-1.1.13.2.orig/debian/detector/Makefile +++ mono-1.1.13.2/debian/detector/Makefile @@ -0,0 +1,6 @@ +binfmt-detector-cli: binfmt-detector-cli.c cil-coff.h + $(CC) binfmt-detector-cli.c -o binfmt-detector-cli + strip binfmt-detector-cli + +clean: + rm -f binfmt-detector-cli --- mono-1.1.13.2.orig/debian/detector/README +++ mono-1.1.13.2/debian/detector/README @@ -0,0 +1,45 @@ +binfmt-pe + + This utility determines the Microsoft PE executable file's + type (Native, .NET CLR) and runs it using the appropriate + runtime (WINE, CLI). It also detects and refuses to run + MS-DOS (non-PE) executables. + + It is inteded to be used in a Linux binfmt configuration, + since binfmt itself is incapable of reliably distinguishing + between various PE file types (since they have no different + "magic string") and runtimes refuse to run files which + they don't support (CLR runtimes refuse to run + Native images and vice versa). + +Technical information + + The file's type is determined from certain characteristics + in the PE / COFF file header. It should be noted that the + techniques used might not be standard and are not throughtly + tested to work, so false detections might occur. + + In short: + - An MS-DOS executable is assumed if the PE offset in the MS-DOS + header is NULL or points to an offset beyond the file's length + - A CLR file is assumed if the PE header's directory entry + for "CLI header" is not NULL and points to a valid offset in + the executable file. + - A native executable file is assumed otherwise. + + The runtime names are hardcoded into the utilit (that is - + not configurable) and are exec'ed from the utility -- + "wine" is used for native images, "cli" is used for CLR images. + +Credits + + This utility is based on the PE / COFF header structures from + Ximian's Mono .NET runtime project ( http://www.go-mono.com/ ). + +Author + + Ilya Konstantinov + +Licenses + + This utility is covered by the GPL license. --- mono-1.1.13.2.orig/debian/detector/binfmt-detector-cli.c +++ mono-1.1.13.2/debian/detector/binfmt-detector-cli.c @@ -0,0 +1,99 @@ +/* + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Library General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + * binfmt PE executable helper, by Ilya Konstantinov + * Based on PE headers structures courtesy of Mono .NET runtime project + * (http://www.go-mono.com). + */ + +#include +#include +#include +#include +#include +#include +#include + +#include "cil-coff.h" + +//Change this to one MSDOS, MSDOS, NATIVE or CLR +#define DETECT CLR + +#define _(String) gettext(String) + +/* Globals */ +enum execTypeEnum { + UNKNOWN, + MSDOS, + NATIVE, + CLR +} execType = UNKNOWN; + +int main(int argc, char **argv) +{ + const char *filename; + FILE *image; + size_t read; + + if (argc < 2) exit(EXIT_FAILURE); + + filename = argv[1]; + image = fopen(filename, "r"); + if (image == NULL) exit(EXIT_FAILURE); + + /* Parse the MSDOS header */ + + { + MSDOSHeader msdos_header; + uint32_t pe_offset; + read = fread(&msdos_header, sizeof(msdos_header), 1, image); + if (read < 1) exit(EXIT_FAILURE); + pe_offset = msdos_header.pe_offset[0] + | msdos_header.pe_offset[1] << 8 + | msdos_header.pe_offset[2] << 16 + | msdos_header.pe_offset[3] << 24; + if ((pe_offset == 0) || + (fseek(image, pe_offset, SEEK_SET) != 0)) + execType = MSDOS; + } + + /* Parse the PE header */ + + if (execType == UNKNOWN) + { + DotNetHeader dotnet_header; + uint16_t pe_magic; + uint32_t rva; + read = fread(&dotnet_header, sizeof(dotnet_header), 1, image); + if (read < 1) exit(EXIT_FAILURE); + pe_magic = dotnet_header.pe.pe_magic[0] + | dotnet_header.pe.pe_magic[1] << 8; + if (dotnet_header.pesig[0] != 'P' || dotnet_header.pesig[1] != 'E' || pe_magic != 0x10B) exit(EXIT_FAILURE); + rva = dotnet_header.datadir.pe_cli_header.rva[0] + | dotnet_header.datadir.pe_cli_header.rva[1] << 8 + | dotnet_header.datadir.pe_cli_header.rva[2] << 16 + | dotnet_header.datadir.pe_cli_header.rva[1] << 24; + if ((dotnet_header.datadir.pe_cli_header.size != 0) && + (rva != 0) && + (fseek(image, rva, SEEK_SET) == 0)) + execType = CLR; + else + execType = NATIVE; + } + fclose(image); + + /* Return a value indicating success or failure */ + if (execType == DETECT) exit(EXIT_SUCCESS); else exit(EXIT_FAILURE); +} --- mono-1.1.13.2.orig/debian/man/monograph.1 +++ mono-1.1.13.2/debian/man/monograph.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/caspol.1 +++ mono-1.1.13.2/debian/man/caspol.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/mbas.1 +++ mono-1.1.13.2/debian/man/mbas.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/resgen.1 +++ mono-1.1.13.2/debian/man/resgen.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/xbuild.1 +++ mono-1.1.13.2/debian/man/xbuild.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/ilasm2.1 +++ mono-1.1.13.2/debian/man/ilasm2.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/mono-find-requires.1 +++ mono-1.1.13.2/debian/man/mono-find-requires.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/cli-wrapper.1 +++ mono-1.1.13.2/debian/man/cli-wrapper.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/mjs.1 +++ mono-1.1.13.2/debian/man/mjs.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/gmcs.1 +++ mono-1.1.13.2/debian/man/gmcs.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/pedump.1 +++ mono-1.1.13.2/debian/man/pedump.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/monoresgen.1 +++ mono-1.1.13.2/debian/man/monoresgen.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/wsdl2.1 +++ mono-1.1.13.2/debian/man/wsdl2.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/monop2.1 +++ mono-1.1.13.2/debian/man/monop2.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/monodiet.1 +++ mono-1.1.13.2/debian/man/monodiet.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/man/mono-find-provides.1 +++ mono-1.1.13.2/debian/man/mono-find-provides.1 @@ -0,0 +1,11 @@ +.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual" +.SH NAME +undocumented \- No manpage for this program. +.SH DESCRIPTION +This +.B program +does not have a manpage. Run this command with the +.B help +switch to see what it does. For further information, refer to the .NET +documentation from the Mono project, located on +.B http://www.go-mono.com:8080/ --- mono-1.1.13.2.orig/debian/mono-common.manpages +++ mono-1.1.13.2/debian/mono-common.manpages @@ -0,0 +1,2 @@ +debian/tmp/usr/share/man/man5/mono-config.5 +debian/man/cli-wrapper.1 --- mono-1.1.13.2.orig/debian/mono-mcs.dirs +++ mono-1.1.13.2/debian/mono-mcs.dirs @@ -0,0 +1,2 @@ +usr/bin +usr/lib/mono/1.0 --- mono-1.1.13.2.orig/debian/mono.postinst +++ mono-1.1.13.2/debian/mono.postinst @@ -0,0 +1,10 @@ +#!/bin/sh -e + +# if we're configuring, /usr/share/doc/mono is a directory, +# and isn't a symlink, replace it with a symlink to mono-common +if test "$1" = "configure" && test -d /usr/share/doc/mono && ! test -h /usr/share/doc/mono ; then + rmdir /usr/share/doc/mono + ln -s mono-common /usr/share/doc/mono +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/dh_makeclilibs +++ mono-1.1.13.2/debian/dh_makeclilibs @@ -0,0 +1,319 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_makeclilibs - automatically create clilibs file + +=cut + +use strict; +use Debian::Debhelper::Dh_Lib; + +=head1 SYNOPSIS + +B [S>] [B<-r>] [B<-V>I<[dependancies]>] [B<-m>I] [B<-l>I] [B<-X>I] + +=head1 DESCRIPTION + +dh_makeclilibs is a debhelper program that automatically scans for +versioned CIL (.NET) assemblies, and generates a clilibs file for the +libraries it finds. + +By default, dh_makeclilibs scans the .dll files in the package +directories and writes the discovered compatibility data (major/minor, +build, token) to "clilibs" files in the appropriate packages. + +However, if a file like debian/package.clilibs is found, this one will +be installed and no scanning is performed. + +=head1 OPTIONS + +=over 4 + +=item B<-V>, B<-V>I + +=item B<--version-info>, B<--version-info=>I + +By default, the clilibs file generated by this program does not make packages +depend on any particular version of the package containing the assembly. +It may be necessary for you to add some version dependency +information to the clilibs file. If -V is specified with no dependency +information, the current version of the package is plugged into a +dependency that looks like "packagename (>= packageversion)". If -V is +specified with parameters, the parameters can be used to specify the exact +dependency information needed (be sure to include the package name). + +Beware of using -V without any parameters; this is a conservative setting +that always ensures that other packages' shared library dependencies are at +least as tight as they need to be, so that if the maintainer screws up then +they won't break. The flip side is that packages might end up with +dependencies that are too tight and so find it harder to be upgraded. + +=item B<-m>I + +Like -V, but specifies only the version string, the package name comes +from the package that is actually processed. This option is more +flexible if you try to set a range of valid versions for different +assembly packages coming from one source package. + +=item B<-l>I + +Specifies the (expected) version of this package when the compatibility +to the current assemblies will break. + +=item B<-r> + +An experimental option to automaticaly guess the next incompatible +upstream version and insert them (like working with -l and -m options, +see above). Do not expect the guessed values to be always correct - +normally, the usualy assumed version string has the form +generation.major.minor where versions with changes in "minor" are +compatible and "major" versions break with compatibility. + +=item B<-X>I, B<--exclude=>I + +Exclude files that contain "item" anywhere in their filename or directory +from being treated as shared libraries. + +=item B + +Uses the Mono runtime in . (used for bootstrapping Mono packages) + +=back + +=head1 EXAMPLES + + dh_makeclilibs + +Assuming this is a package named libfoobar0.9x-cil, generates a clilibs file that +looks something like: + libfoobar 1.0.2345.0_23a12f34 libfoobar0.9x-cil + + dh_makeclilibs -V + +Assuming the current version of the package is 0.93-3, generates a clilibs +file that looks something like: + libfoobar 1.0.2345.0_23a12f34 libfoobar0.9x-cil (>= 0.93-3) + + dh_makeclilibs -V 'libfoobar0.9x-cil (>= 0.92)' + +Generates a clilibs file that looks something like: + libfoobar 1.0.2345.0_23a12f34 libfoobar0.9x-cil (>= 0.92) + +Assuming that your package creates libfoobar-cil and liblafasel-cil, +which are compatible to 0.92 versions but the upstream is going to break +compatibility in the next version, 0.94: + + dh_makeclilibs -m 0.92 -l 0.94 + +Generates clilibs file that looks something like: + + libfoobar 1.0.2345.0_23a12f34 libfoobar-cil (>= 0.92), libfoobar-cil (<< 0.94) + +and + + liblafasel 1.0.2345.0_23a12f34 liblafasel-cil (>= 0.92), liblafasel-cil (<< 0.94) + +=cut + +init(); + +my $clr; +my $cli = '/usr/bin/cli'; +my $cli_version = `$cli --version 2>&1`; +my $cli_parser; +my $sn = 'sn'; + +if (defined($ARGV[0]) && $ARGV[0] eq "internal-mono") { + $clr = "mono"; + my $mono_path = "LD_LIBRARY_PATH=debian/tmp/usr/lib MONO_PATH=debian/tmp/usr/lib/mono/1.0:debian/tmp/usr/lib/mono/2.0"; + $cli_parser = "$mono_path debian/tmp/usr/bin/monodis"; + $sn = "$mono_path debian/tmp/usr/bin/mono debian/tmp/usr/lib/mono/1.0/sn.exe"; + verbose_print("Will use build Mono (debian/tmp/usr/bin/monodis) for CIL parsing."); +} elsif (-x "/usr/bin/monodis") { + $clr = "mono"; + $cli_parser = "/usr/bin/monodis"; + verbose_print("Will use Mono (/usr/bin/monodis) for CIL parsing."); +} elsif (-x "/usr/bin/ildasm") { + $clr = "pnet"; + $cli_parser = "/usr/share/cli-common/ildasm-monodis"; + verbose_print("Will use Portable.NET (/usr/bin/ildasm) for CIL parsing."); +} else { + error("Could not find a CIL disassembler, aborting."); +} + +{ + local $/=""; + open(FILE, 'debian/control'); + my @filedata = ; + close FILE; + if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.2\.0\)/)) { + warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.2.0)!"); + } +} + +my $fh; +my %shlibdata; + +foreach my $package (@{$dh{DOPACKAGES}}) { + next if is_udeb($package); + + my $tmp = tmpdir($package); + + my %seen; + my $need_ldconfig = 0; + + doit("rm", "-f", "$tmp/DEBIAN/clilibs"); + if (-e "debian/$package.clilibs" ) { + complex_doit("cat debian/$package.clilibs > $tmp/DEBIAN/clilibs"); + } else { + # So, we look for files or links to existing files with names that + # match "*.so*". Matching *.so.* is not good enough because of + # broken crap like db3. And we only look at real files not + # symlinks, so we don't accidentually add clilibs data to -dev + # packages. This may have a few false positives, which is ok, + # because only if we can get a library name and a major number from + # objdump is anything actually added. + my $exclude = ''; + if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') { + $exclude = "! \\( $dh{EXCLUDE_FIND} \\) "; + } + open(FIND, "find $tmp -type f \\( -name '*.dll' \\) $exclude |"); + + dll: + while () { + chomp; + my ($library, $ver, $libfile); + $libfile = $_; + my $sig = `$sn -T $_ 2> /dev/null`; + $sig =~ s/.*key token: (\w+).*/$1/is; + if ($sig=~/\s/) { + warning "$libfile has no valid signature, ignoring"; + next dll; + } + my $dis = `$cli_parser --assembly $libfile 2>&1`; + if ($dis =~ m/Name:\s+(\S+)/) { + $library = $1; + $dis =~ m/Version:\s+(\S+)/; + $ver = $1; + } else { + # completely broken code, we need a mature app not + # depending on assembly loading + # verbose_print("trouble parsing monodis output, components not installed? Fallback to parsing the pure monodis output."); + # $dis = `monodis $libfile 2>&1`; + # $dis =~ /^module (\S+)/is; + # $library = $1; + # $library =~ s/'|"//; + warning("$cli_parser could not open $libfile, maybe some components not installed yet. Using filename to guess the assembly name :("); + $libfile=~ m,/(\d+\.\d+.\d+.\d+)__(\w+)/([^/]+)\.dll$,is; + next dll if (!($1 && $2 && $3)); + $ver=$1; + $sig=$2; + $library=$3; + } + + if (!-d "$tmp/DEBIAN") { + doit("install", "-d", "$tmp/DEBIAN"); + } + my $deps = $package; + + # Call isnative becuase it sets $dh{VERSION} + # as a side effect. + isnative($package); + my $version = $dh{VERSION}; + + # Old compatibility levels include the + # debian revision, while new do not. + if (!compat(3)) { + # Remove debian version, if any. + $version =~ s/-[^-]+$//; + } + + if (defined($dh{M_PARAMS}) && $dh{M_PARAMS} ne '') { + $version = $dh{M_PARAMS}; + } + if ($dh{V_FLAG_SET}) { + if ( $dh{V_FLAG} ne '' ) { + $deps = $dh{V_FLAG}; + } else { + $deps = "$package (>= $version)"; + } + } + if (defined( $dh{R_FLAG})) { + $version =~ s/-[^-]+$//; + my @uvers = split ( /\./, $version ); + $uvers[1]++; + $deps = "$package (>= $version), $package (<< ".join(".", @uvers).")"; + } + if (defined( $dh{M_PARAMS})) { + $deps = "$package (>= ".$dh{M_PARAMS}.")"; + } + if (defined( $dh{L_PARAMS})) { + $deps .= ", $package (<< ".$dh{L_PARAMS}.")"; + } + if (defined($library) && + defined($ver) && + defined($deps) && + $library ne '' && + $ver ne '' && + $deps ne '') { + # Prevent duplicate lines from entering the file. + my $line = "$library $ver" . "__$sig $deps"; + + # extra dependencies are to be resolved by dh_clideps, + # don't forward the dependency libs to the apps where it + # does not belong to +# if ( my $extra = extraDeps ($libfile) ) { $line .= ", $extra"; } + if (!$seen{$line}) { + $seen{$line} = 1; + complex_doit("echo '$line' >> $tmp/DEBIAN/clilibs"); + } + } + } + } + close FIND; + + if (-e "$tmp/DEBIAN/clilibs") { + doit("chmod", 644, "$tmp/DEBIAN/clilibs"); + doit("chown", "0:0", "$tmp/DEBIAN/clilibs"); + } +} + +sub extraDeps { + my $config=$_[0].".config"; + my $ret=undef; + + if (!%shlibdata) { + open($fh, "cat /var/lib/dpkg/info/*.shlibs debian/shlibs.local debian/*/DEBIAN/shlibs 2>/dev/null |"); + while (<$fh>) { + /(\S+)\s+(\S+)\s+(\w.*)\n?/; + $shlibdata{"$1.so.$2"} = $3; + } + } + + if (-r $config) { + $config = `cat $config`; + while($config=~s/\Wtarget\W*=\W*(\w[\w.\-\d]+)//) { + $ret.= (", ".$shlibdata{$1}) if(defined($shlibdata{$1})); + } + } + $ret=~s/^, // if $ret; + return $ret; +} + +=head1 SEE ALSO + +L + +This program is a part of cli-common. + +=head1 KNOWN BUGS + +Will possibly not work correctly with DH_COMPAT levels 1 and 2. + +=head1 AUTHOR + +Mirco Bauer , Eduard Bloch , +inspired by dh_makeshlibs by Joey Hess + +=cut --- mono-1.1.13.2.orig/debian/mono-common.dirs +++ mono-1.1.13.2/debian/mono-common.dirs @@ -0,0 +1,3 @@ +usr/bin +usr/share/binfmts +usr/share/dotnet --- mono-1.1.13.2.orig/debian/mono-utils.manpages +++ mono-1.1.13.2/debian/mono-utils.manpages @@ -0,0 +1,6 @@ +debian/man/pedump.1 +debian/man/monodiet.1 +debian/man/monograph.1 +debian/man/mono-find-provides.1 +debian/man/mono-find-requires.1 +debian/tmp/usr/share/man/man1/monodis.1 --- mono-1.1.13.2.orig/debian/mono-gac.install +++ mono-1.1.13.2/debian/mono-gac.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/gacutil +debian/tmp/usr/lib/mono/1.0/gacutil.exe --- mono-1.1.13.2.orig/debian/mono-utils.dirs +++ mono-1.1.13.2/debian/mono-utils.dirs @@ -0,0 +1 @@ +/usr/share/debhelper/autoscripts/ --- mono-1.1.13.2.orig/debian/compat +++ mono-1.1.13.2/debian/compat @@ -0,0 +1 @@ +5 --- mono-1.1.13.2.orig/debian/NEWS +++ mono-1.1.13.2/debian/NEWS @@ -0,0 +1,24 @@ +mono (0.96-1) unstable; urgency=low + + * It has been quite a while since the last Mono release in Debian and + we feel that it's time to announce few things changed in the + meantime: + + - dependencies management and debhelper integration - the new + mono-utils package contains scripts to create and manage dependencies + between the .NET library packages. They work in a similar way to the + .shlibs system in Debian. For more details, see dh_makenetlibs(1), + dh_netdeps(1) and monodoc's rules file as example. + Another script available now is dh_installxsp which will install + snippets of configuration files for XSP packages (HTML/ASP.NET server + and Apache module). + + - the GAC - except of mscorlib.dll, all DLLs are moved into + /usr/share/dotnet hierarchy and are now loaded using the GAC (Global + Assembly Cache) method. This also makes sane versioning possible, + similar to SONAME handling on native shared libraries. + + - see README.Debian for further details about changes and the current + .NET Debian policy + + -- Debian Mono Group Sat, 19 Jun 2004 14:39:08 +0200 --- mono-1.1.13.2.orig/debian/mono-jit.links +++ mono-1.1.13.2/debian/mono-jit.links @@ -0,0 +1 @@ +usr/share/doc/mono-common usr/share/doc/mono-jit --- mono-1.1.13.2.orig/debian/mono-common.prerm +++ mono-1.1.13.2/debian/mono-common.prerm @@ -0,0 +1,7 @@ +#!/bin/sh -e + +if test remove = "$1" && test -x /usr/sbin/update-binfmts ; then + /usr/sbin/update-binfmts --package mono-common --remove cli /usr/bin/cli >/dev/null 2>&1 +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-mcs.prerm +++ mono-1.1.13.2/debian/mono-mcs.prerm @@ -0,0 +1,10 @@ +#!/bin/sh -e + +if [ "$1" = remove ]; then + update-alternatives --remove c-sharp-compiler /usr/bin/mcs + update-alternatives --remove resource-file-generator /usr/bin/resgen + update-alternatives --remove assembly-linker /usr/bin/al + update-alternatives --remove strong-name-tool /usr/bin/sn +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-jit.prerm +++ mono-1.1.13.2/debian/mono-jit.prerm @@ -0,0 +1,7 @@ +#!/bin/sh -e + +if [ "$1" = remove ]; then + update-alternatives --remove cli /usr/bin/mono +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-jay.manpages +++ mono-1.1.13.2/debian/mono-jay.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/jay.1 --- mono-1.1.13.2.orig/debian/mono-common.docs +++ mono-1.1.13.2/debian/mono-common.docs @@ -0,0 +1,3 @@ +README +AUTHORS +NEWS --- mono-1.1.13.2.orig/debian/cli-wrapper +++ mono-1.1.13.2/debian/cli-wrapper @@ -0,0 +1,2 @@ +#!/bin/sh +/usr/bin/cli "$0.exe" "$@" --- mono-1.1.13.2.orig/debian/changelog +++ mono-1.1.13.2/debian/changelog @@ -0,0 +1,730 @@ +mono (1.1.13.2-1ubuntu1) dapper; urgency=low + + * Sync with Debian: + + Use --with-tls=__thread on all archs + + -- Sebastian Dröge Thu, 2 Feb 2006 11:00:37 +0100 + +mono (1.1.13.2-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + debian/control: + - Added arm and armeb to arch lists + + -- Debian Mono Group Sat, 28 Jan 2006 22:57:07 +0100 + +mono (1.1.13.1-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + synced dh_clideps and dh_makeclilibs from cli-common + + debian/rules: + - Added --with-static_mono=no to configure call, else the libmono0 + package would be useless and loading a 1.7mb shared library is not + _that_ slow. + - Removed chrpath hack + + debian/control: + - Updated debhelper build-dep to >= 5.0.0 + - Removed chrpath from build-deps. + - Adjusted some package descriptions. + - Added replaces to mono-gmcs for mono-mcs. + - Added ${misc:Depends} to all arch dep packages. + + debian/mono-jay.manpages: + - Updated path of jay.1 + + debian/mono-common.dirs: + - Added usr/share/dotnet (Closes: #311540) + + debian/mono-gmcs.install: + - Added xbuild + - Added ilasm2 + + debian/libmono0.install: + - Added libMonoSupportW.so + + debian/libmono-dev.install: + - Added libMonoSupportW.a + + -- Debian Mono Group Sat, 14 Jan 2006 17:21:28 +0100 + +mono (1.1.12.1-1) unstable; urgency=low + + * New upstream release (Closes: #344531) + * Mirco 'meebey' Bauer + + debian/control: + - Added libx11-dev and libxt-dev to build-deps. + - Added libgc-dev [kfreebsd-i386] to build-deps. (Closes: #322599) + + debian/rules: + - Added kfreebsd check for configure call. + - Added --with-libgdiplus=installed and --with-x=yes to configure call. + + debian/compat: + - Changed to 5. + + debian/mono-classlib-1.0.install: + - Added usr/lib/mono/compat-1.0/ + - Added usr/lib/pkgconfig/mono-cairo.pc + + debian/mono-classlib-1.0-dbg.install: + - Removed usr/lib/mono/gac/Microsoft.VisualBasic/7.0.*/*.mdb + + debian/mono-classlib-2.0.install: + - Added usr/lib/mono/compat-2.0/ + - Added usr/lib/mono/gac/FirebirdSql.Data.Firebird/1.7.*/ + - Added usr/lib/mono/gac/Microsoft.Build.*/2.*/ + - Removed usr/lib/mono/gac/Microsoft.VisualBasic/8.0.*/*.mdb + + debian/mono-classlib-2.0-dbg.install: + - Added usr/lib/mono/gac/FirebirdSql.Data.Firebird/1.7.*/*.mdb + - Added usr/lib/mono/gac/Microsoft.Build.*/2.*/*.mdb + + -- Debian Mono Group Tue, 27 Dec 2005 12:58:11 +0100 + +mono (1.1.10-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + debian/patches/00list: + - Removed fix_xsp2_inherits, already applied upstream. + - Removed datetime_doparse_fix, already applied upstream. + - Removed s390_compile_fix, already applied upstream. + - Removed 64bit_implicit_pointer_cast_fix, already applied upstream. + + debian/mono-mcs.manpages: + - Added mozroots.1 + + debian/mono-classlib-1.0.install: + - Added dotnet.pc + + debian/control: + - Added libgdiplus to "Recommends" of mono. (Closes: #333851) + + -- Debian Mono Group Sat, 12 Nov 2005 21:54:15 +0200 + +mono (1.1.9.2-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + debian/patches/00list: + - Removed io_layer_fix_r50689, already applied upstream. + - Removed amd64_compile_fix_r50553, already applied upstream. + + debian/mono-utils.install: + - Removed dh_installxsp, postrm-monoxsp and postinst-monoxsp. Those files + will be in the XSP package (mono-xsp-base) instead. + + debian/mono-utils.manpages: + - Removed dh_installxsp.1 + + debian/patches/s390_compile_fix.dpatch: + - Updated the patch, one "break" was missing in an empty default label. + + debian/patches/fix_xsp2_inherits.dpatch: + - Added patch to fix class inheritance with XSP2. + (thanks to Dylan R. E. Moonfire for the patch) + + -- Debian Mono Group Sun, 16 Oct 2005 14:01:28 +0200 + +mono (1.1.9.1-3) unstable; urgency=medium + + * Mirco 'meebey' Bauer + + debian/patches/amd64_compile_fix_r50553.dpatch: + - Backport from upstream's SVN, should fix amd64 build. + (Closes: #330369) + + debian/patches/64bit_implicit_pointer_cast_fix.dpatch: + - Should fix problems with amd64 and ia64 build. + (Closes: #330982, thanks to David Mosberger-Tang + for the patch) + + Synced dh_makeclilibs and dh_clideps from cli-common. + + -- Debian Mono Group Sun, 2 Oct 2005 17:17:19 +0200 + +mono (1.1.9.1-2) unstable; urgency=medium + + * Mirco 'meebey' Bauer + + debian/control: + - Added dc to build-deps, required for full bootstrap (solves FTBFS). + (Closes: #330280) + + debian/rules: + - Making debian/dh_makeclilibs and debian/dh_clideps now executable. + (Closes: #330283) + + debian/patches/io_layer_fix_r50689.dpatch: + - Backport from upstream's SVN, fixes process signalling bug. + + debian/patches/s390_compile_fix.dpatch: + - Backport from upstream's SVN, should fix s390 build. + * Eduard Bloch + + fixed bashisms in maintainer scripts and added removal of rpath (chrpath) + + -- Debian Mono Group Tue, 27 Sep 2005 11:58:34 +0200 + +mono (1.1.9.1-1) unstable; urgency=low + + * The "Mono becomes architecture friendly" release + - Mono 1.1.9 supports now IA-64 and ARM too + * New upstream release + * Mirco 'meebey' Bauer + + debian/readme: + - Removed MonoConventions. + - Added link to CLI Policy. + + debian/rules: + - Deleting more nunit files. + + debian/control: + - Dropped cli-common build dependency. + - Added ia64 arch-dep packages. + + debian/mono-gmcs.install: + - Added monop2. + + debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch: + - Wrote patch to remove a dllmap which was causing that dh_clidep + generates a dependency for libc6. + + Copied dh_makeclilibs and dh_clideps of cli-common to debian/ for + bootstrapping reasons, Mono is now autobuildable. + + Applied patch for binfmt-detector-cli which makes it 64bit clean. + (Closes: #325313, thanks to Colin Watson for the + patch) + + -- Debian Mono Group Sat, 24 Sep 2005 15:51:03 +0200 + +mono (1.1.8.3-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + debian/rules: + - Copying monodis to debian/tmp/usr/bin now, else dh_clideps in + internal-mono mode will fail. + - Copying monograph from mono/monograph/.libs to debian/tmp/usr/bin. + "make install" is still on drugs installing libtool wrapper scripts. + (Closes: #320479) + + debian/mono-utils.install: + - Use monodis from debian/tmp again. + + debian/control: + - Updated versioned cli-common build-dep to >= 0.2.1, this version + will generate proper deps now when using internal-mono mode. + (Closes: #325473) + - Updated to Standards Version 3.6.2.1 (no changes). + + -- Debian Mono Group Fri, 2 Sep 2005 18:42:39 +0200 + +mono (1.1.8.2-1) unstable; urgency=low + + * New upstream release + * Mirco 'meebey' Bauer + + debian/rules: + - Using new feature of cli-common (internal-mono), this allows to use + the built Mono (in debian/) instead of an installed Mono + (thanks to Ingo Saitz for working on this). + + debian/control: + - Added mono-gmcs to "Suggests" of mono-devel. + - Changed "Priority" of mono-classlib-(1.0|2.0)-dbg to extra. + - Changed dependency of mono-classlib-2.0-dbg from mono-classlib-1.0 + to mono-classlib-2.0. + - Updated versioned cli-common build-dep to >= 0.1.4 + - Removed mono-common dependency from many packages (it's not required + and breaks autobuilding of new packages). + - Removed mono-classlib-1.0/2.0 from build-deps. + + -- Debian Mono Group Sun, 10 Jul 2005 16:08:12 +0200 + +mono (1.1.8.1-3) unstable; urgency=low + + * Mirco 'meebey' Bauer + + debian/mono-gmcs.install: + + debian/mono-gmcs.manpages: + - those 2 files were missing, thus the mono-gmcs package was empty. + (Closes: #316742) + + -- Debian Mono Group Sun, 3 Jul 2005 15:51:55 +0200 + +mono (1.1.8.1-2) unstable; urgency=medium + + * Mirco 'meebey' Bauer + + debian/control: + - Added "Replaces" to mono-utils for mono-mcs (<= 1.1.6-4). + This broke upgrading mono packages from 1.1.6 to 1.1.8.1, thus urgency + set to medium. (Closes: #316691) + + -- Debian Mono Group Sun, 3 Jul 2005 12:43:24 +0200 + +mono (1.1.8.1-1) unstable; urgency=low + + * New upstream release + + Fixed DirectoryInfo.GetFiles(), it failed when filename had a backspace + or space at the end. (Closes: #285287) + + With this release we also package the C# 2.0 part, for details see below. + * Mirco 'meebey' Bauer + + debian/mono-mcs.manpages: + - removed monoresgen.1 and prj2make.1 + (the programs for those don't exist in the packages anymore). + + debian/rules: + - disabled 07_no_libc_fun.dpatch + (upstream doesn't use internal libc symbols anymore) + - Deleting prj2make from build + (it is shipped with the prj2make-sharp package). + - Added --preview=yes and --with-ikvm-native=no to ./configure call + (libikvm-native.so is shipped by the ikvm package). + - A lot of changes to make the split of classlib 1.0/2.0 possible. + + debian/control: + - Updated versioned cli-common build-dep to >= 0.1.3 + - Moved libMonoPosixHelper.so from libmono-dev to libmono0, because it's + an unversioned library now. + - Added "Replaces" to libmono0 for libmono-dev (<= 1.1.6-4). + - Renamed mono-assmeblies-base to mono-classlib-1.0 and set "Replaces" + and "Conflicts" for it. + - Added mono-assmeblies-base transistion package. + - Added new packages: mono-gmcs, mono-classlib-2.0, mono-classlib-1.0-dbg + and mono-classlib-2.0-dbg. + - Removed ${cli:Depends} from "Depends" of mono-classlib-1.0. + - Dropped mono-assemblies-arch package, there aren't any arch specific + CIL libraries. + - Changed static depends of mono-mcs to ${cli:Depends} + - Added mono-classlib-1.0 and mono-classlib-2.0 to build-deps + (required for dh_makeclilibs). + + debian/mono-utils.install: + - Using mono/dis/.libs/monodis because the Makefile is confused and + installs a libtool wrapper script instead. + - Added missing /usr/bin/monodiet + - Added new /usr/bin/mono-find-provides and /usr/bin/mono-find-requires + + -- Debian Mono Group Tue, 21 Jun 2005 21:30:36 +0200 + +mono (1.1.6-4) unstable; urgency=low + + * upload to unstable + * Mirco 'meebey' Bauer + + added debian/watch file + + -- Debian Mono Group Sun, 29 May 2005 19:51:35 +0200 + +mono (1.1.6-3) experimental; urgency=low + + * Mirco 'meebey' Bauer + + updated "Section" fields in debian/control. + + added amd64 to the arch fields (Closes: #253542) + (thanks to Kurt Roeckx for testing it on AMD64) + + -- Debian Mono Group Sat, 14 May 2005 18:58:59 +0200 + +mono (1.1.6-2) experimental; urgency=low + + * Mirco 'meebey' Bauer + + removed cli-common from mono-common deps, it's for build-deps. + + updated versioned build-dep of cli-common to >= 0.1.1 + + -- Debian Mono Group Sun, 17 Apr 2005 21:19:58 +0200 + +mono (1.1.6-1) experimental; urgency=low + + * New upstream release + + New version (Closes: #296353, #301268) + + New build system, using one source tarball. + + Almost all programs have a manpage now. + + Mono 1.1.x branch supports AMD64 architecture. + + Remoting is fast again with 1.1.6 + (Closes: #303349) + * Mirco 'meebey' Bauer + + Upstream merged mcs and mono into one mono tarball, this makes the + build process a lot easier. + + Dropping /usr/share/dotnet structure with this release, upstream + provides now a FHS conform solution. + + Added versioned mono-common dependency to mono, makes lintian happy. + + Added cli-common to build-dependencies. + + Added transition code to mono-common.postinst for moving + /usr/share/dotnet/mono to /usr/lib/mono + (thanks to Ingo Saitz aka Salz for helping with this) + + Added c-sharp-compiler, resource-file-generator, assembly-linker, + strong-name-tool, global-assembly-cache-tool and cil-disassembler + alternatives (those are common CLI programs). + + Added mono-devel metapackage. + + Added mono-common dependecy to all related packages. + + Removed a lot of hacks in debian/rules, not required anymore. + + Removed old Conflicts/Replaces. + + Removed icu28-dev from buil-dependencies (ICU is not recommended by + upstream anymore, and does break things). + + Added pkg-config to "Recommends" of mono-mcs. (Closes: #294606) + + created 07_no_libc_fun.dpatch + (Mono 1.1.x tries to use internal libc symbols, which is not required) + + -- Debian Mono Group Sat, 2 Apr 2005 12:48:09 +0200 + +mono (1.0.5-2) unstable; urgency=high + + * Mirco 'meebey' Bauer + + removed mono-mint package and all packages for s390. + The mono-mint (the interpeter) is deprecated, unmaintained upstream + and was just a proof-of-concept programm. + The mono-jit is no longer supported for s390 by upstream in the stable + release and has a lot of bugs on that arch. This prevents Mono to enter + "testing", thus removed. + + -- Debian Mono Group Tue, 15 Feb 2005 22:58:39 +0200 + +mono (1.0.5-1) unstable; urgency=high + + * New upstream release + * Mirco 'meebey' Bauer + + disabled building of .NET 2.0 classlib, because it breaks too much. + Upstream said it should not be used, even Novell does not ship it. + This fixes some very strange bugs, all tested against 1.0.5. + (Closes: #286270, #276464, #287279) + + cleanups in debian/rules + + -- Debian Mono Group Sun, 30 Jan 2005 01:07:36 +0200 + +mono (1.0.4-1) unstable; urgency=high + + * New upstream release + * Mirco 'meebey' Bauer + + removed automake from build-deps + + JIT seems to be stable now (Closes: #258041) + + -- Debian Mono Group Sun, 05 Dec 2004 16:09:32 +0200 + +mono (1.0.2-1) unstable; urgency=high + + * The "All or Nothing" release + * New upstream release (Closes: #273675) + * Mirco 'meebey' Bauer + + applied debian/rules patch to fix FTBFS on i386 with amd64 kernel + (Closes: #265510 thanks to Kurt Roeckx ) + + removed all not official supported architectures + (Closes: #272846, #259680) + + cosmetic cleanups in debian/rules + + -- Debian Mono Group Thu, 11 Oct 2004 21:21:02 +0200 + +mono (1.0.1-1) unstable; urgency=medium + + * New upstream (bugfix) release + + -- Debian Mono Group Thu, 12 Aug 2004 13:46:04 +0200 + +mono (1.0-4) unstable; urgency=medium + + * the "sorry for forgetting the NOT RELEASED YET tags" release + * Mono BSP + * Mirco 'meebey' Bauer + + debian/rules: s390 build should work now + (showstopper for sarge, thus medium urgency) + + debian/control: fixed typo, tuned Architecture field for mono (should + finaly prevent "unallowed" architectures from trying to build mono) + + debian/README.Debian: fixed typo + * Eduard Bloch + + --with-ntpl=no! When compiled with NTPL support, it still breaks on + kernel 2.4 though not using the other libs (closes: #256755, #257412) + + patched Makefiles to link explicitely with glib and dl, thanks to + Russ Allbery (closes: #262023) + + disabled mono-mint build for i386 and powerpc, upstream wish + + -- Debian Mono Group Sun, 08 Aug 2004 16:38:32 +0200 + +mono (1.0-3) unstable; urgency=low + + * NOT RELEASED YET + + -- Eduard Bloch Wed, 7 Jul 2004 19:03:57 +0200 + +mono (1.0-2) unstable; urgency=medium + + * Eduard Bloch + + Workarounds for FTBFS on architectures that have we already built for in + the past + + dh_makenetlibs: extremely ugly workaround for collecting library data + even when not the whole assembly chain works (we need something more + mature than monodis to do this; closes: #258040) + + -- Debian Mono Group Wed, 07 Jul 2004 18:53:32 +0200 + +mono (1.0-1) unstable; urgency=low + + * New upstream release (1.0 final) + * Mirco 'meebey' Bauer + + debian/rules: cleanup + + -- Debian Mono Group Mon, 30 Jun 2004 18:41:27 +0200 + +mono (0.97-1) unstable; urgency=medium + + * New upstream release (Release Candidate) + + basicaly a bugfix release, solves JIT crash problems with kernel 2.4.x + (closes: #255485, #256200), thus this urgency + * Eduard Bloch + + Added libMonoPosixHelper... to libmono... packages (closes: #256697) + + monosn is gone, using sn to get the signature strings now + + set alternative dependency on mono-assemblies-base-0.96, + apparently compatible + + -- Debian Mono Group Mon, 28 Jun 2004 01:14:32 +0200 + +mono (0.96-1) unstable; urgency=low + + * New upstream release + * Eduard Bloch + + setting virtual ".shlibs" for libmono via provides, currently + libmono-0.96 + + created new dh_makenetlibs and dh_netdeps tools to manage assembly + dependencies in the Perl/Python way + + Moved Pablo's dh_installxsp script to mono-utils to mono-utils + + mono-common.preinst now moves /usr/lib/mono directory (if exists) to + /usr/share/dotnet + + moved the check for mono-vs.-mint priority to debian/rules + + applied the patch (as dpatch) from Jackson Harper, + http://bugzilla.ximian.com/showattachment.cgi?attach_id=8206 to fix the + monodis segfault while operating on unresolved assembly references + * Mirco 'meebey' Bauer + + New upstream release updates + + enabled preview features (.NET 1.2, generics) + * Michael Schiansky + + Since beta1 (0.91) dllmaps are handled cleanly (Closes: #241686) + * Pablo Fischer + + Added autoscript support to dh_installxsp + + -- Debian Mono Group Sat, 19 Jun 2004 14:38:57 +0200 + +mono (0.91-1) unstable; urgency=low + + * New upstream release (Closes: Bug#249419) + * JIT is more stable now (Closes: Bug#238420) + * FTBFS fixes for sparc in rules/control + * added s390 architecture to mono-jit, libmono0 and libmono-dev + * documented supported architectures in README.Debian + + -- Mirco 'meebey' Bauer Sun, 02 May 2004 19:19:22 +0200 + +mono (0.31-2) unstable; urgency=low + + * kernel detection overridden to build 2.4 compatible version + (closes: #243928, #243940) + * DLL map updates (closes: #241686) + * README.Debian updated with latest MonoConventions + + -- Eduard Bloch Wed, 7 Apr 2004 01:39:55 +0200 + +mono (0.31-1) unstable; urgency=low + + * New upstream release + * Eduard Bloch + + added additional entries to the hard-coded DLL map (closes: #236782) + + included experimental patch for build failures on HPPA (partial fix + for #240272) + + -- Eduard Bloch Tue, 6 Apr 2004 09:44:35 +0200 + +mono (0.30.2-1) unstable; urgency=low + + * New upstream release + * Eduard Bloch: + + debian/control: limited "any" arch lists to those really supported by the + Mono project. libmono0(-dev) to i386 powerpc (closes: #235315) + + added a workaround for gnomeui-2 symbolic name (closes: #235946) + + deleting the alternatives entries only on removal (closes: #234815) + + -- Eduard Bloch Sat, 6 Mar 2004 13:15:43 +0100 + +mono (0.30.1-1) unstable; urgency=low + + * New upstream release + * SONAME wokraround for libgstreamer-0.6.so.1 + + -- Eduard Bloch Tue, 24 Feb 2004 18:15:49 +0100 + +mono (0.29.99.20040114-4) unstable; urgency=low + + * Eduard Bloch: + + catch-them-all cli-wrapper rewrite + + set mono-common conflict with the virtual package cli-common + * Teófilo Ruiz Suárez: + + removed libicu26-dev from Build-Depends so mono-jit don't depend on + libicu26 (Closes: #231966) + + -- Eduard Bloch Mon, 9 Feb 2004 00:23:40 +0100 + +mono (0.29.99.20040114-3) unstable; urgency=low + + * bugfix release, hopefully the last of 0.29* series + * Teófilo Ruiz Suárez: + + added automake1.7 to Build-Deps + * Eduard Bloch: + + Included modified icu-config to use libicu26-dev + + added libtool to Build-Deps (closes: #231271) + + hook to correct SONAMEs in /etc/mono/config file (Closes: #231191) + + included a generic binary wrapper to mono-common to be used as + PROGRAM to run /usr/bin/PROGRAM.exe with /usr/bin/cli + + -- Eduard Bloch Thu, 22 Jan 2004 00:57:56 +0100 + +mono (0.29.99.20040114-2) unstable; urgency=low + + * Finally closing the outstanding ITPs (closes: #132882) + * Maintainer mailing list address fixed + * libmint* removed (upstream request, considered as dead-end package) + * improved description, added pedump to mono-utils, dropped monosn (upstream + request) + + -- Eduard Bloch Sun, 18 Jan 2004 19:15:41 +0100 + +mono (0.29.99.20040114-1) unstable; urgency=low + + * New maintainer: Debian Mono maintainers + after the previous maintainers stoped the work on it + * Package descriptions written or improved + * Library package separation to follow the shared libs conventions + (libmono and libmono-profiler-... seem to belong together, though) + * libmono-dev depends on libmint-dev since the last contains the headers and + is available on all supported arches + * Package renaming to avoid confusion (mono in mono-jit, mint in mono-mint) + * merged binfmt-detector-cli and mono-common since they were already linked + together and another 3kB package makes no much sense + * limited the arch list to those officially supported by the Mono Project + * Adapted the /usr/share/doc/mono-interpreter (now -mint) fixing hooks + + -- Eduard Bloch Sun, 18 Jan 2004 19:11:04 +0100 + +mono (0.26-2) unstable; urgency=low + + * No longer depend on an external libgc + + -- Alp Toker Tue, 26 Aug 2003 23:27:11 +0100 + +mono (0.26-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Fri, 15 Aug 2003 15:41:38 +0100 + +mono (0.24-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Wed, 7 May 2003 02:53:40 +0100 + +mono (0.23-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Fri, 7 Mar 2003 20:32:37 +0000 + +mono (0.22-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Thu, 6 Mar 2003 22:52:19 +0000 + +mono (0.21-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Thu, 27 Feb 2003 22:55:33 +0000 + +mono (0.20-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Mon, 24 Feb 2003 01:09:34 +0000 + +mono (0.19-3) unstable; urgency=low + + * Build libmono as a shared object (needed for mod_mono) + + -- Alp Toker Sat, 25 Jan 2003 05:26:44 +0000 + +mono (0.19-2) unstable; urgency=low + + * Build against the new libgc6c102 + * Pipe binfmt-misc warnings to /dev/null + + -- Alp Toker Tue, 21 Jan 2003 07:17:12 +0000 + +mono (0.19-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Tue, 21 Jan 2003 00:05:56 +0000 + +mono (0.18-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Mon, 13 Jan 2003 17:16:34 +0000 + +mono (0.17-3) unstable; urgency=low + + * Include machine.config and anything else that goes in /etc/mono + + -- Alp Toker Tue, 17 Dec 2002 14:23:30 +0000 + +mono (0.17-2) unstable; urgency=low + + * Disable exuberant debugging in PPC trampoline code + + -- Alp Toker Mon, 16 Dec 2002 17:58:56 +0000 + +mono (0.17-1) unstable; urgency=low + + * New upstream release + + -- Alp Toker Tue, 10 Dec 2002 14:13:18 +0000 + +mono (0.16-1) unstable; urgency=low + + * New upstream version. Sorry I havn't been doing any CVS snapshots for + a month. I'll try and sort something out. + * Include a patch from Michel Danzer to fix + idiotic build failure on non-i386 arches. + * Install /etc/mono/config and the manpage in the mono-common package, + and add a replaces for smooth upgrades (mono-config.5 used to be in + the mono-jit package). + * Switch from setting prefix to DESTDIR so /etc works too. + * Added some {}s to monoburg.y to make it parse correctly. Thanks to + Zoltan Varga's message on mono-list. + * Added data/config to the list of files that need to be cleaned + manually. + + -- Robert McQueen Sat, 19 Oct 2002 16:16:08 +0100 + +mono (0.15-1) unstable; urgency=low + + * New upstream version. + + -- Robert McQueen Sat, 24 Aug 2002 00:36:34 +0100 + +mono (0.13-3) unstable; urgency=low + + * Pass --disable-shared to configure, and link mono-jit statically. + * This turned out to be broken. Thanks to Dick Porter for putting up + with me moaning about libtool combinations for a day, and for fixing + it with the correct method I absolutely failed to see. Applied his + patch for this, should hit CVS soon or I'll back it out. + * Ship only a static libmono-dev for people interested in embedding. + Shared lib is useless because the API is massively unstable. + * Conflict the -dev with the old libmono0 until it is deemed useful + again. + * Change -a to -s in the binary-arch target so debhelper will only + build arch-specific packages if they're available on the build arch. + * Added mono-config.5 manpage to mono-jit package, and libmono.la and + pkg-config/mono files to libmono-dev package. + + -- Robert McQueen Wed, 14 Aug 2002 23:07:40 +0100 + +mono (0.13-2) unstable; urgency=low + + * Holiday maintainer upload. =) + * Switched to pristine upstream source tarball. + * Cleaned up debian/rules file, separated binary-arch/binary-indep + targets for builds on other arches. + * Stole the makefile magic from galeon (I did help write it =) to + automatically run configure or autogen.sh depending on whether we're + building from CVS or not, and then do the correct clean command + later. + * At the advice of Ximian folk, don't provide libmono0/libmono-dev for + the moment - the API is unstable. + * For when it does return... install the .a into libmono-dev and make + it arch: any. + * Include libmono.so.0 and libmono.so.0.0.0 into the mono-jit package. + These will be returned to a seperate package, and headers and static + libraries provided, when libmono's API is stable. To ease + transition, added a Replaces: header. + * Made mono-common arch: all, it contains no binaries currently. + * Leave out cil-opcodes.xml unless someone complains. + * Install documentation in mono-common, and have packages that depend + on it symlink to there instead. Made mono depend directly on + mono-common to prevent lintian griping about this. Added code to + postinsts of mono, mono-jit and mono-interpreter remove their doc + dir and replace it with a symlink on upgrades. Dpkg will not replace + a directory with a symlink, even if it's empty. + * Added -e to /bin/sh in the maintainer scripts. + * Don't ship monostyle.1 and monoburg.1 manpages, the programs are in + the mcs package and we don't ship them currently. + * Added undocumented symlink for monograph.1. + * Added rm to clean target for spare Makefiles left behind. + + -- Robert McQueen Sun, 4 Aug 2002 00:57:15 +0100 + +mono (0.13-1) unstable; urgency=low + + * Initial release. + + -- Alp Toker Sun, 28 Apr 2002 22:10:10 +0100 --- mono-1.1.13.2.orig/debian/mono.links +++ mono-1.1.13.2/debian/mono.links @@ -0,0 +1 @@ +usr/share/doc/mono-common usr/share/doc/mono --- mono-1.1.13.2.orig/debian/mono-gmcs.manpages +++ mono-1.1.13.2/debian/mono-gmcs.manpages @@ -0,0 +1,5 @@ +debian/man/gmcs.1 +debian/man/wsdl2.1 +debian/man/monop2.1 +debian/man/ilasm2.1 +debian/man/xbuild.1 --- mono-1.1.13.2.orig/debian/mono-gac.manpages +++ mono-1.1.13.2/debian/mono-gac.manpages @@ -0,0 +1 @@ +debian/tmp/usr/share/man/man1/gacutil.1 --- mono-1.1.13.2.orig/debian/mono-utils.prerm +++ mono-1.1.13.2/debian/mono-utils.prerm @@ -0,0 +1,7 @@ +#!/bin/sh -e + +if [ "$1" = remove ]; then + update-alternatives --remove cil-disassembler /usr/bin/monodis +fi + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-mcs.install +++ mono-1.1.13.2/debian/mono-mcs.install @@ -0,0 +1,2 @@ +debian/tmp/usr/bin/ +debian/tmp/usr/lib/mono/1.0/*.exe* --- mono-1.1.13.2.orig/debian/dh_clideps +++ mono-1.1.13.2/debian/dh_clideps @@ -0,0 +1,320 @@ +#!/usr/bin/perl -w + +=head1 NAME + +dh_clideps - calculates CLI (.NET) dependencies + +=cut + +use strict; +use File::Find; +use File::Temp; +use Debian::Debhelper::Dh_Lib; + +#eval 'use Debian::Debhelper::Dh_Lib'; +#print "You need to install the debhelper package in order to use this program!" if $@; + +=head1 SYNOPSIS + +B [S>] + +=head1 DESCRIPTION + +dh_clideps is a debhelper program that is responsible for generating the +${cli:Depends} substitutions and adding them to substvars files. + +The program will look at .dll/.exe and .config files in your package, and +will use the embedded dependency information to generate a dependency +string on assembly and shared libs packages, including the setting of +version ranges (as declared by the shlibs/clilibs files of the used +packages). The dependency on a certain CLR (.NET runtime) version will be +also added to the final variable. + +Note: the dependencies on shared libraries may be not resolved correctly +if there are no .config files associated with the the .exe/.dll file +which refers to the particular shared library (by its SONAME). + +If you use this program, your package should build-depend on cli-common +(>= 0.2.0). + +=head1 OPTIONS + +=over 4 + +=item B<-d> + +Attempt to predict and avoid duplicates that may appear if you package +both, native shared libraries and DLL assemblies in one package. +The list of possibly duplicating candidates is expected to be in the +variable shlib:Depends from debian/package.substvars. + +=item B<-r> + +Don't set a strong versioned dependency on mono-jit or other CLR packages. +This option can be used to specify a relaxed dependency on the VM +by-hand in the control file, eg. "mono-jit | cli-virtual-machine". + +=item B + +Uses the mono runtime in . (used for bootstrapping mono packages) + +=cut + +init(); + +my $clr; +my $cli = '/usr/bin/cli'; +my $cli_version = `$cli --version 2>&1`; +my $cli_parser; + +if (defined($ARGV[0]) && $ARGV[0] eq "internal-mono") { + $clr = "mono"; + my $pwd=`pwd`; + chomp $pwd; + $cli_parser = "LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib MONO_PATH=$pwd/debian/tmp/usr/lib/mono/1.0:$pwd/debian/tmp/usr/lib/mono/2.0 $pwd/debian/tmp/usr/bin/monodis"; + $cli_version = `LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib $pwd/debian/tmp/usr/bin/mono --version 2>&1`; + verbose_print("Will use built Mono (debian/tmp/usr/bin/monodis) for CIL parsing."); +} elsif (-x "/usr/bin/monodis") { + $clr = "mono"; + $cli_parser = "/usr/bin/monodis"; + verbose_print("Will use Mono (/usr/bin/monodis) for CIL parsing."); +} elsif (-x "/usr/bin/ildasm") { + $clr = "pnet"; + $cli_parser = "/usr/share/cli-common/ildasm-monodis"; + verbose_print("Will use Portable.NET (/usr/bin/ildasm) for CIL parsing."); +} else { + error("Could not find a CIL disassembler, aborting."); +} + +{ + local $/=""; + open(FILE, 'debian/control'); + my @filedata = ; + close(FILE); + if (!($filedata[0] =~ /Build-Depends(-Indep)?: .*cli-common \(>= 0\.2\.0\)/)) { + warning("Warning! No Build-Depends(-Indep) on cli-common (>= 0.2.0)!"); + } +} + +if (!defined $cli_version || $cli_version eq "" ) { + warning("Warning! No CLR is installed. (Probably forgot to Build-Depend on cli-virtual-machine.)"); +} else { + if ($clr eq "mono") { + if ($cli_version =~ /(mint|version)\ ([\d\.]+)/) { + $cli_version = "$2"; + } else { + error("Unable to parse Mono version out of \"$cli_version\"."); + } + } elsif ($clr eq "pnet") { + if ($cli_version =~ /ILRUN\ ([\d\.]+)/) { + $cli_version = "$1"; + } else { + error("Unable to parse Portable.NET version out of \"$cli_version\"."); + } + } else { + error("Unable to detect CLR, aborting."); + } +} + +# Cleaning the paths given on the command line +foreach (@ARGV) { + s#/$##; + s#^/##; +} + +my $fh; +my %libdata; +open($fh, "cat /var/lib/dpkg/info/*.clilibs debian/*/DEBIAN/clilibs 2> /dev/null |"); +while (<$fh>) { + /(\S+)\s+(\S+)\s+(\w.*)\n?/; + $libdata{"$1/$2"} = $3; +} + +my %shlibdata; + +foreach my $package (@{$dh{DOPACKAGES}}) { + my $tmp = tmpdir($package); + my %deps; + my @depkgs; + my $found_exe = 0; + my $needs_net_1_0 = 0; + my $needs_net_2_0 = 0; + + delsubstvar($package, "cli:Depends"); # for idempotency + + # find binaries + find (sub { + return unless -f and /\.(exe|dll)$/; + my $vers; + my $file = $_; + if (/\.exe$/) { + $found_exe = 1; + } + my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1); + my $command = "LANG=C $cli_parser --assemblyref $file 2>&1 > $tmpfile"; + + system($command); + if ($?) { + my $output; + { + local *F; + open(F, $tmpfile); + local $/; + $output = ; + close(F); + } + error("cli_parser call failed: '".$command."' rc: $? output: $output"); + return; + } + + if (my $extra = extraDeps($file)) { + push(@depkgs, $extra); + } + our($vers, $name, $key); + local *F; + open(F, $tmpfile); + while () { + $vers = $1 if /Version=(.*)\n/; + $name = $1 if /Could not find assembly ([^,]+),/; + $name = $1 if /Name=(.*)\n/; + $vers = "$1.$2" if /Major\/Minor:\s*(\d+),(\d+)/; + $vers .= ".$1.$2" if /Build:\s*(\d+),(\d+)/; + + if (/0x\S+:.([ABCDEF0123456789 ]+)\n/ || /Token:\s*(\w+)/) { + $key = $1; + $key =~ s/\ //g; + $key = $vers . "__" . lc($key); + my $compat = "$name/$key"; + if (!defined($libdata{$compat})) { + warning("Warning! No Debian dependency data for $name ($key)!"); + } else { + push(@depkgs, $libdata{$compat}); + } + #print "ok, ".$deps{ "$name/$vers" . "__" . lc($key) }; + + if ($name eq "mscorlib") { + if ($vers eq "1.0.5000.0") { + $needs_net_1_0 = 1; + } elsif ($vers eq "2.0.3600.0") { + $needs_net_2_0 = 1; + } elsif ($vers eq "2.0.0.0") { + $needs_net_2_0 = 1; + } else { + warning("Warning! Unknown mscorlib version: $vers!"); + } + } + } + } + close(F); + }, $tmp); + + my %depkgsFiltered; + for (@depkgs) { + for (split(/\s*,\s*/, $_ )) { + # filter dupes and don't depend on this package + /^(\S+)/; + if ($1 ne $package) { + $depkgsFiltered{$_} = 1; + } + } + } + # now filter the dupes coming from shlibs + if (defined($dh{D_FLAG})) { + if (open($fh, "< debian/$package.substvars" )) { + while (<$fh>) { + if (/^shlibs:Depends=(.*)\n?/) { + for (split(/\s*,\s*/, $1)) { + delete $depkgsFiltered{$_}; + } + } + } + } else { + verbose_print("Could not read debian/$package.substvars"); + } + } + + my $deps; + if (!defined($dh{R_FLAG}) && $found_exe) { + if ($clr eq "mono") { + if ($needs_net_2_0) { + $deps = "mono-jit (>= 1.1.8.1-1)"; + } elsif ($needs_net_1_0) { + $deps = "mono-jit (>= 1.0)"; + } else { + $deps = "mono-jit (>= $cli_version)"; + } + } elsif ($clr eq "pnet") { + $deps = "pnet-interpreter (>= $cli_version)"; + } + } + + $deps .= join(", ", "", + sort { + # beautify the sort order, requested by meebey + my $apkg; + $a=~/^\S+/; + $apkg=$&; + $b=~/^\S+/; + if($apkg eq $&) { + return -1 if( ($a=~/>=/) && ($b=~/<=/) && ($a=~/</dev/null |"); + while (<$fh>) { + /(\S+)\s+(\S+)\s+(\w.*)\n?/; + $shlibdata{"$1.so.$2"} = $3; + } + } + + if (-r "$file.config" && + `cat $file.config` =~ /dll=\W*$name[^>]+\Wtarget\W*=\W*(\w[\w.\-_\d]+)/ && + defined( $shlibdata{$1})) { + $$outRef = $shlibdata{$1}; + return 1; + } + return 0; +} + +sub extraDeps { + my $config=$_[0].".config"; + return undef if (! -r $config); + my $ret=undef; + + if (!%shlibdata) { + open($fh, "cat /var/lib/dpkg/info/*.shlibs debian/shlibs.local debian/*/DEBIAN/shlibs 2>/dev/null |"); + while (<$fh>) { + /(\S+)\s+(\S+)\s+(\w.*)\n?/; + $shlibdata{"$1.so.$2"} = $3; + } + } + + $config = `cat $config`; + while ($config=~s/\Wtarget\W*=\W*(\w[\w.\-\d]+)//) { + $ret.= (", ".$shlibdata{$1}) if(defined($shlibdata{$1})); + } + $ret =~ s/^, // if $ret; + return $ret; +} + +=head1 SEE ALSO + +L + +This program is a part of cli-common. + +=head1 AUTHOR + +Mirco Bauer , Eduard Bloch , +partialy based on code from Brendan O'Dea . + +=cut --- mono-1.1.13.2.orig/debian/mono-classlib-1.0-dbg.install +++ mono-1.1.13.2/debian/mono-classlib-1.0-dbg.install @@ -0,0 +1,9 @@ +debian/tmp/usr/lib/mono/gac/*/1.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/ByteFX.Data/0.7.6.1*/*.mdb +debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/0.6.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.JScript/7.0.*/*.mdb +#debian/tmp/usr/lib/mono/gac/Microsoft.VisualBasic/7.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.VisualC/7.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.Vsa/7.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/cscompmgd/7.0.*/*.mdb +debian/tmp/usr/lib/mono/1.0/mscorlib.dll.mdb --- mono-1.1.13.2.orig/debian/mono-jay.install +++ mono-1.1.13.2/debian/mono-jay.install @@ -0,0 +1 @@ +debian/tmp/usr/bin/jay --- mono-1.1.13.2.orig/debian/icu-test.cs +++ mono-1.1.13.2/debian/icu-test.cs @@ -0,0 +1,11 @@ + +public class MainClass +{ + public static void Main() + { + System.Console.WriteLine("This should output (depending in your locales) something like:"); + System.Console.WriteLine("\"Thursday, 27 May 2004 22:14:01\""); + System.Console.WriteLine("Actual Output:"); + System.Console.WriteLine("\""+System.DateTime.Now.ToString("F")+"\""); + } +} --- mono-1.1.13.2.orig/debian/mono-classlib-2.0-dbg.install +++ mono-1.1.13.2/debian/mono-classlib-2.0-dbg.install @@ -0,0 +1,12 @@ +debian/tmp/usr/lib/mono/gac/*/2.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/ByteFX.Data/0.7.6.2*/*.mdb +debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.6.*/*.mdb +debian/tmp/usr/lib/mono/gac/FirebirdSql.Data.Firebird/1.7.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.JScript/8.0.*/*.mdb +#debian/tmp/usr/lib/mono/gac/Microsoft.VisualBasic/8.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.VisualC/8.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.Vsa/8.0.*/*.mdb +debian/tmp/usr/lib/mono/gac/Microsoft.Build.*/2.*/*.mdb +debian/tmp/usr/lib/mono/gac/Mono.C5/0.5.*/*.mdb +debian/tmp/usr/lib/mono/gac/cscompmgd/8.0.*/*.mdb +debian/tmp/usr/lib/mono/2.0/mscorlib.dll.mdb --- mono-1.1.13.2.orig/debian/mono-jit.install +++ mono-1.1.13.2/debian/mono-jit.install @@ -0,0 +1 @@ +debian/tmp/usr/bin/mono --- mono-1.1.13.2.orig/debian/mono-common.install +++ mono-1.1.13.2/debian/mono-common.install @@ -0,0 +1,2 @@ +debian/tmp/etc/mono +debian/tmp/usr/share/mono/cil/cil-opcodes.xml --- mono-1.1.13.2.orig/debian/mono-gmcs.install +++ mono-1.1.13.2/debian/mono-gmcs.install @@ -0,0 +1,7 @@ +debian/tmp/usr/bin/gmcs +debian/tmp/usr/bin/wsdl2 +debian/tmp/usr/bin/monop2 +debian/tmp/usr/bin/ilasm2 +debian/tmp/usr/bin/xbuild +debian/tmp/usr/lib/mono/2.0/*.exe* +debian/tmp/usr/lib/mono/xbuild/ --- mono-1.1.13.2.orig/debian/mono-classlib-1.0.install +++ mono-1.1.13.2/debian/mono-classlib-1.0.install @@ -0,0 +1,12 @@ +debian/tmp/usr/lib/mono/gac/*/1.0.*/ +debian/tmp/usr/lib/mono/gac/ByteFX.Data/0.7.6.1*/ +debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.JScript/7.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.VisualBasic/7.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.VisualC/7.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.Vsa/7.0.*/ +debian/tmp/usr/lib/mono/gac/cscompmgd/7.0.*/ +debian/tmp/usr/lib/mono/1.0/ +debian/tmp/usr/lib/mono/compat-1.0/ +debian/tmp/usr/lib/pkgconfig/dotnet.pc +debian/tmp/usr/lib/pkgconfig/mono-cairo.pc --- mono-1.1.13.2.orig/debian/mono-classlib-2.0.install +++ mono-1.1.13.2/debian/mono-classlib-2.0.install @@ -0,0 +1,13 @@ +debian/tmp/usr/lib/mono/gac/*/2.0.*/ +debian/tmp/usr/lib/mono/gac/ByteFX.Data/0.7.6.2*/ +debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.*/ +debian/tmp/usr/lib/mono/gac/FirebirdSql.Data.Firebird/1.7.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.JScript/8.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.VisualBasic/8.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.VisualC/8.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.Vsa/8.0.*/ +debian/tmp/usr/lib/mono/gac/Microsoft.Build.*/2.*/ +debian/tmp/usr/lib/mono/gac/Mono.C5/0.5.*/ +debian/tmp/usr/lib/mono/gac/cscompmgd/8.0.*/ +debian/tmp/usr/lib/mono/2.0/ +debian/tmp/usr/lib/mono/compat-2.0/ --- mono-1.1.13.2.orig/debian/mono-utils.postint +++ mono-1.1.13.2/debian/mono-utils.postint @@ -0,0 +1,7 @@ +#!/bin/sh -e + +update-alternatives \ + --install /usr/bin/cli-ildasm cil-disassembler /usr/bin/monodis 10 \ + --slave /usr/share/man/man1/cli-ildasm.1.gz cli-ildasm.1.gz /usr/share/man/man1/monodis.1.gz + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/cli-wrapper.c +++ mono-1.1.13.2/debian/cli-wrapper.c @@ -0,0 +1,67 @@ +#include +#include +#include +#include +#include +#include +#include +#include + +extern int errno; +extern char **environ; + +#define cmd args[1] +#define NAME_ISREG(name) \ + ((! stat(name,&si)) && \ + S_ISREG((&si)->st_mode)) + +/* extend monopath to the default lib path */ +#define usdl "/usr/share/dotnet/lib" +#define mypaths "/usr/bin:/usr/share/dotnet/bin:/usr/share/dotnet:/usr/lib/dotnet/bin:/usr/lib/dotnet" + +int main(int argc, char **argv){ + char *exName; + char *args[argc+2]; + struct stat si; + char **runpaths=NULL; + char *monopath=NULL; + char *foo; + + memcpy(args+sizeof(char), argv, sizeof(char *) * argc); + args[argc+1]=NULL; + args[0]=argv[0]; + exName = strrchr(argv[0], '/'); + if(!exName) exName = argv[0]; else exName++; + cmd = (char *) calloc( 512, sizeof(char)); + /* Done. exName has the binary name, look for it and write result to cmd */ + + monopath = getenv ("MONO_PATH"); + /* only split to runpaths when found */ + foo = monopath ? + g_strjoin(G_SEARCHPATH_SEPARATOR_S, monopath, mypaths, NULL) : + mypaths; + + //printf("bla, %s\n", foo); + + runpaths = g_strsplit (foo, G_SEARCHPATH_SEPARATOR_S, 1000); + + while(*runpaths) { + snprintf(cmd, 511, "%s/%s.exe", *runpaths, exName); + if(NAME_ISREG(cmd)) { + if(monopath) setenv("MONO_PATH", g_strjoin(G_SEARCHPATH_SEPARATOR_S, monopath, *runpaths, usdl, NULL), 1); + else setenv("MONO_PATH", g_strjoin(G_SEARCHPATH_SEPARATOR_S, *runpaths, usdl, NULL), 1); + return execve("/usr/bin/cli",args,environ); + } + snprintf(cmd, 511, "%s/%s/%s.exe", *runpaths, exName, exName); + if(NAME_ISREG(cmd)) { + if(monopath) setenv("MONO_PATH", g_strjoin(G_SEARCHPATH_SEPARATOR_S, monopath, g_strjoin("/", *runpaths, exName, NULL), usdl, NULL), 1); + else setenv("MONO_PATH", g_strjoin(G_SEARCHPATH_SEPARATOR_S, g_strjoin("/", *runpaths, exName, NULL), usdl, NULL), 1); + return execve("/usr/bin/cli",args,environ); + } + runpaths++; + } + + /* should never be reached */ + errno = ENOENT; + return(-1); +} --- mono-1.1.13.2.orig/debian/libmono0.shlibs.in +++ mono-1.1.13.2/debian/libmono0.shlibs.in @@ -0,0 +1,2 @@ +libmono 0 libmono0 (= _VERSION_) +libmono-profiler-cov 0 libmono0 (= _VERSION_) --- mono-1.1.13.2.orig/debian/copyright +++ mono-1.1.13.2/debian/copyright @@ -0,0 +1,69 @@ +This package was re-debianized and merged with "mcs" by +Mirco Bauer . + +This package was debianized by Alp Toker using the Monodeb +build system. + +It was downloaded from http://www.mono-project.com/Downloads + +Upstream Authors: +Miguel de Icaza (miguel@ximian.com) +Paolo Molaro (lupus@ximian.com) +Dietmar Maurer (dietmar@ximian.com) + +C# Compiler: + Miguel de Icaza (miguel@ximian.com) + +Class Libraries: + Patrik Torstensson + Gaurav Vaish + Jeff Stedfast (fejj@ximian.com) + Joe Shaw (joe@ximian.com) + Miguel de Icaza (miguel@ximian.com) + Sean MacIsaac (macisaac@ximian.com) + Vladimir Vukicevic (vladimir@ximian.com) + Garrett Rooney (rooneg@electricjellyfish.net) + Bob Smith (bob@thestuff.net) + John Barnette (jbarn@httcb.net) + +Copyright: + +The C# Compiler is released under the terms of the GNU GPL. +On Debian systems, the complete text of the GNU General Public +License can be found in /usr/share/common-licenses/GPL file. + +The class libraries are released under the terms of the MIT X11 +license: + +Copyright (c) 2001-2005 Novell + +Permission is hereby granted, free of charge, to any person obtaining a +copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be included +in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY +CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, +TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE +SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +The Mono runtime and the Mono C# Compiler are also available under a +proprietary license for those who can not use the LGPL and the GPL in +their code. + +The package contains an additional tool called binfmt-detector-cli +(Upstream author: Ilya Konstantinov ). + +Copyright: + +Distributed on the terms of the GNU General Public License which can +be found in the file /usr/share/common-licenses/GPL on Debian systems. --- mono-1.1.13.2.orig/debian/MAINTAINERS +++ mono-1.1.13.2/debian/MAINTAINERS @@ -0,0 +1,6 @@ +The Debian Mono Group maintains the Mono packages in Debian. +In this group are prefered maintainers for certain packages. + +Current maintainers of the "mono" packages are: + +Debian Mono Group --- mono-1.1.13.2.orig/debian/mono-mcs.postinst +++ mono-1.1.13.2/debian/mono-mcs.postinst @@ -0,0 +1,19 @@ +#!/bin/sh -e + +update-alternatives \ + --install /usr/bin/cli-csc c-sharp-compiler /usr/bin/mcs 10 \ + --slave /usr/share/man/man1/cli-csc.1.gz cli-csc.1.gz /usr/share/man/man1/mcs.1.gz + +update-alternatives \ + --install /usr/bin/cli-resgen resource-file-generator /usr/bin/resgen 10 \ + --slave /usr/share/man/man1/cli-resgen.1.gz cli-resgen.1.gz /usr/share/man/man1/resgen.1.gz + +update-alternatives \ + --install /usr/bin/cli-al assembly-linker /usr/bin/al 10 \ + --slave /usr/share/man/man1/cli-al.1.gz cli-al.1.gz /usr/share/man/man1/al.1.gz + +update-alternatives \ + --install /usr/bin/cli-sn strong-name-tool /usr/bin/sn 10 \ + --slave /usr/share/man/man1/cli-sn.1.gz cli-sn.1.gz /usr/share/man/man1/sn.1.gz + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-gac.posint +++ mono-1.1.13.2/debian/mono-gac.posint @@ -0,0 +1,7 @@ +#!/bin/sh -e + +update-alternatives \ + --install /usr/bin/cli-gacutil global-assembly-cache-tool /usr/bin/gacutil 10 \ + --slave /usr/share/man/man1/cli-gacutil.1.gz cli-gacutil.1.gz /usr/share/man/man1/gacutil.1.gz + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/mono-utils.install +++ mono-1.1.13.2/debian/mono-utils.install @@ -0,0 +1,6 @@ +debian/tmp/usr/bin/pedump +debian/tmp/usr/bin/monodis /usr/bin/ +debian/tmp/usr/bin/monograph +debian/tmp/usr/bin/monodiet +debian/tmp/usr/bin/mono-find-provides +debian/tmp/usr/bin/mono-find-requires --- mono-1.1.13.2.orig/debian/README.Debian +++ mono-1.1.13.2/debian/README.Debian @@ -0,0 +1,106 @@ +Mono for Debian +--------------- + +1. Documentation can be found in the separated monodoc packages. + +2. Supported Processor Architectures for Mono 1.0.x + JIT: + Linux/x86 + Linux/PPC + MacOS/PPC + + Interpreter (deprecated/unmaintained): + Linux/x86 + Linux/PPC + HP-UX/HPPA + S390 + StrongARM + SPARC + SPARC v9 + + Supported Processor Architectures for Mono 1.1.x + JIT: + Linux/x86 + Linux/AMD64 + Linux/PPC + Linux/S390 + Linux/SPARC + + Interpreter (deprecated/unmaintained): + - + +3. Typical problems: +3a. Purge your ~/.wapi directory if you see messages like: + + ** (/tmp/hello.exe:23770): WARNING **: Shared memory sanity check + failed. + + ** (/tmp/hello.exe:23770): WARNING **: Failed to attach shared memory! + Falling back to non-shared handles + + Reason: + 02:00:00 < totte> .wapi is the shared memory file folder used to handle process.start and someother functions for our IO lib +3b. Question: + Mono does not work for me (wrong version of mscorlib reported) or + monodevelop breaks on start (MonoDevelop.Core.dll has incorrect + version...) + Answer: + Most likely you have compiled some old Mono version before and have + a funny mixture of upstream and Debian files in different versions. + Make sure that /usr/local does not appear in the output of the + following commands and remove the particular files in /usr/local/...: + + which mono + which mint + ldd $(which mono) + ls /usr/local/lib/Mono*dll + ls /usr/local/lib/System*dll + ls /usr/local/lib/I18*dll + (and maybe most other dll files there) + +4. (for developers) + The main coordination site of the maintainers is on + http://pkg-mono.alioth.debian.org/, more details can be found there. + CLI Policy for packaging Mono libraries/applications can be found on + http://pkg-mono.alioth.debian.org/cli-policy/ + An offline version is in /usr/share/doc/cli-common/ of the the cli-common package. + +----------------------------------------------------------------------------- + +PS: Some comparisons (not real benchmarks!), testing different +invocation methods: + + The "native" method via exec, binfmt_misc, binfmpt-support (Perl + script), binfmt-detector-cli: + +time for x in `seq 1000` ; do ./hello.exe > /dev/null; done + +real 3m2.969s +user 2m8.060s +sys 0m14.540s + + The shell wrapper method using mono: + +time for x in `seq 1000` ; do ./hello.sh > /dev/null; done + +real 2m43.146s +user 1m45.990s +sys 0m11.140s + + Using "cli-wrapper" with a symlink: + +time for x in `seq 1000` ; do ./hello > /dev/null; done + +real 2m23.958s +user 1m32.720s +sys 0m9.640s + + The "interpreter" method using mono: + +time for x in `seq 1000` ; do /usr/bin/cli ./hello.exe > /dev/null; done + +real 2m23.699s +user 1m33.140s +sys 0m8.920s + + Eduard Bloch -- Sat, 19 Jun 2004 02:28:40 +0200 --- mono-1.1.13.2.orig/debian/mono-jit.postinst +++ mono-1.1.13.2/debian/mono-jit.postinst @@ -0,0 +1,12 @@ +#!/bin/sh -e + +# if we're configuring, /usr/share/doc/mono-jit is a directory, +# and isn't a symlink, replace it with a symlink to mono-common +if test "$1" = "configure" && test -d /usr/share/doc/mono-jit && ! test -h /usr/share/doc/mono-jit ; then + rmdir /usr/share/doc/mono-jit + ln -s mono-common /usr/share/doc/mono-jit +fi + +update-alternatives --install /usr/bin/cli cli /usr/bin/mono 14 --slave /usr/share/man/man1/cli.1.gz cli.1.gz /usr/share/man/man1/mono.1.gz + +#DEBHELPER# --- mono-1.1.13.2.orig/debian/rules +++ mono-1.1.13.2/debian/rules @@ -0,0 +1,148 @@ +#!/usr/bin/make -f + +#export DH_VERBOSE=1 +export MONO_SHARED_DIR=$(CURDIR) + +VERSION = $(shell dpkg-parsechangelog | grep ^Vers | cut -d\ -f2) +UPVERSION = $(shell echo $(VERSION) | sed 's,-.*,,') +NEXT_UPVERSION = $(shell perl -e '$$_=pop; s/(\d+)$$/$$1+1/e; print' $(UPVERSION)) + +DEB_BUILD_ARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH) +DEB_HOST_ARCH := $(shell dpkg-architecture -qDEB_HOST_ARCH) +DEB_BUILD_GNU_TYPE := $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE) +DEB_HOST_GNU_TYPE := $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE) + +ifeq ($(DEB_BUILD_GNU_TYPE), $(DEB_HOST_GNU_TYPE)) + confflags += --build $(DEB_HOST_GNU_TYPE) +else + confflags += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) +endif + +confflags += --with-tls=__thread + +ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd) + GC = --with-gc=boehm +else + GC = --with-gc=included +endif + +# Include dpatch stuff. +include /usr/share/dpatch/dpatch.make + +cli-wrapper: debian/cli-wrapper.c + $(CC) -o cli-wrapper debian/cli-wrapper.c `pkg-config glib-2.0 --cflags --libs` + +build: patch build-stamp +build-stamp: cli-wrapper + dh_testdir + ./configure $(confflags) --prefix=/usr \ + --mandir=\$${prefix}/share/man \ + --infodir=\$${prefix}/share/info --sysconfdir=/etc \ + --with-sigaltstack=no $(GC) --with-static_mono=no \ + --with-jit=yes --with-ikvm-native=no --with-preview=yes \ + --with-libgdiplus=installed --with-x=yes + $(MAKE) + chmod +x debian/dh_makeclilibs debian/dh_clideps + touch build-stamp + +clean: unpatch + dh_testdir + dh_testroot + rm -f build-stamp + -$(MAKE) distclean + # distclean misses stuff + find -name "*.mdb" | xargs rm -f + -cd debian/detector && $(MAKE) clean + rm -f cli-wrapper + rm -rf $(MONO_SHARED_DIR)/.wapi + dh_clean + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + $(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* + rm -f debian/tmp/usr/lib/mono/2.0/nunit* + rm -rf debian/tmp/usr/lib/mono/gac/nunit* + rm -f debian/tmp/usr/bin/nunit* + # neither prj2make + rm -f debian/tmp/usr/bin/prj2make + rm -f debian/usr/share/man/man1/prj2make.1 + rm -f debian/tmp/usr/lib/mono/1.0/prj2make.exe* + install -D -m755 cli-wrapper debian/mono-common/usr/bin/cli-wrapper + cd debian/detector && \ + $(MAKE) && install -D -m755 binfmt-detector-cli $(CURDIR)/debian/mono-common/usr/lib/cli/binfmt-detector-cli + 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 + +binary-indep: build install + dh_testdir -i + dh_testroot -i + # 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, + # without exluding other things too which I do not want + rm -f debian/mono-mcs/usr/bin/mono + # delete gacutil from mono-mcs (this is already in mono-gac) + rm -f debian/mono-mcs/usr/bin/gacutil + rm -f debian/mono-mcs/usr/lib/mono/1.0/gacutil.exe* + # delete wsdl2 from mono-mcs (this is already in mono-gmcs) + rm -f debian/mono-mcs/usr/bin/wsdl2 + # delete gmcs from mono-mcs (this is already in mono-gmcs) + rm -f debian/mono-mcs/usr/bin/gmcs + # delete monop2 from mono-mcs (this is already in mono-gmcs) + rm -f debian/mono-mcs/usr/bin/monop2 + # delete ilasm2 from mono-mcs (this is already in mono-gmcs) + rm -f debian/mono-mcs/usr/bin/ilasm2 + # delete xbuild from mono-mcs (this is already in mono-gmcs) + rm -f debian/mono-mcs/usr/bin/xbuild + # delete *.mdb from mono-classlib-1.0/2.0 (those are already in mono-classlib-1.0/2.0-dbg) + cd debian/mono-classlib-1.0 && find -type f -name "*.mdb" | xargs rm -f + cd debian/mono-classlib-2.0 && find -type f -name "*.mdb" | xargs rm -f + # delete programs from mono-classlib-1.0/2.0 (those are already in mono-mcs/mono-gmcs) + rm -f debian/mono-classlib-1.0/usr/lib/mono/1.0/*.exe* + rm -f debian/mono-classlib-2.0/usr/lib/mono/2.0/*.exe* + dh_link -i + dh_installchangelogs -i ChangeLog + dh_installdocs -i + dh_installman -i + dh_compress -i + dh_fixperms -i + dh_installdeb -i + debian/dh_makeclilibs -i -m 1.0 internal-mono + debian/dh_clideps -i internal-mono + dh_gencontrol -i -- -Vmono:upversion=$(UPVERSION) -Vmono:next-upversion=$(NEXT_UPVERSION) + dh_md5sums -i + dh_builddeb -i + +binary-arch: build install + dh_testdir -s + dh_testroot -s + dh_install -s + dh_link -s + dh_installchangelogs -s ChangeLog + dh_installchangelogs -pmono-jay $(CURDIR)/mcs/jay/ChangeLog + dh_installdocs -s + dh_installexamples -s + dh_installman -s + dh_installexamples -pmono-jay $(CURDIR)/mcs/jay/skeleton.cs + dh_strip -s + dh_compress -s + dh_compress -s -Xskeleton.cs + dh_fixperms -s + dh_makeshlibs -plibmono0 -V libmono-$(UPVERSION) + dh_installdeb -s + dh_shlibdeps -s -Xlibmono-profiler-cov + dh_gencontrol -s -- -Vmono:upversion=$(UPVERSION) -Vmono:next-upversion=$(NEXT_UPVERSION) + dh_md5sums -s + dh_builddeb -s + +binary: binary-indep binary-arch +.PHONY: clean build binary-indep binary-arch install binary patch unpatch