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

Mirco Bauer meebey-guest at costa.debian.org
Sun Sep 25 17:50:38 UTC 2005


Author: meebey-guest
Date: 2005-09-25 17:50:12 +0000 (Sun, 25 Sep 2005)
New Revision: 2017

Added:
   mono/trunk/debian/dh_clideps
   mono/trunk/debian/dh_makeclilibs
   mono/trunk/debian/patches/datetime_doparse_fix.dpatch
   mono/trunk/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch
Modified:
   mono/trunk/debian/README.Debian
   mono/trunk/debian/changelog
   mono/trunk/debian/control
   mono/trunk/debian/detector/binfmt-detector-cli.c
   mono/trunk/debian/detector/cil-coff.h
   mono/trunk/debian/mono-gmcs.install
   mono/trunk/debian/patches/00list
   mono/trunk/debian/rules
Log:
- Mono 1.1.9.1



Modified: mono/trunk/debian/README.Debian
===================================================================
--- mono/trunk/debian/README.Debian	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/README.Debian	2005-09-25 17:50:12 UTC (rev 2017)
@@ -1,4 +1,4 @@
-mono for Debian
+Mono for Debian
 ---------------
 
 1. Documentation can be found in the separated monodoc packages.
@@ -45,7 +45,7 @@
     monodevelop breaks on start (MonoDevelop.Core.dll has incorrect
     version...)
     Answer:
-    Most likely you have compiled some old mono version before and have
+    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/...:
@@ -58,191 +58,14 @@
     ls /usr/local/lib/I18*dll
     (and maybe most other dll files there)
 
-4. Provisoric virtual packages:
-
-   - mono-assemblies-base is the core package, arch-independent. It does
-      NOT include arch-dependent components for portability reasons
-   - mono-assemblies-arch is the package which arch dependent files. It
-      also depends on mono-assemblies-base and provides "cli-runtime"
-   - cli-runtime: depend on it to get the whole assemblies suite
-   - cli-virtual-machine: depend on it to get working /usr/bin/cli with
-      the core assemblies parts (no arch-depent part)
-      
-5. (for developers) 
+4. (for developers) 
    The main coordination site of the maintainers is on
    http://pkg-mono.alioth.debian.org/, more details can be found there.
-   Package installation policy be found on
-   http://wiki.debian.net/?MonoConventions . Recent snapshot:
+   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.
 
 -----------------------------------------------------------------------------
-|  
-|  MONO Conventions Version: 0.1.5
-|  
-|  Conventions for packaging Mono applications/libraries for Debian GNU/
-|  Linux.
-|  
-|  .NET Framework issues:
-|  
-|    * Depend on every library package that you need. Note that some
-|      applications or libs may open them via ldopen, so you need to track
-|      the dependencies manually
-|    * To get an interpreter, depend on:
-|  
-|  mono-jit | cli-virtual-machine
-|  
-|  (only if no specific Mono version is required) or use dh_netdeps (see
-|  below) which will add versioned or unversioned dependency (see
-|  manpage).
-|  
-|    * To run the interpreter/jit-compiler, run /usr/bin/cli. This is a
-|      link to the "best" interpreter chosen with update-alternatives.
-|      Currently mono or mint.
-|    * To get the compiler, depend on
-|  
-|  mono-mcs | c-sharp-compiler
-|  
-|  Note that there are no c-sharp-compiler alternatives yet, it is not
-|  clear whether we will create the c-sharp-compiler alternative entry.
-|  (Portable .NET maybe comming into debian some day)
-|  
-|  Applications package issues... Possible cases:
-|  
-|    * application packages:
-|        + (bad idea) put the .exe into /usr/bin and let the user work
-|          with binfmt_support. Drawbacks:
-|            o executable with useless suffixes in binary paths
-|            o unnessesarly longer startup time -- kernels goes trough the
-|              binfmt path: run binfmt-cli-detector (on Debian executed
-|              trough a Perl wrapper which opens the file, checks the
-|              type, etc.), then run the actual interpreter
-|            o compatibility: $user may not have binfmt_misc in the kernel
-|  
-|        + general solution: a shell wrapper. On Debian, it runs /usr/bin/
-|          cli with the application name and parameters.
-|  
-|      Pro:
-|  
-|  
-|            o can be modified easily
-|  
-|      Contra:
-|  
-|  
-|            o shell invocation, a bit bloat that makes start time longer
-|  
-|        + a binary wrapper: an executable program which does the same
-|          thing as a shell wrapper.
-|  
-|      Pro:
-|  
-|  
-|            o Fast
-|  
-|      Contra:
-|  
-|  
-|            o cannot be modified. Could use a standard scheme for
-|              locating the EXE files, see below.
-|  
-|  General Naming:
-|  
-|    * The official name of the Mono Project is: Mono, mono:: or mono. To
-|      keep it unified (more transperant to the user) it should be always
-|      called "Mono", not MONO, not mono, not mono:: even no mixing with
-|      .NET in it. The explaination of Mono goes into the package long
-|      description.
-|  
-|  Library Package Naming:
-|  
-|    * Most other languages have unified names for library/plugins/module/
-|      foobarextensionname packages in Debian, which makes it easier for
-|      users and maintainers. Perl for example uses libfoo-perl, java uses
-|      also libfoo-java. For .NET libraries (.NET CIL bytecode) libfoo-cil
-|      should be used, e.g. libgecko-cil. The term "sharp" does not
-|      represent the language, a .NET library can be used with all .NET
-|      implementated/enabled languages like C#, J#, ASP.NET, VB.NET (for
-|      more see: http://www.go-mono.com/languages.html ), this is why the
-|      extension "-cil" is the right one.
-|  
-|  Currently, the mono base packages are named after their original naming
-|  scheme introduced a while ago. It is possible that they will be
-|  splitted into many packages like libi18n.west-cil.
-|  
-|  THE PLAN (FHS conform packaging)
-|  
-|  We create the directory /usr/share/dotnet (not in /usr/lib since all of
-|  this is arch-independent, interpreted code). In this "dot-net area", we
-|  create:
-|  
-|    * usr/share/dotnet$package_name/ (where the actual package and its
-|      relevant files are located. For example, the monodoc.exe,
-|      assembler.exe etc., and the documentation directory). The
-|      $source_package_name should be used if it makes sense, some
-|      programs don't like to be seperated too much (symlink hell is also
-|      no solution).
-|  
-|    * /usr/share/dotnet/mono/gac/NAME/VERSION__SIGNATURE/NAME.dll: this
-|      is the future way for assembly installations (as done with
-|      gacutil).
-|  
-|    * /usr/share/dotnet/mono/PACKAGE: a symbolic name to resolve the DLLs
-|      that belong to a package. It contains links to the libraries in the
-|      GAC. Note: currently, gacutil creates messy absolute links pointing
-|      to the systemwide location (instead of relative symlinks), we need
-|      to fix them at package build time.
-|  
-|    * usr/share/dotnet/lib (with old/unversioned/misc. DLLs, this path
-|      needs to be known by the runtime). This is a deprecated location,
-|      use the GAC method instead (see above).
-|  
-|  THE PLAN II (program invocation)
-|  
-|    * usr/share/dotnet/bin (with .exe executables, OR with symlinks to
-|      the $package dirs. For example, there is a symlink called /usr/
-|      share/dotnet/bin/mcs which points to ../mono/1.0).
-|  
-|    * .exe files should have the executable flag (+x), to be executable
-|      by the kernel trough binfmt.
-|  
-|  Why all this? First, to have reliable file locations. Second, to create
-|  a good generic application invocation tool and move non-native
-|  executable files out of /usr/bin. Shell wrappers for each application
-|  are the simplest and quite acceptable way. For those who are lazy to
-|  write them, I suggest an allround-program that looks for the right EXE
-|  binary to start. We store it as /usr/bin/cli-wrapper. The application
-|  package would install a symlink cli-wrapper -> /usr/bin/program-name
-|  (without .exe!). The cli-wrapper is in the mono-common package and part
-|  of the cli-virtual-machine. What would the wrapper do on start? It
-|  checks argv0 (which is "mcs", for example). It looks for /usr/bin/
-|  mcs-exe (and executes it if found), then for /usr/share/dotnet/bin/
-|  mcs.exe, then for /usr/share/dotnet/bin/mcs/mcs.exe. The last one is a
-|  directory symlink, pointing to ../mono/1.0, so the wrapper finaly runs
-|  /usr/share/dotnet/mono/1.0/mcs.exe. These all is especially useful if
-|  the application has additional assemblies in its startup directory, or
-|  uses its own binary location to resolve other settings, like the
-|  default set of assemblies in the case of mcs.
-|  
-|  THE PLAN III (managed package dependencies)
-|  
-|  If you already got the idea how shared library on Debian are packaged,
-|  you almost know how the DLL assemblies are dealt with. There is one
-|  utility that creates a certain file with library name and version/
-|  compatibility data and the suggested dependency string. So every
-|  package providing libraries (DLLs) installs a such config file (var/lib
-|  /dpkg/info*.netlibs). The dh_makenetlibs utility creates such files and
-|  installs them into the package directories. See manpages for
-|  (important) details.
-|  
-|  The application packages working with the libraries use another tool to
-|  scan all binaries for references to DLLs and resolve them using the
-|  .netlibs files (see above), then the calculated dependency data is
-|  merged, filtered as needed and written to debian/package.substvars. You
-|  can insert it into the control files by using the ${net:Depends}
-|  variable.
-|  
-|  In order to use the dh_* tools, you will need mono-utils (>> 0.96).
-|  
------------------------------------------------------------------------------
 
 PS: Some comparisons (not real benchmarks!), testing different
 invocation methods:

Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/changelog	2005-09-25 17:50:12 UTC (rev 2017)
@@ -1,3 +1,30 @@
+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 <cjwatson at debian.org> for the
+       patch)
+
+ -- Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>  Sat, 24 Sep 2005 15:51:03 +0200
+
 mono (1.1.8.3-1) unstable; urgency=low
 
   * New upstream release

Modified: mono/trunk/debian/control
===================================================================
--- mono/trunk/debian/control	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/control	2005-09-25 17:50:12 UTC (rev 2017)
@@ -3,12 +3,12 @@
 Priority: optional
 Maintainer: Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>
 Uploaders: Eduard Bloch <blade at debian.org>, Mirco Bauer <meebey at meebey.net>
-Build-Depends: debhelper (>= 4.0.0), cli-common (>= 0.2.1), libglib2.0-dev (>= 2.4), bison, libtool, dpatch, libxslt1-dev
+Build-Depends: debhelper (>= 4.0.0), libglib2.0-dev (>= 2.4), bison, libtool, dpatch, libxslt1-dev
 Build-Conflicts: pnet-compiler
 Standards-Version: 3.6.2.1
 
 Package: mono-common
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Depends: binfmt-support (>= 1.1.2)
 Description: common files for Mono
  Mono is a platform for running and developing applications based on the
@@ -21,7 +21,7 @@
 
 Package: mono-jit
 Provides: cli-virtual-machine
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Depends: mono-common (= ${Source-Version}), mono-classlib-1.0-${mono:upversion}, ${shlibs:Depends}
 Description: fast CLI (.NET) JIT compiler for Mono
  Mono is a platform for running and developing applications based on the
@@ -31,11 +31,11 @@
  .
  This package contains the Virtual Execution Environment and code
  generator (Just-in-Time and Ahead-of-Time) "mono" which runs CLI (.NET)
- applications, currently available for i386, powerpc and amd64 architectures
- only.
+ applications, currently available for i386, powerpc, amd64 and ia64
+ architectures only.
 
 Package: mono
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Depends: mono-common (= ${Source-Version}), mono-jit (= ${Source-Version})
 Description: Mono CLI (.NET) runtime
  Mono is a platform for running and developing applications based on the
@@ -50,7 +50,7 @@
 
 Package: mono-devel
 Section: devel
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Depends: mono (= ${Source-Version}), mono-mcs, mono-gac, mono-utils, mono-jay
 Suggests: mono-gmcs
 Description: Mono CLI (.NET) runtime with development tools
@@ -64,7 +64,7 @@
 
 Package: mono-utils
 Section: devel
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Replaces: mono-mcs (<= 1.1.6-4)
 Depends: ${shlibs:Depends}, mono-classlib-1.0
 Provides: cil-disassembler
@@ -79,7 +79,7 @@
 
 Package: libmono0
 Section: libs
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Replaces: libmono-dev (<= 1.1.6-4)
 Depends:  ${shlibs:Depends}
 Provides: libmono-${mono:upversion}
@@ -95,7 +95,7 @@
 
 Package: libmono-dev
 Section: devel
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 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.
@@ -229,7 +229,7 @@
 
 Package: mono-jay
 Section: devel
-Architecture: i386 powerpc amd64
+Architecture: i386 powerpc amd64 ia64
 Depends: ${shlibs:Depends}
 Description: LALR(1) parser generator oriented to Java/.NET
  Mono is a platform for running and developing applications based on the

Modified: mono/trunk/debian/detector/binfmt-detector-cli.c
===================================================================
--- mono/trunk/debian/detector/binfmt-detector-cli.c	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/detector/binfmt-detector-cli.c	2005-09-25 17:50:12 UTC (rev 2017)
@@ -24,6 +24,7 @@
 #include <locale.h>
 #include <stdlib.h>
 #include <libintl.h>
+#include <stdint.h>
 
 #include "cil-coff.h"
 
@@ -56,7 +57,7 @@
 	
 	{
 		MSDOSHeader msdos_header;
-		unsigned long pe_offset;
+		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]
@@ -73,8 +74,8 @@
 	if (execType == UNKNOWN)
 	{
 		DotNetHeader dotnet_header;
-		unsigned short pe_magic;
-		unsigned long rva;
+		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]

Modified: mono/trunk/debian/detector/cil-coff.h
===================================================================
--- mono/trunk/debian/detector/cil-coff.h	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/detector/cil-coff.h	2005-09-25 17:50:12 UTC (rev 2017)
@@ -2,6 +2,8 @@
 #ifndef __MONO_CIL_COFF_H__
 #define __MONO_CIL_COFF_H__
 
+#include <stdint.h>
+
 /*
  * 25.2.1: Method header type values
  */
@@ -28,8 +30,8 @@
 /* 128 bytes */
 typedef struct {
 	char    msdos_sig [2];
-	unsigned short nlast_page;
-	unsigned short npages;
+	uint16_t nlast_page;
+	uint16_t npages;
 	char    msdos_header [54];
 	unsigned char pe_offset[4];
 	char    msdos_header2 [64];
@@ -37,13 +39,13 @@
 
 /* 20 bytes */
 typedef struct {
-	unsigned short  coff_machine;
-	unsigned short  coff_sections;
-	unsigned long  coff_time;
-	unsigned long  coff_symptr;
-	unsigned long  coff_symcount;
-	unsigned short  coff_opt_header_size;
-	unsigned short  coff_attributes;
+	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
@@ -54,42 +56,42 @@
 	unsigned char pe_magic[2];
 	unsigned char  pe_major;
 	unsigned char  pe_minor;
-	unsigned long pe_code_size;
-	unsigned long pe_data_size;
-	unsigned long pe_uninit_data_size;
-	unsigned long pe_rva_entry_point;
-	unsigned long pe_rva_code_base;
-	unsigned long pe_rva_data_base;
+	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 {
-	unsigned long pe_image_base;		/* must be 0x400000 */
-	unsigned long pe_section_align;       /* must be 8192 */
-	unsigned long pe_file_alignment;      /* must be 512 or 4096 */
-	unsigned short pe_os_major;            /* must be 4 */
-	unsigned short pe_os_minor;            /* must be 0 */
-	unsigned short pe_user_major;
-	unsigned short pe_user_minor;
-	unsigned short pe_subsys_major;
-	unsigned short pe_subsys_minor;
-	unsigned long pe_reserved_1;
-	unsigned long pe_image_size;
-	unsigned long pe_header_size;
-	unsigned long pe_checksum;
-	unsigned short pe_subsys_required;
-	unsigned short pe_dll_flags;
-	unsigned long pe_stack_reserve;
-	unsigned long pe_stack_commit;
-	unsigned long pe_heap_reserve;
-	unsigned long pe_heap_commit;
-	unsigned long pe_loader_flags;
-	unsigned long pe_data_dir_count;
+	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];
-	unsigned long size;
+	uint32_t size;
 } PEDirEntry;
 
 /* 128 bytes */
@@ -123,14 +125,14 @@
 
 typedef struct {
 	char    st_name [8];
-	unsigned long st_virtual_size;
-	unsigned long st_virtual_address;
-	unsigned long st_raw_data_size;
-	unsigned long st_raw_data_ptr;
-	unsigned long st_reloc_ptr;
-	unsigned long st_lineno_ptr;
-	unsigned short st_reloc_count;
-	unsigned short st_line_count;
+	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
@@ -142,22 +144,22 @@
 #define SECT_FLAGS_MEM_EXECUTE            0x20000000
 #define SECT_FLAGS_MEM_READ               0x40000000
 #define SECT_FLAGS_MEM_WRITE              0x80000000
-	unsigned long st_flags;
+	uint32_t st_flags;
 
 } SectionTable;
 
 typedef struct {
-	unsigned long        ch_size;
-	unsigned short        ch_runtime_major;
-	unsigned short        ch_runtime_minor;
+	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
-	unsigned long        ch_flags;
+	uint32_t        ch_flags;
 
-	unsigned long        ch_entry_point;
+	uint32_t        ch_entry_point;
 	PEDirEntry ch_resources;
 	PEDirEntry ch_strong_name;
 	PEDirEntry ch_code_manager_table;

Added: mono/trunk/debian/dh_clideps
===================================================================
--- mono/trunk/debian/dh_clideps	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/dh_clideps	2005-09-25 17:50:12 UTC (rev 2017)
@@ -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<dh_clideps> [S<I<debhelper options>>]
+
+=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<internal-mono>                             
+
+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 = "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 = `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 = <FILE>;
+  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 = <F>;
+            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 (<F>) {
+            $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=~/<</));
+               return 1 if( ($b=~/>=/) && ($a=~/<</));
+            }
+            $a cmp $b;
+        } (keys %depkgsFiltered)
+    );
+
+    addsubstvar($package, "cli:Depends", $deps);
+}
+
+sub resolveShlib {
+    our($file, $name, $outRef) = @_;
+    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 "$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<debhelper(7)>
+
+This program is a part of cli-common.
+
+=head1 AUTHOR
+
+Mirco Bauer <meebey at meebey.net>, Eduard Bloch <blade at debian.org>,
+partialy based on code from Brendan O'Dea <bod at debian.org>.
+
+=cut


Property changes on: mono/trunk/debian/dh_clideps
___________________________________________________________________
Name: svn:executable
   + *

Added: mono/trunk/debian/dh_makeclilibs
===================================================================
--- mono/trunk/debian/dh_makeclilibs	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/dh_makeclilibs	2005-09-25 17:50:12 UTC (rev 2017)
@@ -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<dh_makeclilibs> [S<I<debhelper options>>] [B<-r>] [B<-V>I<[dependancies]>] [B<-m>I<minversion>] [B<-l>I<nextincompatible>] [B<-X>I<item>]
+
+=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<dependancies>
+
+=item B<--version-info>, B<--version-info=>I<dependancies>
+
+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<minversion>
+
+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<nextincompatible>
+
+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<item>, B<--exclude=>I<item>
+
+Exclude files that contain "item" anywhere in their filename or directory 
+from being treated as shared libraries.
+
+=item B<internal-mono>
+
+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 = "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 = <FILE>;
+  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 (<FIND>) {
+            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<debhelper(7)>
+
+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 <meebey at meebey.net>, Eduard Bloch <blade at debian.org>,
+inspired by dh_makeshlibs by Joey Hess <joeyh at debian.org>
+
+=cut


Property changes on: mono/trunk/debian/dh_makeclilibs
___________________________________________________________________
Name: svn:executable
   + *

Modified: mono/trunk/debian/mono-gmcs.install
===================================================================
--- mono/trunk/debian/mono-gmcs.install	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/mono-gmcs.install	2005-09-25 17:50:12 UTC (rev 2017)
@@ -1,4 +1,6 @@
 debian/tmp/usr/bin/gmcs
 debian/tmp/usr/bin/wsdl2
+debian/tmp/usr/bin/monop2
 debian/tmp/usr/lib/mono/2.0/gmcs.exe*
-debian/tmp/usr/lib/mono/2.0/wsdl2.exe*
+debian/tmp/usr/lib/mono/2.0/wsdl.exe*
+debian/tmp/usr/lib/mono/2.0/monop.exe*

Modified: mono/trunk/debian/patches/00list
===================================================================
--- mono/trunk/debian/patches/00list	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/patches/00list	2005-09-25 17:50:12 UTC (rev 2017)
@@ -0,0 +1,2 @@
+remove_broken_dllmap_from_mono-shlib-cop
+datetime_doparse_fix

Added: mono/trunk/debian/patches/datetime_doparse_fix.dpatch
===================================================================
--- mono/trunk/debian/patches/datetime_doparse_fix.dpatch	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/patches/datetime_doparse_fix.dpatch	2005-09-25 17:50:12 UTC (rev 2017)
@@ -0,0 +1,19 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## datetime_doparse_fix.dpatch by Mirco Bauer <meebey at meebey.net>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at 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 ();
+ 


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

Added: mono/trunk/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch
===================================================================
--- mono/trunk/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch	2005-09-25 17:50:12 UTC (rev 2017)
@@ -0,0 +1,15 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## remove_broken_dllmap_from_mono-shlib-cop.dpatch by Mirco Bauer <meebey at meebey.net>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: No description.
+
+ at 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 @@
+ <configuration>
+-	<dllmap dll="does-not-exist" target="libc.so.6"/>
+ 	<dllmap dll="libgmodule-2.0.so" target="libgmodule-2.0.so.0"/>
+ </configuration>


Property changes on: mono/trunk/debian/patches/remove_broken_dllmap_from_mono-shlib-cop.dpatch
___________________________________________________________________
Name: svn:executable
   + *

Modified: mono/trunk/debian/rules
===================================================================
--- mono/trunk/debian/rules	2005-09-25 17:45:21 UTC (rev 2016)
+++ mono/trunk/debian/rules	2005-09-25 17:50:12 UTC (rev 2017)
@@ -46,6 +46,8 @@
 	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
@@ -64,8 +66,10 @@
 	cp mono/monograph/.libs/monograph debian/tmp/usr/bin/
 	# 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*.dll
+	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
@@ -97,6 +101,8 @@
 	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 *.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
@@ -110,8 +116,8 @@
 	dh_compress -i
 	dh_fixperms -i
 	dh_installdeb -i
-	dh_makeclilibs -i -m 1.0 internal-mono
-	dh_clideps -i internal-mono
+	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




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