[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