diff --git a/debian/.gitignore b/debian/.gitignore
new file mode 100644
index 0000000000..92788bfedd
--- /dev/null
+++ b/debian/.gitignore
@@ -0,0 +1,8 @@
+tmp/
+patched/
+mono-*/
+monodoc-*/
+libmono*/
+files
+*.debhelper*
+*.substvars
diff --git a/debian/FirebirdSql.Data.Firebird.dll.config b/debian/FirebirdSql.Data.Firebird.dll.config
new file mode 100644
index 0000000000..1932df82e9
--- /dev/null
+++ b/debian/FirebirdSql.Data.Firebird.dll.config
@@ -0,0 +1,3 @@
+
+
+
diff --git a/debian/Mono.Cairo.dll.config b/debian/Mono.Cairo.dll.config
new file mode 100644
index 0000000000..0298b7bd50
--- /dev/null
+++ b/debian/Mono.Cairo.dll.config
@@ -0,0 +1,3 @@
+
+
+
diff --git a/debian/Mono.Data.Sqlite.dll.config b/debian/Mono.Data.Sqlite.dll.config
new file mode 100644
index 0000000000..8e991231dc
--- /dev/null
+++ b/debian/Mono.Data.Sqlite.dll.config
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/debian/Mono.Data.SqliteClient.dll.config b/debian/Mono.Data.SqliteClient.dll.config
new file mode 100644
index 0000000000..8e991231dc
--- /dev/null
+++ b/debian/Mono.Data.SqliteClient.dll.config
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/debian/Mono.WebBrowser.dll.config b/debian/Mono.WebBrowser.dll.config
new file mode 100644
index 0000000000..9f488372c0
--- /dev/null
+++ b/debian/Mono.WebBrowser.dll.config
@@ -0,0 +1,3 @@
+
+
+
diff --git a/debian/MonoGetAssemblyName.cs b/debian/MonoGetAssemblyName.cs
new file mode 100644
index 0000000000..791392a4ac
--- /dev/null
+++ b/debian/MonoGetAssemblyName.cs
@@ -0,0 +1,14 @@
+using System;
+using System.Reflection;
+
+public class GetAssemblyName
+{
+ public static void Main(string [] args)
+ {
+ if (args.Length == 0)
+ throw new Exception("You must supply an assembly name");
+
+ Assembly assembly = Assembly.LoadFile(args[0]);
+ Console.WriteLine("{0}", assembly.FullName);
+ }
+}
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 0000000000..141c18a8eb
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,107 @@
+Mono for Debian
+---------------
+
+1. Documentation can be found in the separated monodoc packages.
+
+2. Supported Processor Architectures for Mono 1.1.x (current)
+ JIT:
+ Linux/x86
+ Linux/AMD64
+ Linux/PPC
+ Linux/S390 (not functional)
+ Linux/ARM
+ Solaris/SPARC
+
+ Interpreter (deprecated/unmaintained):
+ -
+
+ Supported Processor Architectures for Mono 1.0.x (old)
+ JIT:
+ Linux/x86
+ Linux/PPC
+ MacOS/PPC
+
+ Interpreter (deprecated/unmaintained):
+ Linux/x86
+ Linux/PPC
+ HP-UX/HPPA
+ S390
+ StrongARM
+ Solaris/SPARC
+ Solaris/SPARC v9
+
+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
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000000..37ce292f86
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,164 @@
+The upstream tarball for this application has been altered to remove
+(unneeded) binary-only components. The list of files removed is as follows:
+
+mono-3.2.1/external/aspnetwebstack/test/System.Web.WebPages.Deployment.Test/TestFiles/ConfigTestAssemblies/V2_Signed/System.Web.WebPages.Deployment.dll
+mono-3.2.1/external/aspnetwebstack/test/System.Web.WebPages.Deployment.Test/TestFiles/ConfigTestAssemblies/V2_Unsigned/System.Web.WebPages.Deployment.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.Debugger.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.Experimental.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/iOS/libs/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Debugger.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/Mono.Reactive.Testing.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Runtime.Remoting.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Experimental.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Source/Rx_Xamarin/android/libs/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT5/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT5/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT5/Microsoft.Silverlight.Testing.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT4/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT4/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT4/Microsoft.Silverlight.Testing.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/WINDOWS_PHONE8/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT3/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT3/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHT3/Microsoft.Silverlight.Testing.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/DESKTOPCLR20/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHTM7/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/SILVERLIGHTM7/Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll
+mono-3.2.1/external/rx/Rx/NET/Source/References/DESKTOPCLR40/Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/WP8/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/WinRT45/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/Net40/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/SL5/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Interfaces.2.0.21030/lib/Net45/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/WP8/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/WinRT45/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/Net40/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/SL5/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Linq.2.0.21030/lib/Net45/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/WP8/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/WinRT45/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/Net40/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/SL5/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Providers.2.0.21030/lib/Net45/System.Reactive.Providers.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Remoting.2.0.21030/lib/Net40/System.Reactive.Runtime.Remoting.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Remoting.2.0.21030/lib/Net45/System.Reactive.Runtime.Remoting.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-WinRT.2.0.21030/lib/WinRT45/System.Reactive.WindowsRuntime.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/WP8/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/WinRT45/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/Net40/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/SL5/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-PlatformServices.2.0.21030/lib/Net45/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/WP8/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/WinRT45/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/Net40/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/SL5/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-XAML.2.0.21030/lib/Net45/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-WindowStoreApps.2.0.21030/lib/WinRT45/System.Reactive.Windows.Threading.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-WinForms.2.0.21030/lib/Net40/System.Reactive.Windows.Forms.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-WinForms.2.0.21030/lib/Net45/System.Reactive.Windows.Forms.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/WP8/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/WinRT45/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/SL4-WindowsPhone71/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/Net40/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/Portable-Net45+WinRT45+WP8/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/SL5/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Test/Rx/packages/Rx-Core.2.0.21030/lib/Net45/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.Windows.Forms.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.Runtime.Remoting.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/RxRemoteMouseMoves/References/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/HistoricalScheduling/References/System.Reactive.Linq.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/HistoricalScheduling/References/System.Reactive.Interfaces.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/HistoricalScheduling/References/System.Reactive.Core.dll
+mono-3.2.1/external/rx/Rx/NET/Samples/HistoricalScheduling/References/System.Reactive.PlatformServices.dll
+mono-3.2.1/external/entityframework/src/NuGet/EntityFramework.SqlServerCompact/lib/net40/System.Data.SqlServerCe.Entity.dll
+mono-3.2.1/external/cecil/Test/libs/nunit-2.5.10/nunit.core.dll
+mono-3.2.1/external/cecil/Test/libs/nunit-2.5.10/nunit.core.interfaces.dll
+mono-3.2.1/external/cecil/Test/libs/nunit-2.5.10/nunit.framework.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/boxedoptarg.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/decsec1-xml.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/libres.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/delay-signed.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/marshal.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/cscgpbug.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/cppcli.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/libhello.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/noblob.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/decsec-xml.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/decsec-att.dll
+mono-3.2.1/external/cecil/Test/Resources/assemblies/empty-decsec-att.dll
+mono-3.2.1/external/cecil/rocks/Test/Resources/assemblies/decsec-xml.dll
+mono-3.2.1/external/cecil/rocks/Test/Resources/assemblies/decsec-att.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/framework/nunit.framework.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/framework/nunit.mocks.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit-gui-runner.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit.core.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit.uiexception.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit.core.interfaces.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit.util.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit-console-runner.dll
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/lib/nunit.uikit.dll
+mono-3.2.1/external/Newtonsoft.Json/Src/Lib/NUnit/DotNet/nunit.framework.dll
+mono-3.2.1/external/Newtonsoft.Json/Src/Lib/NUnit/Compact/NUnitLite.dll
+mono-3.2.1/external/Newtonsoft.Json/Src/Lib/NUnit/Silverlight/nunit.framework.dll
+mono-3.2.1/external/ikvm/bin/ICSharpCode.SharpZipLib.dll
+mono-3.2.1/external/cecil/symbols/mdb/Test/Resources/assemblies/hello.exe
+mono-3.2.1/external/cecil/symbols/pdb/Test/Resources/assemblies/VBConsApp.exe
+mono-3.2.1/external/cecil/symbols/pdb/Test/Resources/assemblies/test.exe
+mono-3.2.1/external/cecil/symbols/pdb/Test/Resources/assemblies/fsapp.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello.ia64.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello.x86.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello1.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/fptr.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/iterator.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/gifaceref.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/switch.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello.x64.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/mma.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/catch.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hello.anycpu.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/pinvoke.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/hellow.exe
+mono-3.2.1/external/cecil/Test/Resources/assemblies/varargs.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/7-zip/7za.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit-x86.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit-agent-x86.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit-console.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit-agent.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NUnit/nunit-console-x86.exe
+mono-3.2.1/external/Newtonsoft.Json/Tools/NuGet/NuGet.exe
+
+To create your own copy of this modified tarball, use the "get-orig-source"
+target of the debian/rules makefile.
+
+The compiler needs to bootstrap using the pre-build binary
+mcs/class/lib/monolite/mcs.exe, which requires
+mcs/class/lib/monolite/mscorlib.dll,
+mcs/class/lib/monolite/System.dll and
+mcs/class/lib/monolite/System.Xml.dll in order to operate.
+
+These binaries are used to compile the code in mcs/mcs/*, mcs/class/corlib/*,
+mcs/class/System/* and mcs/class/System.XML/*, which in turn, produce their
+own mcs.exe, mscorlib.dll, System.dll and System.Xml.dll.
+
+Only the resulting binaries are included in packages - not the versions
+used for bootstrapping.
diff --git a/debian/System.Data.dll.config b/debian/System.Data.dll.config
new file mode 100644
index 0000000000..c33c1db250
--- /dev/null
+++ b/debian/System.Data.dll.config
@@ -0,0 +1,4 @@
+
+
+
+
diff --git a/debian/System.Drawing.dll.config b/debian/System.Drawing.dll.config
new file mode 100644
index 0000000000..fbd1d89414
--- /dev/null
+++ b/debian/System.Drawing.dll.config
@@ -0,0 +1,5 @@
+
+
+
+
+
diff --git a/debian/System.Windows.Forms.dll.config b/debian/System.Windows.Forms.dll.config
new file mode 100644
index 0000000000..54c6fd39cc
--- /dev/null
+++ b/debian/System.Windows.Forms.dll.config
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/debian/autogen.sh b/debian/autogen.sh
new file mode 100755
index 0000000000..ce0c26c87a
--- /dev/null
+++ b/debian/autogen.sh
@@ -0,0 +1,142 @@
+#!/bin/sh
+# Run this to generate all the initial makefiles, etc.
+# Ripped off from GNOME macros version
+
+DIE=0
+
+srcdir=`dirname $0`
+test -z "$srcdir" && srcdir=.
+
+if [ -n "$MONO_PATH" ]; then
+ # from -> /mono/lib:/another/mono/lib
+ # to -> /mono /another/mono
+ for i in `echo ${MONO_PATH} | tr ":" " "`; do
+ i=`dirname ${i}`
+ if [ -n "{i}" -a -d "${i}/share/aclocal" ]; then
+ ACLOCAL_FLAGS="-I ${i}/share/aclocal $ACLOCAL_FLAGS"
+ fi
+ if [ -n "{i}" -a -d "${i}/bin" ]; then
+ PATH="${i}/bin:$PATH"
+ fi
+ done
+ export PATH
+fi
+
+(autoconf --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`autoconf' installed to compile Mono."
+ echo "Download the appropriate package for your distribution,"
+ echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
+ DIE=1
+}
+
+if [ -z "$LIBTOOL" ]; then
+ LIBTOOL=`which glibtool 2>/dev/null`
+ if [ ! -x "$LIBTOOL" ]; then
+ LIBTOOL=`which libtool`
+ fi
+fi
+
+(grep "^AM_PROG_LIBTOOL" $srcdir/configure.in >/dev/null) && {
+ ($LIBTOOL --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`libtool' installed to compile Mono."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/libtool-1.2d.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ }
+}
+
+grep "^AM_GNU_GETTEXT" $srcdir/configure.in >/dev/null && {
+ grep "sed.*POTFILES" $srcdir/configure.in >/dev/null || \
+ (gettext --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`gettext' installed to compile Mono."
+ echo "Get ftp://alpha.gnu.org/gnu/gettext-0.10.35.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ }
+}
+
+(automake --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: You must have \`automake' installed to compile Mono."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+ NO_AUTOMAKE=yes
+}
+
+
+# if no automake, don't bother testing for aclocal
+test -n "$NO_AUTOMAKE" || (aclocal --version) < /dev/null > /dev/null 2>&1 || {
+ echo
+ echo "**Error**: Missing \`aclocal'. The version of \`automake'"
+ echo "installed doesn't appear recent enough."
+ echo "Get ftp://ftp.gnu.org/pub/gnu/automake-1.3.tar.gz"
+ echo "(or a newer version if it is available)"
+ DIE=1
+}
+
+if test "$DIE" -eq 1; then
+ exit 1
+fi
+
+if test -z "$*"; then
+ echo "**Warning**: I am going to run \`configure' with no arguments."
+ echo "If you wish to pass any to it, please specify them on the"
+ echo \`$0\'" command line."
+ echo
+fi
+
+case $CC in
+xlc )
+ am_opt=--include-deps;;
+esac
+
+
+if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
+ if test -z "$NO_LIBTOOLIZE" ; then
+ echo "Running libtoolize..."
+ ${LIBTOOL}ize --force --copy
+ fi
+fi
+
+echo "Running aclocal $ACLOCAL_FLAGS ..."
+aclocal $ACLOCAL_FLAGS || {
+ echo
+ echo "**Error**: aclocal failed. This may mean that you have not"
+ echo "installed all of the packages you need, or you may need to"
+ echo "set ACLOCAL_FLAGS to include \"-I \$prefix/share/aclocal\""
+ echo "for the prefix where you installed the packages whose"
+ echo "macros were not found"
+ exit 1
+}
+
+if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
+ echo "Running autoheader..."
+ autoheader || { echo "**Error**: autoheader failed."; exit 1; }
+fi
+
+echo "Running automake --gnu $am_opt ..."
+automake --add-missing --gnu $am_opt ||
+ { echo "**Error**: automake failed."; exit 1; }
+echo "Running autoconf ..."
+autoconf || { echo "**Error**: autoconf failed."; exit 1; }
+
+if test -d $srcdir/libgc; then
+ echo Running libgc/autogen.sh ...
+ (cd $srcdir/libgc ; NOCONFIGURE=1 ./autogen.sh "$@")
+ echo Done running libgc/autogen.sh ...
+fi
+
+
+conf_flags="--enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
+
+if test x$NOCONFIGURE = x; then
+ echo Running $srcdir/configure $conf_flags "$@" ...
+ $srcdir/configure $conf_flags "$@" \
+ && echo Now type \`make\' to compile $PKG_NAME || exit 1
+else
+ echo Skipping configure process.
+fi
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000000..b84e90b54a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+PACKAGE (VERSION) UNRELEASED; urgency=medium
+
+ * Initial release. (Closes: #XXXXXX)
+
+ -- Jo Shields Wed, 13 Aug 2014 10:51:30 +0100
diff --git a/debian/changelog.1.REMOVED.git-id b/debian/changelog.1.REMOVED.git-id
new file mode 100644
index 0000000000..7b33233a13
--- /dev/null
+++ b/debian/changelog.1.REMOVED.git-id
@@ -0,0 +1 @@
+6d1c20ee9757b2a92bcc007e152259bad9d010a7
\ No newline at end of file
diff --git a/debian/changelog.2 b/debian/changelog.2
new file mode 100644
index 0000000000..bfdd9f573b
--- /dev/null
+++ b/debian/changelog.2
@@ -0,0 +1,978 @@
+mono (3.2.8+dfsg-7) unstable; urgency=medium
+
+ * [10016c2] Build libmono-2.0-1 and libmono-2.0-dev for mipsel
+
+ -- Iain Lane Thu, 10 Jul 2014 11:19:02 +0100
+
+mono (3.2.8+dfsg-6) unstable; urgency=medium
+
+ * [9a7e4fb] Properly support Python 3 as Python version linked by
+ GDB. Thanks to Matthias Klose
+ (Closes: #752661)
+
+ -- Jo Shields Mon, 07 Jul 2014 21:52:07 +0100
+
+mono (3.2.8+dfsg-5) unstable; urgency=medium
+
+ [ Jo Shields ]
+ * [c1dd2a1] Enforce strict dependency versioning on
+ libmono-cecil-private-cil. This ensures that packages depending on it
+ are upgraded in lockstep. This works around the unreliable ABI
+ versioning on this library. (Closes: #728911)
+
+ -- Jo Shields Sun, 06 Jul 2014 16:01:19 +0100
+
+mono (3.2.8+dfsg-4) experimental; urgency=low
+
+ * [3930eef] Add missing libmono-winforms2.0-cil dependency to
+ libmono-cil-dev.
+
+ -- Jo Shields Thu, 27 Feb 2014 23:29:17 +0000
+
+mono (3.2.8+dfsg-3) experimental; urgency=low
+
+ * [6a91386] -z and -n do the same thing, right? Fixes autopkgtest for real.
+
+ -- Jo Shields Wed, 26 Feb 2014 10:28:38 +0000
+
+mono (3.2.8+dfsg-2) experimental; urgency=low
+
+ * [2192ca9] Only trigger mono-gac postinst on upgrades. This should fix
+ an edge case when GAC-installing libraries which rely on
+ machine.config's key remapping at the same time as mono-gac
+ first-install, such as F#. Thanks to Christopher James Halse Rogers.
+
+ -- Jo Shields Tue, 25 Feb 2014 23:55:52 +0000
+
+mono (3.2.8+dfsg-1) experimental; urgency=low
+
+ * The "Debian 9.0 Zurg" release
+
+ * [9972bf8] Imported Upstream version 3.2.8+dfsg
+ * [c9f9468] README is gone, ship README.md instead since it might be useful
+ * [029af3f] Refresh symbols files for libmono*
+ * [e2acadb] Don't use killall to kill stray Mono processes, it doesn't work
+ as desired. (Closes: #738277)
+ * [0b1a48e] Delete some corner-case build rules for working around arch
+ issues
+ * [26e5fbc] Bump System.Reactive to 2.2
+ * [660166e] Fix up XBuild paths
+ * [ea9afdc] Add new Facades to mono-devel
+ * [8305898] Add new XBuild 12.0 files to mono-xbuild package
+ * [4575803] Add new Mono.XBuild.Tasks library
+ * [66a2288] Refreshed clilibs versioning and renamed packages as required
+ by ABI changes
+
+ -- Jo Shields Thu, 20 Feb 2014 20:45:09 +0000
+
+mono (3.2.3+dfsg-7) experimental; urgency=medium
+
+ [ Mirco Bauer ]
+ * [fd41e43] Added a hard timeout of 1 hour per test pass to prevent blocking
+ buildds forever
+ * [68cd63d] Hard kill stray mono processes after each test pass to make the
+ life of buildd admins nicer
+ * [2b00059] Added psmisc to build-deps for the killall command
+
+ [ Christopher James Halse Rogers ]
+ * [c6ee8c7] Make the install-framework commmand idempotent
+
+ -- Mirco Bauer Fri, 17 Jan 2014 07:06:13 +0100
+
+mono (3.2.3+dfsg-6) experimental; urgency=medium
+
+ * The "Hello F#" release
+
+ [ Christopher James Halse Rogers ]
+ * [37faf77] Do the framework-install/framework-remove dance in mono-gac maint
+ scripts. This ensures our 3rd-party-ish framework libraries end up in the
+ right place on upgrades.
+
+ [ Jo Shields ]
+ * [5872e81] Disable monitor.exe, it frequently doesn't get cleaned up on
+ buildds, which can cause buildd admin angst.
+ * [a9a843a] Disable bug-10127, this is another test which can leave stray
+ processes.
+ * [c01f5fc] mono-devel should pull in libmono-2.0-dev as this contains
+ mono-2.pc. Fixes FTBFS in gtk-sharp3 and others.
+
+ -- Mirco Bauer Wed, 15 Jan 2014 07:21:45 +0100
+
+mono (3.2.3+dfsg-5) experimental; urgency=low
+
+ * [bb3e132] Fix error in debian/libmonosgen-2.0-1.symbols.armhf
+ * [98b1fb6] Roll all the -facades- (PCL) packages into mono-devel. These
+ are meaningless outside compile time, and a pain to maintain, so we
+ gain nothing from having them split out.
+
+ -- Jo Shields Thu, 12 Dec 2013 12:35:44 +0000
+
+mono (3.2.3+dfsg-4) experimental; urgency=low
+
+ [ Alex Rønne Petersen ]
+ * [17c6b02] Merge branch 'armhf' of github.com:alexrp/mono
+ (cherry picked from commit b9bcafb382666ccf2f2848065f1760c8f322fa4d)
+
+ [ Jo Shields ]
+ * [cf19c56] Add support for armhf packages
+
+ -- Jo Shields Tue, 03 Dec 2013 22:52:00 +0000
+
+mono (3.2.3+dfsg-3) experimental; urgency=low
+
+ * [2b7198e] Fix buggy Replaces section on
+ libmono-system-windows-forms-datavisualization4.0a-cil package
+ (Closes: #728340)
+ * [8a07907] There is a bug in the silicon on Loongson 2E and 2F
+ processors, which can cause the traditional NOP instruction
+ (which doesn't exist on MIPS but is an alias to 'sll 0,0,0')
+ to fail intermittently under high load. This is worked around
+ in binutils
+ (https://sourceware.org/ml/binutils/2009-11/msg00387.html) but
+ that only applies to software compiled via binutils, not via a
+ JITter like Mono. The fix uses a different no-op instruction
+ which does not trigger the CPU bug. Thanks to Alex Rønne
+ Petersen for his help.
+
+ -- Jo Shields Fri, 15 Nov 2013 00:03:19 +0000
+
+mono (3.2.3+dfsg-2) experimental; urgency=low
+
+ [ Christopher James Halse Rogers ]
+ * [e3ef79e] Add dh_installcliframework support to mono.runtime-script
+
+ -- Jo Shields Wed, 30 Oct 2013 00:07:49 +0000
+
+mono (3.2.3+dfsg-1) experimental; urgency=low
+
+ [ Jo Shields ]
+ * [d0a215f] Imported Upstream version 3.2.3+dfsg (Closes: #725279)
+ * [f355562] Add new symbols for 3.2.3
+ * [0d9bcb4] Bump ABI versions for 3.2.3 changes, including package renames
+ where required by policy.
+ * [93ed69f] Fix the couple of packages that accidentally did not drop IA64
+ support.
+ * [5513028] Add Sgen debug helper to mono-dbg
+ * [ab982e4] Add missing mono-heapviz and mdbrebase
+ * [81bf668] Strip out 4.5 version of bundled NUnit, we don't ship the
+ bundle in Debian.
+ * [d6db210] Add missing monosgen-2.pc to libmonosgen-2.0-dev
+ * [6c1a392] Add libmono-system-json2.0-cil package
+ * [e3c04e1] Refresh list of packages in libmono-cil-dev.
+ * [b9c8e08] Add System.DirectoryServices.Protocols assembly package
+ * [2e5b801] Add 2.0 (3.5) version of System.Net assembly packages.
+ * [be5178c] Add package for System.ServiceModel.Activation assembly
+ * [6b9fdaa] Add package for System.Json.Microsoft assembly
+ * [e37416a] Add package for 2.0 (3.5) version of System.Data.Services.Client
+ assembly
+ * [d42483b] Add symbol brought in by the last patch merge
+ * [cd78202] Don't redeclare desc in mini_create_ftnptr on ppc64
+ * [4d2d529] Add missing PowerPC symbols
+ * [0ad5d69] Abandon SPARC support. The company which had previously been
+ maintaining it dropped their interest after Mono 2.8, and as such, the
+ SPARC port is bitrotted beyond use. (Closes: #727542)
+
+ [ Alex Rønne Petersen ]
+ * [be0a4a3] Remove unneeded NetBSD code path from atomic.h.
+ * [4d3344a] Simplify the ifdeffery in atomic.c/.h a bit.
+ * [b3a340d] Use host preprocessor identifiers in atomic.c, not target.
+ * [9058bfe] Remove unneeded ARM code from atomic.c.
+ * [97a4fff] Use GCC atomics on s390x.
+ * [a668980] Remove MONO_ARCH_SAVE_REGS from threading icalls.
+ * [73ec437] Use mono_memory_barrier () for Thread.MemoryBarrier ().
+ * [70e8ca1] Add implementations of various interlocked functions to
+ atomic.c/.h.
+ * [b37681e] Add interlocked read/write functions to atomic.c/.h.
+ * [f912c77] Move definition of NEED_64BIT_CMPXCHG_FALLBACK to top of
+ atomic.c.
+ * [3b93dd8] Use __sync_sub_and_fetch () for atomic decrements for
+ clarity.
+ * [8d36fd1] Use InterlockedRead64 () for Interlocked.Read (long&).
+ * [07c705d] Use InterlockedIncrement64 () for Interlocked.Increment
+ (long&).
+ * [c1a8be1] Use InterlockedDecrement64 () for Interlocked.Decrement
+ (long&).
+ * [deeb1c8] Use InterlockedExchange64 () for Interlocked.Exchange
+ (long&, long).
+ * [413523f] Use InterlockedExchange64 () for Interlocked.Exchange
+ (double&, double).
+ * [2676ce4] Use InterlockedAdd () for Interlocked.Add (int&, int).
+ * [07d515c] Use InterlockedAdd64 () for Interlocked.Add (long&, long).
+ * [9599856] Correct our implementation of Thread.VolatileRead ()/VolatileWrite ().
+ * [bfe9881] Use slow 64-bit cmpxchg for 32-bit ARM, MIPS, and PowerPC.
+ * [3c16fd2] Add an extension point in atomic.c.
+ * [771e714] Add mono_gc_wbarrier_generic_store_atomic () function.
+
+ [ Zoltan Varga ]
+ * [d6629c3] [runtime] Fix the interlocked increment/decrement/add functions.
+
+ -- Jo Shields Thu, 24 Oct 2013 20:21:32 +0100
+
+mono (3.2.1+dfsg-1) experimental; urgency=low
+
+ * The "REJECT FALSE ICONS" release
+
+ [ Jo Shields ]
+ * [b9108c7] Dirty patch to introduce a new System.Windows.Forms.WebBrowser
+ back-end, which does absolutely nothing. This is to allow applications
+ which create a WebBrowser object to continue to run without crashing,
+ in the absence of a working browser back-end (which we lack right now).
+ This patch is sufficient for
+ http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/AsimpleBrowser.htm
+ to run without crashing. (Closes: #683289, #694948)
+ * [d20f6ad] Update README.source for the latest +dfsg changes
+ * [621d62b] Imported Upstream version 3.2.1+dfsg
+ * [a469da4] Delete .git folders which are incorrectly supplied (sometimes)
+ in upstream tarballs
+ * [93dc83d] Remove IA64 as a build arch, it's abandoned upstream - add
+ newly fixed MIPS (little endian) instead.
+ * [45139df] Refresh debian/ - including new split-off packages - now SGen
+ is default
+ * [f8f6ae7] Rename libmono-2.0 packages to libmonoboehm-2.0 as appropriate.
+ * [22f5059] Add new GAC'd assemblies from this release.
+ * [7876094] Refreshed dh_makeclilibs version information to reflect ABI
+ and API bumps.
+ * [0916fab] Rename libmono-csharp4.0-cil.install to
+ libmono-csharp4.0a-cil.install, due to heavy ABI breakage.
+ * [c4437d1] Fix compilation failure to due to uninitialized variable.
+ * [b53dbb2] Create a set of new packages for PCL Facades.
+ * [1054a3b] Add Xamarin to copyright file
+ * [3643568] Fix compilation failure to due to uninitialized variable.
+ * [0873f74] Replace references to Novell in package descriptions with
+ Xamarin.
+
+ [ Mirco Bauer ]
+ * [c920c13] Removed mono_arch_get_lmf_addr from s390x specific symbols
+ * [7b291a4] Added new armel specific symbols to libmono-2.0-1.symbols.armel
+
+ [ Atsushi Eno ]
+ * [15e60b3] Add Assembly version attributes to hopefully fix bug #10002.
+ (cherry picked from commit cd6dc32e0b936645bf2f89e1bf61c6ae04c3258a)
+ The new files are modified by this commit but were not present in the
+ packaged release.
+ * [5b98c36] [rx] Add missing AssemblyInfos.
+ (cherry picked from commit 7890e1e824b91b1fd30d375b8cfb19d5abb23c5a)
+ * [7cb9532] remove wrong EOLs after Libs: in reactive.pc.in. Third
+ attempt to fix bug #10002.
+ (cherry picked from commit 5c228f3dd0e9b32a5b0d4aaaf0903ebaeae5a6d9)
+ * [8583276] Fix build (giconv.c) (cherry picked from commit
+ 37e7f2fb50e2f357ae4068d3b7551ff411f9f77c)
+
+ [ Carlos Martín Nieto ]
+ * [b85c794] Create package for Reactive Extensions.
+ Now that they have a version, let's create binary packages for them.
+
+ [ Alex Rønne Petersen ]
+ * [172471f] Support a MONO_ARCH_HAVE_TLS_INIT variable.
+ Setting this on an architecture makes Mini call
+ mono_arch_tls_init () on thread attach.
+ This is primarily useful for architectures that have not
+ had their LMF code ported to the new infrastructure due to
+ a general lack of maintenance or hardware to do it on.
+ (cherry picked from commit f87a4f127d1a0ea1cf4145f9605c5698af08c6cf)
+ * [7cbea71] MIPS: Set USE_MUL to 0 by default (for now).
+ Setting it to 1 breaks on Loongson CPUs which are the most common
+ desktop MIPS CPUs supported by e.g. Debian.
+ This change can be reverted when more investigation is done to find
+ out why exactly this breaks.
+ Thanks to Jo Shields (@directhex) for lots of testing and debugging
+ and spotting this define that turned out to be the culprit.
+ (cherry picked from commit 0e67acba31c39e37b1bc55afb28d157c36895c23)
+
+ [ Mark Probst ]
+ * [e19428c] Fix race conditions in finalizer/weak link staging.
+ (cherry picked from commit aef4b77ea79aa0a4c06e10bd5842da9df0d10973)
+
+ [ Jeffrey Stedfast ]
+ * [090dda7] [eglib] Fixed g_utf8_to_utf16_general() to handle
+ invalid utf8 (cherry picked from commit
+ a81cd6dae81a7077a7f014948c78075da08f02f7)
+
+ [ Zoltan Varga ]
+ * [49af7b0] [sgen] Use __builtin_ctzl () in OBJ_BITMAP_FOREACH_PTR () on 64
+ bit platforms. Fixes #14834. (cherry picked from commit
+ d2cc22580898df5d4a15e0f99ab513e1570a6082)
+ Thanks to Andres G. Aragoneses (@knocte) for his help tracking this one
+ down, as it broke Banshee.
+
+ -- Jo Shields Sun, 22 Sep 2013 18:35:43 +0100
+
+mono (3.0.6+dfsg2-12) unstable; urgency=medium
+
+ [ Jo Shields ]
+ * [0410495] Only trigger mono-gac postinst on upgrades. This should fix an
+ edge case when GAC-installing libraries which rely on machine.config's key
+ remapping at the same time as mono-gac first-install, such as F#. Thanks to
+ Christopher James Halse Rogers.
+ * [173a0cf] -z and -n do the same thing, right? Fixes autopkgtest for real.
+
+ -- Mirco Bauer Thu, 27 Mar 2014 10:21:21 +0100
+
+mono (3.0.6+dfsg2-11) unstable; urgency=medium
+
+ * The "Hello F#" release
+
+ [ Christopher James Halse Rogers ]
+ * [d953ce1] Do the framework-install/framework-remove dance in mono-gac maint scripts.
+ This ensures our 3rd-party-ish framework libraries end up in the right place
+ on upgrades.
+ cf: gac-install/gac-remove
+ * [9303f0c] Add dh_installcliframework support to mono.runtime-script
+ * [a0ea7e3] Make the install-framework commmand idempotent
+
+ -- Mirco Bauer Tue, 11 Feb 2014 02:46:08 +0100
+
+mono (3.0.6+dfsg2-10) unstable; urgency=low
+
+ [ Marek Safar ]
+ * [3fc971b] Add test from Jb Evain to test biner with user method types
+ (cherry picked from commit 80d342ff7555e95bfa3917543ce66910175cf61d)
+
+ [ Jo Shields ]
+ * [fae7653] Really remove SPARC from list of architectures (Closes: #731253)
+
+ -- Jo Shields Tue, 03 Dec 2013 23:55:11 +0000
+
+mono (3.0.6+dfsg2-9) unstable; urgency=low
+
+ * [24232d8] Enforce strict dependency versioning on
+ libmono-cecil-private-cil. This ensures that packages depending
+ on it are upgraded in lockstep. This works around the unreliable
+ ABI versioning on this library. (Closes: #728911)
+
+ -- Jo Shields Sun, 17 Nov 2013 20:21:43 +0000
+
+mono (3.0.6+dfsg2-8) unstable; urgency=low
+
+ * [a87c24d] Remove SPARC. It's a dead architecture in Mono upstream
+ (and elsewhere). (Closes: #727542)
+ * [b6e4975] Fix package descriptions to not mention SPARC or IA64,
+ and exchange S/390 with S/390x
+
+ -- Jo Shields Sun, 27 Oct 2013 14:09:33 +0000
+
+mono (3.0.6+dfsg2-7) unstable; urgency=low
+
+ [ Jeffrey Stedfast ]
+ * [235060d] [eglib] Fixed g_utf8_to_utf16_general() to handle invalid
+ utf8 (cherry picked from commit a81cd6dae81a7077a7f014948c78075da08f02f7)
+ (Closes: #716689)
+
+ [ Atsushi Eno ]
+ * [5c90cf9] Fix build (giconv.c)
+ (cherry picked from commit 37e7f2fb50e2f357ae4068d3b7551ff411f9f77c)
+
+ -- Jo Shields Sat, 12 Oct 2013 23:54:26 +0100
+
+mono (3.0.6+dfsg2-6) unstable; urgency=low
+
+ [ Mirco Bauer ]
+ * [c920c13] Removed mono_arch_get_lmf_addr from s390x specific symbols
+ * [7b291a4] Added new armel specific symbols to libmono-2.0-1.symbols.armel
+
+ [ Atsushi Eno ]
+ * [15e60b3] Add Assembly version attributes to hopefully fix bug #10002.
+ (cherry picked from commit cd6dc32e0b936645bf2f89e1bf61c6ae04c3258a)
+ The new files are modified by this commit but were not present in the
+ packaged release.
+ * [5b98c36] [rx] Add missing AssemblyInfos.
+ (cherry picked from commit 7890e1e824b91b1fd30d375b8cfb19d5abb23c5a)
+ * [7cb9532] remove wrong EOLs after Libs: in reactive.pc.in. Third attempt to fix bug #10002.
+ (cherry picked from commit 5c228f3dd0e9b32a5b0d4aaaf0903ebaeae5a6d9)
+
+ [ Carlos Martín Nieto ]
+ * [b85c794] Create package for Reactive Extensions.
+ Now that they have a version, let's create binary packages for them.
+
+ [ Alex Rønne Petersen ]
+ * [172471f] Support a MONO_ARCH_HAVE_TLS_INIT variable.
+ Setting this on an architecture makes Mini call
+ mono_arch_tls_init () on thread attach.
+ This is primarily useful for architectures that have not
+ had their LMF code ported to the new infrastructure due to
+ a general lack of maintenance or hardware to do it on.
+ (cherry picked from commit f87a4f127d1a0ea1cf4145f9605c5698af08c6cf)
+
+ [ Jo Shields ]
+ * [1eacac9] Kill IA64 support. It's dead upstream and not coming back.
+
+ -- Mirco Bauer Fri, 11 Oct 2013 11:25:53 +0200
+
+mono (3.0.6+dfsg2-5) unstable; urgency=low
+
+ * [8b43de0] [monodoc] Ensure we don't try to use when
+ it might be null. Fixes Gendarme doc generation.
+ (cherry picked from commit ba222d4eb939ef097dd2b77b1fea5c3b8a60b310)
+ * [478f26a] Switch debian/gbp.conf to use non-Experimental branches
+ * [0dde9cb] Fix compilation failure to due to uninitialized variable.
+
+ -- Jo Shields Wed, 09 Oct 2013 23:21:56 +0200
+
+mono (3.0.6+dfsg2-4) unstable; urgency=low
+
+ [ Iain Lane ]
+ * [2a84a9f] Install Mono.Posix and System.Data.OracleClient into 4.5 too
+
+ [ Neale Ferguson ]
+ * [a4118b9] Add lazy rgctx support to s390x
+ (cherry picked from commit 3cbc51a82063f879680eab3c99415028e9c80c00)
+ * [8f533d3] Correct call parameter processing for GENERICINST types
+ (cherry picked from commit efa707b468967f1fa57bb39c642109439dc03c84)
+ * [a99f491] Remove unneeded call - lazy support
+ (cherry picked from commit 89cbc62dee8e694b1d80157d254322523bbce411)
+
+ -- Mirco Bauer Mon, 13 May 2013 12:22:42 +0200
+
+mono (3.0.6+dfsg2-3) unstable; urgency=low
+
+ * Upload to unstable
+
+ -- Mirco Bauer Sun, 05 May 2013 09:07:45 +0200
+
+mono (3.0.6+dfsg2-2) experimental; urgency=low
+
+ [ Jo Shields ]
+ * [f46cef1] Ensure GetVolumeInformation is defined on kfreebsd, by adding to
+ the #define
+ * [88cfd6f] Remove duplicated definition of mini_gc_enable_gc_maps_for_aot -
+ fixed build on PowerPC, Itanium, SPARC
+ (cherry picked from commit 998373afb6cb164767d2dc7cc62610e1dbf4a161)
+
+ -- Mirco Bauer Thu, 18 Apr 2013 20:21:12 +0200
+
+mono (3.0.6+dfsg2-1) experimental; urgency=low
+
+ * The "From Mirco Bauer with Love" release
+
+ [ Mirco Bauer ]
+ * New major upstream release
+ + Dropped obsolete downstream patches:
+ - master-experimental-patches/CVE-2012-3382-Mono.Web-XSS
+ - master-experimental-patches/X.509_fixes
+ - master-experimental-patches/fix_mono-api-info
+ * [8f13662] Bumped clilibs where needed to >= 3.0.6
+ * [1a21b1c] Updated debian/copyright for Mono 3.0.6
+ * [8550395] Remove external/Lucene.Net/lib/ from source tarball in get-orig-source
+ * [37f20cb] Updated debian/README.source for Mono 3.0.6
+ * [44b076b] Imported Upstream version 3.0.6+dfsg2
+ * [422ee0e] Imported Upstream version 3.0.6+dfsg
+ * [2a298ae] Updated libmono-2.0-1.symbols for Mono 3.0.2 and 3.0.3
+ * [8bb72a8] Re-synced debian/dh_makeclilibs from cli-common 0.9, needed for .NET 4.5 support
+ * [81be094] Imported Upstream version 3.0.1+dfsg
+ * [ca9c963] Imported Upstream version 3.0.0+dfsg
+ * [2b6934a] Updated GNU/kFreeBSD port for Mono 3.0
+ * [df4ee63] Disable -Werror=format-security on GCC as the input is already
+ validated by the caller.
+ * [552f512] Added missing RabbitMQ.Client/docs/specs files back, which
+ were accidently deleted in debian/rules' get-orig-source target
+ * [fd3c55d] Updated libmono-2.0-1.symbols for Mono 3.0
+ * [70a0773] Added 4.5 runtime config files to mono-runtime.install
+ * [f2c64d8] Moved gmcs and dmcs to the mono-mcs package as they are now just
+ script wrappers around mcs which from now on provides the
+ C# 2.0, 3.0, 4.0 and 5.0 compiler
+ * [5f555c4] Use mcs compiler in debian/rules for MonoGetAssemblyName and
+ mono-api-diff
+ * [22cdeb1] The default C# compiler (cli-csc) is now mcs instead of dmcs,
+ making CLI 4.5 the new default runtime
+ * [d8aa46c] Updated application paths of mono-devel.install
+ * [bbad2af] Added new libmono-corlib4.5-cil package
+ * [2992c9c] Updated application path of mono-csharp-shell.install
+ * [86a3c74] Updated application path of mono-4.0-gac.install
+ * [422f9a5] Updated library path of libmono-codecontracts4.0-cil.install
+ * [07f956e] Added new libmono-parallel4.0-cil package
+ * [0ac23eb] Updated application path of mono-4.0-service.install
+ * [68801fb] Added new libmono-system-json4.0-cil package
+ * [62ec2a8] Updated library paths for libmono-microsoft-build*4.0-cil and
+ added new libmono-microsoft-build4.0-cil package
+ * [9f85c45] Added new libmono-entityframework(-sqlserver)6.0-cil package
+ * [64737c1] Added new libmono-system-net-http4.0-cil package
+ * [0d23a36] Added new libmono-system-net-http-formatting4.0-cil package
+ * [7a5ff4b] Added new libmono-system-threading-tasks-dataflow4.0-cil package
+ * [7d22b72] Added new libmono-system-web-http4.0-cil package
+ * [a153a71] Added new libmono-system-web-http-selfhost4.0-cil package
+ * [4be7571] Added new libmono-system-web-mvc3.0-cil package
+ * [5705132] Added new libmono-system-web-razor2.0-cil package
+ * [f636e2f] Added new libmono-system-web-webpages2.0-cil package
+ * [2b8ef48] Added new libmono-system-web-webpages-deployment2.0-cil package
+ * [3a0996e] Added new libmono-system-web-webpages-razor2.0-cil package
+ * [cba5827] Added aspnetwebstack.pc and system.web.mvc3.pc to libmono-cil-dev
+ package
+ * [e36a51e] Added cccheck(.exe) with manpage to mono-devel package
+ * [cb6e8fc] Added crlupdate(.exe) with manpage to mono-devel package
+ * [bb1a528] Updated library paths for .NET 4.5 development profile
+ * [52efd50] Updated application paths for .NET 4.5 development profile
+
+ [ Marek Safar ]
+ * [3531cf8] Build correct version of System.Net for non-mobile profile
+
+ -- Mirco Bauer Wed, 10 Apr 2013 23:13:16 +0200
+
+mono (2.10.8.1-8) unstable; urgency=high
+
+ * [b9108c7] Dirty patch to introduce a new System.Windows.Forms.WebBrowser
+ back-end, which does absolutely nothing. This is to allow applications
+ which create a WebBrowser object to continue to run without crashing,
+ in the absence of a working browser back-end (which we lack right now).
+ This patch is sufficient for
+ http://www.java2s.com/Tutorial/CSharp/0460__GUI-Windows-Forms/AsimpleBrowser.htm
+ to run without crashing. (Closes: #683289, #694948)
+
+ -- Jo Shields Sun, 03 Mar 2013 17:36:38 +0000
+
+mono (2.10.8.1-7) unstable; urgency=high
+
+ [ Jo Shields ]
+ * [4a46aae] Remove armhf from mono-archs.make - It should have been
+ removed in 2.10.8.1-6 but was overlooked (Closes: #695743)
+
+ [ Marek Habersack ]
+ * [226b326] Fix for Novell bug #739119 (Closes: #686562, CVE-2012-3543)
+ * [6983b45] Update to fix for Novell bug #739119
+
+ -- Jo Shields Mon, 28 Jan 2013 10:27:00 +0000
+
+mono (2.10.8.1-6) unstable; urgency=low
+
+ * [da2fc97] Remove armhf from list of supported architectures. It
+ ain't supported by the runtime in Mono 2.10.x, and trying to
+ shoehorn it in was more difficult than we had hoped. It will
+ return in the future, for Mono 2.12. (Closes: #682284)
+
+ -- Jo Shields Mon, 27 Aug 2012 17:15:03 +0100
+
+mono (2.10.8.1-5) unstable; urgency=high
+
+ [ Jo Shields ]
+ * [c05ec16] Add symbols file for ppc64 (Closes: #651664)
+
+ [ Mirco Bauer ]
+ * [4e87058] Fixed version of ppc64 specific symbol
+ mono_exc_esp_offset was introduced in 2.10.1 which is also
+ backport-friendly
+
+ [ Gonzalo Paniagua Javier ]
+ * [1930eb3] HtmlEncode the path.
+ Fixes Novell bug #769799. (Closes: #681095, CVE-2012-3382)
+
+ -- Jo Shields Wed, 11 Jul 2012 19:13:12 +0100
+
+mono (2.10.8.1-4) unstable; urgency=low
+
+ [ Iain Lane ]
+ * [10b15d4] Pass LDFLAGS to binfmt-detector-cli too (Closes: #657518)
+
+ [ Jo Shields ]
+ * [f77ef2f] Tweak build system to check multiarch library folder for
+ libX11.so.
+
+ -- Jo Shields Sun, 27 May 2012 15:28:00 +0100
+
+mono (2.10.8.1-3) unstable; urgency=low
+
+ * [c934e01] Remove unused File::Basename import from runtime script.
+ Having this present causes failures on release upgrades where perl-base
+ and perl-modules are not in a consistent state (e.g. this can happen
+ when upgrading across major Perl versions). (Closes: #665335) (LP:
+ #948848)
+ * [9e3cc40] Remove monodoc-base trigger.
+ This trigger updated the monodoc search index. It ended up calling
+ /usr/bin/monodoc, which is shipped in the monodoc-browser package
+ (source package mono-tools). The script attempted to check that
+ monodoc-browser was configured, but didn't get this right. This led to
+ numerous upgrade failures when Depends of monodoc-browser were not
+ satisfied when the trigger was invoked and calling monodoc to update the
+ search index bombed out due to this. It's more correct to just have
+ monodoc-browser ship this trigger itself. (LP: #972751)
+ * [dd2925c] Standards-Version bump to 3.9.3, no changes required
+ * [8299ee0] Remove duplicate Depends in mono-complete
+ * [508c4f5] Revert "Merge branch 'master-patches/fix_crash_in_fixup_cattrs'"
+ This reverts commit 86127dcf508213eac5b50a65c989cf5971b57378, reversing
+ changes made to 55a1a20a4d858346ed8a8d840abc3f9230ea816e.
+ This branch introduced regressions which caused both nant and mono-upnp
+ (at least) to FTBFS. (Closes: #666623)
+ * [61fbbe4] Fix ARM printf format problems.
+ When building with -Werror=format-security on ARM, mono fails to build
+ due to incorrect format strings in arm-dis.c
+ (cherry picked from commit 32c1b70ad164640ff0a2739e66884d0279cfe7c7)
+ Signed-off-by: Iain Lane
+ * [9883116] Pass CFLAGS and CPPFLAGS when building binfmt-detector.
+ Ensures hardening support is enabled for this binary.
+ Thanks to Simon Ruderich (Closes: #657518)
+ * [4bb0138] Ensure compiler flags are passed into build system.
+ This issue was discovered when it was noted that Debian's hardening
+ buildflags weren't being propogated to all binaries.
+ The patch is from Simon Ruderich
+ (cherry picked from commit d6dcfb27fc6252352f6ad6f8bd9ef5cff206fd46)
+ Also Closes: #657518
+
+ -- Iain Lane Wed, 04 Apr 2012 21:15:59 +0100
+
+mono (2.10.8.1-2) unstable; urgency=low
+
+ [ Zoltan Varga ]
+ * [52cf3ab] Modify fixup_cattrs () to handle a corner case where a cattr is
+ created using a MonoCMethod instead of a ConstructorBuilder.
+
+ [ Moritz Muehlenhoff ]
+ * [96d7d4a] Use dpkg-buildflags for enabling hardened build flags
+ (closes: #657518)
+
+ [ Mirco Bauer ]
+ * [de40c42] Bumped dpkg-dev build-dep to >= 1.16.1~ as we include
+ buildflags.mk of it
+
+ -- Mirco Bauer Thu, 22 Mar 2012 22:00:34 +0100
+
+mono (2.10.8.1-1) unstable; urgency=low
+
+ [ Jb Evain ]
+ * [b31e994] [mono-api-info] try to read local files before using the resolver
+
+ [ Mirco Bauer ]
+ * [e6134cc] Imported Upstream version 2.10.8.1
+ * [e8b34c9] Added s390x specific symbols to libmono-2.0-1.symbols.s390x
+ * [ad7a051] Copied armel specific symbols to libmono-2.0-1.symbols.armhf
+ * [1001d95] Added new symbol to libmono-2.0-1.symbols
+ * [c17bea6] Build mono-api-diff and MonoGetAssemblyName with dmcs
+ instead of gmcs
+ * [1388ad0] Bumped clilibs of libmono-system4.0-cil,
+ libmono-sqlite{2,4}.0-cil and
+ libmono-microsoft-build-framework4.0-cil to >= 2.10.7
+ * [7bb7153] Added -a switch (ABI) to mono-api-check
+ * [b35dd98] Imported Upstream version 2.10.8.1
+ * [a251cb0] Fixed typo in package short description of
+ libmono-webmatrix-data4.0-cil (closes: #656671)
+ * [b35dd98] Imported Upstream version 2.10.8.1
+ * [03f5030] Updated RUN_MONO variable for a 4.0 runtime
+
+ -- Mirco Bauer Sun, 05 Feb 2012 19:21:10 +0100
+
+mono (2.10.5-2) unstable; urgency=low
+
+ [ Mirco Bauer ]
+ * Upload to unstable
+
+ [ Sebastien Pouliot ]
+ * [80b0a2d] Add support for validating RSA-based X.509 certifcates using
+ SHA256
+ * [977f0e0] Avoid ANE when a key algorithm parameters is really null
+ (not just ASN.1 null)
+ * [83468f9] Avoid throwing when verifying an RSA certificate with dsaSHA1
+ * [2050ee0] Add MD4, SHA384 and SHA512 signature verification to X.509
+ certificates
+ * [ab80293] Fix X.500 DN comparison
+ * [d864bce] Avoid throwing an ANE on an invalid X.509 extension
+ * [ab2997c] Add entries for MD4 in machine.config
+
+ -- Mirco Bauer Mon, 16 Jan 2012 04:50:58 +0100
+
+mono (2.10.5-1) experimental; urgency=low
+
+ * [854fa78] Imported Upstream version 2.10.5
+
+ -- Mirco Bauer Thu, 25 Aug 2011 22:26:08 +0200
+
+mono (2.10.4-3) experimental; urgency=low
+
+ [ Jo Shields ]
+ * [985d2ae] Revert "[xbuild] Make Engine.DefaultToolsVersion 2.0 ."
+ This reverts commit 4010c69c7d61223c73f111be2d79c4a440b70b45.
+
+ -- Mirco Bauer Mon, 22 Aug 2011 22:44:41 +0200
+
+mono (2.10.4-2) experimental; urgency=low
+
+ * [77d26a4] Fixed failing upgrade of libmono-webbrowser0.5-cil to
+ libmono-webbrowser2.0-cil with conflicts/replaces
+
+ -- Mirco Bauer Fri, 12 Aug 2011 21:19:36 +0200
+
+mono (2.10.4-1) experimental; urgency=low
+
+ [ Mirco Bauer ]
+ * New upstream (bugfix) release
+ * [6a8fc99] Install mono-api-diff.exe in mono/4.0
+ * [85bc08e] Imported Upstream version 2.10.4
+ * [113d0f0] Wrapped too long debian/changelog lines
+
+ [ Miguel de Icaza ]
+ * [03ceab5] Do not throw if we get a RunAndCollect
+
+ -- Mirco Bauer Thu, 11 Aug 2011 21:32:53 +0200
+
+mono (2.10.3-1) experimental; urgency=low
+
+ * The "from Xamarin with love" release
+
+ [ Mirco Bauer ]
+ * [5f13e09] Updated download URL in debian/watch
+ * [4abf062] Added desktop file for mono with and without a terminal window
+ * [f165789] Imported Upstream version 2.10.3
+ * [b51b15c] Dropped unused libglib2.0-dev from build-deps which was replaced
+ by Mono's own eglib
+ * [00a5c48] Fixed manpage reference for cli-csc alternative
+ * [b6fb713] New patch structure
+ * [6cb63b3] Use debian-branch instead of current branch
+ * [3956527] Added I18N west package as dependency to WinForms as the
+ RichTextBox class requires CP1252 (closes: #629151)
+ * [997bec0] Mono.WebBrowser library is now shipped in both 2.0 and 4.0
+ runtime flavors
+ * [dfd65af] Added /usr/lib/mono/xbuild-frameworks to mono-xbuild package
+ * [12478bf] Removed useless dh_makeclilibs call for not existing
+ libmono-winforms4.0-cil
+ * [3d2d42c] Allow the inclusion of the binary file debian/mono-runtime.png
+ * [2a814af] Fixed missing separator in Depends field of
+ libmono-microsoft-visualc10.0-cil and
+ libmono-microsoft-web-infrastructure1.0-cil
+ * [491534a] Fixed non-binNMUable error for mono-devel
+ * [eb78f74] Fixed spelling mistake according to lintian:
+ s/allows to/allows one to/
+ * [5fae96e] Fixed too long extended description line for mono-runtime-sgen
+ * [5dbb6e1] Set single-debian-patch in debian/source/options
+ * [98bf4a8] Added CLI 4.0 support to mono-api-check
+ * [5965895] Bumped clilibs to 2.10.3 where appropriate
+ * [e706e60] New lame API check tool: mono-api-source-check
+ (only use at your own risk!)
+
+ [ Zoltan Varga ]
+ * [300bb53] Apply a workaround for a gcc 4.6 problem on arm.
+
+ -- Mirco Bauer Wed, 10 Aug 2011 23:52:12 +0200
+
+mono (2.10.1-4) experimental; urgency=low
+
+ [ Zoltan Varga ]
+ * [db3ee8c] Only use memory barriers on arm when running on armv6 or later.
+ * [cf1d8e8] Add a membar to libgc's UNLOCK () on arm. Fixes Mono#683409.
+
+ [ Jo Shields ]
+ * [0e3d427] Ensure SIGXFSZ is used instead of SIGPWR on kFreeBSD.
+ (Closes: #621907)
+ * [8cd4f00] Define CPU registers on kFreeBSD/AMD64, to prevent build
+ failures.
+
+ [ Mirco Bauer ]
+ * [9546eb7] Added armel specific symbols to libmono-2.0-1.symbols.armel
+
+ -- Mirco Bauer Sun, 10 Apr 2011 17:16:47 +0200
+
+mono (2.10.1-3) experimental; urgency=low
+
+ [ Jo Shields ]
+ * [0fd2fc1] Tweak architecture checks in configure.in so kfreebsd-gnu is
+ considered an SGen-capable architecture. (closes: #621448)
+
+ [ Mirco Bauer ]
+ * [26a6ee8] Moved architecture dependent symbols into
+ libmono-2.0-1.symbols.$arch
+
+ -- Mirco Bauer Sat, 09 Apr 2011 15:15:04 +0200
+
+mono (2.10.1-2) experimental; urgency=low
+
+ * [aba0fce] Dropped obsolete archs: arm, armeb and lpia;
+ no longer supported arch: s390;
+ added potential new archs: armhf, ppc64 and s390x;
+ only build and install sgen on supported archs
+ * [66a0541] kfreebsd support for Mono 2.10.1 - mainly backport of gc 6.8
+ (closes: #621031)
+
+ -- Mirco Bauer Thu, 07 Apr 2011 01:33:02 +0200
+
+mono (2.10.1-1) experimental; urgency=low
+
+ * The "size does matter" release
+
+ [ Mirco Bauer ]
+ * New upstream release
+ + For release highlights see the NEWS.Debian file of the
+ mono-runtime package
+
+ [ Jo Shields ]
+ * [5c6aba5] Imported Upstream version 2.8
+ * [f85b0b1] Imported Upstream version 2.8.1
+
+ [ Mirco Bauer ]
+ * [01df276] Pass parallel variable in DEB_BUILD_OPTIONS to mono/Makefile
+ * [e3871f8] Build libgc before mono
+
+ [ Jo Shields ]
+ * [98cb87c] Imported Upstream version 2.10~rc1
+ * [b401a2a] Add test which is missing from 2.10~rc1 tarballs, causing test
+ suite to fail to build
+
+ [ Mirco Bauer ]
+ * [79f2862] Build eglib before libgc and made them parallel buildable
+ * [58bf7d7] Renamed libmono0 package to libmono-2.0-1 following the new
+ soname
+ * [f1e4e50] Provide deb-symbols for libmono-2.0-1
+ * [7be8ed1] Renamed libmono-dev package to libmono-2.0-dev and dropped
+ libglib2.0-dev dependency as Mono no longer makes use of the glib
+ * [d97f372] Moved mono.pc to libmono-cil-dev
+ * [3cd11ad] New mono-runtime-sgen package which contains the Mono VM with
+ a new garbage collector
+ * [7f3919a] Dropped libmono-firebirdsql1.7-cil package
+ * [c31f6e2] Stick to upstream's configure defaults except for ikvm and
+ quiet builds
+ * [de8c9aa] Removed obsolete cleanups
+ * [97c07fa] Removed obsolete doc dir symlinking removal code for Ubuntu
+ * [e6e31ff] Cleaned up Uploaders
+ * [3c24df0] Disable automatic AOT on "make install" as this needs to be done
+ on package install time
+ * [1ced0ac] Merged the install-arch and install-indep target into a single
+ install target
+ * [3a2409b] Disable libgc's parallel mark on powerpc as it FTBFS
+ * [97c6760] Added a 2nd test-suite pass with sgen
+ * [af7129a] Disable sgen on powerpc for now as it needs further porting
+ * [3f99e0e] Don't run the test-suite with sgen on powerpc
+
+ [ Jo Shields ]
+ * [9a320e5] Imported Upstream version 2.10.1
+
+ [ Mirco Bauer ]
+ * [e618805] Don't delete ltmain.sh in clean target as autoreconf is not
+ recreating it
+ * [38ccb49] Updated libmono-2.0-1.symbols for 2.10.1
+ * [0472e8b] Dropped license and copyright information of no longer
+ distributed FirebirdSql.Data.Firebird and Microsoft.JScript
+ assemblies
+ * [cb9cfec] Moved license and copyright information of RabbitMQ.Client to
+ distinct copyright files
+ * [d191bb3] Moved changelog entries older than 2.6.7-1 to changelog.1
+ * [4b69b38] Dropped mono-1.0-devel and merged mono-2.0-devel into mono-devel
+ * [f8e8352] Re-synced debhelper tools from cli-common 0.8~git.ca22e7 with
+ .NET 4.0 support
+ * [dac60fb] Ignore temporarily package build directories
+ * [78db0f9] Replaced depcrecated dh_clean -k call with dh_prep
+ * [4cd31f2] Forcely install jay
+ * [3e69ed3] Drop unwanted/incorrectly shipped files from upstream
+ * [a27bef2] Dropped obsolete and added missing manpages
+ * [b407a26] Make use of dh_install's --list-missing feature
+ * [37638d7] Dropped obsolete and added missing dllmaps
+ * [1597015] Bumped clilibs to >= 2.10.1 where needed
+ * [953569a] Dropped obsolete replaces << 1.2.4-1 lines from mono-dbg
+ * [ee0cbf6] Dropped prj2make-sharp package
+ * [61a9ed1] Updated debian/shlibs.local for Mono 2.10.1
+ * [0fa85d7] Updated mono-runtime.NEWS for Mono 2.10, 2.8 and 2.6
+ * [15fe448] Dropped all CLI 1.0 library and C# 1.0 compiler packages as
+ Mono 2.10 no longer supports the 1.0 runtime, added new packages
+ for all CLI 4.0 libraries and the C# 4.0 compiler and made
+ C# 4.0 the new default C# compiler.
+ All CLI 2.0 library packages are left for ABI and backwards
+ compatibility.
+ * [59b28b7] Sorted dependencies of libmono-cil-dev for easier tracking
+ * [9288af2] Added missing libmono-microsoft-csharp4.0-cil to libmono-cil-dev
+ dependencies
+ * [30cd43e] Added libmono-microsoft-csharp4.0-cil as manual dependency to
+ mono-dmcs as needed for dynamic types
+ * [f262b9f] Added debian/find-icalls.sh helper script which finds internal
+ calls from the source tree
+ * [ce1e2f5] Force the debian version. $(top_srcdir)/.git is no longer a good
+ indicator if this is an upstream git clone or a debian git clone
+ * [ebf531b] Switch to dpkg-source 3.0 (quilt) format
+ * [9b7ed73] Added missing Mono.WebBrowser.dll.config
+
+ -- Mirco Bauer Tue, 05 Apr 2011 00:28:57 +0200
+
+mono (2.6.7-5) unstable; urgency=low
+
+ [ Zoltan Varga ]
+ * [7453b31] Fix a merge problem which broke tailcalls and F# support.
+ (closes: #607465)
+
+ [ Rodrigo Kumpera ]
+ * [e32c3aa] Check generic instantions for constraint violations.
+ (CVE-2010-4254, closes: #608288)
+ * [7905343] Fix corlib testsuite crash.
+ * [6eb9cab] Handle invalid instantiation of generic methods.
+ * [fbba0ca] Disable generic instance verification is security is off.
+
+ [ Mirco Bauer ]
+ * [ec09641] Disable the use of shared memory to make Mono reliable
+ even when /dev/shm gets exhausted. (closes: #587948)
+
+ -- Mirco Bauer Sun, 09 Jan 2011 19:38:15 +0100
+
+mono (2.6.7-4) unstable; urgency=high
+
+ [ Mirco Bauer ]
+ * [63821a1] Added libmono-nunit2.2-cil to conflicts and replaces of
+ libmono-cil-dev for smooth upgrade from lenny (closes: #602024)
+ * [0089f11] Moved the System.Data.Linq library into libmono-system-
+ data-linq2.0-cil to avoid an unneeded dependency chain for most
+ applications.
+ * [393dc41] Demote libmono-firebirdsql1.7-cil and mono-debugger from
+ recommends to suggests if built on Ubuntu.
+
+ [ Paolo Molaro ]
+ * [52727f0] Search for dllimported shared libs in the base directory,
+ not cwd. * loader.c: we don't search the current directory anymore
+ for shared libraries referenced in DllImport attributes, as it has a
+ slight security risk. We search in the same directory where the
+ referencing image was loaded from, instead.
+ (CVE-2010-4159, closes: #605097)
+
+ [ Zoltan Varga ]
+ * [f17ab04] Fix stack alignment when resuming from a signal handler in
+ the soft debugger.
+
+ -- Mirco Bauer Mon, 06 Dec 2010 23:34:16 +0100
+
+mono (2.6.7-3) unstable; urgency=low
+
+ * The "welcome to new java refugees" release
+
+ [ Iain Lane ]
+ * [a2781e1] Add an environment variable to control X509 validation
+ mode, and set default to no check
+ * [a16f93a] Add --no-ext-diff to git diff call of git-test-debian-
+ patches
+
+ [ Mirco Bauer ]
+ * [cb9c6c2] Fixed manpage name sections. (closes: #595149)
+
+ -- Mirco Bauer Thu, 09 Sep 2010 01:09:45 +0200
+
+mono (2.6.7-2) experimental; urgency=low
+
+ [ Mirco Bauer ]
+ * [d1bf954] Added missing tasks and targets files for xbuild 3.5
+ * [814bfd7] Bumped clilibs of libmono-data-tds{1,2}.0-cil, libmono-
+ security2.0-cil, libmono-microsoft-build2.0-cil and libmono-
+ debugger-soft0.0-cil
+ * [3c1d0ef] Added development symlink for System.Web.Mvc to libmono-
+ system-web-mvc1.0-cil
+
+ [ Iain Lane ]
+ * [754b410] Revert upstream commit 59db1f55409d80fc93ed, which
+ commented out the Requires line in mono.pc.in.
+
+ [ Jo Shields ]
+ * [ea1f755] Add full definitions for all AMD64 registers on kFreeBSD.
+ This fixes a FTBFS on kFreeBSD-AMD64.
+
+ -- Mirco Bauer Tue, 24 Aug 2010 02:26:43 +0200
+
+mono (2.6.7-1) experimental; urgency=low
+
+ [ Mirco Bauer ]
+ * The "squeeze-ing the best out of Mono" release
+ * [c91fe56] Added git-dch settings
+ * [665316e] Imported Upstream version 2.6.7
+ + Includes ASP.NET MVC 2.0
+ * [1823ffa] Don't let git-import-orig do merges
+ * [9b50f29] Implemented tool to test merge all debian patch branches
+ against the upstream branch.
+ * [d06b9ad] Only merge branches that really begin with
+ debian/patches/*
+ * [822f606] Added System.Web.Mvc2 to debian/copyright
+ * [45d4f69] Added libmono-system-web-mvc2.0-cil package
+ * [b9b720e] Fix mono/test test suite compilation.
+
+ [ Andy Stührk ]
+ * [f6745b9] XplatUIX11.WorkingArea can segfault if the WM does not
+ support _NET_WORKAREA (Closes: #557229)
+ (thanks to Brian Pellin and Andy Stührk for the investigation and patch)
+
+ -- Mirco Bauer Sat, 07 Aug 2010 00:35:39 +0200
+
diff --git a/debian/cli.binfmt b/debian/cli.binfmt
new file mode 100644
index 0000000000..d067c2328c
--- /dev/null
+++ b/debian/cli.binfmt
@@ -0,0 +1,4 @@
+package mono-runtime
+detector /usr/lib/cli/binfmt-detector-cli
+interpreter /usr/bin/cli
+magic MZ
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000000..7f8f011eb7
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+7
diff --git a/debian/control.REMOVED.git-id b/debian/control.REMOVED.git-id
new file mode 100644
index 0000000000..ea8d0b9650
--- /dev/null
+++ b/debian/control.REMOVED.git-id
@@ -0,0 +1 @@
+7f184daf0d1779d95ed0a5771de4f708fe4d850b
\ No newline at end of file
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000000..eb3c3619eb
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,764 @@
+Format-Specification: http://dep.debian.net/deps/dep5/
+Upstream-Name: Mono
+Upstream-Source: http://ftp.novell.com/pub/mono/sources/mono
+
+Files: *
+Copyright: © 2001 Andreas Jonsson
+ © 2001 Andrew Sutton
+ © 2001 Bob Smith. http://www.thestuff.net
+ © 2001 Chris Hynes
+ © 2001 Christopher Podurgiel
+ © 2001 Daniel Weber
+ © 2001 David Dawkins
+ © 2001 Derek Holden (dholden@draper.com)
+ © 2001 Garrett Rooney (rooneg@electricjellyfish.net)
+ © 2001 John Barnette
+ © 2001 John R. Hicks (angryjohn69@nc.rr.com)
+ © 2001 Krister Hansson
+ © 2001 Mads Pultz
+ © 2001 Marcel Narings
+ © 2001 Martin Weindel
+ © 2001 Matthew S. Ford
+ © 2001 Michael Lambert, All Rights Reserved
+ © 2001 Moonlight Enterprises, All Rights Reserved
+ © 2001 Phillip Pearson (http://www.myelin.co.nz)
+ © 2001 Ricardo Fernández Pascual
+ © 2001 Scott Sanders
+ © 2001 Wictor Wilén (wictor@iBizkit.se)
+ © 2001-2002 Jason Diamond http://injektilo.org/
+ © 2001-2002 Marcin Szczepanski
+ © 2001-2002 Mike Kestner
+ © 2001-2002 Nick Drochak II
+ © 2001-2002 Southern Storm Software, Pty Ltd.
+ © 2001-2002 Vladimir Vukicevic (vladimir@pobox.com)
+ © 2001-2002 Wild West Software
+ © 2001-2003 Ximian, Inc. http://www.ximian.com
+ © 2002 Alejandro Sánchez Acosta
+ © 2002 Ameya Sailesh Gargesh (ameya_13@yahoo.com)
+ © 2002 Brian Ritchie
+ © 2002 Chew Keong TAN
+ © 2002 Chris J Breisch
+ © 2002 Dan Lewis
+ © 2002 Daniel Stodden
+ © 2002 Duco Fijma
+ © 2002 Franklin Wise
+ © 2002 Free Software Foundation
+ © 2002 Gaurav Vaish
+ © 2002 Jaime Anguiano Olarra
+ © 2002 John Donagher
+ © 2002 Jon Guymon
+ © 2002 Kevin Winchester
+ © 2002 Kral Ferch
+ © 2002 Lawrence Pit
+ © 2002 Martin Adoue
+ © 2002 Martin Baulig
+ © 2002 Matt Hunter
+ © 2002 Miguel de Icaza
+ © 2002 Owen Brady (Ocean at owenbrady dot net)
+ © 2002 Piers Haken
+ © 2002 Rodrigo Moya
+ © 2002 Stuart Caborn
+ © 2002 Ulrich Kunitz
+ © 2002-2003 Dave Bettin
+ © 2002-2003 Eduardo Garcia Cebollero
+ © 2002-2003 Greg Reinacker, Reinacker & Associates, Inc. All rights reserved
+ © 2002-2003 Jackson Harper, All rights reserved
+ © 2002-2003 Ville Palo
+ © 2002-2004 Motus Technologies Inc. (http://www.motus.com)
+ © 2002-2004 Tim Coleman
+ © 2002-2005 Cesar Lopez Nataren
+ © 2002-2005 Lluis Sanchez Gual
+ © 2002-2005 Rafael Teixeira
+ © 2002-2008 Daniel Morgan
+ © 2002-2008 Mainsoft Corporation.
+ © 2002-2010 Novell, Inc (http://www.novell.com)
+ © 2003 Aleksey Sanin (aleksey@aleksey.com)
+ © 2003 Alexandre Pigolkine (pigolkine@gmx.de)
+ © 2003 Brad Fitzpatrick
+ © 2003 Dominik Fretz
+ © 2003 Duncan Mak, Ximian Inc.
+ © 2003 Eric Glass
+ © 2003 Erik LeBel
+ © 2003 Gilles Freart
+ © 2003 Ian MacLean
+ © 2003 Jean-Marc André
+ © 2003 Jochen Wezel (CompuMaster GmbH)
+ © 2003 Johannes Roith
+ © 2003 Joshua Tauberer
+ © 2003 Latitude Geographics Group, All rights reserved
+ © 2003 Lee Mallabone
+ © 2003 Martin Willemoes Hansen
+ © 2003 Oleg Tkachenko
+ © 2003 Patrick Kalkman
+ © 2003 Patrik Torstensson
+ © 2003 Pedro Martínez Juliá
+ © 2003 Peter Van Isacker
+ © 2003 Phillip Jerkins
+ © 2003 Sergey Chaban (serge@wildwestsoftware.com)
+ © 2003 Stefan Görling
+ © 2003 The Mentalis.org Team (http://www.mentalis.org/)
+ © 2003 Thong (Tum) Nguyen [tum@veridicus.com]
+ © 2003-2004 Andreas Nahr
+ © 2003-2004 Atsushi Enomoto
+ © 2003-2004 Ben Maurer
+ © 2003-2004 Carlos Guzman Alvarez
+ © 2003-2004 Todd Berman
+ © 2003-2007 Alp Toker
+ © 2003-2007 Juraj Skripsky
+ © 2003-2008 Jonathan Pryor
+ © 2003-2008 Niels Kokholm
+ © 2003-2008 Peter Sestoft
+ © 2004 Edd Dumbill
+ © 2004 Everaldo Canuto
+ © 2004 IT+ A/S (http://www.itplus.dk)
+ © 2004 Ivan Hamilton
+ © 2004 Luca Barbieri
+ © 2004 Matthijs ter Woord
+ © 2004 Punit Todi
+ © 2004-2005 Geoff Norton.
+ © 2004-2006 Jaroslaw Kowalski
+ © 2004-2006 John Luke
+ © 2004-2008 Gert Driesen
+ © 2004-2008 HotFeet GmbH (http://www.hotfeet.ch)
+ © 2005 akiramei (mei@work.email.ne.jp)
+ © 2005 Carlo Kok (ck@carlo-kok.com)
+ © 2005 David Waite (mass@akuma.org)
+ © 2005 Hubert FONGARNAND
+ © 2005 Iain McCoy
+ © 2005 Senganal T
+ © 2005 Sharif FarsiWeb, Inc. (http://www.farsiweb.info)
+ © 2005 Voelcker Informatik AG
+ © 2005-2007 Marek Sieradzki
+ © 2005-2008 Jb Evain (http://evain.net)
+ © 2005-2008 Jiri George Moudry
+ © 2005-2008 Kornél Pál
+ © 2006 Alexander Olk
+ © 2006 Bruno Haible
+ © 2006 Evaluant RC S.A
+ © 2006 Forcom (http://www.forcom.com.pl/)
+ © 2006 Marek Habersack
+ © 2006 Matt Hargett
+ © 2006 Patrick Earl
+ © 2006 Sridhar Kulkarni
+ © 2006-2007 Dmitry S. Kataev
+ © 2006-2009 Daniel Nauck
+ © 2006-2009 Jonathan Chambers
+ © 2007 Andreas Noever
+ © 2007 Dean Brettle
+ © 2007 Marcos Cobena (http://www.youcannoteatbits.org/)
+ © 2007-2008 Andreia Gaita
+ © 2007-2008 Ivan N. Zlatev
+ © 2007-2008 Pascal Craponne
+ © 2007-2008 Stefan Klinger
+ © 2008 Andy Hume
+ © 2008 db4objects, Inc. (http://www.db4o.com)
+ © 2008 Eric Butler
+ © 2008 George Giolfan
+ © 2008 James Fitzsimons
+ © 2008 Michael Barker
+ © 2008 Realtime Worlds Ltd
+ © 2008-2009 Jérémie "Garuma" Laval
+ © 2009 Aaron Bockover
+ © 2009 Craig Sutherland
+ © 2009 Eric Maupin (http://www.ermau.com)
+ © 2009 leppie (http://xacc.wordpress.com/)
+ © 2009 Olivier Dufour olivier(dot)duff(at)gmail(dot)com
+ © 2011-2013 Xamarin Inc (http://www.xamarin.com)
+License: MIT
+
+Files: debian/*
+Copyright: © 2002 Robert McQueen
+ © 2002-2003 Alp Toker
+ © 2004-2013 Mirco Bauer
+ © 2008-2010 Jo Shields
+License: GPL
+
+Files: debian/detector/*
+Copyright: © Ilya Konstantinov
+ © 2005 Colin Watson
+License: GPL-2
+
+Files: mono/*
+Copyright: © 1995-1997 Peter Mattis, Spencer Kimball and Josh MacDonald
+ © 2000 Intel Corporation. All rights reserved.
+ © 2001 Martin Weindel
+ © 2001 Radek Doulik
+ © 2001-2002 Ximian, Inc.
+ © 2002 Sergey Chaban
+ © 2002-2004 Neale Ferguson
+ © 2002-2009 Novell, Inc (http://www.novell.com)
+ © 2003 PT Cakram Datalingga Duaribu http://www.cdl2000.com
+ © 2003-2004 Bernie Solomon
+ © 2006 Broadcom
+ © 2006 Sergey Tikhonov (tsv@solvo.ru)
+ © 2007 Randolph Chung
+ © 2007-2008 Andreas Faerber
+ © 2008 Kornél Pál
+ © 2011-2012 Xamarin Inc (http://www.xamarin.com)
+License: LGPL-2
+
+Files: libgc/*
+Copyright: © 1988-1989 Hans-J. Boehm, Alan J. Demers
+ © 1991-1996 by Xerox Corporation. All rights reserved.
+ © 1996-1999 by Silicon Graphics. All rights reserved.
+ © 1998 Fergus Henderson. All rights reserved.
+ © 1999-2004 by Hewlett-Packard Company. All rights reserved.
+ © 1999-2001 by Red Hat, Inc. All rights reserved.
+License: other
+ THIS MATERIAL IS PROVIDED AS IS, WITH ABSOLUTELY NO WARRANTY EXPRESSED
+ OR IMPLIED. ANY USE IS AT YOUR OWN RISK.
+
+ Permission is hereby granted to use or copy this program
+ for any purpose, provided the above notices are retained on all copies.
+ Permission to modify the code and to distribute modified code is granted,
+ provided the above notices are retained, and a notice that the code was
+ modified is included with the above copyright notice.
+
+Files: mono/benchmark/logic.cs,
+ mcs/tools/prj2make/*,
+ mcs/class/Compat.ICSharpCode.SharpZipLib/*,
+ mcs/class/ICSharpCode.SharpZipLib/*
+Copyright: © 1998-2001 Free Software Foundation, Inc.
+ © 2001 Southern Storm Software, Pty Ltd.
+ © 2001-2005 Mike Krueger
+ © 2004 Francisco T. Martinez
+ © 2004-2005 John Reilly
+License: GPL-2+
+
+Files: mcs/tools/pdb2mdb/*,
+ mcs/class/dlr/*,
+ mcs/class/MicrosoftAjaxLibrary/*,
+ mcs/class/System.Web.Mvc/*,
+ mcs/class/System.Web.Mvc2/*,
+ mono/docs/HtmlAgilityPack/*
+Copyright: © 2003 Ximian, Inc (http://www.ximian.com)
+ © 2007-2009 Microsoft Corporation
+ © 2009 Simon Mourier
+License: Ms-PL
+
+Files: mcs/tools/monodoc/Lucene.Net/*
+Copyright: © 2004 The Apache Software Foundation
+License: Apache-2.0
+
+Files: mcs/tools/csharp/repl.cs,
+ mcs/mcs/*
+Copyright: © 2001-2003 Ximian, Inc (http://www.ximian.com)
+ © 2003-2009 Novell, Inc
+ © 2008 John Resig (jquery.com)
+License: MIT | GPL-2
+
+Files: mcs/class/ByteFX.Data/*,
+ mcs/class/Npgsql/*
+Copyright: © 2001 Matthew S. Ford
+ © 2002-2004 ByteFX, Inc.
+ © 2002-2006 The Npgsql Development Team
+ © 2003 Pedro Martínez Juliá
+ © 2003 PostgreSQL Global Development Group
+ © 2003 PT Cakram Datalingga Duaribu (http://www.cdl2000.com)
+ © 2004 Emiliano Necciari
+ © 2004-2005 Novell, Inc (http://www.novell.com)
+ © 2004-2009 Rolf Bjarne Kvinge, RKvinge@novell.com
+License: LGPL-2.1+
+
+Files: mcs/tools/csharp/getline.cs
+Copyright: © 2008 Novell, Inc.
+License: MIT | Apache-2.0
+
+Files: mcs/tools/lc/*
+Copyright: © 2009 RemObjects Software
+ © 2008 Novell (http://www.novell.com)
+License: MIT
+
+Files: mcs/class/System.Web.Extensions/System.Web.Script.Serialization/JSON/*
+Copyright: © 2007 James Newton-King
+License: MIT
+
+Files: mcs/nunit24/*
+Copyright: © 2000-2002 Philip A. Craig
+ © 2002-2004 James W. Newkirk
+ © 2002-2004 Michael C. Two
+ © 2002-2004 Alexei A. Vorontsov
+ © 2002-2008 Charlie Poole
+License: other
+ This software is provided 'as-is', without any express or implied warranty.
+ In no event will the authors be held liable for any damages arising from the
+ use of this software.
+
+ Permission is granted to anyone to use this software for any purpose, including
+ commercial applications, and to alter it and redistribute it freely, subject to
+ the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not claim
+ that you wrote the original software. If you use this software in a product,
+ an acknowledgment (see the following) in the product documentation is
+ required.
+
+ Portions Copyright © 2002-2007 Charlie Poole or Copyright © 2002-2004 James
+ W. Newkirk, Michael C. Two, Alexei A. Vorontsov or Copyright © 2000-2002
+ Philip A. Craig
+
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+
+ 3. This notice may not be removed or altered from any source distribution.
+
+Files: mono/utils/strtod.c,
+ mcs/nunit24/NUnitExtensions/core/RowTest/*,
+ mcs/nunit24/NUnitExtensions/framework/RowTestAttribute.cs,
+ mcs/nunit24/NUnitExtensions/framework/SpecialValue.cs,
+ mcs/nunit24/NUnitExtensions/framework/RowAttribute.cs,
+ mcs/nunit24/NUnitExtensions/framework/RowTest/*
+Copyright: © 1991-2001 by Lucent Technologies
+ © 2007 Andreas Schlapsi
+License: MIT
+
+Files: ikvm-native/*,
+ mono/io-layer/wapi_glob.*,
+ mono/utils/freebsd-*,
+ mcs/jay/*,
+ mcs/class/RabbitMQ.Client/docs/*
+Copyright: © 1989-1993 The Regents of the University of California. All rights reserved.
+ © 1996-1998 John D. Polstra.
+ © 2004 Apple Computer, Inc.
+ © 2004 Jeroen Frijters
+ © 2004 The Mozilla Foundation
+ © 2009 AMQP Working Group
+License: BSD
+
+Files: mcs/class/Mono.CodeContracts/*
+Copyright: © 2010 Chris Bacon
+ © 2011 Alexander Chebaturkin
+License: MIT
+
+Files: mcs/class/Mono.Parallel/*
+Copyright: © 2008-2011 Jérémie "Garuma" Laval
+License: MIT
+
+Files: mcs/class/System.ComponentModel.Composition.4.5/*
+Copyright: © Microsoft Corporation. All rights reserved.
+License: Ms-PL
+Comment:
+ This directory contains an import of Microsoft's Mananged Extensibility 2
+ Preview 4 as downloaded from: http://mef.codeplex.com/
+ Licensed under Ms-PL: http://mef.codeplex.com/license
+
+Files: mcs/class/System.Net.Http/*
+Copyright: © 2011-2012 Xamarin Inc (http://www.xamarin.com)
+License: MIT
+
+Files: mcs/class/System.Threading.Tasks.Dataflow/*
+Copyright: © 2011 Jérémie "garuma" Laval
+ © 2012 Petr Onderka
+License: MIT
+
+Files: mcs/class/System.Web.Mvc3/*
+ mcs/class/System.Json.Microsoft/*
+Copyright: © Microsoft Corporation. All rights reserved.
+License: Apache-2.0
+Comment:
+ This directory contains an import of Microsoft's ASP.NET MVC project:
+ http://aspnetwebstack.codeplex.com/
+ Licensed under Apache-2.0: http://aspnetwebstack.codeplex.com/license
+
+Files: mcs/class/System.Json.Microsoft/Test/*
+Copyright: © 2011 Xamarin, Inc.
+License: MIT
+
+Files: mcs/class/System/Mono.Net.Dns/*
+Copyright: © 2011 Gonzalo Paniagua Javier
+License: Apache-2.0
+
+Files: external/Lucene.Net/*
+Copyright: © 2006-2012 The Apache Software Foundation
+License: Apache-2.0
+
+Files: external/Lucene.Net/src/contrib/Snowball/SF/Snowball/Ext/HungarianStemmer.cs
+ external/Lucene.Net/src/contrib/Snowball/SF/Snowball/Ext/PortugueseStemmer.cs
+ external/Lucene.Net/src/contrib/Snowball/SF/Snowball/Ext/TurkishStemmer.cs
+ external/Lucene.Net/src/contrib/Snowball/SF/Snowball/Ext/RomanianStemmer.cs
+Copyright: © 2001 Dr Martin Porter
+ © 2002 Richard Boulton
+ © 2006-2012 The Apache Software Foundation
+License: Apache-2.0 | BSD
+
+Files: external/Lucene.Net/src/core/Util/UnicodeUtil.cs
+Copyright: © 2001-2004 Unicode, Inc.
+ © 2006-2012 The Apache Software Foundation
+License: Apache 2.0 | other
+ Disclaimer
+
+ This source code is provided as is by Unicode, Inc. No claims are
+ made as to fitness for any particular purpose. No warranties of any
+ kind are expressed or implied. The recipient agrees to determine
+ applicability of information provided. If this file has been
+ purchased on magnetic or optical media from Unicode, Inc., the
+ sole remedy for any claim will be exchange of defective media
+ within 90 days of receipt.
+
+ Limitations on Rights to Redistribute This Code
+
+ Unicode, Inc. hereby grants the right to freely use the information
+ supplied in this file in the creation of products supporting the
+ Unicode Standard, and to make copies of this file in any form
+ for internal or external distribution as long as this notice
+ remains attached.
+
+Files: external/Newtonsoft.Json/*
+Copyright: © 2007 James Newton-King
+License: MIT
+
+Files: external/Newtonsoft.Json/Src/Newtonsoft.Json/Utilities/LinqBridge.cs
+Copyright: © 2007-2009 Atif Aziz, Joseph Albahari. All rights reserved.
+License: BSD
+
+Files: external/aspnetwebstack/*
+Copyright: © Microsoft Corporation. All rights reserved.
+License: Apache-2.0
+
+Files: external/aspnetwebstack/test/System.Web.Helpers.Test/TestFiles/xhtml11-flat.dtd
+Copyright: © 1998-2000 World Wide Web Consortium
+License: other
+ Permission to use, copy, modify and distribute the XHTML DTD and its
+ accompanying documentation for any purpose and without fee is hereby
+ granted in perpetuity, provided that the above copyright notice and
+ this paragraph appear in all copies. The copyright holders make no
+ representation about the suitability of the DTD for any purpose.
+
+ It is provided "as is" without expressed or implied warranty.
+
+Files: external/cecil/*
+Copyright: © 2002-2003 Ximian, Inc. http://www.ximian.com
+ © 2003 Motus Technologies Inc. (http://www.motus.com)
+ © 2004-2006 Novell Inc. (http://www.novell.com)
+ © 2008-2011 Jb Evain
+ © 2008 Juerg Billeter
+License: MIT
+
+Files: external/cecil/symbols/pdb/Microsoft.Cci.Pdb/*
+Copyright: © Microsoft. All rights reserved
+License: Ms-PL
+
+Files: external/entityframework/*
+Copyright: © Microsoft Open Technologies, Inc. All rights reserved.
+License: Apache-2.0
+
+Files: external/ikvm/openjdk/*
+ external/ikvm/openjdk/java/awt/image/BufferedImage.java
+ external/ikvm/openjdk/java/awt/image/IndexColorModel.java
+ external/ikvm/openjdk/java/awt/GraphicsConfiguration.java
+ external/ikvm/runtime/fdlibm/*
+ external/ikvm/openjdk/sun/font/StrikeCache.java
+ external/ikvm/openjdk/sun/font/FontManager.java
+Copyright: © 1994-1997, 2003, 2006-2008, 2010-2012 Oracle and/or its affiliates. All rights reserved
+ © 1996, 1997 Taligent, Inc. - All Rights Reserved
+ © 1996-1999 IBM Corp. - All Rights Reserved
+ © 1999-2001, 2004-2006, 2008, 2011 Free Software Foundation, Inc
+ © 2002-2007, 2009 Jeroen Frijters
+ © 2007 Red Hat, Inc
+ © 2009-2012 Volker Berlin (i-net software)
+ © 2010-2011 Karsten Heinrich (i-net software)
+License: GPL-2
+
+Files: external/ikvm/openjdk/java/util/zip/*
+ external/ikvm/openjdk/java/awt/color/ICC_ColorSpace.java
+ external/ikvm/openjdk/java/awt/image/*
+ external/ikvm/openjdk/icedtea/jce/
+ external/ikvm/openjdk/gnu/java/*
+ external/ikvm/openjdk/sun/java2d/SunCompositeContext.java
+Copyright: © 1999-2005, 2011 Free Software Foundation, Inc
+License: GPL-2+
+
+Files: external/ikvm/openjdk/java/lang/LangHelper.java
+ external/ikvm/openjdk/java/util/zip/ClassStubZipEntry.java
+ external/ikvm/openjdk/java/net/SocketUtil.java
+ external/ikvm/openjdk/java/lang/ref/Reference.java
+ external/ikvm/openjdk/java/lang/VMSystemProperties.java
+ external/ikvm/openjdk/java/lang/LangHelper.java
+ external/ikvm/openjdk/java/lang/reflect/ReflectHelper.java
+ external/ikvm/openjdk/sun/net/www/protocol/ikvmres/Handler.java
+ external/ikvm/openjdk/sun/font/*
+ external/ikvm/openjdk/sun/java2d/*
+ external/ikvm/openjdk/sun/jdbc/odbc/*
+ external/ikvm/openjdk/sun/security/*
+ external/ikvm/openjdk/sun/awt/Win32FontManager.java
+ external/ikvm/openjdk/sun/awt/windows/WPrinterJob.java
+ external/ikvm/openjdk/sun/awt/IkvmDataTransferer.java
+ external/ikvm/openjdk/sun/awt/AppContextDC.java
+ external/ikvm/openjdk/sun/awt/image/GifImageDecoder.java
+ external/ikvm/openjdk/sun/awt/image/JPEGImageDecoder.java
+ external/ikvm/openjdk/sun/awt/image/IkvmImageDecoder.java
+ external/ikvm/openjdk/sun/awt/image/ImageRepresentation.java
+ external/ikvm/openjdk/sun/nio/ch/SelectionKeyImpl.java
+ external/ikvm/openjdk/sun/nio/fs/NetFileSystemProvider.java
+ external/ikvm/openjdk/sun/nio/fs/DefaultFileSystemProvider.java
+ external/ikvm/openjdk/sun/nio/fs/DefaultFileTypeDetector.java
+ external/ikvm/openjdk/sun/nio/fs/NetFileSystem.java
+ external/ikvm/openjdk/sun/nio/fs/NetPath.java
+ external/ikvm/openjdk/sun/misc/Unsafe.java
+ external/ikvm/openjdk/sun/misc/MiscHelper.java
+ external/ikvm/openjdk/sun/print/PrintPeer.java
+ external/ikvm/openjdk/sun/print/UnixPrintServiceLookup.java
+ external/ikvm/openjdk/sun/print/Win32PrintJob.java
+ external/ikvm/openjdk/sun/print/Win32PrintServiceLookup.java
+ external/ikvm/openjdk/sun/management/FileSystemImpl.java
+ external/ikvm/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageWriter.java
+ external/ikvm/openjdk/com/sun/imageio/plugins/jpeg/JPEGImageReader.java
+ external/ikvm/openjdk/com/sun/management/OperatingSystem.java
+ external/ikvm/openjdk/ikvm/awt/IkvmToolkit.java
+ external/ikvm/openjdk/ikvm/internal/*
+ external/ikvm/openjdk/ExtensionAttribute.java
+ external/ikvm/openjdk/GenerateSystemCore.cs
+ external/ikvm/classpath/sun/misc/Ref.java
+ external/ikvm/classpath/ikvm/*
+ external/ikvm/classpath/gnu/*
+ external/ikvm/runtime/*
+ external/ikvm/debugger/*
+ external/ikvm/ikvm/*
+ external/ikvm/ikvmstub/*
+ external/ikvm/ikvmc/*
+ external/ikvm/awt/*
+ external/ikvm/tools/*
+ external/ikvm/msbuild/*
+ external/ikvm/reflect/*
+ external/ikvm/native/*
+Copyright: © 2002-2013 Jeroen Frijters
+ © 2006-2013 Volker Berlin (i-net software)
+ © 2006 Active Endpoints, Inc
+ © 2010-2011 Karsten Heinrich (i-net software)
+ © 2011 Trevor Bell (Siemens Energy, Inc.)
+ © 2011 Marek Safar
+License: zlib/libpng
+
+Files: external/rx/*
+Copyright: Microsoft Open Technologies, Inc. All rights reserved
+License: Apache-2.0
+Comment:
+ This directory contains an import of Microsoft's Reactive Extensions project:
+ http://rx.codeplex.com/
+ Licensed under Apache-2.0: http://rx.codeplex.com/license
+
+Files: external/debian-snapshot/*
+Copyright: © 2005, 2007-2010 Mirco Bauer
+ © 2006-2007 Dylan R. E. Moonfire
+ © 2006 Sebastian Dröge
+ © 2010, 2012 Jo Shields
+License: GPL
+
+Files: support/*
+Copyright: © 1995-2006 Mark Adler
+ © 1995-2006 Jean-loup Gailly.
+ © 1998-2005 Gilles Vollant
+ © 2004-2006 Jonathan Pryor
+ © 2005 Daniel Drake
+ © 2005-2009 Novell, Inc.
+License: zlib/libpng
+
+Files: support/minizip/*
+Copyright: © 1990-2000 Info-ZIP. All rights reserved.
+ © 1998-2005 Gilles Vollant
+License: zlib/libpng
+
+License: Apache-2.0
+ On Debian systems the full text of the Apache Software License 2.0 can be
+ found in the `/usr/share/common-licenses/Apache-2.0' file.
+
+License: LGPL-2
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation;
+ version 2 of the License.
+
+ This library 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 Library General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
+ On Debian systems the full text of the GNU Library General Public License can be
+ found in the `/usr/share/common-licenses/LGPL-2' file.
+
+License: LGPL-2.1
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation;
+ version 2.1 of the License.
+
+ This library 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
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with this library; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ On Debian systems the full text of the GNU Lesser General Public License can be
+ found in the `/usr/share/common-licenses/LGPL-2.1' file.
+
+License: GPL
+ 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 3 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 General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see .
+
+ On Debian systems the full text of the GNU General Public License can be found
+ in the `/usr/share/common-licenses/GPL' file.
+
+License: GPL-2
+ 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; version 2 of the License.
+
+ 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 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ On Debian systems the full text of the GNU General Public License can be found
+ in the `/usr/share/common-licenses/GPL-2' file.
+
+License: GPL-2+
+ Ths 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.
+
+ Th is 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 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.,
+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+
+ On Debian systems the full text of the GNU General Public License can be found
+ in the `/usr/share/common-licenses/GPL-2' file.
+
+License: MIT
+ 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.
+
+License: zlib/libpng
+ This software is provided 'as-is', without any express or implied
+ warranty. In no event will the authors be held liable for any damages
+ arising from the use of this software.
+
+ Permission is granted to anyone to use this software for any purpose,
+ including commercial applications, and to alter it and redistribute it
+ freely, subject to the following restrictions:
+
+ 1. The origin of this software must not be misrepresented; you must not
+ claim that you wrote the original software. If you use this software
+ in a product, an acknowledgment in the product documentation would be
+ appreciated but is not required.
+ 2. Altered source versions must be plainly marked as such, and must not be
+ misrepresented as being the original software.
+ 3. This notice may not be removed or altered from any source distribution.
+
+License: BSD
+ Redistribution and use in source and binary forms, with or without
+ modification, are permitted provided that the following conditions are
+ met:
+
+ 1. Redistributions of source code must retain the above copyright notice,
+ this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the nor the names of its contributors
+ may be used to endorse or promote products derived from this software
+ without specific prior written permission.
+
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+ DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+ SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+ CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+ LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+ OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
+ DAMAGE.
+
+License: Ms-PL
+ This license governs use of the accompanying software. If you use the
+ software, you accept this license. If you do not accept the license, do not
+ use the software.
+
+ 1. Definitions
+ The terms "reproduce," "reproduction," "derivative works," and "distribution"
+ have the same meaning here as under U.S. copyright law.
+ A "contribution" is the original software, or any additions or changes to
+ the software.
+ A "contributor" is any person that distributes its contribution under this
+ license.
+ "Licensed patents" are a contributor's patent claims that read directly on its
+ contribution.
+
+ 2. Grant of Rights
+ (A) Copyright Grant- Subject to the terms of this license, including the
+ license conditions and limitations in section 3, each contributor grants you
+ a non-exclusive, worldwide, royalty-free copyright license to reproduce its
+ contribution, prepare derivative works of its contribution, and distribute
+ its contribution or any derivative works that you create.
+ (B) Patent Grant- Subject to the terms of this license, including the license
+ conditions and limitations in section 3, each contributor grants you a
+ non-exclusive, worldwide, royalty-free license under its licensed patents to
+ make, have made, use, sell, offer for sale, import, and/or otherwise dispose
+ of its contribution in the software or derivative works of the
+ contribution in the software.
+
+ 3. Conditions and Limitations
+ (A) No Trademark License- This license does not grant you rights to use any
+ contributors' name, logo, or trademarks.
+ (B) If you bring a patent claim against any contributor over patents that you
+ claim are infringed by the software, your patent license from such
+ contributor to the software ends automatically.
+ (C) If you distribute any portion of the software, you must retain all
+ copyright, patent, trademark, and attribution notices that are present in the
+ software.
+ (D) If you distribute any portion of the software in source code form, you may
+ do so only under this license by including a complete copy of this license
+ with your distribution. If you distribute any portion of the software in
+ compiled or object code form, you may only do so under a license that complies
+ with this license.
+ (E) The software is licensed "as-is." You bear the risk of using it. The
+ contributors give no express warranties, guarantees or conditions. You may
+ have additional consumer rights under your local laws which this license
+ cannot change. To the extent permitted under your local laws, the contributors
+ exclude the implied warranties of merchantability, fitness for a particular
+ purpose and non-infringement.
+
diff --git a/debian/detector/.gitignore b/debian/detector/.gitignore
new file mode 100644
index 0000000000..b2f128e87b
--- /dev/null
+++ b/debian/detector/.gitignore
@@ -0,0 +1 @@
+binfmt-detector-cli
diff --git a/debian/detector/Makefile b/debian/detector/Makefile
new file mode 100644
index 0000000000..5f77c48108
--- /dev/null
+++ b/debian/detector/Makefile
@@ -0,0 +1,6 @@
+binfmt-detector-cli: binfmt-detector-cli.c cil-coff.h
+ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) binfmt-detector-cli.c -o binfmt-detector-cli
+ strip binfmt-detector-cli
+
+clean:
+ rm -f binfmt-detector-cli
diff --git a/debian/detector/README b/debian/detector/README
new file mode 100644
index 0000000000..182319b1b1
--- /dev/null
+++ b/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.
diff --git a/debian/detector/binfmt-detector-cli.c b/debian/detector/binfmt-detector-cli.c
new file mode 100644
index 0000000000..5554583f7f
--- /dev/null
+++ b/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);
+}
diff --git a/debian/detector/cil-coff.h b/debian/detector/cil-coff.h
new file mode 100644
index 0000000000..01eb345200
--- /dev/null
+++ b/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__ */
diff --git a/debian/dh_clideps b/debian/dh_clideps
new file mode 100755
index 0000000000..37d2880f61
--- /dev/null
+++ b/debian/dh_clideps
@@ -0,0 +1,631 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_clideps - calculates CLI (.NET) dependencies
+
+=cut
+
+use strict;
+use Cwd;
+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 (Common Language 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-dev
+(>= 0.4.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-runtime or other CLR packages.
+This option can be used to specify a relaxed dependency on the VM/CLR
+by-hand in the control file, eg. "mono-runtime | cli-runtime".
+
+=item B<-l>directory[:directory:directory:..]
+
+Before mondis is run, MONO_GAC_PREFIX and MONO_PATH are set to the specified directory (or
+directories -- separate with colons). This is useful for multi-binary packages where a library is
+built in one package and another package contains binaries linked against said library. Relative
+paths will be made absolute for the benefit of monodis.
+
+Note that the directory given should be the complete or relative path to a directory that contains
+the library. See example below.
+
+=item B
+
+Uses the mono runtime in . (used for bootstrapping mono packages)
+
+=head1 EXAMPLES
+
+Suppose that your source package produces libfoo1.0-cil and libbar1.0-cil
+binary packages.
+In your rules file, first run dh_makeclilibs, then dh_clideps:
+ (MONO_GAC_PREFIX example)
+ dh_makeclilibs -V
+ dh_clideps -l debian/libfoo1.0-cil/usr:debian/libbar1.0-cil/usr
+or
+ (MONO_PATH example)
+ dh_clideps -l debian/foo-application/usr/lib/foo-application
+or
+ (MONO_GAC_PREFIX example)
+ dh_clideps -l debian/tmp/usr
+
+=cut
+
+# gar, debhelper 7.1 defines -d for all scripts already :(
+init(options => {
+# "d" => \$dh{D_FLAG},
+ "r" => \$dh{R_FLAG},
+ "l=s", => \$dh{L_PARAMS},
+ "internal-mono" => \$dh{INTERNAL_MONO_FLAG},
+});
+
+my $clr;
+my $cli = '/usr/bin/cli';
+my $cli_version = `$cli --version 2>&1`;
+my $cli_parser;
+my $cli_parser_paths;
+my $pwd = `pwd`;
+chomp $pwd;
+
+my $mono_gac_prefix = "";
+my $mono_path = "";
+if ($dh{L_PARAMS}) {
+ my @mono_paths = ();
+ my @mono_gac_prefixes = ();
+ # Add to existing paths, if set.
+ push(@mono_gac_prefixes, $ENV{'MONO_GAC_PREFIX'}) if exists $ENV{'MONO_GAC_PREFIX'};
+ push(@mono_paths, $ENV{'MONO_PATH'}) if exists $ENV{'MONO_PATH'};
+ foreach (split(/:/, $dh{L_PARAMS})) {
+ # Force the path absolute.
+ my $full_path;
+ if (m:^/:) {
+ $full_path = $_;
+ } else {
+ $full_path = getcwd()."/$_";
+ }
+ if (-d "$full_path/lib/mono/gac") {
+ # it's a GAC prefix
+ push(@mono_gac_prefixes, $full_path);
+ } else {
+ # it's a Mono PATH
+ push(@mono_paths, $full_path);
+ }
+ }
+ $mono_gac_prefix .= ":" . join(':', @mono_gac_prefixes);
+ $mono_path .= ":" . join(':', @mono_paths);
+} else {
+ $mono_gac_prefix = $ENV{'MONO_GAC_PREFIX'} if exists $ENV{'MONO_GAC_PREFIX'};
+ $mono_path = $ENV{'MONO_PATH'} if exists $ENV{'MONO_PATH'};
+}
+
+if (defined($dh{INTERNAL_MONO_FLAG}) ||
+ (defined($ARGV[0]) && $ARGV[0] eq "internal-mono")) {
+ $clr = "mono";
+ $cli_parser = "$pwd/debian/tmp/usr/bin/monodis";
+ $cli_parser_paths = "LD_LIBRARY_PATH=$pwd/debian/tmp/usr/lib MONO_PATH=$mono_path:$pwd/debian/tmp/usr/lib/mono/1.0:$pwd/debian/tmp/usr/lib/mono/2.0 MONO_GAC_PREFIX=$mono_gac_prefix ";
+ $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";
+ $cli_parser_paths = "MONO_PATH=$mono_path MONO_GAC_PREFIX=$mono_gac_prefix ";
+ 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 $srcblock = ;
+ close(FILE);
+ if ($srcblock =~ m/Build-Depends(?:\-Indep)?\:(?:.*\n\s+)*.*cli\-common\-dev\s*\(>=\s*([^\)]+)\)/ &&
+ system("dpkg", "--compare-versions", $1, ">=", "0.4.4") != 0) {
+ warning("Warning! No Build-Depends(-Indep) on cli-common-dev (>= 0.4.4)!");
+ }
+}
+
+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;
+
+verbose_print("Loading clilibs...");
+my %clilibdata;
+open($fh, "cat /var/lib/dpkg/info/*.clilibs debian/*/DEBIAN/clilibs 2> /dev/null |");
+while (<$fh>) {
+ /(\S+)\s+(\S+)\s+(\w.*)\n?/;
+ $clilibdata{"$1/$2"} = $3;
+}
+close($fh);
+
+
+verbose_print("Loading shlibs...");
+my %shlibdata;
+open($fh, "cat /var/lib/dpkg/info/*.shlibs $pwd/debian/shlibs.local $pwd/debian/*/DEBIAN/shlibs 2> /dev/null |");
+while (<$fh>) {
+ /(\S+)\s+(\S+)\s+(\w.*)\n?/;
+ my ($soname, $soversion, $dependency);
+ #chomp;
+ #my($soname, $soversion, $dependency) = split(/\s+/, $_, 3);
+ $soname = $1;
+ $soversion = $2;
+ $dependency = $3;
+ $shlibdata{"$soname.so.$soversion"} = $dependency;
+}
+close($fh);
+
+our $needs_net_1_0;
+our $needs_net_2_0;
+our $needs_net_2_1;
+our $needs_net_4_0;
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp = tmpdir($package);
+ my %refs = ( depends => [],
+ recommends => [],
+ suggests => [] );
+ my $found_exe = 0;
+ $needs_net_1_0 = 0;
+ $needs_net_2_0 = 0;
+ $needs_net_2_1 = 0;
+ $needs_net_4_0 = 0;
+
+ # for idempotency
+ delsubstvar($package, "cli:Depends");
+ delsubstvar($package, "cli:Suggests");
+ delsubstvar($package, "cli:Recommends");
+
+ # find binaries
+ find (sub {
+ return unless -f && !-l && /\.(exe|dll)$/;
+ my $file = $_;
+ if (/\.exe$/) {
+ $found_exe = 1;
+ }
+
+ verbose_print("Package: $package Assembly: $file");
+
+ my %shlibRefs = resolveShlibRefs($package, $file);
+ push(@{$refs{depends}}, @{$shlibRefs{depends}});
+ push(@{$refs{recommends}}, @{$shlibRefs{recommends}});
+ push(@{$refs{suggests}}, @{$shlibRefs{suggests}});
+
+ my %clilibRefs = resolveClilibRefs($package, $tmp, $file);
+ push(@{$refs{depends}}, @{$clilibRefs{depends}});
+ push(@{$refs{recommends}}, @{$clilibRefs{recommends}});
+ push(@{$refs{suggests}}, @{$clilibRefs{suggests}});
+ }, $tmp);
+
+ $refs{depends} = filterDuplicates($package, $refs{depends});
+ $refs{recommends} = filterDuplicates($package, $refs{recommends});
+ $refs{suggests} = filterDuplicates($package, $refs{suggests});
+
+ my $vm_ref = "";
+ if (!defined($dh{R_FLAG}) && $found_exe) {
+ if ($clr eq "mono") {
+ if ($needs_net_4_0) {
+ $vm_ref = "mono-runtime (>= 2.10.1), ";
+ } elsif ($needs_net_2_1) {
+ $vm_ref = "mono-runtime (>= 1.2.6), ";
+ } elsif ($needs_net_2_0) {
+ $vm_ref = "mono-runtime (>= 1.1.8.1), ";
+ } elsif ($needs_net_1_0) {
+ $vm_ref = "mono-runtime (>= 1.0), ";
+ } else {
+ $vm_ref = "mono-runtime (>= $cli_version), ";
+ }
+ } elsif ($clr eq "pnet") {
+ $vm_ref = "pnet-interpreter (>= $cli_version), ";
+ }
+ }
+
+ my $dh_ref = "";
+ if (-f "$tmp/usr/share/cli-common/packages.d/$package.installcligac") {
+ # this package uses late GAC install, thus we need cli-common at package install time
+ if (-f "debian/cligacpolicy" || -f "debian/$package.cligacpolicy") {
+ # if this package uses dh_cligacpolicy then we need 0.5.4 for the policy-remove script in .postrm
+ # and 0.5.6 to get a working .postrm script (tried also to remove on purge)
+ $dh_ref = "cli-common (>= 0.5.6), ";
+ } else {
+ # we still need at least 0.5.1, as older versions silently missed installing policy files
+ $dh_ref = "cli-common (>= 0.5.1), ";
+ }
+ }
+ $vm_ref .= $dh_ref;
+
+ #$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)
+ #);
+
+ @{$refs{depends}} = sort(@{$refs{depends}});
+ @{$refs{recommends}} = sort(@{$refs{recommends}});
+ @{$refs{suggests}} = sort(@{$refs{suggests}});
+
+ addsubstvar($package, "cli:Depends", $vm_ref . join(", ", @{$refs{depends}}));
+ addsubstvar($package, "cli:Recommends", join(", ", @{$refs{recommends}}));
+ addsubstvar($package, "cli:Suggests", join(", ", @{$refs{suggests}}));
+}
+
+sub filterDuplicates {
+ my $package = shift;
+ my $packages = shift;
+
+ my %packagesFiltered;
+ for (@{$packages}) {
+ # filter undef, empties, dups and don't depend on ourself package
+ if (!$_) {
+ next;
+ }
+
+ /^(\S+)/;
+ if ($1 &&
+ $1 ne $package) {
+ $packagesFiltered{$_} = 1;
+ }
+ }
+
+ # now filter the dupes coming from shlibs
+ if (defined($dh{D_FLAG})) {
+ my $fh;
+ if (open($fh, "< $pwd/debian/$package.substvars" )) {
+ while (<$fh>) {
+ if (/^shlibs:Depends=(.*)\n?/) {
+ for (split(/\s*,\s*/, $1)) {
+ delete $packagesFiltered{$_};
+ }
+ }
+ }
+ close($fh);
+ } else {
+ verbose_print("Could not read $pwd/debian/$package.substvars");
+ }
+ }
+
+ return [ keys %packagesFiltered ];
+}
+
+sub loadDllMap {
+ my $filename = shift;
+ our $dllmapdata = shift;
+ if (!-f $filename) {
+ verbose_print("loadDllMap(): DLL map $filename not found, ignoring...");
+ return;
+ }
+
+ use XML::DOM;
+ my $parser = new XML::DOM::Parser;
+ my $doc = $parser->parsefile($filename, whitespace => 'strip');
+ my $root = $doc->getDocumentElement();
+ my @mapentries = $root->getElementsByTagName("dllmap");
+ foreach my $mapentry (@mapentries) {
+ my $dll = $mapentry->getAttribute("dll");
+ my $target = $mapentry->getAttribute("target");
+ my $os = $mapentry->getAttribute("os");
+ my $valid = 1;
+ if ($os) {
+ $valid = ($os =~ m/^!/);
+ $os =~ s/^!//;
+ foreach (split(/,/, $os)) {
+ if ($_ eq "linux") {
+ $valid = !$valid;
+ last;
+ }
+ }
+ }
+ if ($valid) {
+ verbose_print("DLL map: '$dll' target: '$target'");
+ $dllmapdata->{$dll} = $target;
+ }
+ }
+}
+
+sub loadOverrides {
+ my $package = shift;
+ my $overridedata = shift;
+
+ # load clideps overrides
+ verbose_print("Loading clideps-override for $package...");
+ my $fh;
+ open($fh, "cat $pwd/debian/$package.clideps-override 2> /dev/null |");
+ while (<$fh>) {
+ /(\S+)\s+(\S+)(?:\s+(\(\S+\s+\S+\)))?\n?/;
+ my ($type, $package, $version);
+ $type = $1;
+ $package = $2;
+ $version = $3 if defined($3);
+ if ($version) {
+ $overridedata->{$package} = $type." ".$version;
+ } else {
+ $overridedata->{$package} = $type;
+ }
+ }
+ close($fh);
+}
+
+sub resolveOverride {
+ my $package = shift;
+ my $pkgref = shift;
+ my %ret = ( depends => undef,
+ recommends => undef,
+ suggests => undef );
+
+ my $type = "depends";
+ my $newpkgref = $pkgref;
+ $newpkgref =~ m/(\S+)(?:\s+(\(\S+\s+\S+\)))?/;
+ my $pkgname = $1;
+ my $ver = $2;
+ # hack for libc6,
+ # for ia64 and alpha the package name is libc6.1,
+ # for kfreebsd-i386 and kfreebsd-amd64 it is libc0.1
+ if ($pkgname =~ m/^libc[06]/) {
+ $newpkgref = "libc6 $ver | libc6.1 $ver | libc0.1 $ver";
+ }
+
+ my %overridedata;
+ loadOverrides($package, \%overridedata);
+ if (defined($overridedata{$pkgname})) {
+ verbose_print("Found clideps-override: $pkgname for: $package");
+
+ my $override = $overridedata{$pkgname};
+ $override =~ m/(\S+)(?:\s+(\(\S+\s+\S+\)))?/;
+ if ($1 eq "suggests" ||
+ $1 eq "recommends") {
+ $type = $1;
+ } elsif ($1 eq "ignores") {
+ } else {
+ warning("Warning: unknown override type: $1 in: '$override' for: $package!");
+ }
+
+ if (defined($2)) {
+ $newpkgref = "$pkgname $2";
+ } else {
+ $newpkgref = $pkgref;
+ }
+ }
+ verbose_print("resolved pkgref: $pkgref to $type: $newpkgref");
+ $ret{$type} = $newpkgref;
+
+ return %ret;
+}
+
+sub resolveClilibRefs {
+ my $package = shift;
+ my $tmp = shift;
+ my $assembly_filename = shift;
+ my %ret = ( depends => [],
+ recommends => [],
+ suggests => [] );
+
+ my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
+ my $command = "LANG=C $cli_parser_paths MONO_GAC_PREFIX=\$MONO_GAC_PREFIX:$tmp/usr $cli_parser --assemblyref $assembly_filename 2>&1 > $tmpfile";
+ verbose_print("running CLI parser command: $command");
+
+ system($command);
+ if ($?) {
+ my $output;
+ {
+ local *F;
+ open(F, $tmpfile);
+ local $/;
+ $output = ;
+ close(F);
+ }
+ error("cli_parser call failed: '".$command."' rc: $? output: $output");
+ return;
+ }
+
+ my ($ver, $name, $key);
+ local *F;
+ open(F, $tmpfile);
+ while () {
+ $ver = $1 if /Version=(.*)\n/;
+ $name = $1 if /Could not find assembly ([^,]+),/;
+ $name = $1 if /Name=(.*)\n/;
+ $ver = "$1.$2" if /Major\/Minor:\s*(\d+),(\d+)/;
+ $ver .= ".$1.$2" if /Build:\s*(\d+),(\d+)/;
+
+ if (/0x\S+:.([ABCDEF0123456789 ]+)\n/ || /Token:\s*(\w+)/) {
+ $key = $1;
+ $key =~ s/\ //g;
+ $key = $ver . "__" . lc($key);
+ my $compat = "$name/$key";
+ if (!defined($clilibdata{$compat})) {
+ warning("Warning: No Debian dependency data for $name ($key)!");
+ } else {
+ my $pkgref = $clilibdata{$compat};
+ my %overriddenRef = resolveOverride($package, $pkgref);
+ push(@{$ret{depends}}, $overriddenRef{depends});
+ push(@{$ret{recommends}}, $overriddenRef{recommends});
+ push(@{$ret{suggests}}, $overriddenRef{suggests});
+ }
+
+ if ($name eq "mscorlib") {
+ if ($ver eq "1.0.5000.0") {
+ $needs_net_1_0 = 1;
+ } elsif ($ver eq "2.0.3600.0") {
+ $needs_net_2_0 = 1;
+ } elsif ($ver eq "2.0.0.0") {
+ $needs_net_2_0 = 1;
+ } elsif ($ver eq "2.1.0.0") {
+ $needs_net_2_1 = 1;
+ } elsif ($ver eq "4.0.0.0") {
+ $needs_net_4_0 = 1;
+ } else {
+ warning("Warning: Unknown mscorlib version: $ver!");
+ }
+ }
+ }
+ }
+ close(F);
+
+ return %ret;
+}
+
+sub resolveShlibRefs {
+ my $package = shift;
+ my $assembly_filename = shift;
+ my $config_filename = $assembly_filename.".config";
+ my %ret = ( depends => [],
+ recommends => [],
+ suggests => [] );
+ if (-r $config_filename) {
+ verbose_print("Found DLL map: $config_filename");
+ } else {
+ verbose_print("Found no specific DLL map, but resolving modulerefs anyway");
+ }
+
+ # load dll maps
+ verbose_print("Loading DLL maps for: $assembly_filename...");
+ my %dllmapdata;
+ loadDllMap("/etc/mono/config", \%dllmapdata);
+ loadDllMap("$pwd/debian/tmp/etc/mono/config", \%dllmapdata);
+ loadDllMap($config_filename, \%dllmapdata);
+
+ # parse modulerefs
+ my (undef, $tmpfile) = File::Temp::tempfile("/tmp/".basename($0).".XXXX", UNLINK => 1);
+ my $command = "LANG=C $cli_parser_paths $cli_parser --moduleref $assembly_filename 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;
+ }
+
+ local *F;
+ open(F, $tmpfile);
+ while () {
+ my $name = $1 if /\d+:\s+(.*)\n/;
+ if (!defined($name)) {
+ next;
+ }
+ my $target = $dllmapdata{$name};
+
+ if (defined($target)) {
+ $target = basename($target);
+ verbose_print("Resolved moduleref via DLL map: $name to: $target");
+ } elsif (defined($shlibdata{$name})) {
+ verbose_print("Resolved moduleref via direct match in shlibs");
+ } else {
+ warning("Warning: Could not resolve moduleref: $name for: $assembly_filename!");
+ next;
+ }
+
+ my $pkgref;
+ if (defined($target) && defined($shlibdata{$target})) {
+ $pkgref = $shlibdata{$target};
+ } elsif (defined($shlibdata{$name})) {
+ $pkgref = $shlibdata{$name};
+ } elsif (defined($target) && defined($shlibdata{$target.".0"})) {
+ # for DLL maps that have an unversioned library as target
+ $pkgref = $shlibdata{$target.".0"};
+ } else {
+ warning("Warning: Missing shlibs entry: $target or $name for: $assembly_filename!");
+ next;
+ }
+
+ my %overriddenRef = resolveOverride($package, $pkgref);
+ push(@{$ret{depends}}, $overriddenRef{depends});
+ push(@{$ret{recommends}}, $overriddenRef{recommends});
+ push(@{$ret{suggests}}, $overriddenRef{suggests});
+ }
+ close(F);
+
+ return %ret;
+}
+
+=head1 SEE ALSO
+
+L
+
+This program is a part of cli-common-dev.
+
+=head1 AUTHOR
+
+Mirco Bauer , Eduard Bloch ,
+partialy based on code from Brendan O'Dea and
+Joey Hess .
+
+=cut
diff --git a/debian/dh_clifixperms b/debian/dh_clifixperms
new file mode 100755
index 0000000000..f6c0051c76
--- /dev/null
+++ b/debian/dh_clifixperms
@@ -0,0 +1,70 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_clifixperms - fix permissions of files in CLI package build directories
+
+=cut
+
+use strict;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B [S>] [B<-X>I- ]
+
+=head1 DESCRIPTION
+
+dh_clifixperms is a debhelper program that is responsible for setting
+the permissions of files and directories for CLI assemblies and
+executables.
+
+dh_clifixperms makes all files that end in *.dll, *.mdb, *.cs,
+*.aspx, and *.config to mode 644 and *.exe to mode 755.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-X>I
- , B<--exclude> I
-
+
+Exclude files that contain "item" anywhere in their filename from having
+their permissions changed. You may use this option multiple times to build
+up a list of things to exclude.
+
+=back
+
+=cut
+
+init();
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp=tmpdir($package);
+
+ my $find_options='';
+ if (defined($dh{EXCLUDE_FIND}) && $dh{EXCLUDE_FIND} ne '') {
+ $find_options="! \\( $dh{EXCLUDE_FIND} \\)";
+ }
+
+ # Fix the permissions of various CLI-based files
+ for my $ext (qw(dll mdb cs config aspx))
+ {
+ complex_doit("find $tmp $find_options -name \"*.$ext\" -type f -print0",
+ "2>/dev/null | xargs -0r chmod 0644");
+ }
+ complex_doit("find $tmp $find_options -name \"*.exe\" -type f -print0",
+ "2>/dev/null | xargs -0r chmod 0755");
+}
+
+=head1 SEE ALSO
+
+L
+
+This program is a part of cli-common.
+
+=head1 AUTHOR
+
+Dylan R. E. Moonfire based on work from Joey Hess
+.
+
+=cut
diff --git a/debian/dh_clistrip b/debian/dh_clistrip
new file mode 100755
index 0000000000..c0a1421bd4
--- /dev/null
+++ b/debian/dh_clistrip
@@ -0,0 +1,105 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_clistrip - strips CLI debug symbols from package build directories
+
+=cut
+
+use strict;
+use File::Find;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B [S>] [B<-X>I
- ] [--dbg-package=package]
+
+=head1 DESCRIPTION
+
+dh_clistrip is a debhelper program that removes debug symbols from
+CLI libraries and applications.
+
+dh_clistrip deletes all *.exe.mdb and *.dll.mdb files.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-X>I
- , B<--exclude=>I
-
+
+Exclude files that contain "item" anywhere in their filename from being
+deleted. You may use this option multiple times to build up a list of things
+to exclude.
+
+=item B<--dbg-package=>I
+
+Moves the debug symbols to the specified package.
+
+=back
+
+=cut
+
+init();
+
+my $pwd = `pwd`;
+chomp $pwd;
+
+# This variable can be used to turn off stripping (see Policy).
+if (defined $ENV{DEB_BUILD_OPTIONS} && $ENV{DEB_BUILD_OPTIONS} =~ /nostrip/) {
+ exit;
+}
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp = tmpdir($package);
+
+ my $debug_pkg = '';
+ if (defined($dh{DEBUGPACKAGES})) {
+ $debug_pkg = @{$dh{DEBUGPACKAGES}}[0];
+ verbose_print("debug_pkg: $debug_pkg");
+ }
+
+ if ($package eq $debug_pkg) {
+ # skip debug package
+ next;
+ }
+
+ # find debug symbols
+ find (sub {
+ foreach my $exclude (@{$dh{EXCLUDE}}) {
+ return if /$exclude/;
+ }
+ return unless -f && /\.(exe|dll)\.mdb$/;
+
+ my $file = $_;
+ my $dir = $File::Find::dir;
+
+ if ($debug_pkg ne '') {
+ my $debug_dir = $dir;
+ verbose_print("dir: $dir");
+ $debug_dir =~ s!$tmp!!;
+ verbose_print("debug_dir: $debug_dir");
+ $debug_dir = $pwd . "/debian/$debug_pkg/" . $debug_dir;
+ verbose_print("debug_dir: $debug_dir");
+ if (! -d $debug_dir) {
+ doit("install", "-d", $debug_dir);
+ }
+ verbose_print("moving $file to $debug_dir");
+ doit("mv", $file, $debug_dir);
+ } else {
+ verbose_print("deleting $file");
+ doit("rm", $file);
+ }
+ }, $tmp);
+}
+
+=head1 SEE ALSO
+
+L
+
+This program is a part of cli-common.
+
+=head1 AUTHOR
+
+Mirco Bauer
+
+=cut
diff --git a/debian/dh_makeclilibs b/debian/dh_makeclilibs
new file mode 100755
index 0000000000..3db1f87885
--- /dev/null
+++ b/debian/dh_makeclilibs
@@ -0,0 +1,318 @@
+#!/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<--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
+
+# gar, debhelper 7.1 defines -V for all scripts already :(
+init(options => {
+# "V", => \$dh{V_FLAG},
+ "r" => \$dh{R_FLAG},
+ "m=s" => \$dh{M_PARAMS},
+ "l=s" => \$dh{L_PARAMS},
+ "internal-mono" => \$dh{INTERNAL_MONO_FLAG},
+});
+
+my $clr;
+my $cli = '/usr/bin/cli';
+my $cli_version = `$cli --version 2>&1`;
+my $cli_parser;
+my $sn = 'sn';
+
+if (defined($dh{INTERNAL_MONO_FLAG}) ||
+ (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/4.0 MONO_CFG_DIR=debian/tmp/etc";
+ $cli_parser = "$mono_path debian/tmp/usr/bin/monodis";
+ $sn = "$mono_path debian/tmp/usr/bin/mono debian/tmp/usr/lib/mono/4.5/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 $srcblock = ;
+ close(FILE);
+ if ($srcblock =~ m/Build-Depends(?:\-Indep)?\:(?:.*\n\s+)*.*cli\-common\-dev\s*\(>=\s*([^\)]+)\)/ &&
+ system("dpkg", "--compare-versions", $1, ">=", "0.8~") != 0) {
+ warning("Warning! No Build-Depends(-Indep) on cli-common-dev (>= 0.8~)!");
+ }
+}
+
+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;
+ my $command = "$sn -T $libfile 2>&1";
+ verbose_print("running signature reader command: $command");
+ my $output = `$command`;
+ if ($? == 0) {
+ $sig = $output;
+ if ($sig !~ s/.*key token: (\w+).*/$1/is) {
+ warning "$libfile has no signature, ignoring";
+ next dll;
+ }
+ } else {
+ error("signature reader call failed: '$command' rc: $? output:\n$output");
+ return;
+ }
+
+ $command = "$sn -v $libfile 2>&1";
+ verbose_print("running signature verifier command: $command");
+ $output = `$command`;
+ if ($? != 0) {
+ verbose_print("signature verifier call failed: '$command' rc: $? output:\n$output");
+ warning("$libfile has no valid signature, ignoring");
+ next dll;
+ }
+
+ $command = "LANG=C MONO_GAC_PREFIX=\$MONO_GAC_PREFIX:$tmp/usr $cli_parser --assembly $libfile 2>&1";
+ verbose_print("running CLI parser command: $command");
+
+ $output = `$command`;
+ if ($? == 0) {
+ $output =~ m/Name:\s+(\S+)/;
+ $library = $1;
+ $output =~ m/Version:\s+(\S+)/;
+ $ver = $1;
+ } else {
+ error("cli_parser call failed: '$command' rc: $? output:\n$output");
+ return;
+ }
+
+ 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");
+ }
+}
+
+=head1 SEE ALSO
+
+L
+
+This program is a part of cli-common-dev.
+
+=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
diff --git a/debian/dh_monoaot b/debian/dh_monoaot
new file mode 100755
index 0000000000..60122baf6f
--- /dev/null
+++ b/debian/dh_monoaot
@@ -0,0 +1,87 @@
+#!/usr/bin/perl -w
+
+=head1 NAME
+
+dh_monoaot - generates AOT images for assemblies
+
+=cut
+
+use strict;
+use File::Find;
+use Debian::Debhelper::Dh_Lib;
+
+=head1 SYNOPSIS
+
+B [S>] [B<-n>]
+
+=head1 DESCRIPTION
+
+dh_monoaot is a debhelper program that is responsible for
+generating AOT images at package install time.
+
+It also automatically generates the postinst and prerm commands needed
+to generate AOT images. See L for an
+explanation of how this works.
+
+This is based on L in the cli-common package.
+
+=head1 OPTIONS
+
+=over 4
+
+=item B<-n>, B<--noscripts>
+
+Do not modify postinst/prerm scripts.
+
+=back
+
+=head1 NOTES
+
+Note that this command is not idempotent. "dh_clean -k" should be called
+between invocations of this command. Otherwise, it may cause multiple
+instances of the same text to be added to maintainer scripts.
+
+=cut
+
+init();
+
+foreach my $package (@{$dh{DOPACKAGES}}) {
+ my $tmp = tmpdir($package);
+ my @files;
+
+ # find binaries
+ find (sub {
+ return unless -f and /\.(exe|dll)$/;
+ return unless $File::Find::dir =~ m!^$tmp/usr/lib!;
+
+ my $fullfilename = $File::Find::name;
+
+ my $filename = $fullfilename;
+ $filename =~ s/^$tmp//;
+
+ verbose_print("fullfilename: $fullfilename");
+ verbose_print("filename: $filename");
+ push(@files, $filename);
+ }, $tmp);
+
+ if (! $dh{NOSCRIPTS}) {
+ foreach my $file (@files) {
+ autoscript($package, "postinst", "postinst-monoaot",
+ "s!#FILE#!$file!");
+ autoscript($package, "prerm", "prerm-monoaot",
+ "s!#FILE#!$file.so!");
+ }
+ }
+}
+
+=head1 SEE ALSO
+
+L
+
+This program is a part of cli-common-dev.
+
+=head1 AUTHOR
+
+Mirco 'meebey' Bauer
+
+=cut
diff --git a/debian/find-icalls.sh b/debian/find-icalls.sh
new file mode 100755
index 0000000000..1e8ac3305b
--- /dev/null
+++ b/debian/find-icalls.sh
@@ -0,0 +1,2 @@
+#!/bin/sh
+grep MethodImplOptions.InternalCall * -r | cut -d '/' -f 1 | sort | uniq
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000000..d976e76ba1
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,10 @@
+[git-dch]
+id-length = 7
+meta = True
+full = True
+[git-import-orig]
+postimport = git-dch -N%(version)s -S -a --debian-branch=$GBP_BRANCH
+no-merge = True
+[DEFAULT]
+debian-branch = master
+upstream-branch = upstream
diff --git a/debian/git-merge-debian-patches b/debian/git-merge-debian-patches
new file mode 100755
index 0000000000..e896328a61
--- /dev/null
+++ b/debian/git-merge-debian-patches
@@ -0,0 +1,8 @@
+#!/bin/sh
+
+CURRENT_BRANCH=$(git branch -l | egrep '^\* ' | cut -d ' ' -f 2)
+DEBIAN_BRANCH=$(grep -h ^debian-branch $(git rev-parse --show-cdup)./debian/gbp.conf ~/.gbp.conf 2> /dev/null | head -n 1 | cut -d '=' -f 2)
+DEBIAN_PATCHES=$(git branch -l | egrep "$DEBIAN_BRANCH-patches/")
+for DEBIAN_PATCH in $DEBIAN_PATCHES; do
+ git merge --no-ff $DEBIAN_PATCH
+done
diff --git a/debian/git-pull-debian-patches b/debian/git-pull-debian-patches
new file mode 100755
index 0000000000..2b4e2ecfb0
--- /dev/null
+++ b/debian/git-pull-debian-patches
@@ -0,0 +1,9 @@
+#!/bin/bash -e
+
+CURRENT_BRANCH=$(git branch -l | egrep '^\* ' | cut -d ' ' -f 2)
+DEBIAN_PATCHES=$(git branch -lr | egrep "$CURRENT_BRANCH-patches/")
+for DEBIAN_PATCH in $DEBIAN_PATCHES; do
+ git checkout ${DEBIAN_PATCH/origin\//}
+ git pull
+done
+git checkout $CURRENT_BRANCH
diff --git a/debian/git-test-debian-patches b/debian/git-test-debian-patches
new file mode 100755
index 0000000000..b40796c81f
--- /dev/null
+++ b/debian/git-test-debian-patches
@@ -0,0 +1,42 @@
+#!/bin/sh
+# Copyright (c) 2010 Mirco Bauer
+#
+# Full GPL License:
+#
+# 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 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
+
+CURRENT_BRANCH=$(git branch -l | egrep '^\* ' | cut -d ' ' -f 2)
+UPSTREAM_BRANCH=$(grep -h upstream-branch $(git rev-parse --show-cdup)./debian/gbp.conf ~/.gbp.conf 2> /dev/null | head -n 1 | cut -d '=' -f 2)
+DEBIAN_PATCHES=$(git branch -l | egrep "$CURRENT_BRANCH-patches/")
+if [ ! -z $UPSTREAM_BRANCH ]; then
+ git checkout $UPSTREAM_BRANCH
+ if [ $? != 0 ]; then
+ echo "Failed to swtich to upstream branch: $UPSTREAM_BRANCH, bailing out...";
+ exit 1
+ fi
+fi
+for DEBIAN_PATCH in $DEBIAN_PATCHES; do
+ git merge --no-commit --no-ff $DEBIAN_PATCH > /dev/null 2>&1
+ if [ $? != 0 ]; then
+ echo "ERROR: Test merge of $DEBIAN_PATCH failed, branch needs update!"
+ else
+ DELTA=$(git diff --no-ext-diff HEAD | wc -l)
+ if [ $DELTA = 0 ]; then
+ echo "WARNING: delta of $DEBIAN_PATCH is 0! Patch already applied upstream, drop branch!"
+ fi
+ fi
+ git reset --hard > /dev/null
+done
+git checkout $CURRENT_BRANCH
diff --git a/debian/icu-test.cs b/debian/icu-test.cs
new file mode 100644
index 0000000000..ab5f258aab
--- /dev/null
+++ b/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")+"\"");
+ }
+}
diff --git a/debian/libmono-2.0-1.install b/debian/libmono-2.0-1.install
new file mode 100644
index 0000000000..d3b4af380d
--- /dev/null
+++ b/debian/libmono-2.0-1.install
@@ -0,0 +1 @@
+/usr/lib/libmono-2.0.so.1*
diff --git a/debian/libmono-2.0-dev.install b/debian/libmono-2.0-dev.install
new file mode 100644
index 0000000000..9fd6df77a2
--- /dev/null
+++ b/debian/libmono-2.0-dev.install
@@ -0,0 +1,5 @@
+usr/lib/libmono-2.0.so
+usr/lib/libmono-2.0.a
+usr/lib/pkgconfig/mono-2.pc
+usr/include/
+debian/mono-archs.make /usr/share/mono/
diff --git a/debian/libmono-accessibility2.0-cil.install b/debian/libmono-accessibility2.0-cil.install
new file mode 100644
index 0000000000..5fb957a8e1
--- /dev/null
+++ b/debian/libmono-accessibility2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Accessibility/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Accessibility.dll
diff --git a/debian/libmono-accessibility4.0-cil.install b/debian/libmono-accessibility4.0-cil.install
new file mode 100644
index 0000000000..3b43ca31b6
--- /dev/null
+++ b/debian/libmono-accessibility4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Accessibility.dll*
+/usr/lib/mono/4.5/Accessibility.dll*
+/usr/lib/mono/gac/Accessibility/4.0.0.0__*/
diff --git a/debian/libmono-c5-1.1-cil.install b/debian/libmono-c5-1.1-cil.install
new file mode 100644
index 0000000000..c345091413
--- /dev/null
+++ b/debian/libmono-c5-1.1-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.C5.dll*
+/usr/lib/mono/4.5/Mono.C5.dll*
+/usr/lib/mono/gac/Mono.C5/1.1.1.0__*/
diff --git a/debian/libmono-cairo2.0-cil.install b/debian/libmono-cairo2.0-cil.install
new file mode 100644
index 0000000000..ac82bf0a88
--- /dev/null
+++ b/debian/libmono-cairo2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Mono.Cairo/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Mono.Cairo.dll
diff --git a/debian/libmono-cairo4.0-cil.install b/debian/libmono-cairo4.0-cil.install
new file mode 100644
index 0000000000..e1d7cc4b24
--- /dev/null
+++ b/debian/libmono-cairo4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Cairo.dll*
+/usr/lib/mono/4.5/Mono.Cairo.dll*
+/usr/lib/mono/gac/Mono.Cairo/4.0.0.0__*/
diff --git a/debian/libmono-cecil-private-cil.install b/debian/libmono-cecil-private-cil.install
new file mode 100644
index 0000000000..db230b2991
--- /dev/null
+++ b/debian/libmono-cecil-private-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/Mono.Cecil/
+/usr/lib/mono/gac/Mono.Cecil.Mdb/
diff --git a/debian/libmono-cil-dev.install b/debian/libmono-cil-dev.install
new file mode 100644
index 0000000000..59e387468c
--- /dev/null
+++ b/debian/libmono-cil-dev.install
@@ -0,0 +1,14 @@
+/usr/lib/pkgconfig/mono.pc
+/usr/lib/pkgconfig/mono-cairo.pc
+/usr/lib/pkgconfig/aspnetwebstack.pc
+/usr/lib/pkgconfig/cecil.pc
+/usr/lib/pkgconfig/system.web.extensions_1.0.pc
+/usr/lib/pkgconfig/system.web.extensions.design_1.0.pc
+/usr/lib/pkgconfig/system.web.mvc.pc
+/usr/lib/pkgconfig/system.web.mvc2.pc
+/usr/lib/pkgconfig/system.web.mvc3.pc
+/usr/lib/pkgconfig/wcf.pc
+/usr/lib/pkgconfig/mono.web.pc
+/usr/lib/pkgconfig/dotnet.pc
+/usr/lib/pkgconfig/dotnet35.pc
+/usr/lib/pkgconfig/reactive.pc
diff --git a/debian/libmono-cil-dev.links b/debian/libmono-cil-dev.links
new file mode 100644
index 0000000000..856a98bac6
--- /dev/null
+++ b/debian/libmono-cil-dev.links
@@ -0,0 +1 @@
+usr/lib/pkgconfig/nunit.pc usr/lib/pkgconfig/mono-nunit.pc
diff --git a/debian/libmono-codecontracts4.0-cil.install b/debian/libmono-codecontracts4.0-cil.install
new file mode 100644
index 0000000000..5edc9eaa31
--- /dev/null
+++ b/debian/libmono-codecontracts4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/Mono.CodeContracts.dll*
+/usr/lib/mono/gac/Mono.CodeContracts/4.0.0.0__*/
diff --git a/debian/libmono-compilerservices-symbolwriter4.0-cil.install b/debian/libmono-compilerservices-symbolwriter4.0-cil.install
new file mode 100644
index 0000000000..82c304c468
--- /dev/null
+++ b/debian/libmono-compilerservices-symbolwriter4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.CompilerServices.SymbolWriter.dll*
+/usr/lib/mono/4.5/Mono.CompilerServices.SymbolWriter.dll*
+/usr/lib/mono/gac/Mono.CompilerServices.SymbolWriter/4.0.0.0__*/
diff --git a/debian/libmono-corlib2.0-cil.install b/debian/libmono-corlib2.0-cil.install
new file mode 100644
index 0000000000..28d95b5eca
--- /dev/null
+++ b/debian/libmono-corlib2.0-cil.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/mono/2.0/mscorlib.dll*
diff --git a/debian/libmono-corlib4.0-cil.install b/debian/libmono-corlib4.0-cil.install
new file mode 100644
index 0000000000..213e4fe197
--- /dev/null
+++ b/debian/libmono-corlib4.0-cil.install
@@ -0,0 +1 @@
+debian/tmp/usr/lib/mono/4.0/mscorlib.dll*
diff --git a/debian/libmono-corlib4.5-cil.install b/debian/libmono-corlib4.5-cil.install
new file mode 100644
index 0000000000..e2486a1aef
--- /dev/null
+++ b/debian/libmono-corlib4.5-cil.install
@@ -0,0 +1 @@
+/usr/lib/mono/4.5/mscorlib.dll*
diff --git a/debian/libmono-cscompmgd0.0-cil.install b/debian/libmono-cscompmgd0.0-cil.install
new file mode 100644
index 0000000000..cd3e6f88fe
--- /dev/null
+++ b/debian/libmono-cscompmgd0.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/cscompmgd/0.0.*/
+debian/tmp/usr/lib/mono/4.5/cscompmgd.dll
diff --git a/debian/libmono-cscompmgd8.0-cil.install b/debian/libmono-cscompmgd8.0-cil.install
new file mode 100644
index 0000000000..9b80a3db0a
--- /dev/null
+++ b/debian/libmono-cscompmgd8.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/cscompmgd/8.0.*/
+debian/tmp/usr/lib/mono/2.0/cscompmgd.dll
diff --git a/debian/libmono-csharp4.0c-cil.install b/debian/libmono-csharp4.0c-cil.install
new file mode 100644
index 0000000000..6891a8dea0
--- /dev/null
+++ b/debian/libmono-csharp4.0c-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.CSharp.dll*
+/usr/lib/mono/4.5/Mono.CSharp.dll*
+/usr/lib/mono/gac/Mono.CSharp/4.0.0.0__*/
diff --git a/debian/libmono-custommarshalers4.0-cil.install b/debian/libmono-custommarshalers4.0-cil.install
new file mode 100644
index 0000000000..ac317160d0
--- /dev/null
+++ b/debian/libmono-custommarshalers4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/CustomMarshalers.dll*
+/usr/lib/mono/4.5/CustomMarshalers.dll*
+/usr/lib/mono/gac/CustomMarshalers/4.0.0.0__*/
diff --git a/debian/libmono-data-tds2.0-cil.install b/debian/libmono-data-tds2.0-cil.install
new file mode 100644
index 0000000000..5b9d337ae7
--- /dev/null
+++ b/debian/libmono-data-tds2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Mono.Data.Tds/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Mono.Data.Tds.dll
diff --git a/debian/libmono-data-tds4.0-cil.install b/debian/libmono-data-tds4.0-cil.install
new file mode 100644
index 0000000000..97e90416ac
--- /dev/null
+++ b/debian/libmono-data-tds4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Data.Tds.dll*
+/usr/lib/mono/4.5/Mono.Data.Tds.dll*
+/usr/lib/mono/gac/Mono.Data.Tds/4.0.0.0__*/
diff --git a/debian/libmono-db2-1.0-cil.install b/debian/libmono-db2-1.0-cil.install
new file mode 100644
index 0000000000..50100020c3
--- /dev/null
+++ b/debian/libmono-db2-1.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/IBM.Data.DB2.dll*
+/usr/lib/mono/4.5/IBM.Data.DB2.dll*
+/usr/lib/mono/gac/IBM.Data.DB2/1.0.0.0__*/
diff --git a/debian/libmono-debugger-soft2.0a-cil.install b/debian/libmono-debugger-soft2.0a-cil.install
new file mode 100644
index 0000000000..92e3f36ca4
--- /dev/null
+++ b/debian/libmono-debugger-soft2.0a-cil.install
@@ -0,0 +1,2 @@
+usr/lib/mono/gac/Mono.Debugger.Soft/2.0.0.0__*/Mono.Debugger.Soft.dll*
+usr/lib/mono/2.0/Mono.Debugger.Soft.dll
diff --git a/debian/libmono-debugger-soft4.0a-cil.install b/debian/libmono-debugger-soft4.0a-cil.install
new file mode 100644
index 0000000000..93dd447d76
--- /dev/null
+++ b/debian/libmono-debugger-soft4.0a-cil.install
@@ -0,0 +1,3 @@
+usr/lib/mono/4.0/Mono.Debugger.Soft.dll*
+usr/lib/mono/4.5/Mono.Debugger.Soft.dll*
+usr/lib/mono/gac/Mono.Debugger.Soft/4.0.0.0__*/Mono.Debugger.Soft.dll*
diff --git a/debian/libmono-entityframework-sqlserver6.0-cil.install b/debian/libmono-entityframework-sqlserver6.0-cil.install
new file mode 100644
index 0000000000..c52b880ec2
--- /dev/null
+++ b/debian/libmono-entityframework-sqlserver6.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/EntityFramework.SqlServer.dll*
+/usr/lib/mono/gac/EntityFramework.SqlServer/6.0.0.0__*/
diff --git a/debian/libmono-entityframework6.0-cil.install b/debian/libmono-entityframework6.0-cil.install
new file mode 100644
index 0000000000..a2264733d4
--- /dev/null
+++ b/debian/libmono-entityframework6.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/EntityFramework.dll*
+/usr/lib/mono/gac/EntityFramework/6.0.0.0__*/
diff --git a/debian/libmono-http4.0-cil.install b/debian/libmono-http4.0-cil.install
new file mode 100644
index 0000000000..1cb5500223
--- /dev/null
+++ b/debian/libmono-http4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Http.dll*
+/usr/lib/mono/4.5/Mono.Http.dll*
+/usr/lib/mono/gac/Mono.Http/4.0.0.0__*/
diff --git a/debian/libmono-i18n-cjk4.0-cil.install b/debian/libmono-i18n-cjk4.0-cil.install
new file mode 100644
index 0000000000..b4f9b3dd62
--- /dev/null
+++ b/debian/libmono-i18n-cjk4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.CJK.dll
+/usr/lib/mono/4.5/I18N.CJK.dll
+/usr/lib/mono/gac/I18N.CJK/4.0.0.0__*/
diff --git a/debian/libmono-i18n-mideast4.0-cil.install b/debian/libmono-i18n-mideast4.0-cil.install
new file mode 100644
index 0000000000..198fec7609
--- /dev/null
+++ b/debian/libmono-i18n-mideast4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.MidEast.dll*
+/usr/lib/mono/4.5/I18N.MidEast.dll*
+/usr/lib/mono/gac/I18N.MidEast/4.0.0.0__*/
diff --git a/debian/libmono-i18n-other4.0-cil.install b/debian/libmono-i18n-other4.0-cil.install
new file mode 100644
index 0000000000..e8e5ef518d
--- /dev/null
+++ b/debian/libmono-i18n-other4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.Other.dll*
+/usr/lib/mono/4.5/I18N.Other.dll*
+/usr/lib/mono/gac/I18N.Other/4.0.0.0__*/
diff --git a/debian/libmono-i18n-rare4.0-cil.install b/debian/libmono-i18n-rare4.0-cil.install
new file mode 100644
index 0000000000..5258365dca
--- /dev/null
+++ b/debian/libmono-i18n-rare4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.Rare.dll*
+/usr/lib/mono/4.5/I18N.Rare.dll*
+/usr/lib/mono/gac/I18N.Rare/4.0.0.0__*/
diff --git a/debian/libmono-i18n-west2.0-cil.install b/debian/libmono-i18n-west2.0-cil.install
new file mode 100644
index 0000000000..c5c29a2bf2
--- /dev/null
+++ b/debian/libmono-i18n-west2.0-cil.install
@@ -0,0 +1,4 @@
+/usr/lib/mono/gac/I18N/2.0.*/
+/usr/lib/mono/gac/I18N.West/2.0.*/
+/usr/lib/mono/2.0/I18N.dll
+/usr/lib/mono/2.0/I18N.West.dll
diff --git a/debian/libmono-i18n-west4.0-cil.install b/debian/libmono-i18n-west4.0-cil.install
new file mode 100644
index 0000000000..0e15f208e0
--- /dev/null
+++ b/debian/libmono-i18n-west4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.West.dll*
+/usr/lib/mono/4.5/I18N.West.dll*
+/usr/lib/mono/gac/I18N.West/4.0.0.0__*/
diff --git a/debian/libmono-i18n2.0-cil.install b/debian/libmono-i18n2.0-cil.install
new file mode 100644
index 0000000000..6b99ce745d
--- /dev/null
+++ b/debian/libmono-i18n2.0-cil.install
@@ -0,0 +1,8 @@
+/usr/lib/mono/gac/I18N.CJK/2.0.*/
+/usr/lib/mono/gac/I18N.MidEast/2.0.*/
+/usr/lib/mono/gac/I18N.Other/2.0.*/
+/usr/lib/mono/gac/I18N.Rare/2.0.*/
+/usr/lib/mono/2.0/I18N.CJK.dll
+/usr/lib/mono/2.0/I18N.MidEast.dll
+/usr/lib/mono/2.0/I18N.Other.dll
+/usr/lib/mono/2.0/I18N.Rare.dll
diff --git a/debian/libmono-i18n4.0-cil.install b/debian/libmono-i18n4.0-cil.install
new file mode 100644
index 0000000000..e416eb67e4
--- /dev/null
+++ b/debian/libmono-i18n4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/I18N.dll*
+/usr/lib/mono/4.5/I18N.dll*
+/usr/lib/mono/gac/I18N/4.0.0.0__*/
diff --git a/debian/libmono-ldap2.0-cil.install b/debian/libmono-ldap2.0-cil.install
new file mode 100644
index 0000000000..a739d57fef
--- /dev/null
+++ b/debian/libmono-ldap2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Novell.Directory.Ldap/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Novell.Directory.Ldap.dll
diff --git a/debian/libmono-ldap4.0-cil.install b/debian/libmono-ldap4.0-cil.install
new file mode 100644
index 0000000000..66dce6424f
--- /dev/null
+++ b/debian/libmono-ldap4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Novell.Directory.Ldap.dll*
+/usr/lib/mono/4.5/Novell.Directory.Ldap.dll*
+/usr/lib/mono/gac/Novell.Directory.Ldap/4.0.0.0__*/
diff --git a/debian/libmono-management2.0-cil.install b/debian/libmono-management2.0-cil.install
new file mode 100644
index 0000000000..dfb08a4c57
--- /dev/null
+++ b/debian/libmono-management2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/Mono.Management/2.0.0.0__*/
+/usr/lib/mono/2.0/Mono.Management.dll
diff --git a/debian/libmono-management4.0-cil.install b/debian/libmono-management4.0-cil.install
new file mode 100644
index 0000000000..a736999a51
--- /dev/null
+++ b/debian/libmono-management4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Management.dll*
+/usr/lib/mono/4.5/Mono.Management.dll*
+/usr/lib/mono/gac/Mono.Management/4.0.0.0__*/
diff --git a/debian/libmono-messaging-rabbitmq2.0-cil.install b/debian/libmono-messaging-rabbitmq2.0-cil.install
new file mode 100644
index 0000000000..eeb4ef7e85
--- /dev/null
+++ b/debian/libmono-messaging-rabbitmq2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/Mono.Messaging.RabbitMQ/2.0.0.0__*/
+/usr/lib/mono/2.0/Mono.Messaging.RabbitMQ.dll
diff --git a/debian/libmono-messaging-rabbitmq4.0-cil.install b/debian/libmono-messaging-rabbitmq4.0-cil.install
new file mode 100644
index 0000000000..778e9be8f3
--- /dev/null
+++ b/debian/libmono-messaging-rabbitmq4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Messaging.RabbitMQ.dll*
+/usr/lib/mono/4.5/Mono.Messaging.RabbitMQ.dll*
+/usr/lib/mono/gac/Mono.Messaging.RabbitMQ/4.0.0.0__*/
diff --git a/debian/libmono-messaging2.0-cil.install b/debian/libmono-messaging2.0-cil.install
new file mode 100644
index 0000000000..ea8e48aa3c
--- /dev/null
+++ b/debian/libmono-messaging2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/Mono.Messaging/2.0.0.0__*/
+/usr/lib/mono/2.0/Mono.Messaging.dll
diff --git a/debian/libmono-messaging4.0-cil.install b/debian/libmono-messaging4.0-cil.install
new file mode 100644
index 0000000000..cfd9ba14ac
--- /dev/null
+++ b/debian/libmono-messaging4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Messaging.dll*
+/usr/lib/mono/4.5/Mono.Messaging.dll*
+/usr/lib/mono/gac/Mono.Messaging/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-build-engine4.0-cil.install b/debian/libmono-microsoft-build-engine4.0-cil.install
new file mode 100644
index 0000000000..4c0ec279a2
--- /dev/null
+++ b/debian/libmono-microsoft-build-engine4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Build.Engine.dll*
+/usr/lib/mono/4.5/Microsoft.Build.Engine.dll*
+/usr/lib/mono/gac/Microsoft.Build.Engine/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-build-framework4.0-cil.install b/debian/libmono-microsoft-build-framework4.0-cil.install
new file mode 100644
index 0000000000..08c4226cb5
--- /dev/null
+++ b/debian/libmono-microsoft-build-framework4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Build.Framework.dll*
+/usr/lib/mono/4.5/Microsoft.Build.Framework.dll*
+/usr/lib/mono/gac/Microsoft.Build.Framework/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-build-tasks-v4.0-4.0-cil.install b/debian/libmono-microsoft-build-tasks-v4.0-4.0-cil.install
new file mode 100644
index 0000000000..5798afa68f
--- /dev/null
+++ b/debian/libmono-microsoft-build-tasks-v4.0-4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Build.Tasks.v4.0.dll*
+/usr/lib/mono/4.5/Microsoft.Build.Tasks.v4.0.dll*
+/usr/lib/mono/gac/Microsoft.Build.Tasks.v4.0/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-build-utilities-v4.0-4.0-cil.install b/debian/libmono-microsoft-build-utilities-v4.0-4.0-cil.install
new file mode 100644
index 0000000000..647e6f1331
--- /dev/null
+++ b/debian/libmono-microsoft-build-utilities-v4.0-4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Build.Utilities.v4.0.dll*
+/usr/lib/mono/4.5/Microsoft.Build.Utilities.v4.0.dll*
+/usr/lib/mono/gac/Microsoft.Build.Utilities.v4.0/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-build2.0-cil.install b/debian/libmono-microsoft-build2.0-cil.install
new file mode 100644
index 0000000000..dc9d6a5f91
--- /dev/null
+++ b/debian/libmono-microsoft-build2.0-cil.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.*/2.0.*/
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.*/3.5.*/
+debian/tmp/usr/lib/mono/2.0/Microsoft.Build.*.dll
+debian/tmp/usr/lib/mono/3.5/Microsoft.Build.*.dll
diff --git a/debian/libmono-microsoft-build4.0-cil.install b/debian/libmono-microsoft-build4.0-cil.install
new file mode 100644
index 0000000000..4a945d7a61
--- /dev/null
+++ b/debian/libmono-microsoft-build4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Build.dll*
+/usr/lib/mono/4.5/Microsoft.Build.dll*
+/usr/lib/mono/gac/Microsoft.Build/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-csharp4.0-cil.install b/debian/libmono-microsoft-csharp4.0-cil.install
new file mode 100644
index 0000000000..339478a142
--- /dev/null
+++ b/debian/libmono-microsoft-csharp4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.CSharp.dll*
+/usr/lib/mono/4.5/Microsoft.CSharp.dll*
+/usr/lib/mono/gac/Microsoft.CSharp/4.0.0.0__*/
diff --git a/debian/libmono-microsoft-visualc10.0-cil.install b/debian/libmono-microsoft-visualc10.0-cil.install
new file mode 100644
index 0000000000..c2e54a6c4b
--- /dev/null
+++ b/debian/libmono-microsoft-visualc10.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.VisualC.dll*
+/usr/lib/mono/4.5/Microsoft.VisualC.dll*
+/usr/lib/mono/gac/Microsoft.VisualC/0.0.0.0_*/
diff --git a/debian/libmono-microsoft-web-infrastructure1.0-cil.install b/debian/libmono-microsoft-web-infrastructure1.0-cil.install
new file mode 100644
index 0000000000..ec0d223d1c
--- /dev/null
+++ b/debian/libmono-microsoft-web-infrastructure1.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Microsoft.Web.Infrastructure.dll*
+/usr/lib/mono/4.5/Microsoft.Web.Infrastructure.dll*
+/usr/lib/mono/gac/Microsoft.Web.Infrastructure/1.0.0.0__*/
diff --git a/debian/libmono-microsoft8.0-cil.install b/debian/libmono-microsoft8.0-cil.install
new file mode 100644
index 0000000000..7182bb8e5d
--- /dev/null
+++ b/debian/libmono-microsoft8.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Microsoft.VisualC/8.0.*/
+debian/tmp/usr/lib/mono/2.0/Microsoft.VisualC.dll
diff --git a/debian/libmono-npgsql2.0-cil.install b/debian/libmono-npgsql2.0-cil.install
new file mode 100644
index 0000000000..7f1f1b97a7
--- /dev/null
+++ b/debian/libmono-npgsql2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Npgsql/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Npgsql.dll
diff --git a/debian/libmono-npgsql4.0-cil.install b/debian/libmono-npgsql4.0-cil.install
new file mode 100644
index 0000000000..4df97a9cd7
--- /dev/null
+++ b/debian/libmono-npgsql4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Npgsql.dll*
+/usr/lib/mono/4.5/Npgsql.dll*
+/usr/lib/mono/gac/Npgsql/4.0.0.0__*/
diff --git a/debian/libmono-opensystem-c4.0-cil.install b/debian/libmono-opensystem-c4.0-cil.install
new file mode 100644
index 0000000000..ea23181e39
--- /dev/null
+++ b/debian/libmono-opensystem-c4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/OpenSystem.C.dll*
+/usr/lib/mono/4.5/OpenSystem.C.dll*
+/usr/lib/mono/gac/OpenSystem.C/4.0.0.0__*/
diff --git a/debian/libmono-oracle2.0-cil.install b/debian/libmono-oracle2.0-cil.install
new file mode 100644
index 0000000000..2f4e3f5b4f
--- /dev/null
+++ b/debian/libmono-oracle2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/System.Data.OracleClient/2.0.*/
+debian/tmp/usr/lib/mono/2.0/System.Data.OracleClient.dll
diff --git a/debian/libmono-oracle4.0-cil.install b/debian/libmono-oracle4.0-cil.install
new file mode 100644
index 0000000000..9bde6b9a31
--- /dev/null
+++ b/debian/libmono-oracle4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.OracleClient.dll*
+/usr/lib/mono/4.5/System.Data.OracleClient.dll*
+/usr/lib/mono/gac/System.Data.OracleClient/4.0.0.0__*/
diff --git a/debian/libmono-parallel4.0-cil.install b/debian/libmono-parallel4.0-cil.install
new file mode 100644
index 0000000000..36c7d1dac2
--- /dev/null
+++ b/debian/libmono-parallel4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Parallel.dll*
+/usr/lib/mono/4.5/Mono.Parallel.dll*
+/usr/lib/mono/gac/Mono.Parallel/4.0.0.0__*/
diff --git a/debian/libmono-peapi2.0a-cil.install b/debian/libmono-peapi2.0a-cil.install
new file mode 100644
index 0000000000..388e6d85dc
--- /dev/null
+++ b/debian/libmono-peapi2.0a-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/PEAPI/2.0.*/
+debian/tmp/usr/lib/mono/2.0/PEAPI.dll
diff --git a/debian/libmono-peapi4.0a-cil.install b/debian/libmono-peapi4.0a-cil.install
new file mode 100644
index 0000000000..30f32f995e
--- /dev/null
+++ b/debian/libmono-peapi4.0a-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/PEAPI.dll*
+/usr/lib/mono/4.5/PEAPI.dll*
+/usr/lib/mono/gac/PEAPI/4.0.0.0__*/
diff --git a/debian/libmono-posix2.0-cil.install b/debian/libmono-posix2.0-cil.install
new file mode 100644
index 0000000000..1123649ae6
--- /dev/null
+++ b/debian/libmono-posix2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/2.0/Mono.Posix.dll
+debian/tmp/usr/lib/mono/gac/Mono.Posix/2.0.0.0__*/
diff --git a/debian/libmono-posix4.0-cil.install b/debian/libmono-posix4.0-cil.install
new file mode 100644
index 0000000000..09e353f5ef
--- /dev/null
+++ b/debian/libmono-posix4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Posix.dll*
+/usr/lib/mono/4.5/Mono.Posix.dll*
+/usr/lib/mono/gac/Mono.Posix/4.0.0.0__*/
diff --git a/debian/libmono-profiler.install b/debian/libmono-profiler.install
new file mode 100644
index 0000000000..2669e70b78
--- /dev/null
+++ b/debian/libmono-profiler.install
@@ -0,0 +1 @@
+/usr/lib/libmono-profiler-*.so*
diff --git a/debian/libmono-profiler.postist b/debian/libmono-profiler.postist
new file mode 100644
index 0000000000..79c3abb291
--- /dev/null
+++ b/debian/libmono-profiler.postist
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/libmono-profiler.postrm b/debian/libmono-profiler.postrm
new file mode 100644
index 0000000000..f7c5ed733b
--- /dev/null
+++ b/debian/libmono-profiler.postrm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ "$1" = "remove" ]; then
+ ldconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/libmono-rabbitmq2.0-cil.copyright b/debian/libmono-rabbitmq2.0-cil.copyright
new file mode 100644
index 0000000000..a33fc48592
--- /dev/null
+++ b/debian/libmono-rabbitmq2.0-cil.copyright
@@ -0,0 +1,477 @@
+Format-Specification: http://dep.debian.net/deps/dep5/
+Upstream-Name: Mono
+Upstream-Source: http://ftp.novell.com/pub/mono/sources/mono
+
+Files: mcs/class/RabbitMQ.Client/*
+Copyright: © 2003 Ximian, Inc. http://www.ximian.com
+ © 2007-2009 Cohesive Financial Technologies
+ © 2007-2009 LShift Ltd., Cohesive Financial
+ © 2007-2009 Rabbit Technologies Ltd
+License: Apache-2.0 | MPL-1.1
+
+License: Apache-2.0
+ On Debian systems the full text of the Apache Software License 2.0 can be
+ found in the `/usr/share/common-licenses/Apache-2.0' file.
+
+License: MPL-1.1
+ 1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the
+ Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to
+ the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original
+ Code, prior Modifications used by a Contributor, and the Modifications
+ made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the
+ combination of the Original Code and Modifications, in each case
+ including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally
+ accepted in the software development community for the electronic
+ transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source
+ Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified
+ as the Initial Developer in the Source Code notice required by Exhibit
+ A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or
+ portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum
+ extent possible, whether at the time of the initial grant or
+ subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the
+ substance or structure of either the Original Code or any previous
+ Modifications. When Covered Code is released as a series of files, a
+ Modification is:
+ A. Any addition to or deletion from the contents of a file
+ containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or
+ previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code
+ which is described in the Source Code notice required by Exhibit A as
+ Original Code, and which, at the time of its release under this
+ License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or
+ hereafter acquired, including without limitation, method, process,
+ and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for
+ making modifications to it, including all modules it contains, plus
+ any associated interface definition files, scripts used to control
+ compilation and installation of an Executable, or source code
+ differential comparisons against either the Original Code or another
+ well known, available Covered Code of the Contributor's choice. The
+ Source Code can be in a compressed or archival form, provided the
+ appropriate decompression or de-archiving software is widely available
+ for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity
+ exercising rights under, and complying with all of the terms of, this
+ License or a future version of this License issued under Section 6.1.
+ For legal entities, "You" includes any entity which controls, is
+ controlled by, or is under common control with You. For purposes of
+ this definition, "control" means (a) the power, direct or indirect,
+ to cause the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty percent
+ (50%) of the outstanding shares or beneficial ownership of such
+ entity.
+
+ 2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+ The Initial Developer hereby grants You a world-wide, royalty-free,
+ non-exclusive license, subject to third party intellectual property
+ claims:
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Initial Developer to use, reproduce,
+ modify, display, perform, sublicense and distribute the Original
+ Code (or portions thereof) with or without Modifications, and/or
+ as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or
+ selling of Original Code, to make, have made, use, practice,
+ sell, and offer for sale, and/or otherwise dispose of the
+ Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are
+ effective on the date Initial Developer first distributes
+ Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is
+ granted: 1) for code that You delete from the Original Code; 2)
+ separate from the Original Code; or 3) for infringements caused
+ by: i) the modification of the Original Code or ii) the
+ combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant.
+ Subject to third party intellectual property claims, each Contributor
+ hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Contributor, to use, reproduce, modify,
+ display, perform, sublicense and distribute the Modifications
+ created by such Contributor (or portions thereof) either on an
+ unmodified basis, with other Modifications, as Covered Code
+ and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or
+ selling of Modifications made by that Contributor either alone
+ and/or in combination with its Contributor Version (or portions
+ of such combination), to make, use, sell, offer for sale, have
+ made, and/or otherwise dispose of: 1) Modifications made by that
+ Contributor (or portions thereof); and 2) the combination of
+ Modifications made by that Contributor with its Contributor
+ Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+ effective on the date Contributor first makes Commercial Use of
+ the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is
+ granted: 1) for any code that Contributor has deleted from the
+ Contributor Version; 2) separate from the Contributor Version;
+ 3) for infringements caused by: i) third party modifications of
+ Contributor Version or ii) the combination of Modifications made
+ by that Contributor with other software (except as part of the
+ Contributor Version) or other devices; or 4) under Patent Claims
+ infringed by Covered Code in the absence of Modifications made by
+ that Contributor.
+
+ 3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are
+ governed by the terms of this License, including without limitation
+ Section 2.2. The Source Code version of Covered Code may be
+ distributed only under the terms of this License or a future version
+ of this License released under Section 6.1, and You must include a
+ copy of this License with every copy of the Source Code You
+ distribute. You may not offer or impose any terms on any Source Code
+ version that alters or restricts the applicable version of this
+ License or the recipients' rights hereunder. However, You may include
+ an additional document offering the additional rights described in
+ Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be
+ made available in Source Code form under the terms of this License
+ either on the same media as an Executable version or via an accepted
+ Electronic Distribution Mechanism to anyone to whom you made an
+ Executable version available; and if made available via Electronic
+ Distribution Mechanism, must remain available for at least twelve (12)
+ months after the date it initially became available, or at least six
+ (6) months after a subsequent version of that particular Modification
+ has been made available to such recipients. You are responsible for
+ ensuring that the Source Code version remains available even if the
+ Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which You contribute to contain a
+ file documenting the changes You made to create that Covered Code and
+ the date of any change. You must include a prominent statement that
+ the Modification is derived, directly or indirectly, from Original
+ Code provided by the Initial Developer and including the name of the
+ Initial Developer in (a) the Source Code, and (b) in any notice in an
+ Executable version or related documentation in which You describe the
+ origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's
+ intellectual property rights is required to exercise the rights
+ granted by such Contributor under Sections 2.1 or 2.2,
+ Contributor must include a text file with the Source Code
+ distribution titled "LEGAL" which describes the claim and the
+ party making the claim in sufficient detail that a recipient will
+ know whom to contact. If Contributor obtains such knowledge after
+ the Modification is made available as described in Section 3.2,
+ Contributor shall promptly modify the LEGAL file in all copies
+ Contributor makes available thereafter and shall take other steps
+ (such as notifying appropriate mailing lists or newsgroups)
+ reasonably calculated to inform those who received the Covered
+ Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming
+ interface and Contributor has knowledge of patent licenses which
+ are reasonably necessary to implement that API, Contributor must
+ also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to
+ Section 3.4(a) above, Contributor believes that Contributor's
+ Modifications are Contributor's original creation(s) and/or
+ Contributor has sufficient rights to grant the rights conveyed by
+ this License.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source
+ Code. If it is not possible to put such notice in a particular Source
+ Code file due to its structure, then You must include such notice in a
+ location (such as a relevant directory) where a user would be likely
+ to look for such a notice. If You created one or more Modification(s)
+ You may add your name as a Contributor to the notice described in
+ Exhibit A. You must also duplicate this License in any documentation
+ for the Source Code where You describe recipients' rights or ownership
+ rights relating to Covered Code. You may choose to offer, and to
+ charge a fee for, warranty, support, indemnity or liability
+ obligations to one or more recipients of Covered Code. However, You
+ may do so only on Your own behalf, and not on behalf of the Initial
+ Developer or any Contributor. You must make it absolutely clear than
+ any such warranty, support, indemnity or liability obligation is
+ offered by You alone, and You hereby agree to indemnify the Initial
+ Developer and every Contributor for any liability incurred by the
+ Initial Developer or such Contributor as a result of warranty,
+ support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the
+ requirements of Section 3.1-3.5 have been met for that Covered Code,
+ and if You include a notice stating that the Source Code version of
+ the Covered Code is available under the terms of this License,
+ including a description of how and where You have fulfilled the
+ obligations of Section 3.2. The notice must be conspicuously included
+ in any notice in an Executable version, related documentation or
+ collateral in which You describe recipients' rights relating to the
+ Covered Code. You may distribute the Executable version of Covered
+ Code or ownership rights under a license of Your choice, which may
+ contain terms different from this License, provided that You are in
+ compliance with the terms of this License and that the license for the
+ Executable version does not attempt to limit or alter the recipient's
+ rights in the Source Code version from the rights set forth in this
+ License. If You distribute the Executable version under a different
+ license You must make it absolutely clear that any terms which differ
+ from this License are offered by You alone, not by the Initial
+ Developer or any Contributor. You hereby agree to indemnify the
+ Initial Developer and every Contributor for any liability incurred by
+ the Initial Developer or such Contributor as a result of any such
+ terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code
+ not governed by the terms of this License and distribute the Larger
+ Work as a single product. In such a case, You must make sure the
+ requirements of this License are fulfilled for the Covered Code.
+ 4. Inability to Comply Due to Statute or Regulation.
+
+ If it is impossible for You to comply with any of the terms of this
+ License with respect to some or all of the Covered Code due to
+ statute, judicial order, or regulation then You must: (a) comply with
+ the terms of this License to the maximum extent possible; and (b)
+ describe the limitations and the code they affect. Such description
+ must be included in the LEGAL file described in Section 3.4 and must
+ be included with all distributions of the Source Code. Except to the
+ extent prohibited by statute or regulation, such description must be
+ sufficiently detailed for a recipient of ordinary skill to be able to
+ understand it.
+
+ 5. Application of this License.
+
+ This License applies to code to which the Initial Developer has
+ attached the notice in Exhibit A and to related Covered Code.
+
+ 6. Versions of the License.
+
+ 6.1. New Versions.
+ Netscape Communications Corporation ("Netscape") may publish revised
+ and/or new versions of the License from time to time. Each version
+ will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the
+ License, You may always continue to use it under the terms of that
+ version. You may also choose to use such Covered Code under the terms
+ of any subsequent version of the License published by Netscape. No one
+ other than Netscape has the right to modify the terms applicable to
+ Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If You create or use a modified version of this License (which you may
+ only do in order to apply it to code which is not already Covered Code
+ governed by this License), You must (a) rename Your license so that
+ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+ "MPL", "NPL" or any confusingly similar phrase do not appear in your
+ license (except to note that your license differs from this License)
+ and (b) otherwise make it clear that Your version of the license
+ contains terms which differ from the Mozilla Public License and
+ Netscape Public License. (Filling in the name of the Initial
+ Developer, Original Code or Contributor in the notice described in
+ Exhibit A shall not of themselves be deemed to be modifications of
+ this License.)
+
+ 7. DISCLAIMER OF WARRANTY.
+
+ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+ 8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to cure
+ such breach within 30 days of becoming aware of the breach. All
+ sublicenses to the Covered Code which are properly granted shall
+ survive any termination of this License. Provisions which, by their
+ nature, must remain in effect beyond the termination of this License
+ shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement
+ claim (excluding declatory judgment actions) against Initial Developer
+ or a Contributor (the Initial Developer or Contributor against whom
+ You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly
+ infringes any patent, then any and all rights granted by such
+ Participant to You under Sections 2.1 and/or 2.2 of this License
+ shall, upon 60 days notice from Participant terminate prospectively,
+ unless if within 60 days after receipt of notice You either: (i)
+ agree in writing to pay Participant a mutually agreeable reasonable
+ royalty for Your past and future use of Modifications made by such
+ Participant, or (ii) withdraw Your litigation claim with respect to
+ the Contributor Version against such Participant. If within 60 days
+ of notice, a reasonable royalty and payment arrangement are not
+ mutually agreed upon in writing by the parties or the litigation claim
+ is not withdrawn, the rights granted by Participant to You under
+ Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+ the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's
+ Contributor Version, directly or indirectly infringes any patent, then
+ any rights granted to You by such Participant under Sections 2.1(b)
+ and 2.2(b) are revoked effective as of the date You first made, used,
+ sold, distributed, or had made, Modifications made by that
+ Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant
+ alleging that such Participant's Contributor Version directly or
+ indirectly infringes any patent where such claim is resolved (such as
+ by license or settlement) prior to the initiation of patent
+ infringement litigation, then the reasonable value of the licenses
+ granted by such Participant under Sections 2.1 or 2.2 shall be taken
+ into account in determining the amount or value of any payment or
+ license.
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above,
+ all end user license agreements (excluding distributors and resellers)
+ which have been validly granted by You or any distributor hereunder
+ prior to termination shall survive termination.
+
+ 9. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+ 10. U.S. GOVERNMENT END USERS.
+
+ The Covered Code is a "commercial item," as that term is defined in
+ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+ software" and "commercial computer software documentation," as such
+ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+ all U.S. Government End Users acquire Covered Code with only those
+ rights set forth herein.
+
+ 11. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. This License shall be governed by
+ California law provisions (except to the extent applicable law, if
+ any, provides otherwise), excluding its conflict-of-law provisions.
+ With respect to disputes in which at least one party is a citizen of,
+ or an entity chartered or registered to do business in the United
+ States of America, any litigation relating to this License shall be
+ subject to the jurisdiction of the Federal Courts of the Northern
+ District of California, with venue lying in Santa Clara County,
+ California, with the losing party responsible for costs, including
+ without limitation, court costs and reasonable attorneys' fees and
+ expenses. The application of the United Nations Convention on
+ Contracts for the International Sale of Goods is expressly excluded.
+ Any law or regulation which provides that the language of a contract
+ shall be construed against the drafter shall not apply to this
+ License.
+ 12. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or indirectly,
+ out of its utilization of rights under this License and You agree to
+ work with Initial Developer and Contributors to distribute such
+ responsibility on an equitable basis. Nothing herein is intended or
+ shall be deemed to constitute any admission of liability.
+
+ 13. MULTIPLE-LICENSED CODE.
+
+ Initial Developer may designate portions of the Covered Code as
+ "Multiple-Licensed". "Multiple-Licensed" means that the Initial
+ Developer permits you to utilize portions of the Covered Code under
+ Your choice of the NPL or the alternative licenses, if any, specified
+ by the Initial Developer in the file described in Exhibit A.
+
+ EXHIBIT A -Mozilla Public License.
+
+ ``The contents of this file are subject to the Mozilla Public License
+ Version 1.1 (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ License for the specific language governing rights and limitations
+ under the License.
+
+ The Original Code is ______________________________________.
+
+ The Initial Developer of the Original Code is ________________________.
+ Portions created by ______________________ are Copyright (C) ______
+ _______________________. All Rights Reserved.
+
+ Contributor(s): ______________________________________.
+
+ Alternatively, the contents of this file may be used under the terms
+ of the _____ license (the "[___] License"), in which case the
+ provisions of [______] License are applicable instead of those
+ above. If you wish to allow use of your version of this file only
+ under the terms of the [____] License and not to allow others to use
+ your version of this file under the MPL, indicate your decision by
+ deleting the provisions above and replace them with the notice and
+ other provisions required by the [___] License. If you do not delete
+ the provisions above, a recipient may use your version of this file
+ under either the MPL or the [___] License."
+
+ [NOTE: The text of this Exhibit A may differ slightly from the text of
+ the notices in the Source Code files of the Original Code. You should
+ use the text of this Exhibit A rather than the text found in the
+ Original Code Source Code for Your Modifications.]
+
diff --git a/debian/libmono-rabbitmq2.0-cil.install b/debian/libmono-rabbitmq2.0-cil.install
new file mode 100644
index 0000000000..505f433845
--- /dev/null
+++ b/debian/libmono-rabbitmq2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/RabbitMQ.Client/2.0.0.0__*/
+/usr/lib/mono/2.0/RabbitMQ.Client.dll
diff --git a/debian/libmono-rabbitmq4.0-cil.copyright b/debian/libmono-rabbitmq4.0-cil.copyright
new file mode 100644
index 0000000000..a33fc48592
--- /dev/null
+++ b/debian/libmono-rabbitmq4.0-cil.copyright
@@ -0,0 +1,477 @@
+Format-Specification: http://dep.debian.net/deps/dep5/
+Upstream-Name: Mono
+Upstream-Source: http://ftp.novell.com/pub/mono/sources/mono
+
+Files: mcs/class/RabbitMQ.Client/*
+Copyright: © 2003 Ximian, Inc. http://www.ximian.com
+ © 2007-2009 Cohesive Financial Technologies
+ © 2007-2009 LShift Ltd., Cohesive Financial
+ © 2007-2009 Rabbit Technologies Ltd
+License: Apache-2.0 | MPL-1.1
+
+License: Apache-2.0
+ On Debian systems the full text of the Apache Software License 2.0 can be
+ found in the `/usr/share/common-licenses/Apache-2.0' file.
+
+License: MPL-1.1
+ 1. Definitions.
+
+ 1.0.1. "Commercial Use" means distribution or otherwise making the
+ Covered Code available to a third party.
+
+ 1.1. "Contributor" means each entity that creates or contributes to
+ the creation of Modifications.
+
+ 1.2. "Contributor Version" means the combination of the Original
+ Code, prior Modifications used by a Contributor, and the Modifications
+ made by that particular Contributor.
+
+ 1.3. "Covered Code" means the Original Code or Modifications or the
+ combination of the Original Code and Modifications, in each case
+ including portions thereof.
+
+ 1.4. "Electronic Distribution Mechanism" means a mechanism generally
+ accepted in the software development community for the electronic
+ transfer of data.
+
+ 1.5. "Executable" means Covered Code in any form other than Source
+ Code.
+
+ 1.6. "Initial Developer" means the individual or entity identified
+ as the Initial Developer in the Source Code notice required by Exhibit
+ A.
+
+ 1.7. "Larger Work" means a work which combines Covered Code or
+ portions thereof with code not governed by the terms of this License.
+
+ 1.8. "License" means this document.
+
+ 1.8.1. "Licensable" means having the right to grant, to the maximum
+ extent possible, whether at the time of the initial grant or
+ subsequently acquired, any and all of the rights conveyed herein.
+
+ 1.9. "Modifications" means any addition to or deletion from the
+ substance or structure of either the Original Code or any previous
+ Modifications. When Covered Code is released as a series of files, a
+ Modification is:
+ A. Any addition to or deletion from the contents of a file
+ containing Original Code or previous Modifications.
+
+ B. Any new file that contains any part of the Original Code or
+ previous Modifications.
+
+ 1.10. "Original Code" means Source Code of computer software code
+ which is described in the Source Code notice required by Exhibit A as
+ Original Code, and which, at the time of its release under this
+ License is not already Covered Code governed by this License.
+
+ 1.10.1. "Patent Claims" means any patent claim(s), now owned or
+ hereafter acquired, including without limitation, method, process,
+ and apparatus claims, in any patent Licensable by grantor.
+
+ 1.11. "Source Code" means the preferred form of the Covered Code for
+ making modifications to it, including all modules it contains, plus
+ any associated interface definition files, scripts used to control
+ compilation and installation of an Executable, or source code
+ differential comparisons against either the Original Code or another
+ well known, available Covered Code of the Contributor's choice. The
+ Source Code can be in a compressed or archival form, provided the
+ appropriate decompression or de-archiving software is widely available
+ for no charge.
+
+ 1.12. "You" (or "Your") means an individual or a legal entity
+ exercising rights under, and complying with all of the terms of, this
+ License or a future version of this License issued under Section 6.1.
+ For legal entities, "You" includes any entity which controls, is
+ controlled by, or is under common control with You. For purposes of
+ this definition, "control" means (a) the power, direct or indirect,
+ to cause the direction or management of such entity, whether by
+ contract or otherwise, or (b) ownership of more than fifty percent
+ (50%) of the outstanding shares or beneficial ownership of such
+ entity.
+
+ 2. Source Code License.
+
+ 2.1. The Initial Developer Grant.
+ The Initial Developer hereby grants You a world-wide, royalty-free,
+ non-exclusive license, subject to third party intellectual property
+ claims:
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Initial Developer to use, reproduce,
+ modify, display, perform, sublicense and distribute the Original
+ Code (or portions thereof) with or without Modifications, and/or
+ as part of a Larger Work; and
+
+ (b) under Patents Claims infringed by the making, using or
+ selling of Original Code, to make, have made, use, practice,
+ sell, and offer for sale, and/or otherwise dispose of the
+ Original Code (or portions thereof).
+ (c) the licenses granted in this Section 2.1(a) and (b) are
+ effective on the date Initial Developer first distributes
+ Original Code under the terms of this License.
+
+ (d) Notwithstanding Section 2.1(b) above, no patent license is
+ granted: 1) for code that You delete from the Original Code; 2)
+ separate from the Original Code; or 3) for infringements caused
+ by: i) the modification of the Original Code or ii) the
+ combination of the Original Code with other software or devices.
+
+ 2.2. Contributor Grant.
+ Subject to third party intellectual property claims, each Contributor
+ hereby grants You a world-wide, royalty-free, non-exclusive license
+
+ (a) under intellectual property rights (other than patent or
+ trademark) Licensable by Contributor, to use, reproduce, modify,
+ display, perform, sublicense and distribute the Modifications
+ created by such Contributor (or portions thereof) either on an
+ unmodified basis, with other Modifications, as Covered Code
+ and/or as part of a Larger Work; and
+
+ (b) under Patent Claims infringed by the making, using, or
+ selling of Modifications made by that Contributor either alone
+ and/or in combination with its Contributor Version (or portions
+ of such combination), to make, use, sell, offer for sale, have
+ made, and/or otherwise dispose of: 1) Modifications made by that
+ Contributor (or portions thereof); and 2) the combination of
+ Modifications made by that Contributor with its Contributor
+ Version (or portions of such combination).
+
+ (c) the licenses granted in Sections 2.2(a) and 2.2(b) are
+ effective on the date Contributor first makes Commercial Use of
+ the Covered Code.
+
+ (d) Notwithstanding Section 2.2(b) above, no patent license is
+ granted: 1) for any code that Contributor has deleted from the
+ Contributor Version; 2) separate from the Contributor Version;
+ 3) for infringements caused by: i) third party modifications of
+ Contributor Version or ii) the combination of Modifications made
+ by that Contributor with other software (except as part of the
+ Contributor Version) or other devices; or 4) under Patent Claims
+ infringed by Covered Code in the absence of Modifications made by
+ that Contributor.
+
+ 3. Distribution Obligations.
+
+ 3.1. Application of License.
+ The Modifications which You create or to which You contribute are
+ governed by the terms of this License, including without limitation
+ Section 2.2. The Source Code version of Covered Code may be
+ distributed only under the terms of this License or a future version
+ of this License released under Section 6.1, and You must include a
+ copy of this License with every copy of the Source Code You
+ distribute. You may not offer or impose any terms on any Source Code
+ version that alters or restricts the applicable version of this
+ License or the recipients' rights hereunder. However, You may include
+ an additional document offering the additional rights described in
+ Section 3.5.
+
+ 3.2. Availability of Source Code.
+ Any Modification which You create or to which You contribute must be
+ made available in Source Code form under the terms of this License
+ either on the same media as an Executable version or via an accepted
+ Electronic Distribution Mechanism to anyone to whom you made an
+ Executable version available; and if made available via Electronic
+ Distribution Mechanism, must remain available for at least twelve (12)
+ months after the date it initially became available, or at least six
+ (6) months after a subsequent version of that particular Modification
+ has been made available to such recipients. You are responsible for
+ ensuring that the Source Code version remains available even if the
+ Electronic Distribution Mechanism is maintained by a third party.
+
+ 3.3. Description of Modifications.
+ You must cause all Covered Code to which You contribute to contain a
+ file documenting the changes You made to create that Covered Code and
+ the date of any change. You must include a prominent statement that
+ the Modification is derived, directly or indirectly, from Original
+ Code provided by the Initial Developer and including the name of the
+ Initial Developer in (a) the Source Code, and (b) in any notice in an
+ Executable version or related documentation in which You describe the
+ origin or ownership of the Covered Code.
+
+ 3.4. Intellectual Property Matters
+ (a) Third Party Claims.
+ If Contributor has knowledge that a license under a third party's
+ intellectual property rights is required to exercise the rights
+ granted by such Contributor under Sections 2.1 or 2.2,
+ Contributor must include a text file with the Source Code
+ distribution titled "LEGAL" which describes the claim and the
+ party making the claim in sufficient detail that a recipient will
+ know whom to contact. If Contributor obtains such knowledge after
+ the Modification is made available as described in Section 3.2,
+ Contributor shall promptly modify the LEGAL file in all copies
+ Contributor makes available thereafter and shall take other steps
+ (such as notifying appropriate mailing lists or newsgroups)
+ reasonably calculated to inform those who received the Covered
+ Code that new knowledge has been obtained.
+
+ (b) Contributor APIs.
+ If Contributor's Modifications include an application programming
+ interface and Contributor has knowledge of patent licenses which
+ are reasonably necessary to implement that API, Contributor must
+ also include this information in the LEGAL file.
+
+ (c) Representations.
+ Contributor represents that, except as disclosed pursuant to
+ Section 3.4(a) above, Contributor believes that Contributor's
+ Modifications are Contributor's original creation(s) and/or
+ Contributor has sufficient rights to grant the rights conveyed by
+ this License.
+
+ 3.5. Required Notices.
+ You must duplicate the notice in Exhibit A in each file of the Source
+ Code. If it is not possible to put such notice in a particular Source
+ Code file due to its structure, then You must include such notice in a
+ location (such as a relevant directory) where a user would be likely
+ to look for such a notice. If You created one or more Modification(s)
+ You may add your name as a Contributor to the notice described in
+ Exhibit A. You must also duplicate this License in any documentation
+ for the Source Code where You describe recipients' rights or ownership
+ rights relating to Covered Code. You may choose to offer, and to
+ charge a fee for, warranty, support, indemnity or liability
+ obligations to one or more recipients of Covered Code. However, You
+ may do so only on Your own behalf, and not on behalf of the Initial
+ Developer or any Contributor. You must make it absolutely clear than
+ any such warranty, support, indemnity or liability obligation is
+ offered by You alone, and You hereby agree to indemnify the Initial
+ Developer and every Contributor for any liability incurred by the
+ Initial Developer or such Contributor as a result of warranty,
+ support, indemnity or liability terms You offer.
+
+ 3.6. Distribution of Executable Versions.
+ You may distribute Covered Code in Executable form only if the
+ requirements of Section 3.1-3.5 have been met for that Covered Code,
+ and if You include a notice stating that the Source Code version of
+ the Covered Code is available under the terms of this License,
+ including a description of how and where You have fulfilled the
+ obligations of Section 3.2. The notice must be conspicuously included
+ in any notice in an Executable version, related documentation or
+ collateral in which You describe recipients' rights relating to the
+ Covered Code. You may distribute the Executable version of Covered
+ Code or ownership rights under a license of Your choice, which may
+ contain terms different from this License, provided that You are in
+ compliance with the terms of this License and that the license for the
+ Executable version does not attempt to limit or alter the recipient's
+ rights in the Source Code version from the rights set forth in this
+ License. If You distribute the Executable version under a different
+ license You must make it absolutely clear that any terms which differ
+ from this License are offered by You alone, not by the Initial
+ Developer or any Contributor. You hereby agree to indemnify the
+ Initial Developer and every Contributor for any liability incurred by
+ the Initial Developer or such Contributor as a result of any such
+ terms You offer.
+
+ 3.7. Larger Works.
+ You may create a Larger Work by combining Covered Code with other code
+ not governed by the terms of this License and distribute the Larger
+ Work as a single product. In such a case, You must make sure the
+ requirements of this License are fulfilled for the Covered Code.
+ 4. Inability to Comply Due to Statute or Regulation.
+
+ If it is impossible for You to comply with any of the terms of this
+ License with respect to some or all of the Covered Code due to
+ statute, judicial order, or regulation then You must: (a) comply with
+ the terms of this License to the maximum extent possible; and (b)
+ describe the limitations and the code they affect. Such description
+ must be included in the LEGAL file described in Section 3.4 and must
+ be included with all distributions of the Source Code. Except to the
+ extent prohibited by statute or regulation, such description must be
+ sufficiently detailed for a recipient of ordinary skill to be able to
+ understand it.
+
+ 5. Application of this License.
+
+ This License applies to code to which the Initial Developer has
+ attached the notice in Exhibit A and to related Covered Code.
+
+ 6. Versions of the License.
+
+ 6.1. New Versions.
+ Netscape Communications Corporation ("Netscape") may publish revised
+ and/or new versions of the License from time to time. Each version
+ will be given a distinguishing version number.
+
+ 6.2. Effect of New Versions.
+ Once Covered Code has been published under a particular version of the
+ License, You may always continue to use it under the terms of that
+ version. You may also choose to use such Covered Code under the terms
+ of any subsequent version of the License published by Netscape. No one
+ other than Netscape has the right to modify the terms applicable to
+ Covered Code created under this License.
+
+ 6.3. Derivative Works.
+ If You create or use a modified version of this License (which you may
+ only do in order to apply it to code which is not already Covered Code
+ governed by this License), You must (a) rename Your license so that
+ the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
+ "MPL", "NPL" or any confusingly similar phrase do not appear in your
+ license (except to note that your license differs from this License)
+ and (b) otherwise make it clear that Your version of the license
+ contains terms which differ from the Mozilla Public License and
+ Netscape Public License. (Filling in the name of the Initial
+ Developer, Original Code or Contributor in the notice described in
+ Exhibit A shall not of themselves be deemed to be modifications of
+ this License.)
+
+ 7. DISCLAIMER OF WARRANTY.
+
+ COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
+ DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
+ THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
+ IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
+ YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
+ COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
+ ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
+
+ 8. TERMINATION.
+
+ 8.1. This License and the rights granted hereunder will terminate
+ automatically if You fail to comply with terms herein and fail to cure
+ such breach within 30 days of becoming aware of the breach. All
+ sublicenses to the Covered Code which are properly granted shall
+ survive any termination of this License. Provisions which, by their
+ nature, must remain in effect beyond the termination of this License
+ shall survive.
+
+ 8.2. If You initiate litigation by asserting a patent infringement
+ claim (excluding declatory judgment actions) against Initial Developer
+ or a Contributor (the Initial Developer or Contributor against whom
+ You file such action is referred to as "Participant") alleging that:
+
+ (a) such Participant's Contributor Version directly or indirectly
+ infringes any patent, then any and all rights granted by such
+ Participant to You under Sections 2.1 and/or 2.2 of this License
+ shall, upon 60 days notice from Participant terminate prospectively,
+ unless if within 60 days after receipt of notice You either: (i)
+ agree in writing to pay Participant a mutually agreeable reasonable
+ royalty for Your past and future use of Modifications made by such
+ Participant, or (ii) withdraw Your litigation claim with respect to
+ the Contributor Version against such Participant. If within 60 days
+ of notice, a reasonable royalty and payment arrangement are not
+ mutually agreed upon in writing by the parties or the litigation claim
+ is not withdrawn, the rights granted by Participant to You under
+ Sections 2.1 and/or 2.2 automatically terminate at the expiration of
+ the 60 day notice period specified above.
+
+ (b) any software, hardware, or device, other than such Participant's
+ Contributor Version, directly or indirectly infringes any patent, then
+ any rights granted to You by such Participant under Sections 2.1(b)
+ and 2.2(b) are revoked effective as of the date You first made, used,
+ sold, distributed, or had made, Modifications made by that
+ Participant.
+
+ 8.3. If You assert a patent infringement claim against Participant
+ alleging that such Participant's Contributor Version directly or
+ indirectly infringes any patent where such claim is resolved (such as
+ by license or settlement) prior to the initiation of patent
+ infringement litigation, then the reasonable value of the licenses
+ granted by such Participant under Sections 2.1 or 2.2 shall be taken
+ into account in determining the amount or value of any payment or
+ license.
+ 8.4. In the event of termination under Sections 8.1 or 8.2 above,
+ all end user license agreements (excluding distributors and resellers)
+ which have been validly granted by You or any distributor hereunder
+ prior to termination shall survive termination.
+
+ 9. LIMITATION OF LIABILITY.
+
+ UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
+ (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
+ DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
+ OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
+ ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
+ CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
+ WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
+ COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
+ INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
+ LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
+ RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
+ PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
+ EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
+ THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
+
+ 10. U.S. GOVERNMENT END USERS.
+
+ The Covered Code is a "commercial item," as that term is defined in
+ 48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
+ software" and "commercial computer software documentation," as such
+ terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
+ C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
+ all U.S. Government End Users acquire Covered Code with only those
+ rights set forth herein.
+
+ 11. MISCELLANEOUS.
+
+ This License represents the complete agreement concerning subject
+ matter hereof. If any provision of this License is held to be
+ unenforceable, such provision shall be reformed only to the extent
+ necessary to make it enforceable. This License shall be governed by
+ California law provisions (except to the extent applicable law, if
+ any, provides otherwise), excluding its conflict-of-law provisions.
+ With respect to disputes in which at least one party is a citizen of,
+ or an entity chartered or registered to do business in the United
+ States of America, any litigation relating to this License shall be
+ subject to the jurisdiction of the Federal Courts of the Northern
+ District of California, with venue lying in Santa Clara County,
+ California, with the losing party responsible for costs, including
+ without limitation, court costs and reasonable attorneys' fees and
+ expenses. The application of the United Nations Convention on
+ Contracts for the International Sale of Goods is expressly excluded.
+ Any law or regulation which provides that the language of a contract
+ shall be construed against the drafter shall not apply to this
+ License.
+ 12. RESPONSIBILITY FOR CLAIMS.
+
+ As between Initial Developer and the Contributors, each party is
+ responsible for claims and damages arising, directly or indirectly,
+ out of its utilization of rights under this License and You agree to
+ work with Initial Developer and Contributors to distribute such
+ responsibility on an equitable basis. Nothing herein is intended or
+ shall be deemed to constitute any admission of liability.
+
+ 13. MULTIPLE-LICENSED CODE.
+
+ Initial Developer may designate portions of the Covered Code as
+ "Multiple-Licensed". "Multiple-Licensed" means that the Initial
+ Developer permits you to utilize portions of the Covered Code under
+ Your choice of the NPL or the alternative licenses, if any, specified
+ by the Initial Developer in the file described in Exhibit A.
+
+ EXHIBIT A -Mozilla Public License.
+
+ ``The contents of this file are subject to the Mozilla Public License
+ Version 1.1 (the "License"); you may not use this file except in
+ compliance with the License. You may obtain a copy of the License at
+ http://www.mozilla.org/MPL/
+
+ Software distributed under the License is distributed on an "AS IS"
+ basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ License for the specific language governing rights and limitations
+ under the License.
+
+ The Original Code is ______________________________________.
+
+ The Initial Developer of the Original Code is ________________________.
+ Portions created by ______________________ are Copyright (C) ______
+ _______________________. All Rights Reserved.
+
+ Contributor(s): ______________________________________.
+
+ Alternatively, the contents of this file may be used under the terms
+ of the _____ license (the "[___] License"), in which case the
+ provisions of [______] License are applicable instead of those
+ above. If you wish to allow use of your version of this file only
+ under the terms of the [____] License and not to allow others to use
+ your version of this file under the MPL, indicate your decision by
+ deleting the provisions above and replace them with the notice and
+ other provisions required by the [___] License. If you do not delete
+ the provisions above, a recipient may use your version of this file
+ under either the MPL or the [___] License."
+
+ [NOTE: The text of this Exhibit A may differ slightly from the text of
+ the notices in the Source Code files of the Original Code. You should
+ use the text of this Exhibit A rather than the text found in the
+ Original Code Source Code for Your Modifications.]
+
diff --git a/debian/libmono-rabbitmq4.0-cil.install b/debian/libmono-rabbitmq4.0-cil.install
new file mode 100644
index 0000000000..94e5f8feb1
--- /dev/null
+++ b/debian/libmono-rabbitmq4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/RabbitMQ.Client.dll*
+/usr/lib/mono/4.5/RabbitMQ.Client.dll*
+/usr/lib/mono/gac/RabbitMQ.Client/4.0.0.0__*/
diff --git a/debian/libmono-relaxng2.0-cil.install b/debian/libmono-relaxng2.0-cil.install
new file mode 100644
index 0000000000..2a64886203
--- /dev/null
+++ b/debian/libmono-relaxng2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Commons.Xml.Relaxng/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Commons.Xml.Relaxng.dll
diff --git a/debian/libmono-relaxng4.0-cil.install b/debian/libmono-relaxng4.0-cil.install
new file mode 100644
index 0000000000..2d44157793
--- /dev/null
+++ b/debian/libmono-relaxng4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Commons.Xml.Relaxng.dll*
+/usr/lib/mono/4.5/Commons.Xml.Relaxng.dll*
+/usr/lib/mono/gac/Commons.Xml.Relaxng/4.0.0.0__*/
diff --git a/debian/libmono-security2.0-cil.install b/debian/libmono-security2.0-cil.install
new file mode 100644
index 0000000000..877fb5aa21
--- /dev/null
+++ b/debian/libmono-security2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Mono.Security/2.0.*/
+debian/tmp/usr/lib/mono/2.0/Mono.Security.dll
diff --git a/debian/libmono-security4.0-cil.install b/debian/libmono-security4.0-cil.install
new file mode 100644
index 0000000000..cc57d436bc
--- /dev/null
+++ b/debian/libmono-security4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Security.dll*
+/usr/lib/mono/4.5/Mono.Security.dll*
+/usr/lib/mono/gac/Mono.Security/4.0.0.0__*/
diff --git a/debian/libmono-sharpzip2.6-cil.install b/debian/libmono-sharpzip2.6-cil.install
new file mode 100644
index 0000000000..dc3bf6e9f5
--- /dev/null
+++ b/debian/libmono-sharpzip2.6-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.6.*/
+debian/tmp/usr/lib/mono/compat-2.0/ICSharpCode.SharpZipLib.dll
diff --git a/debian/libmono-sharpzip2.84-cil.install b/debian/libmono-sharpzip2.84-cil.install
new file mode 100644
index 0000000000..438210f109
--- /dev/null
+++ b/debian/libmono-sharpzip2.84-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/ICSharpCode.SharpZipLib/2.84.*/
+debian/tmp/usr/lib/mono/2.0/ICSharpCode.SharpZipLib.dll
diff --git a/debian/libmono-sharpzip4.84-cil.install b/debian/libmono-sharpzip4.84-cil.install
new file mode 100644
index 0000000000..06cd8f0327
--- /dev/null
+++ b/debian/libmono-sharpzip4.84-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/ICSharpCode.SharpZipLib.dll*
+/usr/lib/mono/4.5/ICSharpCode.SharpZipLib.dll*
+/usr/lib/mono/gac/ICSharpCode.SharpZipLib/4.84.0.0__*/
diff --git a/debian/libmono-simd2.0-cil.install b/debian/libmono-simd2.0-cil.install
new file mode 100644
index 0000000000..38bda8c0ce
--- /dev/null
+++ b/debian/libmono-simd2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/Mono.Simd/2.0.0.0__*/
+/usr/lib/mono/2.0/Mono.Simd.dll
diff --git a/debian/libmono-simd4.0-cil.install b/debian/libmono-simd4.0-cil.install
new file mode 100644
index 0000000000..a7b66ed4ea
--- /dev/null
+++ b/debian/libmono-simd4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Simd.dll*
+/usr/lib/mono/4.5/Mono.Simd.dll*
+/usr/lib/mono/gac/Mono.Simd/4.0.0.0__*/
diff --git a/debian/libmono-sqlite2.0-cil.install b/debian/libmono-sqlite2.0-cil.install
new file mode 100644
index 0000000000..30a015d471
--- /dev/null
+++ b/debian/libmono-sqlite2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/Mono.Data.Sqlite/2.0.0.0__*/
+debian/tmp/usr/lib/mono/2.0/Mono.Data.Sqlite.dll
diff --git a/debian/libmono-sqlite4.0-cil.install b/debian/libmono-sqlite4.0-cil.install
new file mode 100644
index 0000000000..c82ea2f1af
--- /dev/null
+++ b/debian/libmono-sqlite4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Data.Sqlite.dll*
+/usr/lib/mono/4.5/Mono.Data.Sqlite.dll*
+/usr/lib/mono/gac/Mono.Data.Sqlite/4.0.0.0__*/
diff --git a/debian/libmono-system-componentmodel-composition4.0-cil.install b/debian/libmono-system-componentmodel-composition4.0-cil.install
new file mode 100644
index 0000000000..b224460b45
--- /dev/null
+++ b/debian/libmono-system-componentmodel-composition4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ComponentModel.Composition.dll*
+/usr/lib/mono/4.5/System.ComponentModel.Composition.dll*
+/usr/lib/mono/gac/System.ComponentModel.Composition/4.0.0.0__*/
diff --git a/debian/libmono-system-componentmodel-dataannotations4.0-cil.install b/debian/libmono-system-componentmodel-dataannotations4.0-cil.install
new file mode 100644
index 0000000000..596e2bb734
--- /dev/null
+++ b/debian/libmono-system-componentmodel-dataannotations4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ComponentModel.DataAnnotations.dll*
+/usr/lib/mono/4.5/System.ComponentModel.DataAnnotations.dll*
+/usr/lib/mono/gac/System.ComponentModel.DataAnnotations/4.0.0.0__*/
diff --git a/debian/libmono-system-configuration-install4.0-cil.install b/debian/libmono-system-configuration-install4.0-cil.install
new file mode 100644
index 0000000000..a6975fd3f3
--- /dev/null
+++ b/debian/libmono-system-configuration-install4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Configuration.Install.dll*
+/usr/lib/mono/4.5/System.Configuration.Install.dll*
+/usr/lib/mono/gac/System.Configuration.Install/4.0.0.0__*/
diff --git a/debian/libmono-system-configuration4.0-cil.install b/debian/libmono-system-configuration4.0-cil.install
new file mode 100644
index 0000000000..d94b291c6b
--- /dev/null
+++ b/debian/libmono-system-configuration4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Configuration.dll*
+/usr/lib/mono/4.5/System.Configuration.dll*
+/usr/lib/mono/gac/System.Configuration/4.0.0.0__*/
diff --git a/debian/libmono-system-core4.0-cil.install b/debian/libmono-system-core4.0-cil.install
new file mode 100644
index 0000000000..01878a4d60
--- /dev/null
+++ b/debian/libmono-system-core4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Core.dll*
+/usr/lib/mono/4.5/System.Core.dll*
+/usr/lib/mono/gac/System.Core/4.0.0.0__*/
diff --git a/debian/libmono-system-data-datasetextensions4.0-cil.install b/debian/libmono-system-data-datasetextensions4.0-cil.install
new file mode 100644
index 0000000000..cb9ef47be7
--- /dev/null
+++ b/debian/libmono-system-data-datasetextensions4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.DataSetExtensions.dll*
+/usr/lib/mono/4.5/System.Data.DataSetExtensions.dll*
+/usr/lib/mono/gac/System.Data.DataSetExtensions/4.0.0.0__*/
diff --git a/debian/libmono-system-data-linq2.0-cil.install b/debian/libmono-system-data-linq2.0-cil.install
new file mode 100644
index 0000000000..61a2715d60
--- /dev/null
+++ b/debian/libmono-system-data-linq2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/System.Data.Linq/3.5.0.0__*/
+debian/tmp/usr/lib/mono/2.0/System.Data.Linq.dll
diff --git a/debian/libmono-system-data-linq4.0-cil.install b/debian/libmono-system-data-linq4.0-cil.install
new file mode 100644
index 0000000000..acea75ce71
--- /dev/null
+++ b/debian/libmono-system-data-linq4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.Linq.dll*
+/usr/lib/mono/4.5/System.Data.Linq.dll*
+/usr/lib/mono/gac/System.Data.Linq/4.0.0.0__*/
diff --git a/debian/libmono-system-data-services-client4.0-cil.install b/debian/libmono-system-data-services-client4.0-cil.install
new file mode 100644
index 0000000000..fed0a746a2
--- /dev/null
+++ b/debian/libmono-system-data-services-client4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.Services.Client.dll*
+/usr/lib/mono/4.5/System.Data.Services.Client.dll*
+/usr/lib/mono/gac/System.Data.Services.Client/4.0.0.0__*/
diff --git a/debian/libmono-system-data-services2.0-cil.install b/debian/libmono-system-data-services2.0-cil.install
new file mode 100644
index 0000000000..4c9f28143d
--- /dev/null
+++ b/debian/libmono-system-data-services2.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/2.0/System.Data.Services.dll*
+/usr/lib/mono/2.0/System.Data.Services.Client.dll*
+/usr/lib/mono/gac/System.Data.Services.Client/3.5.0.0__*/
diff --git a/debian/libmono-system-data-services4.0-cil.install b/debian/libmono-system-data-services4.0-cil.install
new file mode 100644
index 0000000000..a0128ecdcd
--- /dev/null
+++ b/debian/libmono-system-data-services4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.Services.dll*
+/usr/lib/mono/4.5/System.Data.Services.dll*
+/usr/lib/mono/gac/System.Data.Services/4.0.0.0__*/
diff --git a/debian/libmono-system-data2.0-cil.clideps-override b/debian/libmono-system-data2.0-cil.clideps-override
new file mode 100644
index 0000000000..49081b839f
--- /dev/null
+++ b/debian/libmono-system-data2.0-cil.clideps-override
@@ -0,0 +1,2 @@
+suggests libgda2-3
+suggests libglib2.0-0
diff --git a/debian/libmono-system-data2.0-cil.install b/debian/libmono-system-data2.0-cil.install
new file mode 100644
index 0000000000..6fefa71609
--- /dev/null
+++ b/debian/libmono-system-data2.0-cil.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/mono/gac/System.Data/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Data.DataSetExtensions/3.5.0.0__*/
+debian/tmp/usr/lib/mono/2.0/System.Data.dll
+debian/tmp/usr/lib/mono/2.0/System.Data.DataSetExtensions.dll
diff --git a/debian/libmono-system-data4.0-cil.clideps-override b/debian/libmono-system-data4.0-cil.clideps-override
new file mode 100644
index 0000000000..49081b839f
--- /dev/null
+++ b/debian/libmono-system-data4.0-cil.clideps-override
@@ -0,0 +1,2 @@
+suggests libgda2-3
+suggests libglib2.0-0
diff --git a/debian/libmono-system-data4.0-cil.install b/debian/libmono-system-data4.0-cil.install
new file mode 100644
index 0000000000..eb9280a285
--- /dev/null
+++ b/debian/libmono-system-data4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Data.dll*
+/usr/lib/mono/4.5/System.Data.dll*
+/usr/lib/mono/gac/System.Data/4.0.0.0__*/
diff --git a/debian/libmono-system-design4.0-cil.install b/debian/libmono-system-design4.0-cil.install
new file mode 100644
index 0000000000..d33c836741
--- /dev/null
+++ b/debian/libmono-system-design4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Design.dll*
+/usr/lib/mono/4.5/System.Design.dll*
+/usr/lib/mono/gac/System.Design/4.0.0.0__*/
diff --git a/debian/libmono-system-drawing-design4.0-cil.install b/debian/libmono-system-drawing-design4.0-cil.install
new file mode 100644
index 0000000000..5bca98efa9
--- /dev/null
+++ b/debian/libmono-system-drawing-design4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Drawing.Design.dll*
+/usr/lib/mono/4.5/System.Drawing.Design.dll*
+/usr/lib/mono/gac/System.Drawing.Design/4.0.0.0__*/
diff --git a/debian/libmono-system-drawing4.0-cil.clideps-override b/debian/libmono-system-drawing4.0-cil.clideps-override
new file mode 100644
index 0000000000..8d7468ec96
--- /dev/null
+++ b/debian/libmono-system-drawing4.0-cil.clideps-override
@@ -0,0 +1 @@
+suggests libcups2
diff --git a/debian/libmono-system-drawing4.0-cil.install b/debian/libmono-system-drawing4.0-cil.install
new file mode 100644
index 0000000000..99cf5005a1
--- /dev/null
+++ b/debian/libmono-system-drawing4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Drawing.dll*
+/usr/lib/mono/4.5/System.Drawing.dll*
+/usr/lib/mono/gac/System.Drawing/4.0.0.0__*/
diff --git a/debian/libmono-system-dynamic4.0-cil.install b/debian/libmono-system-dynamic4.0-cil.install
new file mode 100644
index 0000000000..58adb55c46
--- /dev/null
+++ b/debian/libmono-system-dynamic4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Dynamic.dll*
+/usr/lib/mono/4.5/System.Dynamic.dll*
+/usr/lib/mono/gac/System.Dynamic/4.0.0.0__*/
diff --git a/debian/libmono-system-enterpriseservices4.0-cil.install b/debian/libmono-system-enterpriseservices4.0-cil.install
new file mode 100644
index 0000000000..16a02e6f74
--- /dev/null
+++ b/debian/libmono-system-enterpriseservices4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.EnterpriseServices.dll*
+/usr/lib/mono/4.5/System.EnterpriseServices.dll*
+/usr/lib/mono/gac/System.EnterpriseServices/4.0.0.0__*/
diff --git a/debian/libmono-system-identitymodel-selectors4.0-cil.install b/debian/libmono-system-identitymodel-selectors4.0-cil.install
new file mode 100644
index 0000000000..15b8d9951a
--- /dev/null
+++ b/debian/libmono-system-identitymodel-selectors4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.IdentityModel.Selectors.dll*
+/usr/lib/mono/4.5/System.IdentityModel.Selectors.dll*
+/usr/lib/mono/gac/System.IdentityModel.Selectors/4.0.0.0__*/
diff --git a/debian/libmono-system-identitymodel4.0-cil.install b/debian/libmono-system-identitymodel4.0-cil.install
new file mode 100644
index 0000000000..f3d9988fc7
--- /dev/null
+++ b/debian/libmono-system-identitymodel4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.IdentityModel.dll*
+/usr/lib/mono/4.5/System.IdentityModel.dll*
+/usr/lib/mono/gac/System.IdentityModel/4.0.0.0__*/
diff --git a/debian/libmono-system-io-compression-filesystem4.0-cil.install b/debian/libmono-system-io-compression-filesystem4.0-cil.install
new file mode 100644
index 0000000000..009cd54ad0
--- /dev/null
+++ b/debian/libmono-system-io-compression-filesystem4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.IO.Compression.FileSystem.dll*
+/usr/lib/mono/gac/System.IO.Compression.FileSystem/4.0.0.0__*/
+
diff --git a/debian/libmono-system-io-compression4.0-cil.install b/debian/libmono-system-io-compression4.0-cil.install
new file mode 100644
index 0000000000..2a6b05d643
--- /dev/null
+++ b/debian/libmono-system-io-compression4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.IO.Compression.dll*
+/usr/lib/mono/gac/System.IO.Compression/4.0.0.0__*/
+
diff --git a/debian/libmono-system-json-microsoft4.0-cil.install b/debian/libmono-system-json-microsoft4.0-cil.install
new file mode 100644
index 0000000000..e7e3d35b12
--- /dev/null
+++ b/debian/libmono-system-json-microsoft4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Json.Microsoft.dll*
+/usr/lib/mono/4.5/System.Json.Microsoft.dll*
+/usr/lib/mono/gac/System.Json.Microsoft/4.0.0.0__*/
diff --git a/debian/libmono-system-json2.0-cil.install b/debian/libmono-system-json2.0-cil.install
new file mode 100644
index 0000000000..22cb188f71
--- /dev/null
+++ b/debian/libmono-system-json2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/2.0/System.Json.dll*
+/usr/lib/mono/gac/System.Json/2.0.0.0__*/
diff --git a/debian/libmono-system-json4.0-cil.install b/debian/libmono-system-json4.0-cil.install
new file mode 100644
index 0000000000..7e7e8239fb
--- /dev/null
+++ b/debian/libmono-system-json4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Json.dll*
+/usr/lib/mono/4.5/System.Json.dll*
+/usr/lib/mono/gac/System.Json/4.0.0.0__*/
diff --git a/debian/libmono-system-ldap-protocols4.0-cil.install b/debian/libmono-system-ldap-protocols4.0-cil.install
new file mode 100644
index 0000000000..17e64533d9
--- /dev/null
+++ b/debian/libmono-system-ldap-protocols4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.DirectoryServices.Protocols.dll*
+/usr/lib/mono/4.5/System.DirectoryServices.Protocols.dll*
+/usr/lib/mono/gac/System.DirectoryServices.Protocols/4.0.0.0__*/
diff --git a/debian/libmono-system-ldap2.0-cil.install b/debian/libmono-system-ldap2.0-cil.install
new file mode 100644
index 0000000000..7126afee3a
--- /dev/null
+++ b/debian/libmono-system-ldap2.0-cil.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/mono/gac/System.DirectoryServices/2.0.*/
+debian/tmp/usr/lib/mono/2.0/System.DirectoryServices.dll
+debian/tmp/usr/lib/mono/gac/System.DirectoryServices.Protocols/2.0.*/
+debian/tmp/usr/lib/mono/2.0/System.DirectoryServices.Protocols.dll
diff --git a/debian/libmono-system-ldap4.0-cil.install b/debian/libmono-system-ldap4.0-cil.install
new file mode 100644
index 0000000000..6e99fc8f14
--- /dev/null
+++ b/debian/libmono-system-ldap4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.DirectoryServices.dll*
+/usr/lib/mono/4.5/System.DirectoryServices.dll*
+/usr/lib/mono/gac/System.DirectoryServices/4.0.0.0__*/
diff --git a/debian/libmono-system-management4.0-cil.install b/debian/libmono-system-management4.0-cil.install
new file mode 100644
index 0000000000..92d148f963
--- /dev/null
+++ b/debian/libmono-system-management4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Management.dll*
+/usr/lib/mono/4.5/System.Management.dll*
+/usr/lib/mono/gac/System.Management/4.0.0.0__*/
diff --git a/debian/libmono-system-messaging2.0-cil.clideps-override b/debian/libmono-system-messaging2.0-cil.clideps-override
new file mode 100644
index 0000000000..2ffb7e00f4
--- /dev/null
+++ b/debian/libmono-system-messaging2.0-cil.clideps-override
@@ -0,0 +1 @@
+suggests libmono-winforms2.0-cil
diff --git a/debian/libmono-system-messaging2.0-cil.install b/debian/libmono-system-messaging2.0-cil.install
new file mode 100644
index 0000000000..04da0228a0
--- /dev/null
+++ b/debian/libmono-system-messaging2.0-cil.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/lib/mono/gac/System.Messaging/2.0.*/
+debian/tmp/usr/lib/mono/2.0/System.Messaging.dll
diff --git a/debian/libmono-system-messaging4.0-cil.install b/debian/libmono-system-messaging4.0-cil.install
new file mode 100644
index 0000000000..c18f5e5d50
--- /dev/null
+++ b/debian/libmono-system-messaging4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Messaging.dll*
+/usr/lib/mono/4.5/System.Messaging.dll*
+/usr/lib/mono/gac/System.Messaging/4.0.0.0__*/
diff --git a/debian/libmono-system-net-http-formatting4.0-cil.install b/debian/libmono-system-net-http-formatting4.0-cil.install
new file mode 100644
index 0000000000..6efb4231a6
--- /dev/null
+++ b/debian/libmono-system-net-http-formatting4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Net.Http.Formatting.dll*
+/usr/lib/mono/gac/System.Net.Http.Formatting/4.0.0.0__*/
diff --git a/debian/libmono-system-net-http-webrequest4.0-cil.install b/debian/libmono-system-net-http-webrequest4.0-cil.install
new file mode 100644
index 0000000000..c283d05b5f
--- /dev/null
+++ b/debian/libmono-system-net-http-webrequest4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.Net.Http.WebRequest.dll*
+/usr/lib/mono/gac/System.Net.Http.WebRequest/4.0.0.0__*/
+
diff --git a/debian/libmono-system-net-http4.0-cil.install b/debian/libmono-system-net-http4.0-cil.install
new file mode 100644
index 0000000000..1c25ec072a
--- /dev/null
+++ b/debian/libmono-system-net-http4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Net.Http.dll*
+/usr/lib/mono/gac/System.Net.Http/4.0.0.0__*/
diff --git a/debian/libmono-system-net2.0-cil.install b/debian/libmono-system-net2.0-cil.install
new file mode 100644
index 0000000000..ddade94433
--- /dev/null
+++ b/debian/libmono-system-net2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/2.0/System.Net.dll*
+/usr/lib/mono/gac/System.Net/3.5.0.0__*/
diff --git a/debian/libmono-system-net4.0-cil.install b/debian/libmono-system-net4.0-cil.install
new file mode 100644
index 0000000000..45d5f1aa6f
--- /dev/null
+++ b/debian/libmono-system-net4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Net.dll*
+/usr/lib/mono/4.5/System.Net.dll*
+/usr/lib/mono/gac/System.Net/4.0.0.0__*/
diff --git a/debian/libmono-system-numerics4.0-cil.install b/debian/libmono-system-numerics4.0-cil.install
new file mode 100644
index 0000000000..0b0ba76248
--- /dev/null
+++ b/debian/libmono-system-numerics4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Numerics.dll*
+/usr/lib/mono/4.5/System.Numerics.dll*
+/usr/lib/mono/gac/System.Numerics/4.0.0.0__*/
diff --git a/debian/libmono-system-reactive-core2.2-cil.install b/debian/libmono-system-reactive-core2.2-cil.install
new file mode 100644
index 0000000000..83d834a199
--- /dev/null
+++ b/debian/libmono-system-reactive-core2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Core.dll*
+/usr/lib/mono/gac/System.Reactive.Core/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-debugger2.2-cil.install b/debian/libmono-system-reactive-debugger2.2-cil.install
new file mode 100644
index 0000000000..4266a9d6df
--- /dev/null
+++ b/debian/libmono-system-reactive-debugger2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Debugger.dll*
+/usr/lib/mono/gac/System.Reactive.Debugger/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-experimental2.2-cil.install b/debian/libmono-system-reactive-experimental2.2-cil.install
new file mode 100644
index 0000000000..091454f643
--- /dev/null
+++ b/debian/libmono-system-reactive-experimental2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Experimental.dll*
+/usr/lib/mono/gac/System.Reactive.Experimental/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-interfaces2.2-cil.install b/debian/libmono-system-reactive-interfaces2.2-cil.install
new file mode 100644
index 0000000000..c79b4ecc7a
--- /dev/null
+++ b/debian/libmono-system-reactive-interfaces2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Interfaces.dll*
+/usr/lib/mono/gac/System.Reactive.Interfaces/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-linq2.2-cil.install b/debian/libmono-system-reactive-linq2.2-cil.install
new file mode 100644
index 0000000000..2c10fc990c
--- /dev/null
+++ b/debian/libmono-system-reactive-linq2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Linq.dll*
+/usr/lib/mono/gac/System.Reactive.Linq/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-observable-aliases0.0-cil.install b/debian/libmono-system-reactive-observable-aliases0.0-cil.install
new file mode 100644
index 0000000000..0c0e135878
--- /dev/null
+++ b/debian/libmono-system-reactive-observable-aliases0.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Observable.Aliases.dll*
+/usr/lib/mono/gac/System.Reactive.Observable.Aliases/0.0.0.0__*/
diff --git a/debian/libmono-system-reactive-platformservices2.2-cil.install b/debian/libmono-system-reactive-platformservices2.2-cil.install
new file mode 100644
index 0000000000..4372afb6f3
--- /dev/null
+++ b/debian/libmono-system-reactive-platformservices2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.PlatformServices.dll*
+/usr/lib/mono/gac/System.Reactive.PlatformServices/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-providers2.2-cil.install b/debian/libmono-system-reactive-providers2.2-cil.install
new file mode 100644
index 0000000000..1525e317b7
--- /dev/null
+++ b/debian/libmono-system-reactive-providers2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Providers.dll*
+/usr/lib/mono/gac/System.Reactive.Providers/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-runtime-remoting2.2-cil.install b/debian/libmono-system-reactive-runtime-remoting2.2-cil.install
new file mode 100644
index 0000000000..6e9488f5b7
--- /dev/null
+++ b/debian/libmono-system-reactive-runtime-remoting2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Runtime.Remoting.dll*
+/usr/lib/mono/gac/System.Reactive.Runtime.Remoting/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-windows-forms2.2-cil.install b/debian/libmono-system-reactive-windows-forms2.2-cil.install
new file mode 100644
index 0000000000..31938fc1a3
--- /dev/null
+++ b/debian/libmono-system-reactive-windows-forms2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Windows.Forms.dll*
+/usr/lib/mono/gac/System.Reactive.Windows.Forms/2.2.0.0__*/
diff --git a/debian/libmono-system-reactive-windows-threading2.2-cil.install b/debian/libmono-system-reactive-windows-threading2.2-cil.install
new file mode 100644
index 0000000000..7f3715a697
--- /dev/null
+++ b/debian/libmono-system-reactive-windows-threading2.2-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Reactive.Windows.Threading.dll*
+/usr/lib/mono/gac/System.Reactive.Windows.Threading/2.2.0.0__*/
diff --git a/debian/libmono-system-runtime-caching4.0-cil.install b/debian/libmono-system-runtime-caching4.0-cil.install
new file mode 100644
index 0000000000..22923de750
--- /dev/null
+++ b/debian/libmono-system-runtime-caching4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Runtime.Caching.dll*
+/usr/lib/mono/4.5/System.Runtime.Caching.dll*
+/usr/lib/mono/gac/System.Runtime.Caching/4.0.0.0__*/
diff --git a/debian/libmono-system-runtime-durableinstancing4.0-cil.install b/debian/libmono-system-runtime-durableinstancing4.0-cil.install
new file mode 100644
index 0000000000..f7f2643d11
--- /dev/null
+++ b/debian/libmono-system-runtime-durableinstancing4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Runtime.DurableInstancing.dll*
+/usr/lib/mono/4.5/System.Runtime.DurableInstancing.dll*
+/usr/lib/mono/gac/System.Runtime.DurableInstancing/4.0.0.0__*/
diff --git a/debian/libmono-system-runtime-serialization-formatters-soap4.0-cil.install b/debian/libmono-system-runtime-serialization-formatters-soap4.0-cil.install
new file mode 100644
index 0000000000..0f6c5f6940
--- /dev/null
+++ b/debian/libmono-system-runtime-serialization-formatters-soap4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Runtime.Serialization.Formatters.Soap.dll*
+/usr/lib/mono/4.5/System.Runtime.Serialization.Formatters.Soap.dll*
+/usr/lib/mono/gac/System.Runtime.Serialization.Formatters.Soap/4.0.0.0__*/
diff --git a/debian/libmono-system-runtime-serialization4.0-cil.install b/debian/libmono-system-runtime-serialization4.0-cil.install
new file mode 100644
index 0000000000..a702aaf64b
--- /dev/null
+++ b/debian/libmono-system-runtime-serialization4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Runtime.Serialization.dll*
+/usr/lib/mono/4.5/System.Runtime.Serialization.dll*
+/usr/lib/mono/gac/System.Runtime.Serialization/4.0.0.0__*/
diff --git a/debian/libmono-system-runtime2.0-cil.install b/debian/libmono-system-runtime2.0-cil.install
new file mode 100644
index 0000000000..1eb977bce3
--- /dev/null
+++ b/debian/libmono-system-runtime2.0-cil.install
@@ -0,0 +1,4 @@
+/usr/lib/mono/gac/System.Runtime.Remoting/2.0.0.0__*/
+/usr/lib/mono/gac/System.Runtime.Serialization.Formatters.Soap/2.0.0.0__*/
+/usr/lib/mono/2.0/System.Runtime.Remoting.dll
+/usr/lib/mono/2.0/System.Runtime.Serialization.Formatters.Soap.dll
diff --git a/debian/libmono-system-runtime4.0-cil.install b/debian/libmono-system-runtime4.0-cil.install
new file mode 100644
index 0000000000..640e047ac8
--- /dev/null
+++ b/debian/libmono-system-runtime4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Runtime.Remoting.dll*
+/usr/lib/mono/4.5/System.Runtime.Remoting.dll*
+/usr/lib/mono/gac/System.Runtime.Remoting/4.0.0.0__*/
diff --git a/debian/libmono-system-security4.0-cil.install b/debian/libmono-system-security4.0-cil.install
new file mode 100644
index 0000000000..22eb994a1c
--- /dev/null
+++ b/debian/libmono-system-security4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Security.dll*
+/usr/lib/mono/4.5/System.Security.dll*
+/usr/lib/mono/gac/System.Security/4.0.0.0__*/
diff --git a/debian/libmono-system-servicemodel-activation4.0-cil.install b/debian/libmono-system-servicemodel-activation4.0-cil.install
new file mode 100644
index 0000000000..64c9720ccb
--- /dev/null
+++ b/debian/libmono-system-servicemodel-activation4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceModel.Activation.dll*
+/usr/lib/mono/4.5/System.ServiceModel.Activation.dll*
+/usr/lib/mono/gac/System.ServiceModel.Activation/4.0.0.0__*/
diff --git a/debian/libmono-system-servicemodel-discovery4.0-cil.install b/debian/libmono-system-servicemodel-discovery4.0-cil.install
new file mode 100644
index 0000000000..88c515cf56
--- /dev/null
+++ b/debian/libmono-system-servicemodel-discovery4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceModel.Discovery.dll*
+/usr/lib/mono/4.5/System.ServiceModel.Discovery.dll*
+/usr/lib/mono/gac/System.ServiceModel.Discovery/4.0.0.0__*/
diff --git a/debian/libmono-system-servicemodel-routing4.0-cil.install b/debian/libmono-system-servicemodel-routing4.0-cil.install
new file mode 100644
index 0000000000..d403676a66
--- /dev/null
+++ b/debian/libmono-system-servicemodel-routing4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceModel.Routing.dll*
+/usr/lib/mono/4.5/System.ServiceModel.Routing.dll*
+/usr/lib/mono/gac/System.ServiceModel.Routing/4.0.0.0__*/
diff --git a/debian/libmono-system-servicemodel-web4.0-cil.install b/debian/libmono-system-servicemodel-web4.0-cil.install
new file mode 100644
index 0000000000..ec692b3148
--- /dev/null
+++ b/debian/libmono-system-servicemodel-web4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceModel.Web.dll*
+/usr/lib/mono/4.5/System.ServiceModel.Web.dll*
+/usr/lib/mono/gac/System.ServiceModel.Web/4.0.0.0__*/
diff --git a/debian/libmono-system-servicemodel4.0a-cil.install b/debian/libmono-system-servicemodel4.0a-cil.install
new file mode 100644
index 0000000000..93be1e733c
--- /dev/null
+++ b/debian/libmono-system-servicemodel4.0a-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceModel.dll*
+/usr/lib/mono/4.5/System.ServiceModel.dll*
+/usr/lib/mono/gac/System.ServiceModel/4.0.0.0__*/
diff --git a/debian/libmono-system-serviceprocess4.0-cil.install b/debian/libmono-system-serviceprocess4.0-cil.install
new file mode 100644
index 0000000000..cbeb5fff6f
--- /dev/null
+++ b/debian/libmono-system-serviceprocess4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.ServiceProcess.dll*
+/usr/lib/mono/4.5/System.ServiceProcess.dll*
+/usr/lib/mono/gac/System.ServiceProcess/4.0.0.0__*/
diff --git a/debian/libmono-system-threading-tasks-dataflow4.0-cil.install b/debian/libmono-system-threading-tasks-dataflow4.0-cil.install
new file mode 100644
index 0000000000..5fc2bd1e45
--- /dev/null
+++ b/debian/libmono-system-threading-tasks-dataflow4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Threading.Tasks.Dataflow.dll*
+/usr/lib/mono/gac/System.Threading.Tasks.Dataflow/4.0.0.0__*/
diff --git a/debian/libmono-system-transactions4.0-cil.install b/debian/libmono-system-transactions4.0-cil.install
new file mode 100644
index 0000000000..9fc8654479
--- /dev/null
+++ b/debian/libmono-system-transactions4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Transactions.dll*
+/usr/lib/mono/4.5/System.Transactions.dll*
+/usr/lib/mono/gac/System.Transactions/4.0.0.0__*/
diff --git a/debian/libmono-system-web-abstractions4.0-cil.install b/debian/libmono-system-web-abstractions4.0-cil.install
new file mode 100644
index 0000000000..777c17a145
--- /dev/null
+++ b/debian/libmono-system-web-abstractions4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.Abstractions.dll*
+/usr/lib/mono/4.5/System.Web.Abstractions.dll*
+/usr/lib/mono/gac/System.Web.Abstractions/4.0.0.0__*/
diff --git a/debian/libmono-system-web-applicationservices4.0-cil.install b/debian/libmono-system-web-applicationservices4.0-cil.install
new file mode 100644
index 0000000000..8433cd8bca
--- /dev/null
+++ b/debian/libmono-system-web-applicationservices4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.ApplicationServices.dll*
+/usr/lib/mono/4.5/System.Web.ApplicationServices.dll*
+/usr/lib/mono/gac/System.Web.ApplicationServices/4.0.0.0__*/
diff --git a/debian/libmono-system-web-dynamicdata4.0-cil.install b/debian/libmono-system-web-dynamicdata4.0-cil.install
new file mode 100644
index 0000000000..376817fc15
--- /dev/null
+++ b/debian/libmono-system-web-dynamicdata4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.DynamicData.dll*
+/usr/lib/mono/4.5/System.Web.DynamicData.dll*
+/usr/lib/mono/gac/System.Web.DynamicData/4.0.0.0__*/
diff --git a/debian/libmono-system-web-extensions-design4.0-cil.install b/debian/libmono-system-web-extensions-design4.0-cil.install
new file mode 100644
index 0000000000..9414e0d388
--- /dev/null
+++ b/debian/libmono-system-web-extensions-design4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.Extensions.Design.dll*
+/usr/lib/mono/4.5/System.Web.Extensions.Design.dll*
+/usr/lib/mono/gac/System.Web.Extensions.Design/4.0.0.0__*/
diff --git a/debian/libmono-system-web-extensions4.0-cil.install b/debian/libmono-system-web-extensions4.0-cil.install
new file mode 100644
index 0000000000..783c4c5658
--- /dev/null
+++ b/debian/libmono-system-web-extensions4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.Extensions.dll*
+/usr/lib/mono/4.5/System.Web.Extensions.dll*
+/usr/lib/mono/gac/System.Web.Extensions/4.0.0.0__*/
diff --git a/debian/libmono-system-web-http-selfhost4.0-cil.install b/debian/libmono-system-web-http-selfhost4.0-cil.install
new file mode 100644
index 0000000000..192e76b975
--- /dev/null
+++ b/debian/libmono-system-web-http-selfhost4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.Http.SelfHost.dll*
+/usr/lib/mono/gac/System.Web.Http.SelfHost/4.0.0.0__*/
diff --git a/debian/libmono-system-web-http-webhost4.0-cil.install b/debian/libmono-system-web-http-webhost4.0-cil.install
new file mode 100644
index 0000000000..9be04e4dc1
--- /dev/null
+++ b/debian/libmono-system-web-http-webhost4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.Web.Http.WebHost.dll*
+/usr/lib/mono/gac/System.Web.Http.WebHost/4.0.0.0__*/
+
diff --git a/debian/libmono-system-web-http4.0-cil.install b/debian/libmono-system-web-http4.0-cil.install
new file mode 100644
index 0000000000..b8dd0de21a
--- /dev/null
+++ b/debian/libmono-system-web-http4.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.Http.dll*
+/usr/lib/mono/gac/System.Web.Http/4.0.0.0__*/
diff --git a/debian/libmono-system-web-mvc1.0-cil.install b/debian/libmono-system-web-mvc1.0-cil.install
new file mode 100644
index 0000000000..c4491eb464
--- /dev/null
+++ b/debian/libmono-system-web-mvc1.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/compat-2.0/System.Web.Mvc.dll*
+/usr/lib/mono/gac/System.Web.Mvc/1.0.0.0__*/
diff --git a/debian/libmono-system-web-mvc2.0-cil.install b/debian/libmono-system-web-mvc2.0-cil.install
new file mode 100644
index 0000000000..ba994b4bc8
--- /dev/null
+++ b/debian/libmono-system-web-mvc2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/gac/System.Web.Mvc/2.0.0.0__*/
+/usr/lib/mono/2.0/System.Web.Mvc.dll
diff --git a/debian/libmono-system-web-mvc3.0-cil.install b/debian/libmono-system-web-mvc3.0-cil.install
new file mode 100644
index 0000000000..b8ee53ccf1
--- /dev/null
+++ b/debian/libmono-system-web-mvc3.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.Mvc.dll*
+/usr/lib/mono/gac/System.Web.Mvc/3.0.0.0__*/
diff --git a/debian/libmono-system-web-razor2.0-cil.install b/debian/libmono-system-web-razor2.0-cil.install
new file mode 100644
index 0000000000..30f9e0f1d1
--- /dev/null
+++ b/debian/libmono-system-web-razor2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.Razor.dll*
+/usr/lib/mono/gac/System.Web.Razor/2.0.0.0__*/
diff --git a/debian/libmono-system-web-routing4.0-cil.install b/debian/libmono-system-web-routing4.0-cil.install
new file mode 100644
index 0000000000..eb9f78bd68
--- /dev/null
+++ b/debian/libmono-system-web-routing4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.Routing.dll*
+/usr/lib/mono/4.5/System.Web.Routing.dll*
+/usr/lib/mono/gac/System.Web.Routing/4.0.0.0__*/
diff --git a/debian/libmono-system-web-services4.0-cil.install b/debian/libmono-system-web-services4.0-cil.install
new file mode 100644
index 0000000000..c2cf5eb6c7
--- /dev/null
+++ b/debian/libmono-system-web-services4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.Services.dll*
+/usr/lib/mono/4.5/System.Web.Services.dll*
+/usr/lib/mono/gac/System.Web.Services/4.0.0.0__*/
diff --git a/debian/libmono-system-web-webpages-deployment2.0-cil.install b/debian/libmono-system-web-webpages-deployment2.0-cil.install
new file mode 100644
index 0000000000..7d6238c8ce
--- /dev/null
+++ b/debian/libmono-system-web-webpages-deployment2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.WebPages.Deployment.dll*
+/usr/lib/mono/gac/System.Web.WebPages.Deployment/2.0.0.0__*/
diff --git a/debian/libmono-system-web-webpages-razor2.0-cil.install b/debian/libmono-system-web-webpages-razor2.0-cil.install
new file mode 100644
index 0000000000..4a5dffc75d
--- /dev/null
+++ b/debian/libmono-system-web-webpages-razor2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.WebPages.Razor.dll*
+/usr/lib/mono/gac/System.Web.WebPages.Razor/2.0.0.0__*/
diff --git a/debian/libmono-system-web-webpages2.0-cil.install b/debian/libmono-system-web-webpages2.0-cil.install
new file mode 100644
index 0000000000..8fa683e8fa
--- /dev/null
+++ b/debian/libmono-system-web-webpages2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/4.5/System.Web.WebPages.dll*
+/usr/lib/mono/gac/System.Web.WebPages/2.0.0.0__*/
diff --git a/debian/libmono-system-web2.0-cil.clideps-override b/debian/libmono-system-web2.0-cil.clideps-override
new file mode 100644
index 0000000000..2ffb7e00f4
--- /dev/null
+++ b/debian/libmono-system-web2.0-cil.clideps-override
@@ -0,0 +1 @@
+suggests libmono-winforms2.0-cil
diff --git a/debian/libmono-system-web2.0-cil.install b/debian/libmono-system-web2.0-cil.install
new file mode 100644
index 0000000000..e9c6f41b10
--- /dev/null
+++ b/debian/libmono-system-web2.0-cil.install
@@ -0,0 +1,20 @@
+debian/tmp/usr/lib/mono/gac/System.Web/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Extensions/1.0.61025.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Extensions/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Extensions.Design/1.0.61025.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Extensions.Design/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Services/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.ComponentModel.DataAnnotations/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Abstractions/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.DynamicData/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Web.Routing/3.5.0.0__*/
+debian/tmp/usr/lib/mono/2.0/System.Web.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.Extensions.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.Extensions.Design.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.Services.dll
+debian/tmp/usr/lib/mono/2.0/System.ComponentModel.DataAnnotations.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.Abstractions.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.DynamicData.dll
+debian/tmp/usr/lib/mono/2.0/System.Web.Routing.dll
+debian/tmp/usr/lib/mono/compat-2.0/System.Web.Extensions.Design.dll
+debian/tmp/usr/lib/mono/compat-2.0/System.Web.Extensions.dll
diff --git a/debian/libmono-system-web4.0-cil.install b/debian/libmono-system-web4.0-cil.install
new file mode 100644
index 0000000000..8b88d61ba4
--- /dev/null
+++ b/debian/libmono-system-web4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Web.dll*
+/usr/lib/mono/4.5/System.Web.dll*
+/usr/lib/mono/gac/System.Web/4.0.0.0__*/
diff --git a/debian/libmono-system-windows-forms-datavisualization4.0a-cil.install b/debian/libmono-system-windows-forms-datavisualization4.0a-cil.install
new file mode 100644
index 0000000000..b07ba3f11b
--- /dev/null
+++ b/debian/libmono-system-windows-forms-datavisualization4.0a-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Windows.Forms.DataVisualization.dll*
+/usr/lib/mono/4.5/System.Windows.Forms.DataVisualization.dll*
+/usr/lib/mono/gac/System.Windows.Forms.DataVisualization/4.0.0.0__*/
diff --git a/debian/libmono-system-windows-forms4.0-cil.clideps-override b/debian/libmono-system-windows-forms4.0-cil.clideps-override
new file mode 100644
index 0000000000..203a59bc90
--- /dev/null
+++ b/debian/libmono-system-windows-forms4.0-cil.clideps-override
@@ -0,0 +1,5 @@
+suggests libgtk2.0-0
+suggests libgnomeui-0
+suggests librsvg2-2
+suggests libglib2.0-0
+suggests libgdk-pixbuf2.0-0
diff --git a/debian/libmono-system-windows-forms4.0-cil.install b/debian/libmono-system-windows-forms4.0-cil.install
new file mode 100644
index 0000000000..3defb44fd5
--- /dev/null
+++ b/debian/libmono-system-windows-forms4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Windows.Forms.dll*
+/usr/lib/mono/4.5/System.Windows.Forms.dll*
+/usr/lib/mono/gac/System.Windows.Forms/4.0.0.0__*/
diff --git a/debian/libmono-system-windows4.0-cil.install b/debian/libmono-system-windows4.0-cil.install
new file mode 100644
index 0000000000..2965b165c6
--- /dev/null
+++ b/debian/libmono-system-windows4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.Windows.dll*
+/usr/lib/mono/gac/System.Windows/4.0.0.0__*/
+
diff --git a/debian/libmono-system-xaml4.0-cil.install b/debian/libmono-system-xaml4.0-cil.install
new file mode 100644
index 0000000000..278708efc0
--- /dev/null
+++ b/debian/libmono-system-xaml4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Xaml.dll*
+/usr/lib/mono/4.5/System.Xaml.dll*
+/usr/lib/mono/gac/System.Xaml/4.0.0.0__*/
diff --git a/debian/libmono-system-xml-linq4.0-cil.install b/debian/libmono-system-xml-linq4.0-cil.install
new file mode 100644
index 0000000000..a6d042df02
--- /dev/null
+++ b/debian/libmono-system-xml-linq4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Xml.Linq.dll*
+/usr/lib/mono/4.5/System.Xml.Linq.dll*
+/usr/lib/mono/gac/System.Xml.Linq/4.0.0.0__*/
diff --git a/debian/libmono-system-xml-serialization4.0-cil.install b/debian/libmono-system-xml-serialization4.0-cil.install
new file mode 100644
index 0000000000..4988e28dad
--- /dev/null
+++ b/debian/libmono-system-xml-serialization4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.5/System.Xml.Serialization.dll*
+/usr/lib/mono/gac/System.Xml.Serialization/4.0.0.0__*/
+
diff --git a/debian/libmono-system-xml4.0-cil.install b/debian/libmono-system-xml4.0-cil.install
new file mode 100644
index 0000000000..27d26579df
--- /dev/null
+++ b/debian/libmono-system-xml4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.Xml.dll*
+/usr/lib/mono/4.5/System.Xml.dll*
+/usr/lib/mono/gac/System.Xml/4.0.0.0__*/
diff --git a/debian/libmono-system2.0-cil.clideps-override b/debian/libmono-system2.0-cil.clideps-override
new file mode 100644
index 0000000000..04244700a6
--- /dev/null
+++ b/debian/libmono-system2.0-cil.clideps-override
@@ -0,0 +1,7 @@
+suggests libfam0
+suggests libgamin0
+suggests libx11-6
+suggests libasound2
+suggests libcups2
+suggests libgdiplus
+suggests libmono-winforms2.0-cil
diff --git a/debian/libmono-system2.0-cil.install b/debian/libmono-system2.0-cil.install
new file mode 100644
index 0000000000..c7c4703194
--- /dev/null
+++ b/debian/libmono-system2.0-cil.install
@@ -0,0 +1,26 @@
+debian/tmp/usr/lib/mono/2.0/CustomMarshalers.dll
+debian/tmp/usr/lib/mono/2.0/System.Configuration.Install.dll
+debian/tmp/usr/lib/mono/2.0/System.Configuration.dll
+debian/tmp/usr/lib/mono/2.0/System.Core.dll
+debian/tmp/usr/lib/mono/2.0/System.Drawing.dll
+debian/tmp/usr/lib/mono/2.0/System.EnterpriseServices.dll
+debian/tmp/usr/lib/mono/2.0/System.Management.dll
+debian/tmp/usr/lib/mono/2.0/System.Security.dll
+debian/tmp/usr/lib/mono/2.0/System.ServiceProcess.dll
+debian/tmp/usr/lib/mono/2.0/System.Transactions.dll
+debian/tmp/usr/lib/mono/2.0/System.Xml.dll
+debian/tmp/usr/lib/mono/2.0/System.Xml.Linq.dll
+debian/tmp/usr/lib/mono/2.0/System.dll
+debian/tmp/usr/lib/mono/gac/CustomMarshalers/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Configuration.Install/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Configuration/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Core/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Drawing/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.EnterpriseServices/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Management/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Security/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.ServiceProcess/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Transactions/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Xml/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/System.Xml.Linq/3.5.0.0__*/
+debian/tmp/usr/lib/mono/gac/System/2.0.0.0__*/
diff --git a/debian/libmono-system4.0-cil.clideps-override b/debian/libmono-system4.0-cil.clideps-override
new file mode 100644
index 0000000000..f4dda2f936
--- /dev/null
+++ b/debian/libmono-system4.0-cil.clideps-override
@@ -0,0 +1,3 @@
+suggests libfam0
+suggests libgamin0
+suggests libasound2
diff --git a/debian/libmono-system4.0-cil.install b/debian/libmono-system4.0-cil.install
new file mode 100644
index 0000000000..97f3b20f73
--- /dev/null
+++ b/debian/libmono-system4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/System.dll*
+/usr/lib/mono/4.5/System.dll*
+/usr/lib/mono/gac/System/4.0.0.0__*/
diff --git a/debian/libmono-tasklets2.0-cil.install b/debian/libmono-tasklets2.0-cil.install
new file mode 100644
index 0000000000..26eb814d71
--- /dev/null
+++ b/debian/libmono-tasklets2.0-cil.install
@@ -0,0 +1,2 @@
+usr/lib/mono/gac/Mono.Tasklets/2.0.0.0__*/Mono.Tasklets.dll*
+usr/lib/mono/2.0/Mono.Tasklets.dll
diff --git a/debian/libmono-tasklets4.0-cil.install b/debian/libmono-tasklets4.0-cil.install
new file mode 100644
index 0000000000..3b0fdc21b0
--- /dev/null
+++ b/debian/libmono-tasklets4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Tasklets.dll*
+/usr/lib/mono/4.5/Mono.Tasklets.dll*
+/usr/lib/mono/gac/Mono.Tasklets/4.0.0.0__*/
diff --git a/debian/libmono-wcf3.0a-cil.install b/debian/libmono-wcf3.0a-cil.install
new file mode 100644
index 0000000000..0039e78e5b
--- /dev/null
+++ b/debian/libmono-wcf3.0a-cil.install
@@ -0,0 +1,11 @@
+/usr/lib/mono/gac/System.Data.Services/3.5.0.0__*/
+/usr/lib/mono/gac/System.IdentityModel.Selectors/3.0.0.0__*/
+/usr/lib/mono/gac/System.IdentityModel/3.0.0.0__*/
+/usr/lib/mono/gac/System.Runtime.Serialization/3.0.0.0__*/
+/usr/lib/mono/gac/System.ServiceModel.Web/3.5.0.0__*/
+/usr/lib/mono/gac/System.ServiceModel/3.0.0.0__*/
+/usr/lib/mono/2.0/System.IdentityModel.Selectors.dll
+/usr/lib/mono/2.0/System.IdentityModel.dll
+/usr/lib/mono/2.0/System.Runtime.Serialization.dll
+/usr/lib/mono/2.0/System.ServiceModel.Web.dll
+/usr/lib/mono/2.0/System.ServiceModel.dll
diff --git a/debian/libmono-wcf4.0-cil.install b/debian/libmono-wcf4.0-cil.install
new file mode 100644
index 0000000000..e69de29bb2
diff --git a/debian/libmono-web4.0-cil.install b/debian/libmono-web4.0-cil.install
new file mode 100644
index 0000000000..04a727edbb
--- /dev/null
+++ b/debian/libmono-web4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.Web.dll*
+/usr/lib/mono/4.5/Mono.Web.dll*
+/usr/lib/mono/gac/Mono.Web/4.0.0.0__*/
diff --git a/debian/libmono-webbrowser2.0-cil.clideps-override b/debian/libmono-webbrowser2.0-cil.clideps-override
new file mode 100644
index 0000000000..191ba45ded
--- /dev/null
+++ b/debian/libmono-webbrowser2.0-cil.clideps-override
@@ -0,0 +1 @@
+recommends libgluezilla
diff --git a/debian/libmono-webbrowser2.0-cil.install b/debian/libmono-webbrowser2.0-cil.install
new file mode 100644
index 0000000000..faa24b9841
--- /dev/null
+++ b/debian/libmono-webbrowser2.0-cil.install
@@ -0,0 +1,2 @@
+/usr/lib/mono/2.0/Mono.WebBrowser.dll*
+/usr/lib/mono/gac/Mono.WebBrowser/2.0.0.0__*/
diff --git a/debian/libmono-webbrowser4.0-cil.clideps-override b/debian/libmono-webbrowser4.0-cil.clideps-override
new file mode 100644
index 0000000000..191ba45ded
--- /dev/null
+++ b/debian/libmono-webbrowser4.0-cil.clideps-override
@@ -0,0 +1 @@
+recommends libgluezilla
diff --git a/debian/libmono-webbrowser4.0-cil.install b/debian/libmono-webbrowser4.0-cil.install
new file mode 100644
index 0000000000..df0bc2c15c
--- /dev/null
+++ b/debian/libmono-webbrowser4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.WebBrowser.dll*
+/usr/lib/mono/4.5/Mono.WebBrowser.dll*
+/usr/lib/mono/gac/Mono.WebBrowser/4.0.0.0__*/
diff --git a/debian/libmono-webmatrix-data4.0-cil.install b/debian/libmono-webmatrix-data4.0-cil.install
new file mode 100644
index 0000000000..79bb7fe0ea
--- /dev/null
+++ b/debian/libmono-webmatrix-data4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/WebMatrix.Data.dll*
+/usr/lib/mono/4.5/WebMatrix.Data.dll*
+/usr/lib/mono/gac/WebMatrix.Data/4.0.0.0__*/
diff --git a/debian/libmono-windowsbase3.0-cil.install b/debian/libmono-windowsbase3.0-cil.install
new file mode 100644
index 0000000000..0467cbbdf6
--- /dev/null
+++ b/debian/libmono-windowsbase3.0-cil.install
@@ -0,0 +1,2 @@
+usr/lib/mono/gac/WindowsBase/3.0.0.0__*/
+usr/lib/mono/2.0/WindowsBase.dll
diff --git a/debian/libmono-windowsbase4.0-cil.install b/debian/libmono-windowsbase4.0-cil.install
new file mode 100644
index 0000000000..843abf3907
--- /dev/null
+++ b/debian/libmono-windowsbase4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/WindowsBase.dll*
+/usr/lib/mono/4.5/WindowsBase.dll*
+/usr/lib/mono/gac/WindowsBase/4.0.0.0__*/
diff --git a/debian/libmono-winforms2.0-cil.clideps-override b/debian/libmono-winforms2.0-cil.clideps-override
new file mode 100644
index 0000000000..203a59bc90
--- /dev/null
+++ b/debian/libmono-winforms2.0-cil.clideps-override
@@ -0,0 +1,5 @@
+suggests libgtk2.0-0
+suggests libgnomeui-0
+suggests librsvg2-2
+suggests libglib2.0-0
+suggests libgdk-pixbuf2.0-0
diff --git a/debian/libmono-winforms2.0-cil.install b/debian/libmono-winforms2.0-cil.install
new file mode 100644
index 0000000000..23df6760e4
--- /dev/null
+++ b/debian/libmono-winforms2.0-cil.install
@@ -0,0 +1,6 @@
+debian/tmp/usr/lib/mono/gac/System.Windows.Forms/2.0.*/
+debian/tmp/usr/lib/mono/gac/System.Drawing.Design/2.0.*/
+debian/tmp/usr/lib/mono/gac/System.Design/2.0.*/
+debian/tmp/usr/lib/mono/2.0/System.Windows.Forms.dll
+debian/tmp/usr/lib/mono/2.0/System.Drawing.Design.dll
+debian/tmp/usr/lib/mono/2.0/System.Design.dll
diff --git a/debian/libmono-xbuild-tasks2.0-cil.install b/debian/libmono-xbuild-tasks2.0-cil.install
new file mode 100644
index 0000000000..6f445bf042
--- /dev/null
+++ b/debian/libmono-xbuild-tasks2.0-cil.install
@@ -0,0 +1,4 @@
+/usr/lib/mono/2.0/Mono.XBuild.Tasks.dll*
+/usr/lib/mono/3.5/Mono.XBuild.Tasks.dll*
+/usr/lib/mono/gac/Mono.XBuild.Tasks/2.0.0.0__*/
+/usr/lib/mono/gac/Mono.XBuild.Tasks/3.5.0.0__*/
diff --git a/debian/libmono-xbuild-tasks4.0-cil.install b/debian/libmono-xbuild-tasks4.0-cil.install
new file mode 100644
index 0000000000..e04aecc910
--- /dev/null
+++ b/debian/libmono-xbuild-tasks4.0-cil.install
@@ -0,0 +1,3 @@
+/usr/lib/mono/4.0/Mono.XBuild.Tasks.dll*
+/usr/lib/mono/4.5/Mono.XBuild.Tasks.dll*
+/usr/lib/mono/gac/Mono.XBuild.Tasks/4.0.0.0__*/
diff --git a/debian/libmono2.0-cil.install b/debian/libmono2.0-cil.install
new file mode 100644
index 0000000000..5fc033b8ac
--- /dev/null
+++ b/debian/libmono2.0-cil.install
@@ -0,0 +1,8 @@
+debian/tmp/usr/lib/mono/2.0/Mono.CompilerServices.SymbolWriter.dll
+debian/tmp/usr/lib/mono/2.0/Mono.Http.dll
+debian/tmp/usr/lib/mono/2.0/Mono.Web.dll
+debian/tmp/usr/lib/mono/2.0/OpenSystem.C.dll
+debian/tmp/usr/lib/mono/gac/Mono.CompilerServices.SymbolWriter/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Mono.Http/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Mono.Web/2.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/OpenSystem.C/2.0.0.0__*/
diff --git a/debian/libmonoboehm-2.0-1.install b/debian/libmonoboehm-2.0-1.install
new file mode 100644
index 0000000000..5efd445313
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.install
@@ -0,0 +1 @@
+/usr/lib/libmonoboehm-2.0.so.*
diff --git a/debian/libmonoboehm-2.0-1.symbols b/debian/libmonoboehm-2.0-1.symbols
new file mode 100644
index 0000000000..9281c4b546
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols
@@ -0,0 +1,906 @@
+libmonoboehm-2.0.so.1 libmonoboehm-2.0-1 #MINVER#
+ GC_end_blocking@VER_1 3.2.1+dfsg
+ GC_push_all_stack@VER_1 3.2.1+dfsg
+ GC_start_blocking@VER_1 3.2.1+dfsg
+ VER_1@VER_1 3.2.1+dfsg
+ mono_add_internal_call@VER_1 3.2.1+dfsg
+ mono_aot_only@VER_1 3.2.1+dfsg
+ mono_aot_register_globals@VER_1 3.2.1+dfsg
+ mono_aot_register_module@VER_1 3.2.1+dfsg
+ mono_array_addr_with_size@VER_1 3.2.1+dfsg
+ mono_array_class_get@VER_1 3.2.1+dfsg
+ mono_array_clone@VER_1 3.2.1+dfsg
+ mono_array_element_size@VER_1 3.2.1+dfsg
+ mono_array_length@VER_1 3.2.1+dfsg
+ mono_array_new@VER_1 3.2.1+dfsg
+ mono_array_new_full@VER_1 3.2.1+dfsg
+ mono_array_new_specific@VER_1 3.2.1+dfsg
+ mono_assemblies_cleanup@VER_1 3.2.1+dfsg
+ mono_assemblies_init@VER_1 3.2.1+dfsg
+ mono_assembly_close@VER_1 3.2.1+dfsg
+ mono_assembly_fill_assembly_name@VER_1 3.2.1+dfsg
+ mono_assembly_foreach@VER_1 3.2.1+dfsg
+ mono_assembly_get_assemblyref@VER_1 3.2.1+dfsg
+ mono_assembly_get_image@VER_1 3.2.1+dfsg
+ mono_assembly_get_main@VER_1 3.2.1+dfsg
+ mono_assembly_get_object@VER_1 3.2.1+dfsg
+ mono_assembly_getrootdir@VER_1 3.2.1+dfsg
+ mono_assembly_invoke_load_hook@VER_1 3.2.1+dfsg
+ mono_assembly_invoke_search_hook@VER_1 3.2.1+dfsg
+ mono_assembly_load@VER_1 3.2.1+dfsg
+ mono_assembly_load_from@VER_1 3.2.1+dfsg
+ mono_assembly_load_from_full@VER_1 3.2.1+dfsg
+ mono_assembly_load_full@VER_1 3.2.1+dfsg
+ mono_assembly_load_module@VER_1 3.2.1+dfsg
+ mono_assembly_load_reference@VER_1 3.2.1+dfsg
+ mono_assembly_load_references@VER_1 3.2.1+dfsg
+ mono_assembly_load_with_partial_name@VER_1 3.2.1+dfsg
+ mono_assembly_loaded@VER_1 3.2.1+dfsg
+ mono_assembly_loaded_full@VER_1 3.2.1+dfsg
+ mono_assembly_name_free@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_culture@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_name@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_pubkeytoken@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_version@VER_1 3.2.1+dfsg
+ mono_assembly_name_new@VER_1 3.2.1+dfsg
+ mono_assembly_names_equal@VER_1 3.2.1+dfsg
+ mono_assembly_open@VER_1 3.2.1+dfsg
+ mono_assembly_open_full@VER_1 3.2.1+dfsg
+ mono_assembly_set_main@VER_1 3.2.1+dfsg
+ mono_assembly_setrootdir@VER_1 3.2.1+dfsg
+ mono_bitset_alloc_size@VER_1 3.2.1+dfsg
+ mono_bitset_clear@VER_1 3.2.1+dfsg
+ mono_bitset_clear_all@VER_1 3.2.1+dfsg
+ mono_bitset_clone@VER_1 3.2.1+dfsg
+ mono_bitset_copyto@VER_1 3.2.1+dfsg
+ mono_bitset_count@VER_1 3.2.1+dfsg
+ mono_bitset_equal@VER_1 3.2.1+dfsg
+ mono_bitset_find_first@VER_1 3.2.1+dfsg
+ mono_bitset_find_first_unset@VER_1 3.2.1+dfsg
+ mono_bitset_find_last@VER_1 3.2.1+dfsg
+ mono_bitset_find_start@VER_1 3.2.1+dfsg
+ mono_bitset_foreach@VER_1 3.2.1+dfsg
+ mono_bitset_free@VER_1 3.2.1+dfsg
+ mono_bitset_intersection@VER_1 3.2.1+dfsg
+ mono_bitset_intersection_2@VER_1 3.2.1+dfsg
+ mono_bitset_invert@VER_1 3.2.1+dfsg
+ mono_bitset_mem_new@VER_1 3.2.1+dfsg
+ mono_bitset_new@VER_1 3.2.1+dfsg
+ mono_bitset_set@VER_1 3.2.1+dfsg
+ mono_bitset_set_all@VER_1 3.2.1+dfsg
+ mono_bitset_size@VER_1 3.2.1+dfsg
+ mono_bitset_sub@VER_1 3.2.1+dfsg
+ mono_bitset_test@VER_1 3.2.1+dfsg
+ mono_bitset_test_bulk@VER_1 3.2.1+dfsg
+ mono_bitset_union@VER_1 3.2.1+dfsg
+ mono_bounded_array_class_get@VER_1 3.2.1+dfsg
+ mono_break_at_bb_bb_num@VER_1 3.2.1+dfsg
+ mono_break_at_bb_method@VER_1 3.2.1+dfsg
+ mono_breakpoint_info_index@VER_1 3.2.1+dfsg
+ mono_build_date@VER_1 3.2.1+dfsg
+ mono_check_corlib_version@VER_1 3.2.1+dfsg
+ mono_class_array_element_size@VER_1 3.2.1+dfsg
+ mono_class_data_size@VER_1 3.2.1+dfsg
+ mono_class_describe_statics@VER_1 3.2.1+dfsg
+ mono_class_enum_basetype@VER_1 3.2.1+dfsg
+ mono_class_from_generic_parameter@VER_1 3.2.1+dfsg
+ mono_class_from_mono_type@VER_1 3.2.1+dfsg
+ mono_class_from_name@VER_1 3.2.1+dfsg
+ mono_class_from_name_case@VER_1 3.2.1+dfsg
+ mono_class_from_typeref@VER_1 3.2.1+dfsg
+ mono_class_get@VER_1 3.2.1+dfsg
+ mono_class_get_byref_type@VER_1 3.2.1+dfsg
+ mono_class_get_com_object_class@VER_1 3.2.1+dfsg
+ mono_class_get_element_class@VER_1 3.2.1+dfsg
+ mono_class_get_event_token@VER_1 3.2.1+dfsg
+ mono_class_get_events@VER_1 3.2.1+dfsg
+ mono_class_get_field@VER_1 3.2.1+dfsg
+ mono_class_get_field_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_field_token@VER_1 3.2.1+dfsg
+ mono_class_get_fields@VER_1 3.2.1+dfsg
+ mono_class_get_flags@VER_1 3.2.1+dfsg
+ mono_class_get_full@VER_1 3.2.1+dfsg
+ mono_class_get_idispatch_class@VER_1 3.2.1+dfsg
+ mono_class_get_image@VER_1 3.2.1+dfsg
+ mono_class_get_interfaces@VER_1 3.2.1+dfsg
+ mono_class_get_interop_proxy_class@VER_1 3.2.1+dfsg
+ mono_class_get_iunknown_class@VER_1 3.2.1+dfsg
+ mono_class_get_method_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_method_from_name_flags@VER_1 3.2.1+dfsg
+ mono_class_get_methods@VER_1 3.2.1+dfsg
+ mono_class_get_name@VER_1 3.2.1+dfsg
+ mono_class_get_namespace@VER_1 3.2.1+dfsg
+ mono_class_get_nested_types@VER_1 3.2.1+dfsg
+ mono_class_get_nesting_type@VER_1 3.2.1+dfsg
+ mono_class_get_parent@VER_1 3.2.1+dfsg
+ mono_class_get_properties@VER_1 3.2.1+dfsg
+ mono_class_get_property_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_property_token@VER_1 3.2.1+dfsg
+ mono_class_get_rank@VER_1 3.2.1+dfsg
+ mono_class_get_type@VER_1 3.2.1+dfsg
+ mono_class_get_type_token@VER_1 3.2.1+dfsg
+ mono_class_get_variant_class@VER_1 3.2.1+dfsg
+ mono_class_implements_interface@VER_1 3.2.8+dfsg
+ mono_class_inflate_generic_method@VER_1 3.2.1+dfsg
+ mono_class_inflate_generic_type@VER_1 3.2.1+dfsg
+ mono_class_init@VER_1 3.2.1+dfsg
+ mono_class_instance_size@VER_1 3.2.1+dfsg
+ mono_class_interface_offset@VER_1 3.2.1+dfsg
+ mono_class_is_assignable_from@VER_1 3.2.1+dfsg
+ mono_class_is_delegate@VER_1 3.2.8+dfsg
+ mono_class_is_enum@VER_1 3.2.1+dfsg
+ mono_class_is_subclass_of@VER_1 3.2.1+dfsg
+ mono_class_is_valid_enum@VER_1 3.2.1+dfsg
+ mono_class_is_valuetype@VER_1 3.2.1+dfsg
+ mono_class_min_align@VER_1 3.2.1+dfsg
+ mono_class_name_from_token@VER_1 3.2.1+dfsg
+ mono_class_num_events@VER_1 3.2.1+dfsg
+ mono_class_num_fields@VER_1 3.2.1+dfsg
+ mono_class_num_methods@VER_1 3.2.1+dfsg
+ mono_class_num_properties@VER_1 3.2.1+dfsg
+ mono_class_value_size@VER_1 3.2.1+dfsg
+ mono_class_vtable@VER_1 3.2.1+dfsg
+ mono_cli_rva_image_map@VER_1 3.2.1+dfsg
+ mono_code_manager_cleanup@VER_1 3.2.1+dfsg
+ mono_code_manager_commit@VER_1 3.2.1+dfsg
+ mono_code_manager_destroy@VER_1 3.2.1+dfsg
+ mono_code_manager_foreach@VER_1 3.2.1+dfsg
+ mono_code_manager_init@VER_1 3.2.1+dfsg
+ mono_code_manager_invalidate@VER_1 3.2.1+dfsg
+ mono_code_manager_new@VER_1 3.2.1+dfsg
+ mono_code_manager_new_dynamic@VER_1 3.2.1+dfsg
+ mono_code_manager_reserve@VER_1 3.2.1+dfsg
+ mono_code_manager_reserve_align@VER_1 3.2.1+dfsg
+ mono_code_manager_set_read_only@VER_1 3.2.1+dfsg
+ mono_code_manager_size@VER_1 3.2.1+dfsg
+ mono_compile_aot@VER_1 3.2.1+dfsg
+ mono_compile_method@VER_1 3.2.1+dfsg
+ mono_config_cleanup@VER_1 3.2.1+dfsg
+ mono_config_for_assembly@VER_1 3.2.1+dfsg
+ mono_config_parse@VER_1 3.2.1+dfsg
+ mono_config_parse_memory@VER_1 3.2.1+dfsg
+ mono_config_string_for_assembly_file@VER_1 3.2.1+dfsg
+ mono_context_get@VER_1 3.2.1+dfsg
+ mono_context_get_desc@VER_1 3.2.1+dfsg
+ mono_context_init@VER_1 3.2.1+dfsg
+ mono_context_set@VER_1 3.2.1+dfsg
+ mono_counters_cleanup@VER_1 3.2.1+dfsg
+ mono_counters_dump@VER_1 3.2.1+dfsg
+ mono_counters_enable@VER_1 3.2.1+dfsg
+ mono_counters_register@VER_1 3.2.1+dfsg
+ mono_current_single_method@VER_1 3.2.8+dfsg
+ mono_custom_attrs_construct@VER_1 3.2.1+dfsg
+ mono_custom_attrs_free@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_assembly@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_class@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_event@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_field@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_index@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_method@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_param@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_property@VER_1 3.2.1+dfsg
+ mono_custom_attrs_get_attr@VER_1 3.2.1+dfsg
+ mono_custom_attrs_has_attr@VER_1 3.2.1+dfsg
+ mono_debug_add_delegate_trampoline@VER_1 3.2.1+dfsg
+ mono_debug_add_method@VER_1 3.2.1+dfsg
+ mono_debug_cleanup@VER_1 3.2.1+dfsg
+ mono_debug_close_image@VER_1 3.2.1+dfsg
+ mono_debug_close_mono_symbol_file@VER_1 3.2.1+dfsg
+ mono_debug_domain_create@VER_1 3.2.1+dfsg
+ mono_debug_domain_unload@VER_1 3.2.1+dfsg
+ mono_debug_enabled@VER_1 3.2.8+dfsg
+ mono_debug_find_method@VER_1 3.2.1+dfsg
+ mono_debug_free_method_jit_info@VER_1 3.2.1+dfsg
+ mono_debug_free_source_location@VER_1 3.2.1+dfsg
+ mono_debug_il_offset_from_address@VER_1 3.2.1+dfsg
+ mono_debug_init@VER_1 3.2.1+dfsg
+ mono_debug_list_add@VER_1 3.2.1+dfsg
+ mono_debug_list_remove@VER_1 3.2.1+dfsg
+ mono_debug_lookup_locals@VER_1 3.2.1+dfsg
+ mono_debug_lookup_method@VER_1 3.2.1+dfsg
+ mono_debug_lookup_method_addresses@VER_1 3.2.1+dfsg
+ mono_debug_lookup_source_location@VER_1 3.2.1+dfsg
+ mono_debug_open_image_from_memory@VER_1 3.2.1+dfsg
+ mono_debug_open_mono_symbols@VER_1 3.2.1+dfsg
+ mono_debug_print_stack_frame@VER_1 3.2.1+dfsg
+ mono_debug_print_vars@VER_1 3.2.1+dfsg
+ mono_debug_remove_method@VER_1 3.2.1+dfsg
+ mono_debug_symfile_free_locals@VER_1 3.2.1+dfsg
+ mono_debug_symfile_free_location@VER_1 3.2.1+dfsg
+ mono_debug_symfile_get_line_numbers@VER_1 3.2.1+dfsg
+ mono_debug_symfile_get_line_numbers_full@VER_1 3.2.1+dfsg
+ mono_debug_symfile_is_loaded@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_locals@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_location@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_method@VER_1 3.2.1+dfsg
+ mono_debugger_agent_register_transport@VER_1 3.2.1+dfsg
+ mono_debugger_class_init_func@VER_1 3.2.1+dfsg
+ mono_debugger_insert_breakpoint@VER_1 3.2.1+dfsg
+ mono_debugger_method_has_breakpoint@VER_1 3.2.1+dfsg
+ mono_debugger_run_finally@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_assembly@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_class@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_method@VER_1 3.2.1+dfsg
+ mono_declsec_get_assembly_action@VER_1 3.2.1+dfsg
+ mono_declsec_get_class_action@VER_1 3.2.1+dfsg
+ mono_declsec_get_demands@VER_1 3.2.1+dfsg
+ mono_declsec_get_inheritdemands_class@VER_1 3.2.1+dfsg
+ mono_declsec_get_inheritdemands_method@VER_1 3.2.1+dfsg
+ mono_declsec_get_linkdemands@VER_1 3.2.1+dfsg
+ mono_declsec_get_method_action@VER_1 3.2.1+dfsg
+ mono_delegate_section@VER_1 3.2.1+dfsg
+ mono_digest_get_public_token@VER_1 3.2.1+dfsg
+ mono_disasm_code@VER_1 3.2.1+dfsg
+ mono_disasm_code_one@VER_1 3.2.1+dfsg
+ mono_dl_fallback_register@VER_1 3.2.1+dfsg
+ mono_dl_fallback_unregister@VER_1 3.2.1+dfsg
+ mono_dllmap_insert@VER_1 3.2.1+dfsg
+ mono_do_signal_chaining@VER_1 3.2.1+dfsg
+ mono_do_single_method_regression@VER_1 3.2.8+dfsg
+ mono_do_x86_stack_align@VER_1 3.2.1+dfsg
+ mono_domain_add_class_static_data@VER_1 3.2.1+dfsg
+ mono_domain_assembly_open@VER_1 3.2.1+dfsg
+ mono_domain_create@VER_1 3.2.1+dfsg
+ mono_domain_create_appdomain@VER_1 3.2.1+dfsg
+ mono_domain_finalize@VER_1 3.2.1+dfsg
+ mono_domain_foreach@VER_1 3.2.1+dfsg
+ mono_domain_free@VER_1 3.2.1+dfsg
+ mono_domain_from_appdomain@VER_1 3.2.1+dfsg
+ mono_domain_get@VER_1 3.2.1+dfsg
+ mono_domain_get_by_id@VER_1 3.2.1+dfsg
+ mono_domain_get_id@VER_1 3.2.1+dfsg
+ mono_domain_has_type_resolve@VER_1 3.2.1+dfsg
+ mono_domain_is_unloading@VER_1 3.2.1+dfsg
+ mono_domain_owns_vtable_slot@VER_1 3.2.1+dfsg
+ mono_domain_set@VER_1 3.2.1+dfsg
+ mono_domain_set_internal@VER_1 3.2.1+dfsg
+ mono_domain_try_type_resolve@VER_1 3.2.1+dfsg
+ mono_domain_try_unload@VER_1 3.2.1+dfsg
+ mono_domain_unload@VER_1 3.2.1+dfsg
+ mono_dont_free_domains@VER_1 3.2.1+dfsg
+ mono_dont_free_global_codeman@VER_1 3.2.1+dfsg
+ mono_dwarf_escape_path@VER_1 3.2.1+dfsg
+ mono_emit_native_call@VER_1 3.2.1+dfsg
+ mono_environment_exitcode_get@VER_1 3.2.1+dfsg
+ mono_environment_exitcode_set@VER_1 3.2.1+dfsg
+ mono_error_cleanup@VER_1 3.2.1+dfsg
+ mono_error_get_error_code@VER_1 3.2.1+dfsg
+ mono_error_get_message@VER_1 3.2.1+dfsg
+ mono_error_init@VER_1 3.2.1+dfsg
+ mono_error_init_flags@VER_1 3.2.1+dfsg
+ mono_error_ok@VER_1 3.2.1+dfsg
+ mono_escape_uri_string@VER_1 3.2.1+dfsg
+ mono_event_get_add_method@VER_1 3.2.1+dfsg
+ mono_event_get_flags@VER_1 3.2.1+dfsg
+ mono_event_get_name@VER_1 3.2.1+dfsg
+ mono_event_get_object@VER_1 3.2.1+dfsg
+ mono_event_get_parent@VER_1 3.2.1+dfsg
+ mono_event_get_raise_method@VER_1 3.2.1+dfsg
+ mono_event_get_remove_method@VER_1 3.2.1+dfsg
+ mono_exception_from_name@VER_1 3.2.1+dfsg
+ mono_exception_from_name_domain@VER_1 3.2.1+dfsg
+ mono_exception_from_name_msg@VER_1 3.2.1+dfsg
+ mono_exception_from_name_two_strings@VER_1 3.2.1+dfsg
+ mono_exception_from_token@VER_1 3.2.1+dfsg
+ mono_exception_from_token_two_strings@VER_1 3.2.1+dfsg
+ mono_exception_walk_trace@VER_1 3.2.1+dfsg
+ mono_field_from_token@VER_1 3.2.1+dfsg
+ mono_field_full_name@VER_1 3.2.1+dfsg
+ mono_field_get_data@VER_1 3.2.1+dfsg
+ mono_field_get_flags@VER_1 3.2.1+dfsg
+ mono_field_get_name@VER_1 3.2.1+dfsg
+ mono_field_get_object@VER_1 3.2.1+dfsg
+ mono_field_get_offset@VER_1 3.2.1+dfsg
+ mono_field_get_parent@VER_1 3.2.1+dfsg
+ mono_field_get_type@VER_1 3.2.1+dfsg
+ mono_field_get_value@VER_1 3.2.1+dfsg
+ mono_field_get_value_object@VER_1 3.2.1+dfsg
+ mono_field_set_value@VER_1 3.2.1+dfsg
+ mono_field_static_get_value@VER_1 3.2.1+dfsg
+ mono_field_static_set_value@VER_1 3.2.1+dfsg
+ mono_file_map@VER_1 3.2.1+dfsg
+ mono_file_map_close@VER_1 3.2.1+dfsg
+ mono_file_map_fd@VER_1 3.2.1+dfsg
+ mono_file_map_fileio@VER_1 3.2.1+dfsg
+ mono_file_map_open@VER_1 3.2.1+dfsg
+ mono_file_map_set_allocator@VER_1 3.2.1+dfsg
+ mono_file_map_size@VER_1 3.2.1+dfsg
+ mono_file_unmap@VER_1 3.2.1+dfsg
+ mono_file_unmap_fileio@VER_1 3.2.1+dfsg
+ mono_free@VER_1 3.2.1+dfsg
+ mono_free_bstr@VER_1 3.2.1+dfsg
+ mono_free_method@VER_1 3.2.1+dfsg
+ mono_free_verify_list@VER_1 3.2.1+dfsg
+ mono_g_hash_table_destroy@VER_1 3.2.1+dfsg
+ mono_g_hash_table_find@VER_1 3.2.1+dfsg
+ mono_g_hash_table_foreach@VER_1 3.2.1+dfsg
+ mono_g_hash_table_foreach_remove@VER_1 3.2.1+dfsg
+ mono_g_hash_table_insert@VER_1 3.2.1+dfsg
+ mono_g_hash_table_lookup@VER_1 3.2.1+dfsg
+ mono_g_hash_table_lookup_extended@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new_full@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new_type@VER_1 3.2.1+dfsg
+ mono_g_hash_table_print_stats@VER_1 3.2.1+dfsg
+ mono_g_hash_table_remove@VER_1 3.2.1+dfsg
+ mono_g_hash_table_replace@VER_1 3.2.1+dfsg
+ mono_g_hash_table_size@VER_1 3.2.1+dfsg
+ mono_gc_collect@VER_1 3.2.1+dfsg
+ mono_gc_collection_count@VER_1 3.2.1+dfsg
+ mono_gc_enable_events@VER_1 3.2.1+dfsg
+ mono_gc_get_generation@VER_1 3.2.1+dfsg
+ mono_gc_get_heap_size@VER_1 3.2.1+dfsg
+ mono_gc_get_used_size@VER_1 3.2.1+dfsg
+ mono_gc_invoke_finalizers@VER_1 3.2.1+dfsg
+ mono_gc_is_finalizer_thread@VER_1 3.2.1+dfsg
+ mono_gc_make_root_descr_user@VER_1 3.2.1+dfsg
+ mono_gc_max_generation@VER_1 3.2.1+dfsg
+ mono_gc_out_of_memory@VER_1 3.2.1+dfsg
+ mono_gc_pthread_create@VER_1 3.2.1+dfsg
+ mono_gc_pthread_detach@VER_1 3.2.1+dfsg
+ mono_gc_pthread_exit@VER_1 3.2.1+dfsg
+ mono_gc_pthread_join@VER_1 3.2.1+dfsg
+ mono_gc_reference_queue_add@VER_1 3.2.8+dfsg
+ mono_gc_reference_queue_free@VER_1 3.2.8+dfsg
+ mono_gc_reference_queue_new@VER_1 3.2.8+dfsg
+ mono_gc_walk_heap@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_arrayref_copy@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_nostore@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_store@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_store_atomic@VER_1 3.2.3+dfsg
+ mono_gc_wbarrier_object_copy@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_set_arrayref@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_set_field@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_value_copy@VER_1 3.2.1+dfsg
+ mono_gchandle_free@VER_1 3.2.1+dfsg
+ mono_gchandle_get_target@VER_1 3.2.1+dfsg
+ mono_gchandle_new@VER_1 3.2.1+dfsg
+ mono_gchandle_new_weakref@VER_1 3.2.1+dfsg
+ mono_get_array_class@VER_1 3.2.1+dfsg
+ mono_get_boolean_class@VER_1 3.2.1+dfsg
+ mono_get_byte_class@VER_1 3.2.1+dfsg
+ mono_get_char_class@VER_1 3.2.1+dfsg
+ mono_get_config_dir@VER_1 3.2.1+dfsg
+ mono_get_corlib@VER_1 3.2.1+dfsg
+ mono_get_dbnull_object@VER_1 3.2.1+dfsg
+ mono_get_delegate_begin_invoke@VER_1 3.2.1+dfsg
+ mono_get_delegate_end_invoke@VER_1 3.2.1+dfsg
+ mono_get_delegate_invoke@VER_1 3.2.1+dfsg
+ mono_get_double_class@VER_1 3.2.1+dfsg
+ mono_get_enum_class@VER_1 3.2.1+dfsg
+ mono_get_exception_appdomain_unloaded@VER_1 3.2.1+dfsg
+ mono_get_exception_argument@VER_1 3.2.1+dfsg
+ mono_get_exception_argument_null@VER_1 3.2.1+dfsg
+ mono_get_exception_argument_out_of_range@VER_1 3.2.1+dfsg
+ mono_get_exception_arithmetic@VER_1 3.2.1+dfsg
+ mono_get_exception_array_type_mismatch@VER_1 3.2.1+dfsg
+ mono_get_exception_bad_image_format2@VER_1 3.2.1+dfsg
+ mono_get_exception_bad_image_format@VER_1 3.2.1+dfsg
+ mono_get_exception_cannot_unload_appdomain@VER_1 3.2.1+dfsg
+ mono_get_exception_class@VER_1 3.2.1+dfsg
+ mono_get_exception_divide_by_zero@VER_1 3.2.1+dfsg
+ mono_get_exception_execution_engine@VER_1 3.2.1+dfsg
+ mono_get_exception_field_access@VER_1 3.2.1+dfsg
+ mono_get_exception_file_not_found2@VER_1 3.2.1+dfsg
+ mono_get_exception_file_not_found@VER_1 3.2.1+dfsg
+ mono_get_exception_index_out_of_range@VER_1 3.2.1+dfsg
+ mono_get_exception_invalid_cast@VER_1 3.2.1+dfsg
+ mono_get_exception_invalid_operation@VER_1 3.2.1+dfsg
+ mono_get_exception_io@VER_1 3.2.1+dfsg
+ mono_get_exception_method_access@VER_1 3.2.1+dfsg
+ mono_get_exception_missing_field@VER_1 3.2.1+dfsg
+ mono_get_exception_missing_method@VER_1 3.2.1+dfsg
+ mono_get_exception_not_implemented@VER_1 3.2.1+dfsg
+ mono_get_exception_not_supported@VER_1 3.2.1+dfsg
+ mono_get_exception_null_reference@VER_1 3.2.1+dfsg
+ mono_get_exception_out_of_memory@VER_1 3.2.1+dfsg
+ mono_get_exception_overflow@VER_1 3.2.1+dfsg
+ mono_get_exception_reflection_type_load@VER_1 3.2.1+dfsg
+ mono_get_exception_runtime_wrapped@VER_1 3.2.1+dfsg
+ mono_get_exception_security@VER_1 3.2.1+dfsg
+ mono_get_exception_serialization@VER_1 3.2.1+dfsg
+ mono_get_exception_stack_overflow@VER_1 3.2.1+dfsg
+ mono_get_exception_synchronization_lock@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_abort@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_interrupted@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_state@VER_1 3.2.1+dfsg
+ mono_get_exception_type_initialization@VER_1 3.2.1+dfsg
+ mono_get_exception_type_load@VER_1 3.2.1+dfsg
+ mono_get_inflated_method@VER_1 3.2.1+dfsg
+ mono_get_int16_class@VER_1 3.2.1+dfsg
+ mono_get_int32_class@VER_1 3.2.1+dfsg
+ mono_get_int64_class@VER_1 3.2.1+dfsg
+ mono_get_intptr_class@VER_1 3.2.1+dfsg
+ mono_get_machine_config@VER_1 3.2.1+dfsg
+ mono_get_method@VER_1 3.2.1+dfsg
+ mono_get_method_constrained@VER_1 3.2.1+dfsg
+ mono_get_method_full@VER_1 3.2.1+dfsg
+ mono_get_object_class@VER_1 3.2.1+dfsg
+ mono_get_root_domain@VER_1 3.2.1+dfsg
+ mono_get_runtime_build_info@VER_1 3.2.1+dfsg
+ mono_get_sbyte_class@VER_1 3.2.1+dfsg
+ mono_get_single_class@VER_1 3.2.1+dfsg
+ mono_get_string_class@VER_1 3.2.1+dfsg
+ mono_get_thread_class@VER_1 3.2.1+dfsg
+ mono_get_trampoline_func@VER_1 3.2.1+dfsg
+ mono_get_uint16_class@VER_1 3.2.1+dfsg
+ mono_get_uint32_class@VER_1 3.2.1+dfsg
+ mono_get_uint64_class@VER_1 3.2.1+dfsg
+ mono_get_uintptr_class@VER_1 3.2.1+dfsg
+ mono_get_void_class@VER_1 3.2.1+dfsg
+ mono_guid_to_string@VER_1 3.2.1+dfsg
+ mono_image_add_to_name_cache@VER_1 3.2.1+dfsg
+ mono_image_addref@VER_1 3.2.1+dfsg
+ mono_image_close@VER_1 3.2.1+dfsg
+ mono_image_ensure_section@VER_1 3.2.1+dfsg
+ mono_image_ensure_section_idx@VER_1 3.2.1+dfsg
+ mono_image_fixup_vtable@VER_1 3.2.1+dfsg
+ mono_image_get_assembly@VER_1 3.2.1+dfsg
+ mono_image_get_entry_point@VER_1 3.2.1+dfsg
+ mono_image_get_filename@VER_1 3.2.1+dfsg
+ mono_image_get_guid@VER_1 3.2.1+dfsg
+ mono_image_get_name@VER_1 3.2.1+dfsg
+ mono_image_get_public_key@VER_1 3.2.1+dfsg
+ mono_image_get_resource@VER_1 3.2.1+dfsg
+ mono_image_get_strong_name@VER_1 3.2.1+dfsg
+ mono_image_get_table_info@VER_1 3.2.1+dfsg
+ mono_image_get_table_rows@VER_1 3.2.1+dfsg
+ mono_image_has_authenticode_entry@VER_1 3.2.1+dfsg
+ mono_image_init@VER_1 3.2.1+dfsg
+ mono_image_init_name_cache@VER_1 3.2.1+dfsg
+ mono_image_is_dynamic@VER_1 3.2.1+dfsg
+ mono_image_load_file_for_image@VER_1 3.2.1+dfsg
+ mono_image_load_module@VER_1 3.2.1+dfsg
+ mono_image_loaded@VER_1 3.2.1+dfsg
+ mono_image_loaded_by_guid@VER_1 3.2.1+dfsg
+ mono_image_loaded_by_guid_full@VER_1 3.2.1+dfsg
+ mono_image_loaded_full@VER_1 3.2.1+dfsg
+ mono_image_lookup_resource@VER_1 3.2.1+dfsg
+ mono_image_open@VER_1 3.2.1+dfsg
+ mono_image_open_from_data@VER_1 3.2.1+dfsg
+ mono_image_open_from_data_full@VER_1 3.2.1+dfsg
+ mono_image_open_from_data_with_name@VER_1 3.2.1+dfsg
+ mono_image_open_full@VER_1 3.2.1+dfsg
+ mono_image_rva_map@VER_1 3.2.1+dfsg
+ mono_image_strerror@VER_1 3.2.1+dfsg
+ mono_image_strong_name_position@VER_1 3.2.1+dfsg
+ mono_images_cleanup@VER_1 3.2.1+dfsg
+ mono_images_init@VER_1 3.2.1+dfsg
+ mono_init@VER_1 3.2.1+dfsg
+ mono_init_from_assembly@VER_1 3.2.1+dfsg
+ mono_init_version@VER_1 3.2.1+dfsg
+ mono_inject_async_exc_method@VER_1 3.2.1+dfsg
+ mono_inject_async_exc_pos@VER_1 3.2.1+dfsg
+ mono_inst_name@VER_1 3.2.1+dfsg
+ mono_install_assembly_load_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_postload_refonly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_postload_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_preload_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_refonly_preload_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_refonly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_runtime_cleanup@VER_1 3.2.1+dfsg
+ mono_install_threadpool_item_hooks@VER_1 3.2.1+dfsg
+ mono_install_threadpool_thread_hooks@VER_1 3.2.1+dfsg
+ mono_install_unhandled_exception_hook@VER_1 3.2.1+dfsg
+ mono_invoke_unhandled_exception_hook@VER_1 3.2.1+dfsg
+ mono_is_debugger_attached@VER_1 3.2.1+dfsg
+ mono_jit_cleanup@VER_1 3.2.1+dfsg
+ mono_jit_exec@VER_1 3.2.1+dfsg
+ mono_jit_info_get_code_size@VER_1 3.2.1+dfsg
+ mono_jit_info_get_code_start@VER_1 3.2.1+dfsg
+ mono_jit_info_get_method@VER_1 3.2.1+dfsg
+ mono_jit_info_table_find@VER_1 3.2.1+dfsg
+ mono_jit_init@VER_1 3.2.1+dfsg
+ mono_jit_init_version@VER_1 3.2.1+dfsg
+ mono_jit_parse_options@VER_1 3.2.1+dfsg
+ mono_jit_set_aot_only@VER_1 3.2.1+dfsg
+ mono_jit_set_domain@VER_1 3.2.1+dfsg
+ mono_jit_set_trace_options@VER_1 3.2.1+dfsg
+ mono_jit_stats@VER_1 3.2.1+dfsg
+ mono_jit_thread_attach@VER_1 3.2.1+dfsg
+ mono_jit_tls_id@VER_1 3.2.1+dfsg
+ mono_jit_trace_calls@VER_1 3.2.1+dfsg
+ mono_ldstr@VER_1 3.2.1+dfsg
+ mono_ldtoken@VER_1 3.2.1+dfsg
+ mono_lls_init@VER_1 3.2.1+dfsg
+ mono_load_remote_field@VER_1 3.2.1+dfsg
+ mono_load_remote_field_new@VER_1 3.2.1+dfsg
+ mono_local_deadce@VER_1 3.2.1+dfsg
+ mono_locks_dump@VER_1 3.2.1+dfsg
+ mono_lookup_icall_symbol@VER_1 3.2.1+dfsg
+ mono_lookup_internal_call@VER_1 3.2.1+dfsg
+ mono_lookup_pinvoke_call@VER_1 3.2.1+dfsg
+ mono_main@VER_1 3.2.1+dfsg
+ mono_marshal_string_to_utf16@VER_1 3.2.1+dfsg
+ mono_md5_final@VER_1 3.2.1+dfsg
+ mono_md5_get_digest@VER_1 3.2.1+dfsg
+ mono_md5_get_digest_from_file@VER_1 3.2.1+dfsg
+ mono_md5_init@VER_1 3.2.1+dfsg
+ mono_md5_update@VER_1 3.2.1+dfsg
+ mono_mempool_alloc0@VER_1 3.2.1+dfsg
+ mono_mempool_alloc@VER_1 3.2.1+dfsg
+ mono_mempool_contains_addr@VER_1 3.2.1+dfsg
+ mono_mempool_destroy@VER_1 3.2.1+dfsg
+ mono_mempool_empty@VER_1 3.2.1+dfsg
+ mono_mempool_get_allocated@VER_1 3.2.1+dfsg
+ mono_mempool_invalidate@VER_1 3.2.1+dfsg
+ mono_mempool_new@VER_1 3.2.1+dfsg
+ mono_mempool_new_size@VER_1 3.2.1+dfsg
+ mono_mempool_stats@VER_1 3.2.1+dfsg
+ mono_mempool_strdup@VER_1 3.2.1+dfsg
+ mono_metadata_blob_heap@VER_1 3.2.1+dfsg
+ mono_metadata_cleanup@VER_1 3.2.1+dfsg
+ mono_metadata_compute_size@VER_1 3.2.1+dfsg
+ mono_metadata_custom_attrs_from_index@VER_1 3.2.1+dfsg
+ mono_metadata_declsec_from_index@VER_1 3.2.1+dfsg
+ mono_metadata_decode_blob_size@VER_1 3.2.1+dfsg
+ mono_metadata_decode_row@VER_1 3.2.1+dfsg
+ mono_metadata_decode_row_col@VER_1 3.2.1+dfsg
+ mono_metadata_decode_signed_value@VER_1 3.2.1+dfsg
+ mono_metadata_decode_table_row@VER_1 3.2.1+dfsg
+ mono_metadata_decode_table_row_col@VER_1 3.2.1+dfsg
+ mono_metadata_decode_value@VER_1 3.2.1+dfsg
+ mono_metadata_encode_value@VER_1 3.2.1+dfsg
+ mono_metadata_events_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_field_info@VER_1 3.2.1+dfsg
+ mono_metadata_field_info_with_mempool@VER_1 3.2.1+dfsg
+ mono_metadata_free_array@VER_1 3.2.1+dfsg
+ mono_metadata_free_inflated_signature@VER_1 3.2.1+dfsg
+ mono_metadata_free_marshal_spec@VER_1 3.2.1+dfsg
+ mono_metadata_free_method_signature@VER_1 3.2.1+dfsg
+ mono_metadata_free_mh@VER_1 3.2.1+dfsg
+ mono_metadata_free_type@VER_1 3.2.1+dfsg
+ mono_metadata_generic_class_is_valuetype@VER_1 3.2.1+dfsg
+ mono_metadata_get_constant_index@VER_1 3.2.1+dfsg
+ mono_metadata_get_generic_param_row@VER_1 3.2.1+dfsg
+ mono_metadata_get_inflated_signature@VER_1 3.2.1+dfsg
+ mono_metadata_get_marshal_info@VER_1 3.2.1+dfsg
+ mono_metadata_guid_heap@VER_1 3.2.1+dfsg
+ mono_metadata_implmap_from_method@VER_1 3.2.1+dfsg
+ mono_metadata_init@VER_1 3.2.1+dfsg
+ mono_metadata_interfaces_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_load_generic_param_constraints@VER_1 3.2.1+dfsg
+ mono_metadata_load_generic_params@VER_1 3.2.1+dfsg
+ mono_metadata_locate@VER_1 3.2.1+dfsg
+ mono_metadata_locate_token@VER_1 3.2.1+dfsg
+ mono_metadata_methods_from_event@VER_1 3.2.1+dfsg
+ mono_metadata_methods_from_property@VER_1 3.2.1+dfsg
+ mono_metadata_nested_in_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_nesting_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_packing_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_parse_array@VER_1 3.2.1+dfsg
+ mono_metadata_parse_custom_mod@VER_1 3.2.1+dfsg
+ mono_metadata_parse_field_type@VER_1 3.2.1+dfsg
+ mono_metadata_parse_marshal_spec@VER_1 3.2.1+dfsg
+ mono_metadata_parse_method_signature@VER_1 3.2.1+dfsg
+ mono_metadata_parse_method_signature_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_mh@VER_1 3.2.1+dfsg
+ mono_metadata_parse_mh_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_param@VER_1 3.2.1+dfsg
+ mono_metadata_parse_signature@VER_1 3.2.1+dfsg
+ mono_metadata_parse_type@VER_1 3.2.1+dfsg
+ mono_metadata_parse_type_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_typedef_or_ref@VER_1 3.2.1+dfsg
+ mono_metadata_properties_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_signature_alloc@VER_1 3.2.1+dfsg
+ mono_metadata_signature_dup@VER_1 3.2.1+dfsg
+ mono_metadata_signature_equal@VER_1 3.2.1+dfsg
+ mono_metadata_string_heap@VER_1 3.2.1+dfsg
+ mono_metadata_token_from_dor@VER_1 3.2.1+dfsg
+ mono_metadata_translate_token_index@VER_1 3.2.1+dfsg
+ mono_metadata_type_equal@VER_1 3.2.1+dfsg
+ mono_metadata_type_hash@VER_1 3.2.1+dfsg
+ mono_metadata_typedef_from_field@VER_1 3.2.1+dfsg
+ mono_metadata_typedef_from_method@VER_1 3.2.1+dfsg
+ mono_metadata_user_string@VER_1 3.2.1+dfsg
+ mono_method_body_get_object@VER_1 3.2.1+dfsg
+ mono_method_can_access_field@VER_1 3.2.1+dfsg
+ mono_method_can_access_method@VER_1 3.2.1+dfsg
+ mono_method_desc_free@VER_1 3.2.1+dfsg
+ mono_method_desc_from_method@VER_1 3.2.1+dfsg
+ mono_method_desc_full_match@VER_1 3.2.1+dfsg
+ mono_method_desc_match@VER_1 3.2.1+dfsg
+ mono_method_desc_new@VER_1 3.2.1+dfsg
+ mono_method_desc_search_in_class@VER_1 3.2.1+dfsg
+ mono_method_desc_search_in_image@VER_1 3.2.1+dfsg
+ mono_method_full_name@VER_1 3.2.1+dfsg
+ mono_method_get_class@VER_1 3.2.1+dfsg
+ mono_method_get_flags@VER_1 3.2.1+dfsg
+ mono_method_get_generic_container@VER_1 3.2.1+dfsg
+ mono_method_get_header@VER_1 3.2.1+dfsg
+ mono_method_get_index@VER_1 3.2.1+dfsg
+ mono_method_get_last_managed@VER_1 3.2.1+dfsg
+ mono_method_get_marshal_info@VER_1 3.2.1+dfsg
+ mono_method_get_name@VER_1 3.2.1+dfsg
+ mono_method_get_object@VER_1 3.2.1+dfsg
+ mono_method_get_param_names@VER_1 3.2.1+dfsg
+ mono_method_get_param_token@VER_1 3.2.1+dfsg
+ mono_method_get_signature@VER_1 3.2.1+dfsg
+ mono_method_get_signature_full@VER_1 3.2.1+dfsg
+ mono_method_get_token@VER_1 3.2.1+dfsg
+ mono_method_get_unmanaged_thunk@VER_1 3.2.1+dfsg
+ mono_method_has_marshal_info@VER_1 3.2.1+dfsg
+ mono_method_header_get_clauses@VER_1 3.2.1+dfsg
+ mono_method_header_get_code@VER_1 3.2.1+dfsg
+ mono_method_header_get_locals@VER_1 3.2.1+dfsg
+ mono_method_header_get_num_clauses@VER_1 3.2.1+dfsg
+ mono_method_signature@VER_1 3.2.1+dfsg
+ mono_method_verify@VER_1 3.2.1+dfsg
+ mono_mlist_alloc@VER_1 3.2.1+dfsg
+ mono_mlist_append@VER_1 3.2.1+dfsg
+ mono_mlist_get_data@VER_1 3.2.1+dfsg
+ mono_mlist_last@VER_1 3.2.1+dfsg
+ mono_mlist_length@VER_1 3.2.1+dfsg
+ mono_mlist_next@VER_1 3.2.1+dfsg
+ mono_mlist_prepend@VER_1 3.2.1+dfsg
+ mono_mlist_remove_item@VER_1 3.2.1+dfsg
+ mono_mlist_set_data@VER_1 3.2.1+dfsg
+ mono_mlist_set_next@VER_1 3.2.1+dfsg
+ mono_module_file_get_object@VER_1 3.2.1+dfsg
+ mono_module_get_object@VER_1 3.2.1+dfsg
+ mono_monitor_enter@VER_1 3.2.1+dfsg
+ mono_monitor_exit@VER_1 3.2.1+dfsg
+ mono_monitor_try_enter@VER_1 3.2.1+dfsg
+ mono_mprotect@VER_1 3.2.1+dfsg
+ mono_mutex_init_suspend_safe@VER_1 3.2.1+dfsg
+ mono_object_castclass_mbyref@VER_1 3.2.1+dfsg
+ mono_object_castclass_with_cache@VER_1 3.2.1+dfsg
+ mono_object_clone@VER_1 3.2.1+dfsg
+ mono_object_describe@VER_1 3.2.1+dfsg
+ mono_object_describe_fields@VER_1 3.2.1+dfsg
+ mono_object_get_class@VER_1 3.2.1+dfsg
+ mono_object_get_domain@VER_1 3.2.1+dfsg
+ mono_object_get_size@VER_1 3.2.1+dfsg
+ mono_object_get_virtual_method@VER_1 3.2.1+dfsg
+ mono_object_hash@VER_1 3.2.1+dfsg
+ mono_object_is_alive@VER_1 3.2.1+dfsg
+ mono_object_isinst@VER_1 3.2.1+dfsg
+ mono_object_isinst_mbyref@VER_1 3.2.1+dfsg
+ mono_object_isinst_with_cache@VER_1 3.2.1+dfsg
+ mono_object_new@VER_1 3.2.1+dfsg
+ mono_object_new_alloc_specific@VER_1 3.2.1+dfsg
+ mono_object_new_fast@VER_1 3.2.1+dfsg
+ mono_object_new_from_token@VER_1 3.2.1+dfsg
+ mono_object_new_specific@VER_1 3.2.1+dfsg
+ mono_object_to_string@VER_1 3.2.1+dfsg
+ mono_object_unbox@VER_1 3.2.1+dfsg
+ mono_once@VER_1 3.2.1+dfsg
+ mono_op_to_op_imm_noemul@VER_1 3.2.1+dfsg
+ mono_opcode_name@VER_1 3.2.1+dfsg
+ mono_opcode_value@VER_1 3.2.1+dfsg
+ mono_opcodes@VER_1 3.2.1+dfsg
+ mono_pagesize@VER_1 3.2.1+dfsg
+ mono_param_get_objects@VER_1 3.2.1+dfsg
+ mono_parse_default_optimizations@VER_1 3.2.1+dfsg
+ mono_path_canonicalize@VER_1 3.2.1+dfsg
+ mono_path_resolve_symlinks@VER_1 3.2.1+dfsg
+ mono_pe_file_open@VER_1 3.2.1+dfsg
+ mono_perfcounters_init@VER_1 3.2.1+dfsg
+ mono_pmip@VER_1 3.2.1+dfsg
+ mono_poll@VER_1 3.2.1+dfsg
+ mono_print_method_from_ip@VER_1 3.2.1+dfsg
+ mono_print_thread_dump@VER_1 3.2.1+dfsg
+ mono_print_thread_dump_from_ctx@VER_1 3.2.1+dfsg
+ mono_print_unhandled_exception@VER_1 3.2.1+dfsg
+ mono_print_vtable@VER_1 3.2.1+dfsg
+ mono_profiler_coverage_get@VER_1 3.2.1+dfsg
+ mono_profiler_events@VER_1 3.2.1+dfsg
+ mono_profiler_get_events@VER_1 3.2.1+dfsg
+ mono_profiler_install@VER_1 3.2.1+dfsg
+ mono_profiler_install_allocation@VER_1 3.2.1+dfsg
+ mono_profiler_install_appdomain@VER_1 3.2.1+dfsg
+ mono_profiler_install_assembly@VER_1 3.2.1+dfsg
+ mono_profiler_install_class@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_buffer_new@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_chunk_destroy@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_chunk_new@VER_1 3.2.1+dfsg
+ mono_profiler_install_coverage_filter@VER_1 3.2.1+dfsg
+ mono_profiler_install_enter_leave@VER_1 3.2.1+dfsg
+ mono_profiler_install_exception@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc_moves@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc_roots@VER_1 3.2.1+dfsg
+ mono_profiler_install_iomap@VER_1 3.2.1+dfsg
+ mono_profiler_install_jit_compile@VER_1 3.2.1+dfsg
+ mono_profiler_install_jit_end@VER_1 3.2.1+dfsg
+ mono_profiler_install_method_free@VER_1 3.2.1+dfsg
+ mono_profiler_install_method_invoke@VER_1 3.2.1+dfsg
+ mono_profiler_install_module@VER_1 3.2.1+dfsg
+ mono_profiler_install_monitor@VER_1 3.2.1+dfsg
+ mono_profiler_install_runtime_initialized@VER_1 3.2.1+dfsg
+ mono_profiler_install_statistical@VER_1 3.2.1+dfsg
+ mono_profiler_install_statistical_call_chain@VER_1 3.2.1+dfsg
+ mono_profiler_install_thread@VER_1 3.2.1+dfsg
+ mono_profiler_install_thread_name@VER_1 3.2.1+dfsg
+ mono_profiler_install_transition@VER_1 3.2.1+dfsg
+ mono_profiler_load@VER_1 3.2.1+dfsg
+ mono_profiler_set_events@VER_1 3.2.1+dfsg
+ mono_property_get_flags@VER_1 3.2.1+dfsg
+ mono_property_get_get_method@VER_1 3.2.1+dfsg
+ mono_property_get_name@VER_1 3.2.1+dfsg
+ mono_property_get_object@VER_1 3.2.1+dfsg
+ mono_property_get_parent@VER_1 3.2.1+dfsg
+ mono_property_get_set_method@VER_1 3.2.1+dfsg
+ mono_property_get_value@VER_1 3.2.1+dfsg
+ mono_property_hash_destroy@VER_1 3.2.1+dfsg
+ mono_property_hash_insert@VER_1 3.2.1+dfsg
+ mono_property_hash_lookup@VER_1 3.2.1+dfsg
+ mono_property_hash_new@VER_1 3.2.1+dfsg
+ mono_property_hash_remove_object@VER_1 3.2.1+dfsg
+ mono_property_set_value@VER_1 3.2.1+dfsg
+ mono_ptr_class_get@VER_1 3.2.1+dfsg
+ mono_raise_exception@VER_1 3.2.1+dfsg
+ mono_realloc_native_code@VER_1 3.2.1+dfsg
+ mono_reflection_free_type_info@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_blob@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_by_type@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_data@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_info@VER_1 3.2.1+dfsg
+ mono_reflection_get_token@VER_1 3.2.1+dfsg
+ mono_reflection_get_type@VER_1 3.2.1+dfsg
+ mono_reflection_parse_type@VER_1 3.2.1+dfsg
+ mono_reflection_type_from_name@VER_1 3.2.1+dfsg
+ mono_reflection_type_get_type@VER_1 3.2.1+dfsg
+ mono_register_bundled_assemblies@VER_1 3.2.1+dfsg
+ mono_register_config_for_assembly@VER_1 3.2.1+dfsg
+ mono_register_machine_config@VER_1 3.2.1+dfsg
+ mono_register_symfile_for_assembly@VER_1 3.2.1+dfsg
+ mono_replace_ins@VER_1 3.2.1+dfsg
+ mono_runtime_class_init@VER_1 3.2.1+dfsg
+ mono_runtime_cleanup@VER_1 3.2.1+dfsg
+ mono_runtime_delegate_invoke@VER_1 3.2.1+dfsg
+ mono_runtime_exec_main@VER_1 3.2.1+dfsg
+ mono_runtime_exec_managed_code@VER_1 3.2.1+dfsg
+ mono_runtime_get_main_args@VER_1 3.2.1+dfsg
+ mono_runtime_init@VER_1 3.2.1+dfsg
+ mono_runtime_invoke@VER_1 3.2.1+dfsg
+ mono_runtime_invoke_array@VER_1 3.2.1+dfsg
+ mono_runtime_is_shutting_down@VER_1 3.2.1+dfsg
+ mono_runtime_object_init@VER_1 3.2.1+dfsg
+ mono_runtime_quit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_check_limit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_limit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_set_callback@VER_1 3.2.1+dfsg
+ mono_runtime_run_main@VER_1 3.2.1+dfsg
+ mono_runtime_set_shutting_down@VER_1 3.2.1+dfsg
+ mono_security_core_clr_get_options@VER_1 3.2.1+dfsg
+ mono_security_core_clr_require_elevated_permissions@VER_1 3.2.1+dfsg
+ mono_security_core_clr_set_options@VER_1 3.2.1+dfsg
+ mono_security_core_clr_test@VER_1 3.2.1+dfsg
+ mono_security_enable_core_clr@VER_1 3.2.1+dfsg
+ mono_security_set_core_clr_platform_callback@VER_1 3.2.1+dfsg
+ mono_sem_post@VER_1 3.2.1+dfsg
+ mono_sem_timedwait@VER_1 3.2.1+dfsg
+ mono_sem_wait@VER_1 3.2.1+dfsg
+ mono_set_assemblies_path@VER_1 3.2.1+dfsg
+ mono_set_break_policy@VER_1 3.2.1+dfsg
+ mono_set_config_dir@VER_1 3.2.1+dfsg
+ mono_set_defaults@VER_1 3.2.1+dfsg
+ mono_set_dirs@VER_1 3.2.1+dfsg
+ mono_set_is_debugger_attached@VER_1 3.2.1+dfsg
+ mono_set_rootdir@VER_1 3.2.1+dfsg
+ mono_set_signal_chaining@VER_1 3.2.1+dfsg
+ mono_sha1_final@VER_1 3.2.1+dfsg
+ mono_sha1_get_digest@VER_1 3.2.1+dfsg
+ mono_sha1_get_digest_from_file@VER_1 3.2.1+dfsg
+ mono_sha1_init@VER_1 3.2.1+dfsg
+ mono_sha1_update@VER_1 3.2.1+dfsg
+ mono_shared_area@VER_1 3.2.1+dfsg
+ mono_shared_area_for_pid@VER_1 3.2.1+dfsg
+ mono_shared_area_instances@VER_1 3.2.1+dfsg
+ mono_shared_area_remove@VER_1 3.2.1+dfsg
+ mono_shared_area_unload@VER_1 3.2.1+dfsg
+ mono_signature_explicit_this@VER_1 3.2.1+dfsg
+ mono_signature_get_call_conv@VER_1 3.2.1+dfsg
+ mono_signature_get_desc@VER_1 3.2.1+dfsg
+ mono_signature_get_param_count@VER_1 3.2.1+dfsg
+ mono_signature_get_params@VER_1 3.2.1+dfsg
+ mono_signature_get_return_type@VER_1 3.2.1+dfsg
+ mono_signature_hash@VER_1 3.2.1+dfsg
+ mono_signature_is_instance@VER_1 3.2.1+dfsg
+ mono_signature_param_is_out@VER_1 3.2.8+dfsg
+ mono_signature_vararg_start@VER_1 3.2.1+dfsg
+ mono_signbit_double@VER_1 3.2.1+dfsg
+ mono_signbit_float@VER_1 3.2.1+dfsg
+ mono_single_method_hash@VER_1 3.2.8+dfsg
+ mono_single_method_list@VER_1 3.2.8+dfsg
+ mono_single_method_regression_opt@VER_1 3.2.8+dfsg
+ mono_stack_walk@VER_1 3.2.1+dfsg
+ mono_stack_walk_no_il@VER_1 3.2.1+dfsg
+ mono_store_remote_field@VER_1 3.2.1+dfsg
+ mono_store_remote_field_new@VER_1 3.2.1+dfsg
+ mono_string_chars@VER_1 3.2.1+dfsg
+ mono_string_equal@VER_1 3.2.1+dfsg
+ mono_string_from_bstr@VER_1 3.2.1+dfsg
+ mono_string_from_utf16@VER_1 3.2.1+dfsg
+ mono_string_hash@VER_1 3.2.1+dfsg
+ mono_string_intern@VER_1 3.2.1+dfsg
+ mono_string_is_interned@VER_1 3.2.1+dfsg
+ mono_string_length@VER_1 3.2.1+dfsg
+ mono_string_new@VER_1 3.2.1+dfsg
+ mono_string_new_len@VER_1 3.2.1+dfsg
+ mono_string_new_size@VER_1 3.2.1+dfsg
+ mono_string_new_utf16@VER_1 3.2.1+dfsg
+ mono_string_new_wrapper@VER_1 3.2.1+dfsg
+ mono_string_to_utf16@VER_1 3.2.1+dfsg
+ mono_string_to_utf8@VER_1 3.2.1+dfsg
+ mono_string_to_utf8_checked@VER_1 3.2.1+dfsg
+ mono_stringify_assembly_name@VER_1 3.2.1+dfsg
+ mono_strtod_mutex@VER_1 3.2.1+dfsg
+ mono_table_info_get_rows@VER_1 3.2.1+dfsg
+ mono_thread_attach@VER_1 3.2.1+dfsg
+ mono_thread_attach_aborted_cb@VER_1 3.2.1+dfsg
+ mono_thread_cleanup@VER_1 3.2.1+dfsg
+ mono_thread_create@VER_1 3.2.1+dfsg
+ mono_thread_current@VER_1 3.2.1+dfsg
+ mono_thread_detach@VER_1 3.2.1+dfsg
+ mono_thread_exit@VER_1 3.2.1+dfsg
+ mono_thread_get_main@VER_1 3.2.1+dfsg
+ mono_thread_get_undeniable_exception@VER_1 3.2.1+dfsg
+ mono_thread_init@VER_1 3.2.1+dfsg
+ mono_thread_is_foreign@VER_1 3.2.1+dfsg
+ mono_thread_manage@VER_1 3.2.1+dfsg
+ mono_thread_new_init@VER_1 3.2.1+dfsg
+ mono_thread_set_main@VER_1 3.2.1+dfsg
+ mono_thread_set_manage_callback@VER_1 3.2.1+dfsg
+ mono_thread_stop@VER_1 3.2.1+dfsg
+ mono_threads_create_thread@VER_1 3.2.8+dfsg
+ mono_threads_get_default_stacksize@VER_1 3.2.1+dfsg
+ mono_threads_request_thread_dump@VER_1 3.2.1+dfsg
+ mono_threads_set_default_stacksize@VER_1 3.2.1+dfsg
+ mono_tls_key_get_offset@VER_1 3.2.8+dfsg
+ mono_tls_key_set_offset@VER_1 3.2.8+dfsg
+ mono_trace_set_level_string@VER_1 3.2.1+dfsg
+ mono_trace_set_mask_string@VER_1 3.2.1+dfsg
+ mono_trampoline_code@VER_1 3.2.1+dfsg
+ mono_type_create_from_typespec@VER_1 3.2.1+dfsg
+ mono_type_full_name@VER_1 3.2.1+dfsg
+ mono_type_generic_inst_is_valuetype@VER_1 3.2.1+dfsg
+ mono_type_get_array_type@VER_1 3.2.1+dfsg
+ mono_type_get_class@VER_1 3.2.1+dfsg
+ mono_type_get_desc@VER_1 3.2.1+dfsg
+ mono_type_get_modifiers@VER_1 3.2.1+dfsg
+ mono_type_get_name@VER_1 3.2.1+dfsg
+ mono_type_get_object@VER_1 3.2.1+dfsg
+ mono_type_get_ptr_type@VER_1 3.2.1+dfsg
+ mono_type_get_signature@VER_1 3.2.1+dfsg
+ mono_type_get_type@VER_1 3.2.1+dfsg
+ mono_type_get_underlying_type@VER_1 3.2.1+dfsg
+ mono_type_is_byref@VER_1 3.2.1+dfsg
+ mono_type_is_pointer@VER_1 3.2.1+dfsg
+ mono_type_is_reference@VER_1 3.2.1+dfsg
+ mono_type_is_struct@VER_1 3.2.1+dfsg
+ mono_type_is_valid_enum_basetype@VER_1 3.2.1+dfsg
+ mono_type_is_void@VER_1 3.2.1+dfsg
+ mono_type_size@VER_1 3.2.1+dfsg
+ mono_type_stack_size@VER_1 3.2.1+dfsg
+ mono_type_to_unmanaged@VER_1 3.2.1+dfsg
+ mono_unhandled_exception@VER_1 3.2.1+dfsg
+ mono_unicode_from_external@VER_1 3.2.1+dfsg
+ mono_unicode_to_external@VER_1 3.2.1+dfsg
+ mono_upgrade_remote_class_wrapper@VER_1 3.2.1+dfsg
+ mono_use_imt@VER_1 3.2.1+dfsg
+ mono_use_llvm@VER_1 3.2.1+dfsg
+ mono_utf8_from_external@VER_1 3.2.1+dfsg
+ mono_utf8_validate_and_len@VER_1 3.2.1+dfsg
+ mono_utf8_validate_and_len_with_bounds@VER_1 3.2.1+dfsg
+ mono_valloc@VER_1 3.2.1+dfsg
+ mono_valloc_aligned@VER_1 3.2.1+dfsg
+ mono_value_box@VER_1 3.2.1+dfsg
+ mono_value_copy@VER_1 3.2.1+dfsg
+ mono_value_copy_array@VER_1 3.2.1+dfsg
+ mono_value_describe_fields@VER_1 3.2.1+dfsg
+ mono_verify_corlib@VER_1 3.2.1+dfsg
+ mono_vfree@VER_1 3.2.1+dfsg
+ mono_vtable_get_static_field_data@VER_1 3.2.1+dfsg
+ mono_win32_compat_CopyMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_FillMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_MoveMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_ZeroMemory@VER_1 3.2.1+dfsg
+ mono_xdebug_flush@VER_1 3.2.1+dfsg
+ mono_binary_search@VER_1 3.2.3+dfsg
+ mono_config_is_server_mode@VER_1 3.2.3+dfsg
+ mono_config_set_server_mode@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonoboehm-2.0-1.symbols.amd64 b/debian/libmonoboehm-2.0-1.symbols.amd64
new file mode 100644
index 0000000000..5334c9eb73
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.amd64
@@ -0,0 +1 @@
+#include "libmonoboehm-2.0-1.symbols.i386"
diff --git a/debian/libmonoboehm-2.0-1.symbols.armel b/debian/libmonoboehm-2.0-1.symbols.armel
new file mode 100644
index 0000000000..b04bc38dde
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.armel
@@ -0,0 +1,23 @@
+#include "libmonoboehm-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_read16@VER_1 3.2.1+dfsg
+ mono_read32@VER_1 3.2.1+dfsg
+ mono_read64@VER_1 3.2.1+dfsg
+ mono_arm_emit_load_imm@VER_1 3.2.1+dfsg
+ mono_arm_is_rotated_imm8@VER_1 3.2.1+dfsg
+ mono_arm_patchable_b@VER_1 3.2.1+dfsg
+ mono_arm_patchable_bl@VER_1 3.2.1+dfsg
+ mono_arm_resume_unwind@VER_1 3.2.1+dfsg
+ mono_arm_throw_exception@VER_1 3.2.1+dfsg
+ mono_arm_throw_exception_by_token@VER_1 3.2.1+dfsg
+ mono_arm_thumb_supported@VER_1 3.2.1+dfsg
+ mono_hwcap_arm_has_thumb2@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_thumb@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_vfp@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_vfp3@VER_1 3.2.3+dfsg-4~
+ mono_hwcap_arm_has_vfp3_d16@VER_1 3.2.3+dfsg-4~
+ mono_hwcap_arm_is_v5@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v6@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v7@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v7s@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonoboehm-2.0-1.symbols.armhf b/debian/libmonoboehm-2.0-1.symbols.armhf
new file mode 100644
index 0000000000..7c7402f6a9
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.armhf
@@ -0,0 +1 @@
+#include "libmonoboehm-2.0-1.symbols.armel"
diff --git a/debian/libmonoboehm-2.0-1.symbols.i386 b/debian/libmonoboehm-2.0-1.symbols.i386
new file mode 100644
index 0000000000..ded2915fd7
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.i386
@@ -0,0 +1,14 @@
+#include "libmonoboehm-2.0-1.symbols"
+ mono_breakpoint_clean_code@VER_1 3.2.1+dfsg
+ mono_breakpoint_info@VER_1 3.2.1+dfsg
+ mono_hwcap_x86_has_cmov@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_fcmov@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse1@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse2@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse3@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse41@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse42@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse4a@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_ssse3@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_is_xen@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonoboehm-2.0-1.symbols.kfreebsd-amd64 b/debian/libmonoboehm-2.0-1.symbols.kfreebsd-amd64
new file mode 100644
index 0000000000..5c29e07340
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.kfreebsd-amd64
@@ -0,0 +1 @@
+#include "libmonoboehm-2.0-1.symbols.amd64"
diff --git a/debian/libmonoboehm-2.0-1.symbols.kfreebsd-i386 b/debian/libmonoboehm-2.0-1.symbols.kfreebsd-i386
new file mode 100644
index 0000000000..5334c9eb73
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.kfreebsd-i386
@@ -0,0 +1 @@
+#include "libmonoboehm-2.0-1.symbols.i386"
diff --git a/debian/libmonoboehm-2.0-1.symbols.mipsel b/debian/libmonoboehm-2.0-1.symbols.mipsel
new file mode 100644
index 0000000000..756ef26605
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.mipsel
@@ -0,0 +1,9 @@
+#include "libmonoboehm-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_read16@VER_1 3.2.1+dfsg
+ mono_read32@VER_1 3.2.1+dfsg
+ mono_read64@VER_1 3.2.1+dfsg
+ mono_arch_emit_epilog_sub@VER_1 3.2.1+dfsg
+ mono_arch_emit_this_vret_args@VER_1 3.2.1+dfsg
+ mono_arch_get_inst_for_method@VER_1 3.2.1+dfsg
+
diff --git a/debian/libmonoboehm-2.0-1.symbols.powerpc b/debian/libmonoboehm-2.0-1.symbols.powerpc
new file mode 100644
index 0000000000..fbe33a5bb2
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.powerpc
@@ -0,0 +1,8 @@
+#include "libmonoboehm-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_hwcap_ppc_has_icache_snoop@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_has_move_fpr_gpr@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_has_multiple_ls_units@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_is_isa_2x@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_is_isa_64@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonoboehm-2.0-1.symbols.s390x b/debian/libmonoboehm-2.0-1.symbols.s390x
new file mode 100644
index 0000000000..0b10320918
--- /dev/null
+++ b/debian/libmonoboehm-2.0-1.symbols.s390x
@@ -0,0 +1,4 @@
+#include "libmonoboehm-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_hwcap_s390x_has_ld@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonoboehm-2.0-dev.install b/debian/libmonoboehm-2.0-dev.install
new file mode 100644
index 0000000000..4af2b6c359
--- /dev/null
+++ b/debian/libmonoboehm-2.0-dev.install
@@ -0,0 +1,2 @@
+usr/lib/libmonoboehm-2.0.so
+usr/lib/libmonoboehm-2.0.a
diff --git a/debian/libmonosgen-2.0-1.install b/debian/libmonosgen-2.0-1.install
new file mode 100644
index 0000000000..72cb2e8226
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.install
@@ -0,0 +1 @@
+/usr/lib/libmonosgen-2.0.so.*
diff --git a/debian/libmonosgen-2.0-1.symbols b/debian/libmonosgen-2.0-1.symbols
new file mode 100644
index 0000000000..dcff94772f
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols
@@ -0,0 +1,908 @@
+libmonosgen-2.0.so.1 libmonosgen-2.0-1 #MINVER#
+ VER_1@VER_1 3.2.1+dfsg
+ mono_add_internal_call@VER_1 3.2.1+dfsg
+ mono_aot_only@VER_1 3.2.1+dfsg
+ mono_aot_register_globals@VER_1 3.2.1+dfsg
+ mono_aot_register_module@VER_1 3.2.1+dfsg
+ mono_array_addr_with_size@VER_1 3.2.1+dfsg
+ mono_array_class_get@VER_1 3.2.1+dfsg
+ mono_array_clone@VER_1 3.2.1+dfsg
+ mono_array_element_size@VER_1 3.2.1+dfsg
+ mono_array_length@VER_1 3.2.1+dfsg
+ mono_array_new@VER_1 3.2.1+dfsg
+ mono_array_new_full@VER_1 3.2.1+dfsg
+ mono_array_new_specific@VER_1 3.2.1+dfsg
+ mono_assemblies_cleanup@VER_1 3.2.1+dfsg
+ mono_assemblies_init@VER_1 3.2.1+dfsg
+ mono_assembly_close@VER_1 3.2.1+dfsg
+ mono_assembly_fill_assembly_name@VER_1 3.2.1+dfsg
+ mono_assembly_foreach@VER_1 3.2.1+dfsg
+ mono_assembly_get_assemblyref@VER_1 3.2.1+dfsg
+ mono_assembly_get_image@VER_1 3.2.1+dfsg
+ mono_assembly_get_main@VER_1 3.2.1+dfsg
+ mono_assembly_get_object@VER_1 3.2.1+dfsg
+ mono_assembly_getrootdir@VER_1 3.2.1+dfsg
+ mono_assembly_invoke_load_hook@VER_1 3.2.1+dfsg
+ mono_assembly_invoke_search_hook@VER_1 3.2.1+dfsg
+ mono_assembly_load@VER_1 3.2.1+dfsg
+ mono_assembly_load_from@VER_1 3.2.1+dfsg
+ mono_assembly_load_from_full@VER_1 3.2.1+dfsg
+ mono_assembly_load_full@VER_1 3.2.1+dfsg
+ mono_assembly_load_module@VER_1 3.2.1+dfsg
+ mono_assembly_load_reference@VER_1 3.2.1+dfsg
+ mono_assembly_load_references@VER_1 3.2.1+dfsg
+ mono_assembly_load_with_partial_name@VER_1 3.2.1+dfsg
+ mono_assembly_loaded@VER_1 3.2.1+dfsg
+ mono_assembly_loaded_full@VER_1 3.2.1+dfsg
+ mono_assembly_name_free@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_culture@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_name@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_pubkeytoken@VER_1 3.2.1+dfsg
+ mono_assembly_name_get_version@VER_1 3.2.1+dfsg
+ mono_assembly_name_new@VER_1 3.2.1+dfsg
+ mono_assembly_names_equal@VER_1 3.2.1+dfsg
+ mono_assembly_open@VER_1 3.2.1+dfsg
+ mono_assembly_open_full@VER_1 3.2.1+dfsg
+ mono_assembly_set_main@VER_1 3.2.1+dfsg
+ mono_assembly_setrootdir@VER_1 3.2.1+dfsg
+ mono_bitset_alloc_size@VER_1 3.2.1+dfsg
+ mono_bitset_clear@VER_1 3.2.1+dfsg
+ mono_bitset_clear_all@VER_1 3.2.1+dfsg
+ mono_bitset_clone@VER_1 3.2.1+dfsg
+ mono_bitset_copyto@VER_1 3.2.1+dfsg
+ mono_bitset_count@VER_1 3.2.1+dfsg
+ mono_bitset_equal@VER_1 3.2.1+dfsg
+ mono_bitset_find_first@VER_1 3.2.1+dfsg
+ mono_bitset_find_first_unset@VER_1 3.2.1+dfsg
+ mono_bitset_find_last@VER_1 3.2.1+dfsg
+ mono_bitset_find_start@VER_1 3.2.1+dfsg
+ mono_bitset_foreach@VER_1 3.2.1+dfsg
+ mono_bitset_free@VER_1 3.2.1+dfsg
+ mono_bitset_intersection@VER_1 3.2.1+dfsg
+ mono_bitset_intersection_2@VER_1 3.2.1+dfsg
+ mono_bitset_invert@VER_1 3.2.1+dfsg
+ mono_bitset_mem_new@VER_1 3.2.1+dfsg
+ mono_bitset_new@VER_1 3.2.1+dfsg
+ mono_bitset_set@VER_1 3.2.1+dfsg
+ mono_bitset_set_all@VER_1 3.2.1+dfsg
+ mono_bitset_size@VER_1 3.2.1+dfsg
+ mono_bitset_sub@VER_1 3.2.1+dfsg
+ mono_bitset_test@VER_1 3.2.1+dfsg
+ mono_bitset_test_bulk@VER_1 3.2.1+dfsg
+ mono_bitset_union@VER_1 3.2.1+dfsg
+ mono_bounded_array_class_get@VER_1 3.2.1+dfsg
+ mono_break_at_bb_bb_num@VER_1 3.2.1+dfsg
+ mono_break_at_bb_method@VER_1 3.2.1+dfsg
+ mono_breakpoint_info_index@VER_1 3.2.1+dfsg
+ mono_build_date@VER_1 3.2.1+dfsg
+ mono_check_corlib_version@VER_1 3.2.1+dfsg
+ mono_class_array_element_size@VER_1 3.2.1+dfsg
+ mono_class_data_size@VER_1 3.2.1+dfsg
+ mono_class_describe_statics@VER_1 3.2.1+dfsg
+ mono_class_enum_basetype@VER_1 3.2.1+dfsg
+ mono_class_from_generic_parameter@VER_1 3.2.1+dfsg
+ mono_class_from_mono_type@VER_1 3.2.1+dfsg
+ mono_class_from_name@VER_1 3.2.1+dfsg
+ mono_class_from_name_case@VER_1 3.2.1+dfsg
+ mono_class_from_typeref@VER_1 3.2.1+dfsg
+ mono_class_get@VER_1 3.2.1+dfsg
+ mono_class_get_byref_type@VER_1 3.2.1+dfsg
+ mono_class_get_com_object_class@VER_1 3.2.1+dfsg
+ mono_class_get_element_class@VER_1 3.2.1+dfsg
+ mono_class_get_event_token@VER_1 3.2.1+dfsg
+ mono_class_get_events@VER_1 3.2.1+dfsg
+ mono_class_get_field@VER_1 3.2.1+dfsg
+ mono_class_get_field_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_field_token@VER_1 3.2.1+dfsg
+ mono_class_get_fields@VER_1 3.2.1+dfsg
+ mono_class_get_flags@VER_1 3.2.1+dfsg
+ mono_class_get_full@VER_1 3.2.1+dfsg
+ mono_class_get_idispatch_class@VER_1 3.2.1+dfsg
+ mono_class_get_image@VER_1 3.2.1+dfsg
+ mono_class_get_interfaces@VER_1 3.2.1+dfsg
+ mono_class_get_interop_proxy_class@VER_1 3.2.1+dfsg
+ mono_class_get_iunknown_class@VER_1 3.2.1+dfsg
+ mono_class_get_method_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_method_from_name_flags@VER_1 3.2.1+dfsg
+ mono_class_get_methods@VER_1 3.2.1+dfsg
+ mono_class_get_name@VER_1 3.2.1+dfsg
+ mono_class_get_namespace@VER_1 3.2.1+dfsg
+ mono_class_get_nested_types@VER_1 3.2.1+dfsg
+ mono_class_get_nesting_type@VER_1 3.2.1+dfsg
+ mono_class_get_parent@VER_1 3.2.1+dfsg
+ mono_class_get_properties@VER_1 3.2.1+dfsg
+ mono_class_get_property_from_name@VER_1 3.2.1+dfsg
+ mono_class_get_property_token@VER_1 3.2.1+dfsg
+ mono_class_get_rank@VER_1 3.2.1+dfsg
+ mono_class_get_type@VER_1 3.2.1+dfsg
+ mono_class_get_type_token@VER_1 3.2.1+dfsg
+ mono_class_get_variant_class@VER_1 3.2.1+dfsg
+ mono_class_implements_interface@VER_1 3.2.8+dfsg
+ mono_class_inflate_generic_method@VER_1 3.2.1+dfsg
+ mono_class_inflate_generic_type@VER_1 3.2.1+dfsg
+ mono_class_init@VER_1 3.2.1+dfsg
+ mono_class_instance_size@VER_1 3.2.1+dfsg
+ mono_class_interface_offset@VER_1 3.2.1+dfsg
+ mono_class_is_assignable_from@VER_1 3.2.1+dfsg
+ mono_class_is_delegate@VER_1 3.2.8+dfsg
+ mono_class_is_enum@VER_1 3.2.1+dfsg
+ mono_class_is_subclass_of@VER_1 3.2.1+dfsg
+ mono_class_is_valid_enum@VER_1 3.2.1+dfsg
+ mono_class_is_valuetype@VER_1 3.2.1+dfsg
+ mono_class_min_align@VER_1 3.2.1+dfsg
+ mono_class_name_from_token@VER_1 3.2.1+dfsg
+ mono_class_num_events@VER_1 3.2.1+dfsg
+ mono_class_num_fields@VER_1 3.2.1+dfsg
+ mono_class_num_methods@VER_1 3.2.1+dfsg
+ mono_class_num_properties@VER_1 3.2.1+dfsg
+ mono_class_value_size@VER_1 3.2.1+dfsg
+ mono_class_vtable@VER_1 3.2.1+dfsg
+ mono_cli_rva_image_map@VER_1 3.2.1+dfsg
+ mono_code_manager_cleanup@VER_1 3.2.1+dfsg
+ mono_code_manager_commit@VER_1 3.2.1+dfsg
+ mono_code_manager_destroy@VER_1 3.2.1+dfsg
+ mono_code_manager_foreach@VER_1 3.2.1+dfsg
+ mono_code_manager_init@VER_1 3.2.1+dfsg
+ mono_code_manager_invalidate@VER_1 3.2.1+dfsg
+ mono_code_manager_new@VER_1 3.2.1+dfsg
+ mono_code_manager_new_dynamic@VER_1 3.2.1+dfsg
+ mono_code_manager_reserve@VER_1 3.2.1+dfsg
+ mono_code_manager_reserve_align@VER_1 3.2.1+dfsg
+ mono_code_manager_set_read_only@VER_1 3.2.1+dfsg
+ mono_code_manager_size@VER_1 3.2.1+dfsg
+ mono_compile_aot@VER_1 3.2.1+dfsg
+ mono_compile_method@VER_1 3.2.1+dfsg
+ mono_config_cleanup@VER_1 3.2.1+dfsg
+ mono_config_for_assembly@VER_1 3.2.1+dfsg
+ mono_config_parse@VER_1 3.2.1+dfsg
+ mono_config_parse_memory@VER_1 3.2.1+dfsg
+ mono_config_string_for_assembly_file@VER_1 3.2.1+dfsg
+ mono_context_get@VER_1 3.2.1+dfsg
+ mono_context_get_desc@VER_1 3.2.1+dfsg
+ mono_context_init@VER_1 3.2.1+dfsg
+ mono_context_set@VER_1 3.2.1+dfsg
+ mono_counters_cleanup@VER_1 3.2.1+dfsg
+ mono_counters_dump@VER_1 3.2.1+dfsg
+ mono_counters_enable@VER_1 3.2.1+dfsg
+ mono_counters_register@VER_1 3.2.1+dfsg
+ mono_current_single_method@VER_1 3.2.8+dfsg
+ mono_custom_attrs_construct@VER_1 3.2.1+dfsg
+ mono_custom_attrs_free@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_assembly@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_class@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_event@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_field@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_index@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_method@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_param@VER_1 3.2.1+dfsg
+ mono_custom_attrs_from_property@VER_1 3.2.1+dfsg
+ mono_custom_attrs_get_attr@VER_1 3.2.1+dfsg
+ mono_custom_attrs_has_attr@VER_1 3.2.1+dfsg
+ mono_debug_add_delegate_trampoline@VER_1 3.2.1+dfsg
+ mono_debug_add_method@VER_1 3.2.1+dfsg
+ mono_debug_cleanup@VER_1 3.2.1+dfsg
+ mono_debug_close_image@VER_1 3.2.1+dfsg
+ mono_debug_close_mono_symbol_file@VER_1 3.2.1+dfsg
+ mono_debug_domain_create@VER_1 3.2.1+dfsg
+ mono_debug_domain_unload@VER_1 3.2.1+dfsg
+ mono_debug_enabled@VER_1 3.2.8+dfsg
+ mono_debug_find_method@VER_1 3.2.1+dfsg
+ mono_debug_free_method_jit_info@VER_1 3.2.1+dfsg
+ mono_debug_free_source_location@VER_1 3.2.1+dfsg
+ mono_debug_il_offset_from_address@VER_1 3.2.1+dfsg
+ mono_debug_init@VER_1 3.2.1+dfsg
+ mono_debug_list_add@VER_1 3.2.1+dfsg
+ mono_debug_list_remove@VER_1 3.2.1+dfsg
+ mono_debug_lookup_locals@VER_1 3.2.1+dfsg
+ mono_debug_lookup_method@VER_1 3.2.1+dfsg
+ mono_debug_lookup_method_addresses@VER_1 3.2.1+dfsg
+ mono_debug_lookup_source_location@VER_1 3.2.1+dfsg
+ mono_debug_open_image_from_memory@VER_1 3.2.1+dfsg
+ mono_debug_open_mono_symbols@VER_1 3.2.1+dfsg
+ mono_debug_print_stack_frame@VER_1 3.2.1+dfsg
+ mono_debug_print_vars@VER_1 3.2.1+dfsg
+ mono_debug_remove_method@VER_1 3.2.1+dfsg
+ mono_debug_symfile_free_locals@VER_1 3.2.1+dfsg
+ mono_debug_symfile_free_location@VER_1 3.2.1+dfsg
+ mono_debug_symfile_get_line_numbers@VER_1 3.2.1+dfsg
+ mono_debug_symfile_get_line_numbers_full@VER_1 3.2.1+dfsg
+ mono_debug_symfile_is_loaded@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_locals@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_location@VER_1 3.2.1+dfsg
+ mono_debug_symfile_lookup_method@VER_1 3.2.1+dfsg
+ mono_debugger_agent_register_transport@VER_1 3.2.1+dfsg
+ mono_debugger_class_init_func@VER_1 3.2.1+dfsg
+ mono_debugger_insert_breakpoint@VER_1 3.2.1+dfsg
+ mono_debugger_method_has_breakpoint@VER_1 3.2.1+dfsg
+ mono_debugger_run_finally@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_assembly@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_class@VER_1 3.2.1+dfsg
+ mono_declsec_flags_from_method@VER_1 3.2.1+dfsg
+ mono_declsec_get_assembly_action@VER_1 3.2.1+dfsg
+ mono_declsec_get_class_action@VER_1 3.2.1+dfsg
+ mono_declsec_get_demands@VER_1 3.2.1+dfsg
+ mono_declsec_get_inheritdemands_class@VER_1 3.2.1+dfsg
+ mono_declsec_get_inheritdemands_method@VER_1 3.2.1+dfsg
+ mono_declsec_get_linkdemands@VER_1 3.2.1+dfsg
+ mono_declsec_get_method_action@VER_1 3.2.1+dfsg
+ mono_delegate_section@VER_1 3.2.1+dfsg
+ mono_digest_get_public_token@VER_1 3.2.1+dfsg
+ mono_disasm_code@VER_1 3.2.1+dfsg
+ mono_disasm_code_one@VER_1 3.2.1+dfsg
+ mono_dl_fallback_register@VER_1 3.2.1+dfsg
+ mono_dl_fallback_unregister@VER_1 3.2.1+dfsg
+ mono_dllmap_insert@VER_1 3.2.1+dfsg
+ mono_do_signal_chaining@VER_1 3.2.1+dfsg
+ mono_do_single_method_regression@VER_1 3.2.8+dfsg
+ mono_do_x86_stack_align@VER_1 3.2.1+dfsg
+ mono_domain_add_class_static_data@VER_1 3.2.1+dfsg
+ mono_domain_assembly_open@VER_1 3.2.1+dfsg
+ mono_domain_create@VER_1 3.2.1+dfsg
+ mono_domain_create_appdomain@VER_1 3.2.1+dfsg
+ mono_domain_finalize@VER_1 3.2.1+dfsg
+ mono_domain_foreach@VER_1 3.2.1+dfsg
+ mono_domain_free@VER_1 3.2.1+dfsg
+ mono_domain_from_appdomain@VER_1 3.2.1+dfsg
+ mono_domain_get@VER_1 3.2.1+dfsg
+ mono_domain_get_by_id@VER_1 3.2.1+dfsg
+ mono_domain_get_id@VER_1 3.2.1+dfsg
+ mono_domain_has_type_resolve@VER_1 3.2.1+dfsg
+ mono_domain_is_unloading@VER_1 3.2.1+dfsg
+ mono_domain_owns_vtable_slot@VER_1 3.2.1+dfsg
+ mono_domain_set@VER_1 3.2.1+dfsg
+ mono_domain_set_internal@VER_1 3.2.1+dfsg
+ mono_domain_try_type_resolve@VER_1 3.2.1+dfsg
+ mono_domain_try_unload@VER_1 3.2.1+dfsg
+ mono_domain_unload@VER_1 3.2.1+dfsg
+ mono_dont_free_domains@VER_1 3.2.1+dfsg
+ mono_dont_free_global_codeman@VER_1 3.2.1+dfsg
+ mono_dwarf_escape_path@VER_1 3.2.1+dfsg
+ mono_emit_native_call@VER_1 3.2.1+dfsg
+ mono_environment_exitcode_get@VER_1 3.2.1+dfsg
+ mono_environment_exitcode_set@VER_1 3.2.1+dfsg
+ mono_error_cleanup@VER_1 3.2.1+dfsg
+ mono_error_get_error_code@VER_1 3.2.1+dfsg
+ mono_error_get_message@VER_1 3.2.1+dfsg
+ mono_error_init@VER_1 3.2.1+dfsg
+ mono_error_init_flags@VER_1 3.2.1+dfsg
+ mono_error_ok@VER_1 3.2.1+dfsg
+ mono_escape_uri_string@VER_1 3.2.1+dfsg
+ mono_event_get_add_method@VER_1 3.2.1+dfsg
+ mono_event_get_flags@VER_1 3.2.1+dfsg
+ mono_event_get_name@VER_1 3.2.1+dfsg
+ mono_event_get_object@VER_1 3.2.1+dfsg
+ mono_event_get_parent@VER_1 3.2.1+dfsg
+ mono_event_get_raise_method@VER_1 3.2.1+dfsg
+ mono_event_get_remove_method@VER_1 3.2.1+dfsg
+ mono_exception_from_name@VER_1 3.2.1+dfsg
+ mono_exception_from_name_domain@VER_1 3.2.1+dfsg
+ mono_exception_from_name_msg@VER_1 3.2.1+dfsg
+ mono_exception_from_name_two_strings@VER_1 3.2.1+dfsg
+ mono_exception_from_token@VER_1 3.2.1+dfsg
+ mono_exception_from_token_two_strings@VER_1 3.2.1+dfsg
+ mono_exception_walk_trace@VER_1 3.2.1+dfsg
+ mono_field_from_token@VER_1 3.2.1+dfsg
+ mono_field_full_name@VER_1 3.2.1+dfsg
+ mono_field_get_data@VER_1 3.2.1+dfsg
+ mono_field_get_flags@VER_1 3.2.1+dfsg
+ mono_field_get_name@VER_1 3.2.1+dfsg
+ mono_field_get_object@VER_1 3.2.1+dfsg
+ mono_field_get_offset@VER_1 3.2.1+dfsg
+ mono_field_get_parent@VER_1 3.2.1+dfsg
+ mono_field_get_type@VER_1 3.2.1+dfsg
+ mono_field_get_value@VER_1 3.2.1+dfsg
+ mono_field_get_value_object@VER_1 3.2.1+dfsg
+ mono_field_set_value@VER_1 3.2.1+dfsg
+ mono_field_static_get_value@VER_1 3.2.1+dfsg
+ mono_field_static_set_value@VER_1 3.2.1+dfsg
+ mono_file_map@VER_1 3.2.1+dfsg
+ mono_file_map_close@VER_1 3.2.1+dfsg
+ mono_file_map_fd@VER_1 3.2.1+dfsg
+ mono_file_map_fileio@VER_1 3.2.1+dfsg
+ mono_file_map_open@VER_1 3.2.1+dfsg
+ mono_file_map_set_allocator@VER_1 3.2.1+dfsg
+ mono_file_map_size@VER_1 3.2.1+dfsg
+ mono_file_unmap@VER_1 3.2.1+dfsg
+ mono_file_unmap_fileio@VER_1 3.2.1+dfsg
+ mono_free@VER_1 3.2.1+dfsg
+ mono_free_bstr@VER_1 3.2.1+dfsg
+ mono_free_method@VER_1 3.2.1+dfsg
+ mono_free_verify_list@VER_1 3.2.1+dfsg
+ mono_g_hash_table_destroy@VER_1 3.2.1+dfsg
+ mono_g_hash_table_find@VER_1 3.2.1+dfsg
+ mono_g_hash_table_foreach@VER_1 3.2.1+dfsg
+ mono_g_hash_table_foreach_remove@VER_1 3.2.1+dfsg
+ mono_g_hash_table_insert@VER_1 3.2.1+dfsg
+ mono_g_hash_table_lookup@VER_1 3.2.1+dfsg
+ mono_g_hash_table_lookup_extended@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new_full@VER_1 3.2.1+dfsg
+ mono_g_hash_table_new_type@VER_1 3.2.1+dfsg
+ mono_g_hash_table_print_stats@VER_1 3.2.1+dfsg
+ mono_g_hash_table_remove@VER_1 3.2.1+dfsg
+ mono_g_hash_table_replace@VER_1 3.2.1+dfsg
+ mono_g_hash_table_size@VER_1 3.2.1+dfsg
+ mono_gc_collect@VER_1 3.2.1+dfsg
+ mono_gc_collection_count@VER_1 3.2.1+dfsg
+ mono_gc_enable_events@VER_1 3.2.1+dfsg
+ mono_gc_get_generation@VER_1 3.2.1+dfsg
+ mono_gc_get_heap_size@VER_1 3.2.1+dfsg
+ mono_gc_get_used_size@VER_1 3.2.1+dfsg
+ mono_gc_invoke_finalizers@VER_1 3.2.1+dfsg
+ mono_gc_is_finalizer_thread@VER_1 3.2.1+dfsg
+ mono_gc_make_root_descr_user@VER_1 3.2.1+dfsg
+ mono_gc_max_generation@VER_1 3.2.1+dfsg
+ mono_gc_out_of_memory@VER_1 3.2.1+dfsg
+ mono_gc_pthread_create@VER_1 3.2.1+dfsg
+ mono_gc_pthread_detach@VER_1 3.2.1+dfsg
+ mono_gc_pthread_exit@VER_1 3.2.1+dfsg
+ mono_gc_pthread_join@VER_1 3.2.1+dfsg
+ mono_gc_reference_queue_add@VER_1 3.2.8+dfsg
+ mono_gc_reference_queue_free@VER_1 3.2.8+dfsg
+ mono_gc_reference_queue_new@VER_1 3.2.8+dfsg
+ mono_gc_register_bridge_callbacks@VER_1 3.2.8+dfsg
+ mono_gc_scan_for_specific_ref@VER_1 3.2.8+dfsg
+ mono_gc_toggleref_add@VER_1 3.2.8+dfsg
+ mono_gc_toggleref_register_callback@VER_1 3.2.8+dfsg
+ mono_gc_wait_for_bridge_processing@VER_1 3.2.8+dfsg
+ mono_gc_walk_heap@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_arrayref_copy@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_nostore@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_store@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_generic_store_atomic@VER_1 3.2.3+dfsg
+ mono_gc_wbarrier_object_copy@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_set_arrayref@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_set_field@VER_1 3.2.1+dfsg
+ mono_gc_wbarrier_value_copy@VER_1 3.2.1+dfsg
+ mono_gchandle_free@VER_1 3.2.1+dfsg
+ mono_gchandle_get_target@VER_1 3.2.1+dfsg
+ mono_gchandle_new@VER_1 3.2.1+dfsg
+ mono_gchandle_new_weakref@VER_1 3.2.1+dfsg
+ mono_get_array_class@VER_1 3.2.1+dfsg
+ mono_get_boolean_class@VER_1 3.2.1+dfsg
+ mono_get_byte_class@VER_1 3.2.1+dfsg
+ mono_get_char_class@VER_1 3.2.1+dfsg
+ mono_get_config_dir@VER_1 3.2.1+dfsg
+ mono_get_corlib@VER_1 3.2.1+dfsg
+ mono_get_dbnull_object@VER_1 3.2.1+dfsg
+ mono_get_delegate_begin_invoke@VER_1 3.2.1+dfsg
+ mono_get_delegate_end_invoke@VER_1 3.2.1+dfsg
+ mono_get_delegate_invoke@VER_1 3.2.1+dfsg
+ mono_get_double_class@VER_1 3.2.1+dfsg
+ mono_get_enum_class@VER_1 3.2.1+dfsg
+ mono_get_exception_appdomain_unloaded@VER_1 3.2.1+dfsg
+ mono_get_exception_argument@VER_1 3.2.1+dfsg
+ mono_get_exception_argument_null@VER_1 3.2.1+dfsg
+ mono_get_exception_argument_out_of_range@VER_1 3.2.1+dfsg
+ mono_get_exception_arithmetic@VER_1 3.2.1+dfsg
+ mono_get_exception_array_type_mismatch@VER_1 3.2.1+dfsg
+ mono_get_exception_bad_image_format2@VER_1 3.2.1+dfsg
+ mono_get_exception_bad_image_format@VER_1 3.2.1+dfsg
+ mono_get_exception_cannot_unload_appdomain@VER_1 3.2.1+dfsg
+ mono_get_exception_class@VER_1 3.2.1+dfsg
+ mono_get_exception_divide_by_zero@VER_1 3.2.1+dfsg
+ mono_get_exception_execution_engine@VER_1 3.2.1+dfsg
+ mono_get_exception_field_access@VER_1 3.2.1+dfsg
+ mono_get_exception_file_not_found2@VER_1 3.2.1+dfsg
+ mono_get_exception_file_not_found@VER_1 3.2.1+dfsg
+ mono_get_exception_index_out_of_range@VER_1 3.2.1+dfsg
+ mono_get_exception_invalid_cast@VER_1 3.2.1+dfsg
+ mono_get_exception_invalid_operation@VER_1 3.2.1+dfsg
+ mono_get_exception_io@VER_1 3.2.1+dfsg
+ mono_get_exception_method_access@VER_1 3.2.1+dfsg
+ mono_get_exception_missing_field@VER_1 3.2.1+dfsg
+ mono_get_exception_missing_method@VER_1 3.2.1+dfsg
+ mono_get_exception_not_implemented@VER_1 3.2.1+dfsg
+ mono_get_exception_not_supported@VER_1 3.2.1+dfsg
+ mono_get_exception_null_reference@VER_1 3.2.1+dfsg
+ mono_get_exception_out_of_memory@VER_1 3.2.1+dfsg
+ mono_get_exception_overflow@VER_1 3.2.1+dfsg
+ mono_get_exception_reflection_type_load@VER_1 3.2.1+dfsg
+ mono_get_exception_runtime_wrapped@VER_1 3.2.1+dfsg
+ mono_get_exception_security@VER_1 3.2.1+dfsg
+ mono_get_exception_serialization@VER_1 3.2.1+dfsg
+ mono_get_exception_stack_overflow@VER_1 3.2.1+dfsg
+ mono_get_exception_synchronization_lock@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_abort@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_interrupted@VER_1 3.2.1+dfsg
+ mono_get_exception_thread_state@VER_1 3.2.1+dfsg
+ mono_get_exception_type_initialization@VER_1 3.2.1+dfsg
+ mono_get_exception_type_load@VER_1 3.2.1+dfsg
+ mono_get_inflated_method@VER_1 3.2.1+dfsg
+ mono_get_int16_class@VER_1 3.2.1+dfsg
+ mono_get_int32_class@VER_1 3.2.1+dfsg
+ mono_get_int64_class@VER_1 3.2.1+dfsg
+ mono_get_intptr_class@VER_1 3.2.1+dfsg
+ mono_get_machine_config@VER_1 3.2.1+dfsg
+ mono_get_method@VER_1 3.2.1+dfsg
+ mono_get_method_constrained@VER_1 3.2.1+dfsg
+ mono_get_method_full@VER_1 3.2.1+dfsg
+ mono_get_object_class@VER_1 3.2.1+dfsg
+ mono_get_root_domain@VER_1 3.2.1+dfsg
+ mono_get_runtime_build_info@VER_1 3.2.1+dfsg
+ mono_get_sbyte_class@VER_1 3.2.1+dfsg
+ mono_get_single_class@VER_1 3.2.1+dfsg
+ mono_get_string_class@VER_1 3.2.1+dfsg
+ mono_get_thread_class@VER_1 3.2.1+dfsg
+ mono_get_trampoline_func@VER_1 3.2.1+dfsg
+ mono_get_uint16_class@VER_1 3.2.1+dfsg
+ mono_get_uint32_class@VER_1 3.2.1+dfsg
+ mono_get_uint64_class@VER_1 3.2.1+dfsg
+ mono_get_uintptr_class@VER_1 3.2.1+dfsg
+ mono_get_void_class@VER_1 3.2.1+dfsg
+ mono_guid_to_string@VER_1 3.2.1+dfsg
+ mono_image_add_to_name_cache@VER_1 3.2.1+dfsg
+ mono_image_addref@VER_1 3.2.1+dfsg
+ mono_image_close@VER_1 3.2.1+dfsg
+ mono_image_ensure_section@VER_1 3.2.1+dfsg
+ mono_image_ensure_section_idx@VER_1 3.2.1+dfsg
+ mono_image_fixup_vtable@VER_1 3.2.1+dfsg
+ mono_image_get_assembly@VER_1 3.2.1+dfsg
+ mono_image_get_entry_point@VER_1 3.2.1+dfsg
+ mono_image_get_filename@VER_1 3.2.1+dfsg
+ mono_image_get_guid@VER_1 3.2.1+dfsg
+ mono_image_get_name@VER_1 3.2.1+dfsg
+ mono_image_get_public_key@VER_1 3.2.1+dfsg
+ mono_image_get_resource@VER_1 3.2.1+dfsg
+ mono_image_get_strong_name@VER_1 3.2.1+dfsg
+ mono_image_get_table_info@VER_1 3.2.1+dfsg
+ mono_image_get_table_rows@VER_1 3.2.1+dfsg
+ mono_image_has_authenticode_entry@VER_1 3.2.1+dfsg
+ mono_image_init@VER_1 3.2.1+dfsg
+ mono_image_init_name_cache@VER_1 3.2.1+dfsg
+ mono_image_is_dynamic@VER_1 3.2.1+dfsg
+ mono_image_load_file_for_image@VER_1 3.2.1+dfsg
+ mono_image_load_module@VER_1 3.2.1+dfsg
+ mono_image_loaded@VER_1 3.2.1+dfsg
+ mono_image_loaded_by_guid@VER_1 3.2.1+dfsg
+ mono_image_loaded_by_guid_full@VER_1 3.2.1+dfsg
+ mono_image_loaded_full@VER_1 3.2.1+dfsg
+ mono_image_lookup_resource@VER_1 3.2.1+dfsg
+ mono_image_open@VER_1 3.2.1+dfsg
+ mono_image_open_from_data@VER_1 3.2.1+dfsg
+ mono_image_open_from_data_full@VER_1 3.2.1+dfsg
+ mono_image_open_from_data_with_name@VER_1 3.2.1+dfsg
+ mono_image_open_full@VER_1 3.2.1+dfsg
+ mono_image_rva_map@VER_1 3.2.1+dfsg
+ mono_image_strerror@VER_1 3.2.1+dfsg
+ mono_image_strong_name_position@VER_1 3.2.1+dfsg
+ mono_images_cleanup@VER_1 3.2.1+dfsg
+ mono_images_init@VER_1 3.2.1+dfsg
+ mono_init@VER_1 3.2.1+dfsg
+ mono_init_from_assembly@VER_1 3.2.1+dfsg
+ mono_init_version@VER_1 3.2.1+dfsg
+ mono_inject_async_exc_method@VER_1 3.2.1+dfsg
+ mono_inject_async_exc_pos@VER_1 3.2.1+dfsg
+ mono_inst_name@VER_1 3.2.1+dfsg
+ mono_install_assembly_load_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_postload_refonly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_postload_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_preload_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_refonly_preload_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_refonly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_assembly_search_hook@VER_1 3.2.1+dfsg
+ mono_install_runtime_cleanup@VER_1 3.2.1+dfsg
+ mono_install_threadpool_item_hooks@VER_1 3.2.1+dfsg
+ mono_install_threadpool_thread_hooks@VER_1 3.2.1+dfsg
+ mono_install_unhandled_exception_hook@VER_1 3.2.1+dfsg
+ mono_invoke_unhandled_exception_hook@VER_1 3.2.1+dfsg
+ mono_is_debugger_attached@VER_1 3.2.1+dfsg
+ mono_jit_cleanup@VER_1 3.2.1+dfsg
+ mono_jit_exec@VER_1 3.2.1+dfsg
+ mono_jit_info_get_code_size@VER_1 3.2.1+dfsg
+ mono_jit_info_get_code_start@VER_1 3.2.1+dfsg
+ mono_jit_info_get_method@VER_1 3.2.1+dfsg
+ mono_jit_info_table_find@VER_1 3.2.1+dfsg
+ mono_jit_init@VER_1 3.2.1+dfsg
+ mono_jit_init_version@VER_1 3.2.1+dfsg
+ mono_jit_parse_options@VER_1 3.2.1+dfsg
+ mono_jit_set_aot_only@VER_1 3.2.1+dfsg
+ mono_jit_set_domain@VER_1 3.2.1+dfsg
+ mono_jit_set_trace_options@VER_1 3.2.1+dfsg
+ mono_jit_stats@VER_1 3.2.1+dfsg
+ mono_jit_thread_attach@VER_1 3.2.1+dfsg
+ mono_jit_tls_id@VER_1 3.2.1+dfsg
+ mono_jit_trace_calls@VER_1 3.2.1+dfsg
+ mono_ldstr@VER_1 3.2.1+dfsg
+ mono_ldtoken@VER_1 3.2.1+dfsg
+ mono_lls_init@VER_1 3.2.1+dfsg
+ mono_load_remote_field@VER_1 3.2.1+dfsg
+ mono_load_remote_field_new@VER_1 3.2.1+dfsg
+ mono_local_deadce@VER_1 3.2.1+dfsg
+ mono_locks_dump@VER_1 3.2.1+dfsg
+ mono_lookup_icall_symbol@VER_1 3.2.1+dfsg
+ mono_lookup_internal_call@VER_1 3.2.1+dfsg
+ mono_lookup_pinvoke_call@VER_1 3.2.1+dfsg
+ mono_main@VER_1 3.2.1+dfsg
+ mono_marshal_string_to_utf16@VER_1 3.2.1+dfsg
+ mono_md5_final@VER_1 3.2.1+dfsg
+ mono_md5_get_digest@VER_1 3.2.1+dfsg
+ mono_md5_get_digest_from_file@VER_1 3.2.1+dfsg
+ mono_md5_init@VER_1 3.2.1+dfsg
+ mono_md5_update@VER_1 3.2.1+dfsg
+ mono_mempool_alloc0@VER_1 3.2.1+dfsg
+ mono_mempool_alloc@VER_1 3.2.1+dfsg
+ mono_mempool_contains_addr@VER_1 3.2.1+dfsg
+ mono_mempool_destroy@VER_1 3.2.1+dfsg
+ mono_mempool_empty@VER_1 3.2.1+dfsg
+ mono_mempool_get_allocated@VER_1 3.2.1+dfsg
+ mono_mempool_invalidate@VER_1 3.2.1+dfsg
+ mono_mempool_new@VER_1 3.2.1+dfsg
+ mono_mempool_new_size@VER_1 3.2.1+dfsg
+ mono_mempool_stats@VER_1 3.2.1+dfsg
+ mono_mempool_strdup@VER_1 3.2.1+dfsg
+ mono_metadata_blob_heap@VER_1 3.2.1+dfsg
+ mono_metadata_cleanup@VER_1 3.2.1+dfsg
+ mono_metadata_compute_size@VER_1 3.2.1+dfsg
+ mono_metadata_custom_attrs_from_index@VER_1 3.2.1+dfsg
+ mono_metadata_declsec_from_index@VER_1 3.2.1+dfsg
+ mono_metadata_decode_blob_size@VER_1 3.2.1+dfsg
+ mono_metadata_decode_row@VER_1 3.2.1+dfsg
+ mono_metadata_decode_row_col@VER_1 3.2.1+dfsg
+ mono_metadata_decode_signed_value@VER_1 3.2.1+dfsg
+ mono_metadata_decode_table_row@VER_1 3.2.1+dfsg
+ mono_metadata_decode_table_row_col@VER_1 3.2.1+dfsg
+ mono_metadata_decode_value@VER_1 3.2.1+dfsg
+ mono_metadata_encode_value@VER_1 3.2.1+dfsg
+ mono_metadata_events_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_field_info@VER_1 3.2.1+dfsg
+ mono_metadata_field_info_with_mempool@VER_1 3.2.1+dfsg
+ mono_metadata_free_array@VER_1 3.2.1+dfsg
+ mono_metadata_free_inflated_signature@VER_1 3.2.1+dfsg
+ mono_metadata_free_marshal_spec@VER_1 3.2.1+dfsg
+ mono_metadata_free_method_signature@VER_1 3.2.1+dfsg
+ mono_metadata_free_mh@VER_1 3.2.1+dfsg
+ mono_metadata_free_type@VER_1 3.2.1+dfsg
+ mono_metadata_generic_class_is_valuetype@VER_1 3.2.1+dfsg
+ mono_metadata_get_constant_index@VER_1 3.2.1+dfsg
+ mono_metadata_get_generic_param_row@VER_1 3.2.1+dfsg
+ mono_metadata_get_inflated_signature@VER_1 3.2.1+dfsg
+ mono_metadata_get_marshal_info@VER_1 3.2.1+dfsg
+ mono_metadata_guid_heap@VER_1 3.2.1+dfsg
+ mono_metadata_implmap_from_method@VER_1 3.2.1+dfsg
+ mono_metadata_init@VER_1 3.2.1+dfsg
+ mono_metadata_interfaces_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_load_generic_param_constraints@VER_1 3.2.1+dfsg
+ mono_metadata_load_generic_params@VER_1 3.2.1+dfsg
+ mono_metadata_locate@VER_1 3.2.1+dfsg
+ mono_metadata_locate_token@VER_1 3.2.1+dfsg
+ mono_metadata_methods_from_event@VER_1 3.2.1+dfsg
+ mono_metadata_methods_from_property@VER_1 3.2.1+dfsg
+ mono_metadata_nested_in_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_nesting_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_packing_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_parse_array@VER_1 3.2.1+dfsg
+ mono_metadata_parse_custom_mod@VER_1 3.2.1+dfsg
+ mono_metadata_parse_field_type@VER_1 3.2.1+dfsg
+ mono_metadata_parse_marshal_spec@VER_1 3.2.1+dfsg
+ mono_metadata_parse_method_signature@VER_1 3.2.1+dfsg
+ mono_metadata_parse_method_signature_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_mh@VER_1 3.2.1+dfsg
+ mono_metadata_parse_mh_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_param@VER_1 3.2.1+dfsg
+ mono_metadata_parse_signature@VER_1 3.2.1+dfsg
+ mono_metadata_parse_type@VER_1 3.2.1+dfsg
+ mono_metadata_parse_type_full@VER_1 3.2.1+dfsg
+ mono_metadata_parse_typedef_or_ref@VER_1 3.2.1+dfsg
+ mono_metadata_properties_from_typedef@VER_1 3.2.1+dfsg
+ mono_metadata_signature_alloc@VER_1 3.2.1+dfsg
+ mono_metadata_signature_dup@VER_1 3.2.1+dfsg
+ mono_metadata_signature_equal@VER_1 3.2.1+dfsg
+ mono_metadata_string_heap@VER_1 3.2.1+dfsg
+ mono_metadata_token_from_dor@VER_1 3.2.1+dfsg
+ mono_metadata_translate_token_index@VER_1 3.2.1+dfsg
+ mono_metadata_type_equal@VER_1 3.2.1+dfsg
+ mono_metadata_type_hash@VER_1 3.2.1+dfsg
+ mono_metadata_typedef_from_field@VER_1 3.2.1+dfsg
+ mono_metadata_typedef_from_method@VER_1 3.2.1+dfsg
+ mono_metadata_user_string@VER_1 3.2.1+dfsg
+ mono_method_body_get_object@VER_1 3.2.1+dfsg
+ mono_method_can_access_field@VER_1 3.2.1+dfsg
+ mono_method_can_access_method@VER_1 3.2.1+dfsg
+ mono_method_desc_free@VER_1 3.2.1+dfsg
+ mono_method_desc_from_method@VER_1 3.2.1+dfsg
+ mono_method_desc_full_match@VER_1 3.2.1+dfsg
+ mono_method_desc_match@VER_1 3.2.1+dfsg
+ mono_method_desc_new@VER_1 3.2.1+dfsg
+ mono_method_desc_search_in_class@VER_1 3.2.1+dfsg
+ mono_method_desc_search_in_image@VER_1 3.2.1+dfsg
+ mono_method_full_name@VER_1 3.2.1+dfsg
+ mono_method_get_class@VER_1 3.2.1+dfsg
+ mono_method_get_flags@VER_1 3.2.1+dfsg
+ mono_method_get_generic_container@VER_1 3.2.1+dfsg
+ mono_method_get_header@VER_1 3.2.1+dfsg
+ mono_method_get_index@VER_1 3.2.1+dfsg
+ mono_method_get_last_managed@VER_1 3.2.1+dfsg
+ mono_method_get_marshal_info@VER_1 3.2.1+dfsg
+ mono_method_get_name@VER_1 3.2.1+dfsg
+ mono_method_get_object@VER_1 3.2.1+dfsg
+ mono_method_get_param_names@VER_1 3.2.1+dfsg
+ mono_method_get_param_token@VER_1 3.2.1+dfsg
+ mono_method_get_signature@VER_1 3.2.1+dfsg
+ mono_method_get_signature_full@VER_1 3.2.1+dfsg
+ mono_method_get_token@VER_1 3.2.1+dfsg
+ mono_method_get_unmanaged_thunk@VER_1 3.2.1+dfsg
+ mono_method_has_marshal_info@VER_1 3.2.1+dfsg
+ mono_method_header_get_clauses@VER_1 3.2.1+dfsg
+ mono_method_header_get_code@VER_1 3.2.1+dfsg
+ mono_method_header_get_locals@VER_1 3.2.1+dfsg
+ mono_method_header_get_num_clauses@VER_1 3.2.1+dfsg
+ mono_method_signature@VER_1 3.2.1+dfsg
+ mono_method_verify@VER_1 3.2.1+dfsg
+ mono_mlist_alloc@VER_1 3.2.1+dfsg
+ mono_mlist_append@VER_1 3.2.1+dfsg
+ mono_mlist_get_data@VER_1 3.2.1+dfsg
+ mono_mlist_last@VER_1 3.2.1+dfsg
+ mono_mlist_length@VER_1 3.2.1+dfsg
+ mono_mlist_next@VER_1 3.2.1+dfsg
+ mono_mlist_prepend@VER_1 3.2.1+dfsg
+ mono_mlist_remove_item@VER_1 3.2.1+dfsg
+ mono_mlist_set_data@VER_1 3.2.1+dfsg
+ mono_mlist_set_next@VER_1 3.2.1+dfsg
+ mono_module_file_get_object@VER_1 3.2.1+dfsg
+ mono_module_get_object@VER_1 3.2.1+dfsg
+ mono_monitor_enter@VER_1 3.2.1+dfsg
+ mono_monitor_exit@VER_1 3.2.1+dfsg
+ mono_monitor_try_enter@VER_1 3.2.1+dfsg
+ mono_mprotect@VER_1 3.2.1+dfsg
+ mono_mutex_init_suspend_safe@VER_1 3.2.1+dfsg
+ mono_object_castclass_mbyref@VER_1 3.2.1+dfsg
+ mono_object_castclass_with_cache@VER_1 3.2.1+dfsg
+ mono_object_clone@VER_1 3.2.1+dfsg
+ mono_object_describe@VER_1 3.2.1+dfsg
+ mono_object_describe_fields@VER_1 3.2.1+dfsg
+ mono_object_get_class@VER_1 3.2.1+dfsg
+ mono_object_get_domain@VER_1 3.2.1+dfsg
+ mono_object_get_size@VER_1 3.2.1+dfsg
+ mono_object_get_virtual_method@VER_1 3.2.1+dfsg
+ mono_object_hash@VER_1 3.2.1+dfsg
+ mono_object_is_alive@VER_1 3.2.1+dfsg
+ mono_object_isinst@VER_1 3.2.1+dfsg
+ mono_object_isinst_mbyref@VER_1 3.2.1+dfsg
+ mono_object_isinst_with_cache@VER_1 3.2.1+dfsg
+ mono_object_new@VER_1 3.2.1+dfsg
+ mono_object_new_alloc_specific@VER_1 3.2.1+dfsg
+ mono_object_new_fast@VER_1 3.2.1+dfsg
+ mono_object_new_from_token@VER_1 3.2.1+dfsg
+ mono_object_new_specific@VER_1 3.2.1+dfsg
+ mono_object_to_string@VER_1 3.2.1+dfsg
+ mono_object_unbox@VER_1 3.2.1+dfsg
+ mono_once@VER_1 3.2.1+dfsg
+ mono_op_to_op_imm_noemul@VER_1 3.2.1+dfsg
+ mono_opcode_name@VER_1 3.2.1+dfsg
+ mono_opcode_value@VER_1 3.2.1+dfsg
+ mono_opcodes@VER_1 3.2.1+dfsg
+ mono_pagesize@VER_1 3.2.1+dfsg
+ mono_param_get_objects@VER_1 3.2.1+dfsg
+ mono_parse_default_optimizations@VER_1 3.2.1+dfsg
+ mono_path_canonicalize@VER_1 3.2.1+dfsg
+ mono_path_resolve_symlinks@VER_1 3.2.1+dfsg
+ mono_pe_file_open@VER_1 3.2.1+dfsg
+ mono_perfcounters_init@VER_1 3.2.1+dfsg
+ mono_pmip@VER_1 3.2.1+dfsg
+ mono_poll@VER_1 3.2.1+dfsg
+ mono_print_method_from_ip@VER_1 3.2.1+dfsg
+ mono_print_thread_dump@VER_1 3.2.1+dfsg
+ mono_print_thread_dump_from_ctx@VER_1 3.2.1+dfsg
+ mono_print_unhandled_exception@VER_1 3.2.1+dfsg
+ mono_print_vtable@VER_1 3.2.1+dfsg
+ mono_profiler_coverage_get@VER_1 3.2.1+dfsg
+ mono_profiler_events@VER_1 3.2.1+dfsg
+ mono_profiler_get_events@VER_1 3.2.1+dfsg
+ mono_profiler_install@VER_1 3.2.1+dfsg
+ mono_profiler_install_allocation@VER_1 3.2.1+dfsg
+ mono_profiler_install_appdomain@VER_1 3.2.1+dfsg
+ mono_profiler_install_assembly@VER_1 3.2.1+dfsg
+ mono_profiler_install_class@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_buffer_new@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_chunk_destroy@VER_1 3.2.1+dfsg
+ mono_profiler_install_code_chunk_new@VER_1 3.2.1+dfsg
+ mono_profiler_install_coverage_filter@VER_1 3.2.1+dfsg
+ mono_profiler_install_enter_leave@VER_1 3.2.1+dfsg
+ mono_profiler_install_exception@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc_moves@VER_1 3.2.1+dfsg
+ mono_profiler_install_gc_roots@VER_1 3.2.1+dfsg
+ mono_profiler_install_iomap@VER_1 3.2.1+dfsg
+ mono_profiler_install_jit_compile@VER_1 3.2.1+dfsg
+ mono_profiler_install_jit_end@VER_1 3.2.1+dfsg
+ mono_profiler_install_method_free@VER_1 3.2.1+dfsg
+ mono_profiler_install_method_invoke@VER_1 3.2.1+dfsg
+ mono_profiler_install_module@VER_1 3.2.1+dfsg
+ mono_profiler_install_monitor@VER_1 3.2.1+dfsg
+ mono_profiler_install_runtime_initialized@VER_1 3.2.1+dfsg
+ mono_profiler_install_statistical@VER_1 3.2.1+dfsg
+ mono_profiler_install_statistical_call_chain@VER_1 3.2.1+dfsg
+ mono_profiler_install_thread@VER_1 3.2.1+dfsg
+ mono_profiler_install_thread_name@VER_1 3.2.1+dfsg
+ mono_profiler_install_transition@VER_1 3.2.1+dfsg
+ mono_profiler_load@VER_1 3.2.1+dfsg
+ mono_profiler_set_events@VER_1 3.2.1+dfsg
+ mono_property_get_flags@VER_1 3.2.1+dfsg
+ mono_property_get_get_method@VER_1 3.2.1+dfsg
+ mono_property_get_name@VER_1 3.2.1+dfsg
+ mono_property_get_object@VER_1 3.2.1+dfsg
+ mono_property_get_parent@VER_1 3.2.1+dfsg
+ mono_property_get_set_method@VER_1 3.2.1+dfsg
+ mono_property_get_value@VER_1 3.2.1+dfsg
+ mono_property_hash_destroy@VER_1 3.2.1+dfsg
+ mono_property_hash_insert@VER_1 3.2.1+dfsg
+ mono_property_hash_lookup@VER_1 3.2.1+dfsg
+ mono_property_hash_new@VER_1 3.2.1+dfsg
+ mono_property_hash_remove_object@VER_1 3.2.1+dfsg
+ mono_property_set_value@VER_1 3.2.1+dfsg
+ mono_ptr_class_get@VER_1 3.2.1+dfsg
+ mono_raise_exception@VER_1 3.2.1+dfsg
+ mono_realloc_native_code@VER_1 3.2.1+dfsg
+ mono_reflection_free_type_info@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_blob@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_by_type@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_data@VER_1 3.2.1+dfsg
+ mono_reflection_get_custom_attrs_info@VER_1 3.2.1+dfsg
+ mono_reflection_get_token@VER_1 3.2.1+dfsg
+ mono_reflection_get_type@VER_1 3.2.1+dfsg
+ mono_reflection_parse_type@VER_1 3.2.1+dfsg
+ mono_reflection_type_from_name@VER_1 3.2.1+dfsg
+ mono_reflection_type_get_type@VER_1 3.2.1+dfsg
+ mono_register_bundled_assemblies@VER_1 3.2.1+dfsg
+ mono_register_config_for_assembly@VER_1 3.2.1+dfsg
+ mono_register_machine_config@VER_1 3.2.1+dfsg
+ mono_register_symfile_for_assembly@VER_1 3.2.1+dfsg
+ mono_replace_ins@VER_1 3.2.1+dfsg
+ mono_runtime_class_init@VER_1 3.2.1+dfsg
+ mono_runtime_cleanup@VER_1 3.2.1+dfsg
+ mono_runtime_delegate_invoke@VER_1 3.2.1+dfsg
+ mono_runtime_exec_main@VER_1 3.2.1+dfsg
+ mono_runtime_exec_managed_code@VER_1 3.2.1+dfsg
+ mono_runtime_get_main_args@VER_1 3.2.1+dfsg
+ mono_runtime_init@VER_1 3.2.1+dfsg
+ mono_runtime_invoke@VER_1 3.2.1+dfsg
+ mono_runtime_invoke_array@VER_1 3.2.1+dfsg
+ mono_runtime_is_shutting_down@VER_1 3.2.1+dfsg
+ mono_runtime_object_init@VER_1 3.2.1+dfsg
+ mono_runtime_quit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_check_limit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_limit@VER_1 3.2.1+dfsg
+ mono_runtime_resource_set_callback@VER_1 3.2.1+dfsg
+ mono_runtime_run_main@VER_1 3.2.1+dfsg
+ mono_runtime_set_shutting_down@VER_1 3.2.1+dfsg
+ mono_security_core_clr_get_options@VER_1 3.2.1+dfsg
+ mono_security_core_clr_require_elevated_permissions@VER_1 3.2.1+dfsg
+ mono_security_core_clr_set_options@VER_1 3.2.1+dfsg
+ mono_security_core_clr_test@VER_1 3.2.1+dfsg
+ mono_security_enable_core_clr@VER_1 3.2.1+dfsg
+ mono_security_set_core_clr_platform_callback@VER_1 3.2.1+dfsg
+ mono_sem_post@VER_1 3.2.1+dfsg
+ mono_sem_timedwait@VER_1 3.2.1+dfsg
+ mono_sem_wait@VER_1 3.2.1+dfsg
+ mono_set_assemblies_path@VER_1 3.2.1+dfsg
+ mono_set_break_policy@VER_1 3.2.1+dfsg
+ mono_set_config_dir@VER_1 3.2.1+dfsg
+ mono_set_defaults@VER_1 3.2.1+dfsg
+ mono_set_dirs@VER_1 3.2.1+dfsg
+ mono_set_is_debugger_attached@VER_1 3.2.1+dfsg
+ mono_set_rootdir@VER_1 3.2.1+dfsg
+ mono_set_signal_chaining@VER_1 3.2.1+dfsg
+ mono_sha1_final@VER_1 3.2.1+dfsg
+ mono_sha1_get_digest@VER_1 3.2.1+dfsg
+ mono_sha1_get_digest_from_file@VER_1 3.2.1+dfsg
+ mono_sha1_init@VER_1 3.2.1+dfsg
+ mono_sha1_update@VER_1 3.2.1+dfsg
+ mono_shared_area@VER_1 3.2.1+dfsg
+ mono_shared_area_for_pid@VER_1 3.2.1+dfsg
+ mono_shared_area_instances@VER_1 3.2.1+dfsg
+ mono_shared_area_remove@VER_1 3.2.1+dfsg
+ mono_shared_area_unload@VER_1 3.2.1+dfsg
+ mono_signature_explicit_this@VER_1 3.2.1+dfsg
+ mono_signature_get_call_conv@VER_1 3.2.1+dfsg
+ mono_signature_get_desc@VER_1 3.2.1+dfsg
+ mono_signature_get_param_count@VER_1 3.2.1+dfsg
+ mono_signature_get_params@VER_1 3.2.1+dfsg
+ mono_signature_get_return_type@VER_1 3.2.1+dfsg
+ mono_signature_hash@VER_1 3.2.1+dfsg
+ mono_signature_is_instance@VER_1 3.2.1+dfsg
+ mono_signature_param_is_out@VER_1 3.2.8+dfsg
+ mono_signature_vararg_start@VER_1 3.2.1+dfsg
+ mono_signbit_double@VER_1 3.2.1+dfsg
+ mono_signbit_float@VER_1 3.2.1+dfsg
+ mono_single_method_hash@VER_1 3.2.8+dfsg
+ mono_single_method_list@VER_1 3.2.8+dfsg
+ mono_single_method_regression_opt@VER_1 3.2.8+dfsg
+ mono_stack_walk@VER_1 3.2.1+dfsg
+ mono_stack_walk_no_il@VER_1 3.2.1+dfsg
+ mono_store_remote_field@VER_1 3.2.1+dfsg
+ mono_store_remote_field_new@VER_1 3.2.1+dfsg
+ mono_string_chars@VER_1 3.2.1+dfsg
+ mono_string_equal@VER_1 3.2.1+dfsg
+ mono_string_from_bstr@VER_1 3.2.1+dfsg
+ mono_string_from_utf16@VER_1 3.2.1+dfsg
+ mono_string_hash@VER_1 3.2.1+dfsg
+ mono_string_intern@VER_1 3.2.1+dfsg
+ mono_string_is_interned@VER_1 3.2.1+dfsg
+ mono_string_length@VER_1 3.2.1+dfsg
+ mono_string_new@VER_1 3.2.1+dfsg
+ mono_string_new_len@VER_1 3.2.1+dfsg
+ mono_string_new_size@VER_1 3.2.1+dfsg
+ mono_string_new_utf16@VER_1 3.2.1+dfsg
+ mono_string_new_wrapper@VER_1 3.2.1+dfsg
+ mono_string_to_utf16@VER_1 3.2.1+dfsg
+ mono_string_to_utf8@VER_1 3.2.1+dfsg
+ mono_string_to_utf8_checked@VER_1 3.2.1+dfsg
+ mono_stringify_assembly_name@VER_1 3.2.1+dfsg
+ mono_strtod_mutex@VER_1 3.2.1+dfsg
+ mono_table_info_get_rows@VER_1 3.2.1+dfsg
+ mono_thread_attach@VER_1 3.2.1+dfsg
+ mono_thread_attach_aborted_cb@VER_1 3.2.1+dfsg
+ mono_thread_cleanup@VER_1 3.2.1+dfsg
+ mono_thread_create@VER_1 3.2.1+dfsg
+ mono_thread_current@VER_1 3.2.1+dfsg
+ mono_thread_detach@VER_1 3.2.1+dfsg
+ mono_thread_exit@VER_1 3.2.1+dfsg
+ mono_thread_get_main@VER_1 3.2.1+dfsg
+ mono_thread_get_undeniable_exception@VER_1 3.2.1+dfsg
+ mono_thread_init@VER_1 3.2.1+dfsg
+ mono_thread_is_foreign@VER_1 3.2.1+dfsg
+ mono_thread_manage@VER_1 3.2.1+dfsg
+ mono_thread_new_init@VER_1 3.2.1+dfsg
+ mono_thread_set_main@VER_1 3.2.1+dfsg
+ mono_thread_set_manage_callback@VER_1 3.2.1+dfsg
+ mono_thread_stop@VER_1 3.2.1+dfsg
+ mono_threads_create_thread@VER_1 3.2.8+dfsg
+ mono_threads_get_default_stacksize@VER_1 3.2.1+dfsg
+ mono_threads_request_thread_dump@VER_1 3.2.1+dfsg
+ mono_threads_set_default_stacksize@VER_1 3.2.1+dfsg
+ mono_tls_key_get_offset@VER_1 3.2.8+dfsg
+ mono_tls_key_set_offset@VER_1 3.2.8+dfsg
+ mono_trace_set_level_string@VER_1 3.2.1+dfsg
+ mono_trace_set_mask_string@VER_1 3.2.1+dfsg
+ mono_trampoline_code@VER_1 3.2.1+dfsg
+ mono_type_create_from_typespec@VER_1 3.2.1+dfsg
+ mono_type_full_name@VER_1 3.2.1+dfsg
+ mono_type_generic_inst_is_valuetype@VER_1 3.2.1+dfsg
+ mono_type_get_array_type@VER_1 3.2.1+dfsg
+ mono_type_get_class@VER_1 3.2.1+dfsg
+ mono_type_get_desc@VER_1 3.2.1+dfsg
+ mono_type_get_modifiers@VER_1 3.2.1+dfsg
+ mono_type_get_name@VER_1 3.2.1+dfsg
+ mono_type_get_object@VER_1 3.2.1+dfsg
+ mono_type_get_ptr_type@VER_1 3.2.1+dfsg
+ mono_type_get_signature@VER_1 3.2.1+dfsg
+ mono_type_get_type@VER_1 3.2.1+dfsg
+ mono_type_get_underlying_type@VER_1 3.2.1+dfsg
+ mono_type_is_byref@VER_1 3.2.1+dfsg
+ mono_type_is_pointer@VER_1 3.2.1+dfsg
+ mono_type_is_reference@VER_1 3.2.1+dfsg
+ mono_type_is_struct@VER_1 3.2.1+dfsg
+ mono_type_is_valid_enum_basetype@VER_1 3.2.1+dfsg
+ mono_type_is_void@VER_1 3.2.1+dfsg
+ mono_type_size@VER_1 3.2.1+dfsg
+ mono_type_stack_size@VER_1 3.2.1+dfsg
+ mono_type_to_unmanaged@VER_1 3.2.1+dfsg
+ mono_unhandled_exception@VER_1 3.2.1+dfsg
+ mono_unicode_from_external@VER_1 3.2.1+dfsg
+ mono_unicode_to_external@VER_1 3.2.1+dfsg
+ mono_upgrade_remote_class_wrapper@VER_1 3.2.1+dfsg
+ mono_use_imt@VER_1 3.2.1+dfsg
+ mono_use_llvm@VER_1 3.2.1+dfsg
+ mono_utf8_from_external@VER_1 3.2.1+dfsg
+ mono_utf8_validate_and_len@VER_1 3.2.1+dfsg
+ mono_utf8_validate_and_len_with_bounds@VER_1 3.2.1+dfsg
+ mono_valloc@VER_1 3.2.1+dfsg
+ mono_valloc_aligned@VER_1 3.2.1+dfsg
+ mono_value_box@VER_1 3.2.1+dfsg
+ mono_value_copy@VER_1 3.2.1+dfsg
+ mono_value_copy_array@VER_1 3.2.1+dfsg
+ mono_value_describe_fields@VER_1 3.2.1+dfsg
+ mono_verify_corlib@VER_1 3.2.1+dfsg
+ mono_vfree@VER_1 3.2.1+dfsg
+ mono_vtable_get_static_field_data@VER_1 3.2.1+dfsg
+ mono_win32_compat_CopyMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_FillMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_MoveMemory@VER_1 3.2.1+dfsg
+ mono_win32_compat_ZeroMemory@VER_1 3.2.1+dfsg
+ mono_xdebug_flush@VER_1 3.2.1+dfsg
+ mono_binary_search@VER_1 3.2.3+dfsg
+ mono_config_is_server_mode@VER_1 3.2.3+dfsg
+ mono_config_set_server_mode@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonosgen-2.0-1.symbols.amd64 b/debian/libmonosgen-2.0-1.symbols.amd64
new file mode 100644
index 0000000000..7774e15af0
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.amd64
@@ -0,0 +1 @@
+#include "libmonosgen-2.0-1.symbols.i386"
diff --git a/debian/libmonosgen-2.0-1.symbols.armel b/debian/libmonosgen-2.0-1.symbols.armel
new file mode 100644
index 0000000000..caf73e72df
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.armel
@@ -0,0 +1,23 @@
+#include "libmonosgen-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_read16@VER_1 3.2.1+dfsg
+ mono_read32@VER_1 3.2.1+dfsg
+ mono_read64@VER_1 3.2.1+dfsg
+ mono_arm_emit_load_imm@VER_1 3.2.1+dfsg
+ mono_arm_is_rotated_imm8@VER_1 3.2.1+dfsg
+ mono_arm_patchable_b@VER_1 3.2.1+dfsg
+ mono_arm_patchable_bl@VER_1 3.2.1+dfsg
+ mono_arm_resume_unwind@VER_1 3.2.1+dfsg
+ mono_arm_throw_exception@VER_1 3.2.1+dfsg
+ mono_arm_throw_exception_by_token@VER_1 3.2.1+dfsg
+ mono_arm_thumb_supported@VER_1 3.2.1+dfsg
+ mono_hwcap_arm_has_thumb2@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_thumb@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_vfp@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_has_vfp3@VER_1 3.2.3+dfsg-4~
+ mono_hwcap_arm_has_vfp3_d16@VER_1 3.2.3+dfsg-4~
+ mono_hwcap_arm_is_v5@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v6@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v7@VER_1 3.2.3+dfsg
+ mono_hwcap_arm_is_v7s@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonosgen-2.0-1.symbols.armhf b/debian/libmonosgen-2.0-1.symbols.armhf
new file mode 100644
index 0000000000..1d8716c4f6
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.armhf
@@ -0,0 +1 @@
+#include "libmonosgen-2.0-1.symbols.armel"
diff --git a/debian/libmonosgen-2.0-1.symbols.i386 b/debian/libmonosgen-2.0-1.symbols.i386
new file mode 100644
index 0000000000..41947e1747
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.i386
@@ -0,0 +1,14 @@
+#include "libmonosgen-2.0-1.symbols"
+ mono_breakpoint_clean_code@VER_1 3.2.1+dfsg
+ mono_breakpoint_info@VER_1 3.2.1+dfsg
+ mono_hwcap_x86_has_cmov@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_fcmov@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse1@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse2@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse3@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse41@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse42@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_sse4a@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_has_ssse3@VER_1 3.2.3+dfsg
+ mono_hwcap_x86_is_xen@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonosgen-2.0-1.symbols.kfreebsd-amd64 b/debian/libmonosgen-2.0-1.symbols.kfreebsd-amd64
new file mode 100644
index 0000000000..6351f4afa3
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.kfreebsd-amd64
@@ -0,0 +1 @@
+#include "libmonosgen-2.0-1.symbols.amd64"
diff --git a/debian/libmonosgen-2.0-1.symbols.kfreebsd-i386 b/debian/libmonosgen-2.0-1.symbols.kfreebsd-i386
new file mode 100644
index 0000000000..7774e15af0
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.kfreebsd-i386
@@ -0,0 +1 @@
+#include "libmonosgen-2.0-1.symbols.i386"
diff --git a/debian/libmonosgen-2.0-1.symbols.mipsel b/debian/libmonosgen-2.0-1.symbols.mipsel
new file mode 100644
index 0000000000..3af7158618
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.mipsel
@@ -0,0 +1,9 @@
+#include "libmonosgen-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_read16@VER_1 3.2.1+dfsg
+ mono_read32@VER_1 3.2.1+dfsg
+ mono_read64@VER_1 3.2.1+dfsg
+ mono_arch_emit_epilog_sub@VER_1 3.2.1+dfsg
+ mono_arch_emit_this_vret_args@VER_1 3.2.1+dfsg
+ mono_arch_get_inst_for_method@VER_1 3.2.1+dfsg
+
diff --git a/debian/libmonosgen-2.0-1.symbols.powerpc b/debian/libmonosgen-2.0-1.symbols.powerpc
new file mode 100644
index 0000000000..62f91210e0
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.powerpc
@@ -0,0 +1,8 @@
+#include "libmonosgen-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_hwcap_ppc_has_icache_snoop@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_has_move_fpr_gpr@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_has_multiple_ls_units@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_is_isa_2x@VER_1 3.2.3+dfsg
+ mono_hwcap_ppc_is_isa_64@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonosgen-2.0-1.symbols.s390x b/debian/libmonosgen-2.0-1.symbols.s390x
new file mode 100644
index 0000000000..1e52ef0853
--- /dev/null
+++ b/debian/libmonosgen-2.0-1.symbols.s390x
@@ -0,0 +1,4 @@
+#include "libmonosgen-2.0-1.symbols"
+ mono_exc_esp_offset@VER_1 3.2.1+dfsg
+ mono_hwcap_s390x_has_ld@VER_1 3.2.3+dfsg
+
diff --git a/debian/libmonosgen-2.0-dev.install b/debian/libmonosgen-2.0-dev.install
new file mode 100644
index 0000000000..232e78e5ed
--- /dev/null
+++ b/debian/libmonosgen-2.0-dev.install
@@ -0,0 +1,3 @@
+usr/lib/libmonosgen-2.0.so
+usr/lib/libmonosgen-2.0.a
+usr/lib/pkgconfig/monosgen-2.pc
diff --git a/debian/man/caspol.1 b/debian/man/caspol.1
new file mode 100644
index 0000000000..8c47faf400
--- /dev/null
+++ b/debian/man/caspol.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+caspol \- 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/docs/
diff --git a/debian/man/cli-wrapper.1 b/debian/man/cli-wrapper.1
new file mode 100644
index 0000000000..64cbe71609
--- /dev/null
+++ b/debian/man/cli-wrapper.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+cli-wrapper \- 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/docs/
diff --git a/debian/man/mjs.1 b/debian/man/mjs.1
new file mode 100644
index 0000000000..59a114ea96
--- /dev/null
+++ b/debian/man/mjs.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+mjs \- 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/docs/
diff --git a/debian/man/mono-find-provides.1 b/debian/man/mono-find-provides.1
new file mode 100644
index 0000000000..ae42c1cdcf
--- /dev/null
+++ b/debian/man/mono-find-provides.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+mono-find-provides \- 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/docs/
diff --git a/debian/man/mono-find-requires.1 b/debian/man/mono-find-requires.1
new file mode 100644
index 0000000000..5000375ec0
--- /dev/null
+++ b/debian/man/mono-find-requires.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+mono-find-requires \- 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/docs/
diff --git a/debian/man/monograph.1 b/debian/man/monograph.1
new file mode 100644
index 0000000000..c98c8ff6ee
--- /dev/null
+++ b/debian/man/monograph.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+monograph \- 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/docs/
diff --git a/debian/man/pedump.1 b/debian/man/pedump.1
new file mode 100644
index 0000000000..ef60cbd590
--- /dev/null
+++ b/debian/man/pedump.1
@@ -0,0 +1,11 @@
+.TH UNDOCUMENTED 1 "January 15th, 2004" "Debian GNU/Linux" "Mono Manual"
+.SH NAME
+pedump \- 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/docs/
diff --git a/debian/mono-2.0-gac.install b/debian/mono-2.0-gac.install
new file mode 100644
index 0000000000..af5915be9d
--- /dev/null
+++ b/debian/mono-2.0-gac.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/bin/gacutil2
+debian/tmp/usr/lib/mono/2.0/gacutil.exe*
diff --git a/debian/mono-2.0-gac.manpages b/debian/mono-2.0-gac.manpages
new file mode 100644
index 0000000000..06e98dfbb4
--- /dev/null
+++ b/debian/mono-2.0-gac.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/gacutil2.1
diff --git a/debian/mono-2.0-service.install b/debian/mono-2.0-service.install
new file mode 100644
index 0000000000..5b8b942cce
--- /dev/null
+++ b/debian/mono-2.0-service.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/bin/mono-service2
+debian/tmp/usr/lib/mono/2.0/mono-service.exe*
+debian/tmp/usr/lib/mono/gac/mono-service/2.0.0.0__*/
diff --git a/debian/mono-2.0-service.manpages b/debian/mono-2.0-service.manpages
new file mode 100644
index 0000000000..41c2975520
--- /dev/null
+++ b/debian/mono-2.0-service.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/mono-service2.1
diff --git a/debian/mono-4.0-gac.install b/debian/mono-4.0-gac.install
new file mode 100644
index 0000000000..63664ecf6d
--- /dev/null
+++ b/debian/mono-4.0-gac.install
@@ -0,0 +1 @@
+/usr/lib/mono/4.5/gacutil.exe*
diff --git a/debian/mono-4.0-service.install b/debian/mono-4.0-service.install
new file mode 100644
index 0000000000..bd100f2672
--- /dev/null
+++ b/debian/mono-4.0-service.install
@@ -0,0 +1,3 @@
+/usr/bin/mono-service
+/usr/lib/mono/4.5/mono-service.exe*
+/usr/lib/mono/gac/mono-service/4.0.0.0__*/
diff --git a/debian/mono-aot-bootstrap b/debian/mono-aot-bootstrap
new file mode 100755
index 0000000000..8dc5d48e03
--- /dev/null
+++ b/debian/mono-aot-bootstrap
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+MCS_DIR=mcs/class/lib
+
+find $MCS_DIR -name "*.exe" -or -name "*.dll" -exec runtime/mono-wrapper --aot {} \;
diff --git a/debian/mono-aot-wrapper b/debian/mono-aot-wrapper
new file mode 100755
index 0000000000..9e8cf23d66
--- /dev/null
+++ b/debian/mono-aot-wrapper
@@ -0,0 +1,66 @@
+#!/bin/sh
+
+# Description: This wrapper script pre-compiles (AOT) the passed assembly
+# before executing it, and AOTs new assemblies in build output
+# directory.
+
+export MONO_PATH
+
+DEBIAN_DIR=$(dirname $0)
+#MONO_DIR=$DEBIAN_DIR/..
+MONO_DIR=${DEBIAN_DIR/%\/debian}
+ASSEMBLY=$1
+
+#case $ASSEMBLY in
+# *.dll | *.exe)
+# if [ -f $ASSEMBLY -a ! -f "$ASSEMBLY.so" ]; then
+# $MONO_DIR/runtime/mono-wrapper --aot $ASSEMBLY
+# fi
+# ;;
+#esac
+
+$MONO_DIR/runtime/mono-wrapper "$@"
+
+ASSEMBLIES_DIR=$MONO_DIR/mcs/class/lib
+ASSEMBLIES=$(find $ASSEMBLIES_DIR -name "*.dll" -or -name "*.exe")
+for ASSEMBLY in $ASSEMBLIES; do
+ ASSEMBLY_DIR=$(dirname $ASSEMBLY)
+ ASSEMBLY_NAME=$(basename $ASSEMBLY)
+ if [ ! -f "$ASSEMBLY.so" ]; then
+ #if [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_0" ] ||
+ # [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_1" ] ||
+ # [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_1_tuned" ]; then
+ # # AOT for 2.0/2.1 is buggy and likes to crash
+ # true
+ #elif [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_0_bootstrap" ]; then
+ # # AOT for 2.0 runtime libs seems to work though
+ # $MONO_DIR/runtime/mono-wrapper --aot -O=all $ASSEMBLY
+ #else
+ # $MONO_DIR/runtime/mono-wrapper --aot -O=all $ASSEMBLY
+ #fi
+
+ # only AOT basic / 1.0 bootstrap / 2.0 bootstrap
+ if [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/basic" ] ||
+ [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_1_1_bootstrap" ] ||
+ [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_0_bootstrap" ]; then
+ $MONO_DIR/runtime/mono-wrapper --aot -O=all $ASSEMBLY
+ fi
+
+ # always AOT libs used by the compilers
+ if [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/default" ]; then
+ if [ "$ASSEMBLY_NAME" = "mscorlib.dll" ] ||
+ [ "$ASSEMBLY_NAME" = "System.dll" ] ||
+ [ "$ASSEMBLY_NAME" = "System.Xml.dll" ]; then
+ $MONO_DIR/runtime/mono-wrapper --aot -O=all $ASSEMBLY
+ fi
+ fi
+ #elif [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_0" ] ||
+ # [ "$ASSEMBLY_DIR" = "$ASSEMBLIES_DIR/net_2_1" ]; then
+ # if [ "$ASSEMBLY_NAME" = "mscorlib.dll" ] ||
+ # [ "$ASSEMBLY_NAME" = "System.dll" ] ||
+ # [ "$ASSEMBLY_NAME" = "System.Xml.dll" ]; then
+ # MONO_PATH=$MONO_DIR/class/lib/net_2_0:$MONO_PATH $MONO_DIR/runtime/mono-wrapper --aot -O=all $ASSEMBLY
+ # fi
+ #fi
+ fi
+done
diff --git a/debian/mono-api-check b/debian/mono-api-check
new file mode 100755
index 0000000000..47953a262b
--- /dev/null
+++ b/debian/mono-api-check
@@ -0,0 +1,181 @@
+#!/bin/bash
+
+NAME=$(basename $0)
+MONO_API_INFO="mono-api-info"
+MONO_API_DIFF="mono /usr/lib/mono/4.0/mono-api-diff.exe"
+
+KEEP=0
+if [ "$1" = "-k" ]; then
+ KEEP=1
+ KEEP_PARAM="-k"
+ shift
+fi
+
+ABI=
+if [ "$1" = "-a" ]; then
+ ABI=1
+ ABI_PARAM="-a"
+ MONO_API_INFO_PARAMS=--abi
+ shift
+fi
+
+if [ $# -lt 2 ]; then
+ echo "usage: $NAME [-k] [-a] old.dll|deb|changes new.dll|deb|changes"
+ exit 1
+fi
+
+if [ ! -r $1 ]; then
+ echo "Error: $1 does not exist or is not readable"
+ exit 1
+fi
+
+if [ ! -r $2 ]; then
+ echo "Error: $2 does not exist or is not readable"
+ exit 1
+fi
+
+if ! [ "$1" = "${1%.deb}" ]; then
+ DEB_TMP_DIR1=/tmp/$NAME-$$-$RANDOM
+ DEB_TMP_DIR2=/tmp/$NAME-$$-$RANDOM
+
+ mkdir $DEB_TMP_DIR1
+ if [ $? != 0 ]; then
+ echo "Error: could not create: $DEB_TMP_DIR1"
+ exit 1
+ fi
+
+ mkdir $DEB_TMP_DIR2
+ if [ $? != 0 ]; then
+ echo "Error: could not create: $DEB_TMP_DIR2"
+ exit 1
+ fi
+
+ dpkg -x $1 $DEB_TMP_DIR1
+ if [ $? != 0 ]; then
+ echo "Error: could extract: $1"
+ exit 1
+ fi
+
+ dpkg -x $2 $DEB_TMP_DIR2
+ if [ $? != 0 ]; then
+ echo "Error: could extract: $2"
+ exit 1
+ fi
+
+ DLLS=$(find $DEB_TMP_DIR1 -type f -name "*.dll")
+ for DLL1 in $DLLS; do
+ FILE=${DLL1#$DEB_TMP_DIR1/}
+ DLL2=$DEB_TMP_DIR2/$FILE
+ #echo $DLL1
+ #echo $DLL2
+
+ echo -e "Library:\t\t/$FILE"
+ $0 $RUNTIME_VERSION_PARAM $KEEP_PARAM $ABI_PARAM $DLL1 $DLL2
+ echo
+ done
+
+ rm -rf $DEB_TMP_DIR1
+ rm -rf $DEB_TMP_DIR2
+
+ exit 0
+fi
+
+if ! [ "$1" = "${1%.changes}" ]; then
+ DEB_DIR1=$(dirname $1)
+ DEB_DIR2=$(dirname $2)
+ DEBS=$(grep ".deb$" $2 | cut -d ' ' -f 6)
+ for DEB in $DEBS; do
+ PKG_VERSION2=$(dpkg -I $DEB_DIR2/$DEB | grep Version: | cut -d ':' -f 2 | sed -e 's/^ *//')
+ break
+ done
+
+ DEBS=$(grep ".deb$" $1 | cut -d ' ' -f 6)
+ for DEB1 in $DEBS; do
+ PKG_NAME=$(dpkg -I $DEB_DIR1/$DEB1 | grep Package: | cut -d ':' -f 2 | sed -e 's/^ *//')
+ PKG_ARCH=$(dpkg -I $DEB_DIR1/$DEB1 | grep Architecture: | cut -d ':' -f 2 | sed -e 's/^ *//')
+ DEB2=$DEB_DIR2/${PKG_NAME}_${PKG_VERSION2}_${PKG_ARCH}.deb
+
+ echo -e "Package:\t\t$PKG_NAME"
+ echo "------------------------------------------------------"
+ $0 $RUNTIME_VERSION_PARAM $KEEP_PARAM $ABI_PARAM $DEB1 $DEB2
+ echo
+ done
+
+ exit 0
+fi
+
+ASM_NAME=$(basename $1)
+API_OLD=$(tempfile --suffix=_$ASM_NAME.api-old)
+API_NEW=$(tempfile --suffix=_$ASM_NAME.api-new)
+API_DIFF=$(tempfile --suffix=_$ASM_NAME.api-diff)
+
+${MONO_API_INFO} $MONO_API_INFO_PARAMS "$1" > ${API_OLD} 2> /dev/null
+if [ $? != 0 ]; then
+ echo "Error: ${MONO_API_INFO} on $1 failed!"
+ exit 1
+fi
+${MONO_API_INFO} $MONO_API_INFO_PARAMS "$2" > ${API_NEW} 2> /dev/null
+if [ $? != 0 ]; then
+ echo "Error: ${MONO_API_INFO} on $2 failed!"
+ exit 1
+fi
+${MONO_API_DIFF} ${API_OLD} ${API_NEW} > ${API_DIFF} 2> /dev/null
+if [ $? != 0 ]; then
+ echo "Error: ${MONO_API_DIFF} failed!"
+ exit 1
+fi
+
+version_changed=0
+grep -q 'Assembly version not equal: ' ${API_DIFF}
+if [ $? = 0 ]; then
+ version_changed=1
+fi
+
+name=$(head -n3 ${API_DIFF} | tail -n1 | sed 's;\ ;\n;g' | grep ^name | cut -d\= -f2 | sed 's;\";;g')
+missing_total=$(head -n3 ${API_DIFF} | tail -n1 | sed 's;\ ;\n;g' | grep ^missing_total | cut -d\= -f2 | sed 's;\";;g')
+extra_total=$(head -n3 ${API_DIFF} | tail -n1 | sed 's;\ ;\n;g' | grep ^extra_total | cut -d\= -f2 | sed 's;\";;g')
+
+if [ -z $missing_total ]; then
+ missing_total=0
+fi
+if [ -z $extra_total ]; then
+ extra_total=0
+fi
+
+echo "CLI API Check"
+echo -e "Assembly Name:\t\t$name"
+echo -e "Missing Interfaces:\t$missing_total"
+echo -e "Additional Interfaces:\t$extra_total"
+
+if [ $missing_total ]
+then
+ if [ $missing_total -gt 0 ]
+ then
+ echo
+ echo "The two assemblies you compared are NOT API compatible!"
+ echo "You must use a new package name!"
+ fi
+fi
+
+if [ $extra_total ]
+then
+ if [ $extra_total -gt 0 ]
+ then
+ echo
+ echo "The new assembly has additional interfaces. You must raise"
+ echo "the minimal version in clilibs!"
+ fi
+fi
+
+if [ $version_changed = 1 ]; then
+ echo
+ echo "The assembly versions do NOT MATCH!"
+ echo "If they are API compatible you MUST generate and install a GAC policy file!"
+fi
+
+rm -f ${API_OLD} ${API_NEW}
+if [ $KEEP = 1 ]; then
+ echo "API diff file: ${API_DIFF}"
+else
+ rm -f ${API_OLD} ${API_NEW}
+fi
diff --git a/debian/mono-api-diff.cs b/debian/mono-api-diff.cs
new file mode 100644
index 0000000000..2f9d8cd27e
--- /dev/null
+++ b/debian/mono-api-diff.cs
@@ -0,0 +1,1857 @@
+//
+// mono-api-diff.cs - Compares 2 xml files produced by mono-api-info and
+// produces a file suitable to build class status pages.
+//
+// Authors:
+// Gonzalo Paniagua Javier (gonzalo@ximian.com)
+// Marek Safar (marek.safar@gmail.com)
+//
+// (C) 2003 Novell, Inc (http://www.novell.com)
+//
+
+using System;
+using System.Collections;
+using System.IO;
+using System.Reflection;
+using System.Text;
+using System.Xml;
+
+namespace Mono.AssemblyCompare
+{
+ class Driver
+ {
+ static int Main (string [] args)
+ {
+ if (args.Length != 2) {
+ Console.WriteLine ("Usage: mono mono-api-diff.exe ");
+ return 1;
+ }
+
+ XMLAssembly ms = CreateXMLAssembly (args [0]);
+ XMLAssembly mono = CreateXMLAssembly (args [1]);
+ XmlDocument doc = ms.CompareAndGetDocument (mono);
+
+ XmlTextWriter writer = new XmlTextWriter (Console.Out);
+ writer.Formatting = Formatting.Indented;
+ doc.WriteTo (writer);
+
+ return 0;
+ }
+
+ static XMLAssembly CreateXMLAssembly (string file)
+ {
+ XmlDocument doc = new XmlDocument ();
+ doc.Load (File.OpenRead (file));
+
+ XmlNode node = doc.SelectSingleNode ("/assemblies/assembly");
+ XMLAssembly result = new XMLAssembly ();
+ try {
+ result.LoadData (node);
+ } catch (Exception e) {
+ Console.Error.WriteLine ("Error loading {0}: {1}\n{2}", file, e.Message, e);
+ Environment.Exit (1);
+ }
+
+ return result;
+ }
+ }
+
+ class Counters
+ {
+ public int Present;
+ public int PresentTotal;
+ public int Missing;
+ public int MissingTotal;
+ public int Todo;
+ public int TodoTotal;
+
+ public int Extra;
+ public int ExtraTotal;
+ public int Warning;
+ public int WarningTotal;
+ public int ErrorTotal;
+
+ public Counters ()
+ {
+ }
+
+ public void AddPartialToPartial (Counters other)
+ {
+ Present += other.Present;
+ Extra += other.Extra;
+ Missing += other.Missing;
+
+ Todo += other.Todo;
+ Warning += other.Warning;
+ AddPartialToTotal (other);
+ }
+
+ public void AddPartialToTotal (Counters other)
+ {
+ PresentTotal += other.Present;
+ ExtraTotal += other.Extra;
+ MissingTotal += other.Missing;
+
+ TodoTotal += other.Todo;
+ WarningTotal += other.Warning;
+ }
+
+ public void AddTotalToPartial (Counters other)
+ {
+ Present += other.PresentTotal;
+ Extra += other.ExtraTotal;
+ Missing += other.MissingTotal;
+
+ Todo += other.TodoTotal;
+ Warning += other.WarningTotal;
+ AddTotalToTotal (other);
+ }
+
+ public void AddTotalToTotal (Counters other)
+ {
+ PresentTotal += other.PresentTotal;
+ ExtraTotal += other.ExtraTotal;
+ MissingTotal += other.MissingTotal;
+
+ TodoTotal += other.TodoTotal;
+ WarningTotal += other.WarningTotal;
+ ErrorTotal += other.ErrorTotal;
+ }
+
+ public int Total {
+ get { return Present + Missing; }
+ }
+
+ public int AbsTotal {
+ get { return PresentTotal + MissingTotal; }
+ }
+
+ public int Ok {
+ get { return Present - Todo; }
+ }
+
+ public int OkTotal {
+ get { return PresentTotal - TodoTotal - ErrorTotal; }
+ }
+
+ public override string ToString ()
+ {
+ StringWriter sw = new StringWriter ();
+ sw.WriteLine ("Present: {0}", Present);
+ sw.WriteLine ("PresentTotal: {0}", PresentTotal);
+ sw.WriteLine ("Missing: {0}", Missing);
+ sw.WriteLine ("MissingTotal: {0}", MissingTotal);
+ sw.WriteLine ("Todo: {0}", Todo);
+ sw.WriteLine ("TodoTotal: {0}", TodoTotal);
+ sw.WriteLine ("Extra: {0}", Extra);
+ sw.WriteLine ("ExtraTotal: {0}", ExtraTotal);
+ sw.WriteLine ("Warning: {0}", Warning);
+ sw.WriteLine ("WarningTotal: {0}", WarningTotal);
+ sw.WriteLine ("ErrorTotal: {0}", ErrorTotal);
+ sw.WriteLine ("--");
+ return sw.GetStringBuilder ().ToString ();
+ }
+ }
+
+ abstract class XMLData
+ {
+ protected XmlDocument document;
+ protected Counters counters;
+ bool haveWarnings;
+
+ public XMLData ()
+ {
+ counters = new Counters ();
+ }
+
+ public virtual void LoadData (XmlNode node)
+ {
+ }
+
+ protected object [] LoadRecursive (XmlNodeList nodeList, Type type)
+ {
+ ArrayList list = new ArrayList ();
+ foreach (XmlNode node in nodeList) {
+ XMLData data = (XMLData) Activator.CreateInstance (type);
+ data.LoadData (node);
+ list.Add (data);
+ }
+
+ return (object []) list.ToArray (type);
+ }
+
+ public static bool IsMeaninglessAttribute (string s)
+ {
+ if (s == null)
+ return false;
+ if (s == "System.Runtime.CompilerServices.CompilerGeneratedAttribute")
+ return true;
+ return false;
+ }
+
+ public static bool IsMonoTODOAttribute (string s)
+ {
+ if (s == null)
+ return false;
+ if (//s.EndsWith ("MonoTODOAttribute") ||
+ s.EndsWith ("MonoDocumentationNoteAttribute") ||
+ s.EndsWith ("MonoExtensionAttribute") ||
+// s.EndsWith ("MonoInternalNoteAttribute") ||
+ s.EndsWith ("MonoLimitationAttribute") ||
+ s.EndsWith ("MonoNotSupportedAttribute"))
+ return true;
+ return s.EndsWith ("TODOAttribute");
+ }
+
+ protected void AddAttribute (XmlNode node, string name, string value)
+ {
+ XmlAttribute attr = document.CreateAttribute (name);
+ attr.Value = value;
+ node.Attributes.Append (attr);
+ }
+
+ protected void AddExtra (XmlNode node)
+ {
+ //TODO: count all the subnodes?
+ AddAttribute (node, "presence", "extra");
+ AddAttribute (node, "ok", "1");
+ AddAttribute (node, "ok_total", "1");
+ AddAttribute (node, "extra", "1");
+ AddAttribute (node, "extra_total", "1");
+ }
+
+ public void AddCountersAttributes (XmlNode node)
+ {
+ if (counters.Missing > 0)
+ AddAttribute (node, "missing", counters.Missing.ToString ());
+
+ if (counters.Present > 0)
+ AddAttribute (node, "present", counters.Present.ToString ());
+
+ if (counters.Extra > 0)
+ AddAttribute (node, "extra", counters.Extra.ToString ());
+
+ if (counters.Ok > 0)
+ AddAttribute (node, "ok", counters.Ok.ToString ());
+
+ if (counters.Total > 0) {
+ int percent = (100 * counters.Ok / counters.Total);
+ AddAttribute (node, "complete", percent.ToString ());
+ }
+
+ if (counters.Todo > 0)
+ AddAttribute (node, "todo", counters.Todo.ToString ());
+
+ if (counters.Warning > 0)
+ AddAttribute (node, "warning", counters.Warning.ToString ());
+
+ if (counters.MissingTotal > 0)
+ AddAttribute (node, "missing_total", counters.MissingTotal.ToString ());
+
+ if (counters.PresentTotal > 0)
+ AddAttribute (node, "present_total", counters.PresentTotal.ToString ());
+
+ if (counters.ExtraTotal > 0)
+ AddAttribute (node, "extra_total", counters.ExtraTotal.ToString ());
+
+ if (counters.OkTotal > 0)
+ AddAttribute (node, "ok_total", counters.OkTotal.ToString ());
+
+ if (counters.AbsTotal > 0) {
+ int percent = (100 * counters.OkTotal / counters.AbsTotal);
+ AddAttribute (node, "complete_total", percent.ToString ());
+ }
+
+ if (counters.TodoTotal > 0) {
+ AddAttribute (node, "todo_total", counters.TodoTotal.ToString ());
+ //TODO: should be different on error. check error cases in corcompare.
+ AddAttribute (node, "error_total", counters.Todo.ToString ());
+ }
+
+ if (counters.WarningTotal > 0)
+ AddAttribute (node, "warning_total", counters.WarningTotal.ToString ());
+
+ }
+
+ protected void AddWarning (XmlNode parent, string fmt, params object [] args)
+ {
+ counters.Warning++;
+ haveWarnings = true;
+ XmlNode warnings = parent.SelectSingleNode ("warnings");
+ if (warnings == null) {
+ warnings = document.CreateElement ("warnings", null);
+ parent.AppendChild (warnings);
+ }
+
+ AddAttribute (parent, "error", "warning");
+ XmlNode warning = document.CreateElement ("warning", null);
+ AddAttribute (warning, "text", String.Format (fmt, args));
+ warnings.AppendChild (warning);
+ }
+
+ public bool HaveWarnings {
+ get { return haveWarnings; }
+ }
+
+ public Counters Counters {
+ get { return counters; }
+ }
+
+ public abstract void CompareTo (XmlDocument doc, XmlNode parent, object other);
+ }
+
+ abstract class XMLNameGroup : XMLData
+ {
+ protected XmlNode group;
+ protected Hashtable keys;
+
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ if (node.Name != GroupName)
+ throw new FormatException (String.Format ("Expecting <{0}>", GroupName));
+
+ keys = new Hashtable ();
+ foreach (XmlNode n in node.ChildNodes) {
+ string name = n.Attributes ["name"].Value;
+ if (CheckIfAdd (name, n)) {
+ string key = GetNodeKey (name, n);
+ //keys.Add (key, name);
+ keys [key] = name;
+ LoadExtraData (key, n);
+ }
+ }
+ }
+
+ protected virtual bool CheckIfAdd (string value, XmlNode node)
+ {
+ return true;
+ }
+
+ protected virtual void LoadExtraData (string name, XmlNode node)
+ {
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+ if (group == null)
+ group = doc.CreateElement (GroupName, null);
+
+ Hashtable okeys = null;
+ if (other != null && ((XMLNameGroup) other).keys != null) {
+ okeys = ((XMLNameGroup) other).keys;
+ }
+
+ XmlNode node = null;
+ bool onull = (okeys == null);
+ if (keys != null) {
+ foreach (DictionaryEntry entry in keys) {
+ node = doc.CreateElement (Name, null);
+ group.AppendChild (node);
+ string key = (string) entry.Key;
+ string name = (string) entry.Value;
+ AddAttribute (node, "name", name);
+
+ if (!onull && HasKey (key, okeys)) {
+ CompareToInner (key, node, (XMLNameGroup) other);
+ okeys.Remove (key);
+ counters.Present++;
+ } else {
+ AddAttribute (node, "presence", "missing");
+ counters.Missing++;
+ }
+ }
+ }
+
+ if (!onull && okeys.Count != 0) {
+ foreach (string value in okeys.Values) {
+ node = doc.CreateElement (Name, null);
+ AddAttribute (node, "name", (string) value);
+ AddAttribute (node, "presence", "extra");
+ group.AppendChild (node);
+ counters.Extra++;
+ }
+ }
+
+ if (group.HasChildNodes)
+ parent.AppendChild (group);
+ }
+
+ protected virtual void CompareToInner (string name, XmlNode node, XMLNameGroup other)
+ {
+ }
+
+ public virtual string GetNodeKey (string name, XmlNode node)
+ {
+ return name;
+ }
+
+ public virtual bool HasKey (string key, Hashtable other)
+ {
+ return other.ContainsKey (key);
+ }
+
+ public abstract string GroupName { get; }
+ public abstract string Name { get; }
+ }
+
+ class XMLAssembly : XMLData
+ {
+ XMLAttributes attributes;
+ XMLNamespace [] namespaces;
+ string name;
+ string version;
+
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ name = node.Attributes ["name"].Value;
+ version = node.Attributes ["version"].Value;
+ XmlNode atts = node.FirstChild;
+ attributes = new XMLAttributes ();
+ if (atts.Name == "attributes") {
+ attributes.LoadData (atts);
+ atts = atts.NextSibling;
+ }
+
+ if (atts == null || atts.Name != "namespaces") {
+ Console.Error.WriteLine ("Warning: no namespaces found!");
+ return;
+ }
+
+ namespaces = (XMLNamespace []) LoadRecursive (atts.ChildNodes, typeof (XMLNamespace));
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ XMLAssembly assembly = (XMLAssembly) other;
+
+ XmlNode childA = doc.CreateElement ("assembly", null);
+ AddAttribute (childA, "name", name);
+ AddAttribute (childA, "version", version);
+ if (name != assembly.name)
+ AddWarning (childA, "Assembly names not equal: {0}, {1}", name, assembly.name);
+
+ if (version != assembly.version)
+ AddWarning (childA, "Assembly version not equal: {0}, {1}", version, assembly.version);
+
+ parent.AppendChild (childA);
+
+ attributes.CompareTo (doc, childA, assembly.attributes);
+ counters.AddPartialToPartial (attributes.Counters);
+
+ CompareNamespaces (childA, assembly.namespaces);
+ if (assembly.attributes != null && assembly.attributes.IsTodo) {
+ counters.Todo++;
+ counters.TodoTotal++;
+ counters.ErrorTotal++;
+ AddAttribute (childA, "error", "todo");
+ if (assembly.attributes.Comment != null)
+ AddAttribute (childA, "comment", assembly.attributes.Comment);
+ }
+
+ AddCountersAttributes (childA);
+ }
+
+ void CompareNamespaces (XmlNode parent, XMLNamespace [] other)
+ {
+ ArrayList newNS = new ArrayList ();
+ XmlNode group = document.CreateElement ("namespaces", null);
+ parent.AppendChild (group);
+
+ Hashtable oh = CreateHash (other);
+ XmlNode node = null;
+ int count = (namespaces == null) ? 0 : namespaces.Length;
+ for (int i = 0; i < count; i++) {
+ XMLNamespace xns = namespaces [i];
+
+ node = document.CreateElement ("namespace", null);
+ newNS.Add (node);
+ AddAttribute (node, "name", xns.Name);
+
+ int idx = -1;
+ if (oh.ContainsKey (xns.Name))
+ idx = (int) oh [xns.Name];
+ XMLNamespace ons = idx >= 0 ? (XMLNamespace) other [idx] : null;
+ xns.CompareTo (document, node, ons);
+ if (idx >= 0)
+ other [idx] = null;
+ xns.AddCountersAttributes (node);
+ counters.Present++;
+ counters.PresentTotal++;
+ counters.AddPartialToTotal (xns.Counters);
+ }
+
+ if (other != null) {
+ count = other.Length;
+ for (int i = 0; i < count; i++) {
+ XMLNamespace n = other [i];
+ if (n == null)
+ continue;
+
+ node = document.CreateElement ("namespace", null);
+ newNS.Add (node);
+ AddAttribute (node, "name", n.Name);
+ AddExtra (node);
+ counters.ExtraTotal++;
+ }
+ }
+
+ XmlNode [] nodes = (XmlNode []) newNS.ToArray (typeof (XmlNode));
+ Array.Sort (nodes, XmlNodeComparer.Default);
+ foreach (XmlNode nn in nodes)
+ group.AppendChild (nn);
+ }
+
+ static Hashtable CreateHash (XMLNamespace [] other)
+ {
+ Hashtable result = new Hashtable ();
+ if (other != null) {
+ int i = 0;
+ foreach (XMLNamespace n in other) {
+ result [n.Name] = i++;
+ }
+ }
+
+ return result;
+ }
+
+ public XmlDocument CompareAndGetDocument (XMLAssembly other)
+ {
+ XmlDocument doc = new XmlDocument ();
+ this.document = doc;
+ XmlNode parent = doc.CreateElement ("assemblies", null);
+ doc.AppendChild (parent);
+
+ CompareTo (doc, parent, other);
+
+ XmlNode decl = doc.CreateXmlDeclaration ("1.0", null, null);
+ doc.InsertBefore (decl, doc.DocumentElement);
+
+ return doc;
+ }
+ }
+
+ class XMLNamespace : XMLData
+ {
+ string name;
+ XMLClass [] types;
+
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ if (node.Name != "namespace")
+ throw new FormatException ("Expecting ");
+
+ name = node.Attributes ["name"].Value;
+ XmlNode classes = node.FirstChild;
+ if (classes == null) {
+ Console.Error.WriteLine ("Warning: no classes for {0}", node.Attributes ["name"]);
+ return;
+ }
+
+ if (classes.Name != "classes")
+ throw new FormatException ("Expecting . Got <" + classes.Name + ">");
+
+ types = (XMLClass []) LoadRecursive (classes.ChildNodes, typeof (XMLClass));
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+ XMLNamespace nspace = (XMLNamespace) other;
+
+ XmlNode childA = doc.CreateElement ("classes", null);
+ parent.AppendChild (childA);
+
+ CompareTypes (childA, nspace != null ? nspace.types : new XMLClass [0]);
+ }
+
+ void CompareTypes (XmlNode parent, XMLClass [] other)
+ {
+ ArrayList newNodes = new ArrayList ();
+ Hashtable oh = CreateHash (other);
+ XmlNode node = null;
+ int count = (types == null) ? 0 : types.Length;
+ for (int i = 0; i < count; i++) {
+ XMLClass xclass = types [i];
+
+ node = document.CreateElement ("class", null);
+ newNodes.Add (node);
+ AddAttribute (node, "name", xclass.Name);
+ AddAttribute (node, "type", xclass.Type);
+
+ int idx = -1;
+ if (oh.ContainsKey (xclass.Name))
+ idx = (int) oh [xclass.Name];
+ xclass.CompareTo (document, node, idx >= 0 ? other [idx] : new XMLClass ());
+ if (idx >= 0)
+ other [idx] = null;
+ counters.AddPartialToPartial (xclass.Counters);
+ }
+
+ if (other != null) {
+ count = other.Length;
+ for (int i = 0; i < count; i++) {
+ XMLClass c = other [i];
+ if (c == null || IsMonoTODOAttribute (c.Name))
+ continue;
+
+ node = document.CreateElement ("class", null);
+ newNodes.Add (node);
+ AddAttribute (node, "name", c.Name);
+ AddAttribute (node, "type", c.Type);
+ AddExtra (node);
+ counters.Extra++;
+ counters.ExtraTotal++;
+ }
+ }
+
+ XmlNode [] nodes = (XmlNode []) newNodes.ToArray (typeof (XmlNode));
+ Array.Sort (nodes, XmlNodeComparer.Default);
+ foreach (XmlNode nn in nodes)
+ parent.AppendChild (nn);
+ }
+
+ static Hashtable CreateHash (XMLClass [] other)
+ {
+ Hashtable result = new Hashtable ();
+ if (other != null) {
+ int i = 0;
+ foreach (XMLClass c in other) {
+ result [c.Name] = i++;
+ }
+ }
+
+ return result;
+ }
+
+ public string Name {
+ get { return name; }
+ }
+ }
+
+ class XMLClass : XMLData
+ {
+ string name;
+ string type;
+ string baseName;
+ bool isSealed;
+ bool isSerializable;
+ bool isAbstract;
+ string charSet;
+ string layout;
+ XMLAttributes attributes;
+ XMLInterfaces interfaces;
+ XMLGenericTypeConstraints genericConstraints;
+ XMLFields fields;
+ XMLConstructors constructors;
+ XMLProperties properties;
+ XMLEvents events;
+ XMLMethods methods;
+ XMLClass [] nested;
+
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ name = node.Attributes ["name"].Value;
+ type = node.Attributes ["type"].Value;
+ XmlAttribute xatt = node.Attributes ["base"];
+ if (xatt != null)
+ baseName = xatt.Value;
+
+ xatt = node.Attributes ["sealed"];
+ isSealed = (xatt != null && xatt.Value == "true");
+
+ xatt = node.Attributes ["abstract"];
+ isAbstract = (xatt != null && xatt.Value == "true");
+
+ xatt = node.Attributes["serializable"];
+ isSerializable = (xatt != null && xatt.Value == "true");
+
+ xatt = node.Attributes["charset"];
+ if (xatt != null)
+ charSet = xatt.Value;
+
+ xatt = node.Attributes["layout"];
+ if (xatt != null)
+ layout = xatt.Value;
+
+ XmlNode child = node.FirstChild;
+ if (child == null) {
+ // Console.Error.WriteLine ("Empty class {0} {1}", name, type);
+ return;
+ }
+
+ if (child.Name == "attributes") {
+ attributes = new XMLAttributes ();
+ attributes.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "interfaces") {
+ interfaces = new XMLInterfaces ();
+ interfaces.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "generic-type-constraints") {
+ genericConstraints = new XMLGenericTypeConstraints ();
+ genericConstraints.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "fields") {
+ fields = new XMLFields ();
+ fields.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "constructors") {
+ constructors = new XMLConstructors ();
+ constructors.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "properties") {
+ properties = new XMLProperties ();
+ properties.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "events") {
+ events = new XMLEvents ();
+ events.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "methods") {
+ methods = new XMLMethods ();
+ methods.LoadData (child);
+ child = child.NextSibling;
+ }
+
+ if (child != null && child.Name == "generic-parameters") {
+ // HACK: ignore this tag as it doesn't seem to
+ // add any value when checking for differences
+ return;
+ }
+
+ if (child == null)
+ return;
+
+ if (child.Name != "classes") {
+ Console.WriteLine ("name: {0} type: {1} {2}", name, type, child.NodeType);
+ throw new FormatException ("Expecting . Got <" + child.Name + ">");
+ }
+
+ nested = (XMLClass []) LoadRecursive (child.ChildNodes, typeof (XMLClass));
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+ XMLClass oclass = (XMLClass) other;
+
+ if (attributes != null || oclass.attributes != null) {
+ if (attributes == null)
+ attributes = new XMLAttributes ();
+
+ attributes.CompareTo (doc, parent, oclass.attributes);
+ counters.AddPartialToPartial (attributes.Counters);
+ if (oclass.attributes != null && oclass.attributes.IsTodo) {
+ counters.Todo++;
+ counters.TodoTotal++;
+ counters.ErrorTotal++;
+ AddAttribute (parent, "error", "todo");
+ if (oclass.attributes.Comment != null)
+ AddAttribute (parent, "comment", oclass.attributes.Comment);
+ }
+ }
+
+ if (type != oclass.type)
+ AddWarning (parent, "Class type is wrong: {0} != {1}", type, oclass.type);
+
+ if (baseName != oclass.baseName)
+ AddWarning (parent, "Base class is wrong: {0} != {1}", baseName, oclass.baseName);
+
+ if (isAbstract != oclass.isAbstract || isSealed != oclass.isSealed) {
+ if ((isAbstract && isSealed) || (oclass.isAbstract && oclass.isSealed))
+ AddWarning (parent, "Should {0}be static", (isAbstract && isSealed) ? "" : "not ");
+ else if (isAbstract != oclass.isAbstract)
+ AddWarning (parent, "Should {0}be abstract", isAbstract ? "" : "not ");
+ else if (isSealed != oclass.isSealed)
+ AddWarning (parent, "Should {0}be sealed", isSealed ? "" : "not ");
+ }
+
+ if (isSerializable != oclass.isSerializable)
+ AddWarning (parent, "Should {0}be serializable", isSerializable ? "" : "not ");
+
+ if (charSet != oclass.charSet)
+ AddWarning (parent, "CharSet is wrong: {0} != {1}", charSet, oclass.charSet);
+
+ if (layout != oclass.layout)
+ AddWarning (parent, "Layout is wrong: {0} != {1}", layout, oclass.layout);
+
+ if (interfaces != null || oclass.interfaces != null) {
+ if (interfaces == null)
+ interfaces = new XMLInterfaces ();
+
+ interfaces.CompareTo (doc, parent, oclass.interfaces);
+ counters.AddPartialToPartial (interfaces.Counters);
+ }
+
+ if (genericConstraints != null || oclass.genericConstraints != null) {
+ if (genericConstraints == null)
+ genericConstraints = new XMLGenericTypeConstraints ();
+
+ genericConstraints.CompareTo (doc, parent, oclass.genericConstraints);
+ counters.AddPartialToPartial (genericConstraints.Counters);
+ }
+
+ if (fields != null || oclass.fields != null) {
+ if (fields == null)
+ fields = new XMLFields ();
+
+ fields.CompareTo (doc, parent, oclass.fields);
+ counters.AddPartialToPartial (fields.Counters);
+ }
+
+ if (constructors != null || oclass.constructors != null) {
+ if (constructors == null)
+ constructors = new XMLConstructors ();
+
+ constructors.CompareTo (doc, parent, oclass.constructors);
+ counters.AddPartialToPartial (constructors.Counters);
+ }
+
+ if (properties != null || oclass.properties != null) {
+ if (properties == null)
+ properties = new XMLProperties ();
+
+ properties.CompareTo (doc, parent, oclass.properties);
+ counters.AddPartialToPartial (properties.Counters);
+ }
+
+ if (events != null || oclass.events != null) {
+ if (events == null)
+ events = new XMLEvents ();
+
+ events.CompareTo (doc, parent, oclass.events);
+ counters.AddPartialToPartial (events.Counters);
+ }
+
+ if (methods != null || oclass.methods != null) {
+ if (methods == null)
+ methods = new XMLMethods ();
+
+ methods.CompareTo (doc, parent, oclass.methods);
+ counters.AddPartialToPartial (methods.Counters);
+ }
+
+ if (nested != null || oclass.nested != null) {
+ XmlNode n = doc.CreateElement ("classes", null);
+ parent.AppendChild (n);
+ CompareTypes (n, oclass.nested);
+ }
+
+ AddCountersAttributes (parent);
+ }
+
+ void CompareTypes (XmlNode parent, XMLClass [] other)
+ {
+ ArrayList newNodes = new ArrayList ();
+ Hashtable oh = CreateHash (other);
+ XmlNode node = null;
+ int count = (nested == null) ? 0 : nested.Length;
+ for (int i = 0; i < count; i++) {
+ XMLClass xclass = nested [i];
+
+ node = document.CreateElement ("class", null);
+ newNodes.Add (node);
+ AddAttribute (node, "name", xclass.Name);
+ AddAttribute (node, "type", xclass.Type);
+
+ if (oh.ContainsKey (xclass.Name)) {
+ int idx = (int) oh [xclass.Name];
+ xclass.CompareTo (document, node, other [idx]);
+ other [idx] = null;
+ counters.AddPartialToPartial (xclass.Counters);
+ } else {
+ // TODO: Should I count here?
+ AddAttribute (node, "presence", "missing");
+ counters.Missing++;
+ counters.MissingTotal++;
+ }
+ }
+
+ if (other != null) {
+ count = other.Length;
+ for (int i = 0; i < count; i++) {
+ XMLClass c = other [i];
+ if (c == null || IsMonoTODOAttribute (c.Name))
+ continue;
+
+ node = document.CreateElement ("class", null);
+ newNodes.Add (node);
+ AddAttribute (node, "name", c.Name);
+ AddAttribute (node, "type", c.Type);
+ AddExtra (node);
+ counters.Extra++;
+ counters.ExtraTotal++;
+ }
+ }
+
+ XmlNode [] nodes = (XmlNode []) newNodes.ToArray (typeof (XmlNode));
+ Array.Sort (nodes, XmlNodeComparer.Default);
+ foreach (XmlNode nn in nodes)
+ parent.AppendChild (nn);
+ }
+
+ static Hashtable CreateHash (XMLClass [] other)
+ {
+ Hashtable result = new Hashtable ();
+ if (other != null) {
+ int i = 0;
+ foreach (XMLClass c in other) {
+ result [c.Name] = i++;
+ }
+ }
+
+ return result;
+ }
+
+ public string Name {
+ get { return name; }
+ }
+
+ public string Type {
+ get { return type; }
+ }
+ }
+
+ class XMLParameter : XMLData
+ {
+ string name;
+ string type;
+ string attrib;
+ string direction;
+ bool isUnsafe;
+ bool isOptional;
+ string defaultValue;
+ XMLAttributes attributes;
+
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ if (node.Name != "parameter")
+ throw new ArgumentException ("Expecting ");
+
+ name = node.Attributes["name"].Value;
+ type = node.Attributes["type"].Value;
+ attrib = node.Attributes["attrib"].Value;
+ if (node.Attributes ["direction"] != null)
+ direction = node.Attributes["direction"].Value;
+ if (node.Attributes["unsafe"] != null)
+ isUnsafe = bool.Parse (node.Attributes["unsafe"].Value);
+ if (node.Attributes["optional"] != null)
+ isOptional = bool.Parse (node.Attributes["optional"].Value);
+ if (node.Attributes["defaultValue"] != null)
+ defaultValue = node.Attributes["defaultValue"].Value;
+
+ XmlNode child = node.FirstChild;
+ if (child == null)
+ return;
+
+ if (child.Name == "attributes") {
+ attributes = new XMLAttributes ();
+ attributes.LoadData (child);
+ child = child.NextSibling;
+ }
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+
+ XMLParameter oparm = (XMLParameter) other;
+
+ if (name != oparm.name)
+ AddWarning (parent, "Parameter name is wrong: {0} != {1}", name, oparm.name);
+
+ if (type != oparm.type)
+ AddWarning (parent, "Parameter type is wrong: {0} != {1}", type, oparm.type);
+
+ if (attrib != oparm.attrib)
+ AddWarning (parent, "Parameter attributes wrong: {0} != {1}", attrib, oparm.attrib);
+
+ if (direction != oparm.direction)
+ AddWarning (parent, "Parameter direction wrong: {0} != {1}", direction, oparm.direction);
+
+ if (isUnsafe != oparm.isUnsafe)
+ AddWarning (parent, "Parameter unsafe wrong: {0} != {1}", isUnsafe, oparm.isUnsafe);
+
+ if (isOptional != oparm.isOptional)
+ AddWarning (parent, "Parameter optional wrong: {0} != {1}", isOptional, oparm.isOptional);
+
+ if (defaultValue != oparm.defaultValue)
+ AddWarning (parent, "Parameter default value wrong: {0} != {1}", (defaultValue == null) ? "(no default value)" : defaultValue, (oparm.defaultValue == null) ? "(no default value)" : oparm.defaultValue);
+
+ if (attributes != null || oparm.attributes != null) {
+ if (attributes == null)
+ attributes = new XMLAttributes ();
+
+ attributes.CompareTo (doc, parent, oparm.attributes);
+ counters.AddPartialToPartial (attributes.Counters);
+ if (oparm.attributes != null && oparm.attributes.IsTodo) {
+ counters.Todo++;
+ counters.TodoTotal++;
+ counters.ErrorTotal++;
+ AddAttribute (parent, "error", "todo");
+ if (oparm.attributes.Comment != null)
+ AddAttribute (parent, "comment", oparm.attributes.Comment);
+ }
+ }
+ }
+
+ public string Name {
+ get { return name; }
+ }
+ }
+
+ class XMLAttributeProperties: XMLNameGroup
+ {
+ static Hashtable ignored_properties;
+ static XMLAttributeProperties ()
+ {
+ ignored_properties = new Hashtable ();
+ ignored_properties.Add ("System.Reflection.AssemblyKeyFileAttribute", "KeyFile");
+ ignored_properties.Add ("System.Reflection.AssemblyCompanyAttribute", "Company");
+ ignored_properties.Add ("System.Reflection.AssemblyConfigurationAttribute", "Configuration");
+ ignored_properties.Add ("System.Reflection.AssemblyCopyrightAttribute", "Copyright");
+ ignored_properties.Add ("System.Reflection.AssemblyProductAttribute", "Product");
+ ignored_properties.Add ("System.Reflection.AssemblyTrademarkAttribute", "Trademark");
+ ignored_properties.Add ("System.Reflection.AssemblyInformationalVersionAttribute", "InformationalVersion");
+
+ ignored_properties.Add ("System.ObsoleteAttribute", "Message");
+ ignored_properties.Add ("System.IO.IODescriptionAttribute", "Description");
+ ignored_properties.Add ("System.Diagnostics.MonitoringDescriptionAttribute", "Description");
+ }
+
+ Hashtable properties = new Hashtable ();
+ string attribute;
+
+ public XMLAttributeProperties (string attribute)
+ {
+ this.attribute = attribute;
+ }
+
+ public override void LoadData(XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ if (node.ChildNodes == null)
+ return;
+
+ string ignored = ignored_properties [attribute] as string;
+
+ foreach (XmlNode n in node.ChildNodes) {
+ string name = n.Attributes ["name"].Value;
+ if (ignored == name)
+ continue;
+
+ if (n.Attributes ["null"] != null) {
+ properties.Add (name, null);
+ continue;
+ }
+ string value = n.Attributes ["value"].Value;
+ properties.Add (name, value);
+ }
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+
+ Hashtable other_properties = ((XMLAttributeProperties)other).properties;
+ foreach (DictionaryEntry de in other_properties) {
+ object other_value = properties [de.Key];
+
+ if (de.Value == null) {
+ if (other_value != null)
+ AddWarning (parent, "Property '{0}' is 'null' and should be '{1}'", de.Key, other_value);
+ continue;
+ }
+
+ if (de.Value.Equals (other_value))
+ continue;
+
+ AddWarning (parent, "Property '{0}' is '{1}' and should be '{2}'",
+ de.Key, de.Value, other_value == null ? "null" : other_value);
+ }
+ }
+
+ public override string GroupName {
+ get {
+ return "properties";
+ }
+ }
+
+ public override string Name {
+ get {
+ return "";
+ }
+ }
+ }
+
+ class XMLAttributes : XMLNameGroup
+ {
+ Hashtable properties = new Hashtable ();
+
+ bool isTodo;
+ string comment;
+
+ protected override bool CheckIfAdd (string value, XmlNode node)
+ {
+ if (IsMonoTODOAttribute (value)) {
+ isTodo = true;
+
+ XmlNode pNode = node.SelectSingleNode ("properties");
+ if (pNode != null && pNode.ChildNodes.Count > 0 && pNode.ChildNodes [0].Attributes ["value"] != null) {
+ comment = pNode.ChildNodes [0].Attributes ["value"].Value;
+ }
+ return false;
+ }
+
+ return !IsMeaninglessAttribute (value);
+ }
+
+ protected override void CompareToInner (string name, XmlNode node, XMLNameGroup other)
+ {
+ XMLAttributeProperties other_prop = ((XMLAttributes)other).properties [name] as XMLAttributeProperties;
+ XMLAttributeProperties this_prop = properties [name] as XMLAttributeProperties;
+ if (other_prop == null || this_prop == null)
+ return;
+
+ this_prop.CompareTo (document, node, other_prop);
+ counters.AddPartialToPartial (this_prop.Counters);
+ }
+
+ public override string GetNodeKey (string name, XmlNode node)
+ {
+ string key = null;
+
+ // if multiple attributes with the same name (type) exist, then we
+ // cannot be sure which attributes correspond, so we must use the
+ // name of the attribute (type) and the name/value of its properties
+ // as key
+ XmlNodeList attributes = node.ParentNode.SelectNodes("attribute[@name='" + name + "']");
+ if (attributes.Count > 1) {
+ ArrayList keyParts = new ArrayList ();
+
+ XmlNodeList properties = node.SelectNodes ("properties/property");
+ foreach (XmlNode property in properties) {
+ XmlAttributeCollection attrs = property.Attributes;
+ if (attrs["value"] != null) {
+ keyParts.Add (attrs["name"].Value + "=" + attrs["value"].Value);
+ } else {
+ keyParts.Add (attrs["name"].Value + "=");
+ }
+ }
+
+ // sort properties by name, as order of properties in XML is
+ // undefined
+ keyParts.Sort ();
+
+ // insert name (type) of attribute
+ keyParts.Insert (0, name);
+
+ StringBuilder sb = new StringBuilder ();
+ foreach (string value in keyParts) {
+ sb.Append (value);
+ sb.Append (';');
+ }
+ key = sb.ToString ();
+ } else {
+ key = name;
+ }
+
+ return key;
+ }
+
+ protected override void LoadExtraData(string name, XmlNode node)
+ {
+ XmlNode pNode = node.SelectSingleNode ("properties");
+
+ if (IsMonoTODOAttribute (name)) {
+ isTodo = true;
+ if (pNode.ChildNodes [0].Attributes ["value"] != null) {
+ comment = pNode.ChildNodes [0].Attributes ["value"].Value;
+ }
+ return;
+ }
+
+ if (pNode != null) {
+ XMLAttributeProperties p = new XMLAttributeProperties (name);
+ p.LoadData (pNode);
+
+ properties[name] = p;
+ }
+ }
+
+ public override string GroupName {
+ get { return "attributes"; }
+ }
+
+ public override string Name {
+ get { return "attribute"; }
+ }
+
+ public bool IsTodo {
+ get { return isTodo; }
+ }
+
+ public string Comment {
+ get { return comment; }
+ }
+ }
+
+ class XMLInterfaces : XMLNameGroup
+ {
+ public override string GroupName {
+ get { return "interfaces"; }
+ }
+
+ public override string Name {
+ get { return "interface"; }
+ }
+ }
+
+ abstract class XMLGenericGroup : XMLNameGroup
+ {
+ string attributes;
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ attributes = ((XmlElement) node).GetAttribute ("generic-attribute");
+ }
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ base.CompareToInner (name, parent, other);
+
+ XMLGenericGroup g = (XMLGenericGroup) other;
+ if (attributes != g.attributes)
+ AddWarning (parent, "Incorrect generic attributes: '{0}' != '{1}'", attributes, g.attributes);
+ }
+ }
+
+ class XMLGenericTypeConstraints : XMLGenericGroup
+ {
+ public override string GroupName {
+ get { return "generic-type-constraints"; }
+ }
+
+ public override string Name {
+ get { return "generic-type-constraint"; }
+ }
+ }
+
+ class XMLGenericMethodConstraints : XMLGenericGroup
+ {
+ public override string GroupName {
+ get { return "generic-method-constraints"; }
+ }
+
+ public override string Name {
+ get { return "generic-method-constraint"; }
+ }
+ }
+
+ abstract class XMLMember : XMLNameGroup
+ {
+ Hashtable attributeMap;
+ Hashtable access = new Hashtable ();
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ XmlAttribute xatt = node.Attributes ["attrib"];
+ if (xatt != null)
+ access [name] = xatt.Value;
+
+ XmlNode orig = node;
+
+ node = node.FirstChild;
+ while (node != null) {
+ if (node != null && node.Name == "attributes") {
+ XMLAttributes a = new XMLAttributes ();
+ a.LoadData (node);
+ if (attributeMap == null)
+ attributeMap = new Hashtable ();
+
+ attributeMap [name] = a;
+ break;
+ }
+ node = node.NextSibling;
+ }
+
+ base.LoadExtraData (name, orig);
+ }
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ base.CompareToInner (name, parent, other);
+ XMLMember mb = other as XMLMember;
+ XMLAttributes att = null;
+ XMLAttributes oatt = null;
+ if (attributeMap != null)
+ att = attributeMap [name] as XMLAttributes;
+
+ if (mb != null && mb.attributeMap != null)
+ oatt = mb.attributeMap [name] as XMLAttributes;
+
+ if (att != null || oatt != null) {
+ if (att == null)
+ att = new XMLAttributes ();
+
+ att.CompareTo (document, parent, oatt);
+ counters.AddPartialToPartial(att.Counters);
+ if (oatt != null && oatt.IsTodo) {
+ counters.Todo++;
+ counters.ErrorTotal++;
+ AddAttribute (parent, "error", "todo");
+ if (oatt.Comment != null)
+ AddAttribute (parent, "comment", oatt.Comment);
+ }
+ }
+
+ XMLMember member = (XMLMember) other;
+ string acc = access [name] as string;
+ if (acc == null)
+ return;
+
+ string oacc = null;
+ if (member.access != null)
+ oacc = member.access [name] as string;
+
+ string accName = ConvertToString (Int32.Parse (acc));
+ string oaccName = "";
+ if (oacc != null)
+ oaccName = ConvertToString (Int32.Parse (oacc));
+
+ if (accName != oaccName)
+ AddWarning (parent, "Incorrect attributes: '{0}' != '{1}'", accName, oaccName);
+ }
+
+ protected virtual string ConvertToString (int att)
+ {
+ return null;
+ }
+ }
+
+ class XMLFields : XMLMember
+ {
+ Hashtable fieldTypes;
+ Hashtable fieldValues;
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ XmlAttribute xatt = node.Attributes ["fieldtype"];
+ if (xatt != null) {
+ if (fieldTypes == null)
+ fieldTypes = new Hashtable ();
+
+ fieldTypes [name] = xatt.Value;
+ }
+
+ xatt = node.Attributes ["value"];
+ if (xatt != null) {
+ if (fieldValues == null)
+ fieldValues = new Hashtable ();
+
+ fieldValues[name] = xatt.Value;
+ }
+
+ base.LoadExtraData (name, node);
+ }
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ base.CompareToInner (name, parent, other);
+ XMLFields fields = (XMLFields) other;
+ if (fieldTypes != null) {
+ string ftype = fieldTypes [name] as string;
+ string oftype = null;
+ if (fields.fieldTypes != null)
+ oftype = fields.fieldTypes [name] as string;
+
+ if (ftype != oftype)
+ AddWarning (parent, "Field type is {0} and should be {1}", oftype, ftype);
+ }
+ if (fieldValues != null) {
+ string fvalue = fieldValues [name] as string;
+ string ofvalue = null;
+ if (fields.fieldValues != null)
+ ofvalue = fields.fieldValues [name] as string;
+
+ if (fvalue != ofvalue)
+ AddWarning (parent, "Field value is {0} and should be {1}", ofvalue, fvalue);
+ }
+ }
+
+ protected override string ConvertToString (int att)
+ {
+ FieldAttributes fa = (FieldAttributes) att;
+ return fa.ToString ();
+ }
+
+ public override string GroupName {
+ get { return "fields"; }
+ }
+
+ public override string Name {
+ get { return "field"; }
+ }
+ }
+
+ class XMLParameters : XMLNameGroup
+ {
+ public override void LoadData (XmlNode node)
+ {
+ if (node == null)
+ throw new ArgumentNullException ("node");
+
+ if (node.Name != GroupName)
+ throw new FormatException (String.Format ("Expecting <{0}>", GroupName));
+
+ keys = new Hashtable ();
+ foreach (XmlNode n in node.ChildNodes) {
+ string name = n.Attributes["name"].Value;
+ string key = GetNodeKey (name, n);
+ XMLParameter parm = new XMLParameter ();
+ parm.LoadData (n);
+ keys.Add (key, parm);
+ LoadExtraData (key, n);
+ }
+ }
+
+ public override string GroupName {
+ get {
+ return "parameters";
+ }
+ }
+
+ public override string Name {
+ get {
+ return "parameter";
+ }
+ }
+
+ public override string GetNodeKey (string name, XmlNode node)
+ {
+ return node.Attributes["position"].Value;
+ }
+
+ public override void CompareTo (XmlDocument doc, XmlNode parent, object other)
+ {
+ this.document = doc;
+ if (group == null)
+ group = doc.CreateElement (GroupName, null);
+
+ Hashtable okeys = null;
+ if (other != null && ((XMLParameters) other).keys != null) {
+ okeys = ((XMLParameters) other).keys;
+ }
+
+ XmlNode node = null;
+ bool onull = (okeys == null);
+ if (keys != null) {
+ foreach (DictionaryEntry entry in keys) {
+ node = doc.CreateElement (Name, null);
+ group.AppendChild (node);
+ string key = (string) entry.Key;
+ XMLParameter parm = (XMLParameter) entry.Value;
+ AddAttribute (node, "name", parm.Name);
+
+ if (!onull && HasKey (key, okeys)) {
+ parm.CompareTo (document, node, okeys[key]);
+ counters.AddPartialToPartial (parm.Counters);
+ okeys.Remove (key);
+ counters.Present++;
+ } else {
+ AddAttribute (node, "presence", "missing");
+ counters.Missing++;
+ }
+ }
+ }
+
+ if (!onull && okeys.Count != 0) {
+ foreach (XMLParameter value in okeys.Values) {
+ node = doc.CreateElement (Name, null);
+ AddAttribute (node, "name", value.Name);
+ AddAttribute (node, "presence", "extra");
+ group.AppendChild (node);
+ counters.Extra++;
+ }
+ }
+
+ if (group.HasChildNodes)
+ parent.AppendChild (group);
+ }
+ }
+
+ class XMLProperties : XMLMember
+ {
+ Hashtable nameToMethod = new Hashtable ();
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ Counters copy = counters;
+ counters = new Counters();
+
+ XMLProperties oprop = other as XMLProperties;
+ if (oprop != null) {
+ XMLMethods m = nameToMethod [name] as XMLMethods;
+ XMLMethods om = oprop.nameToMethod [name] as XMLMethods;
+ if (m != null || om != null) {
+ if (m == null)
+ m = new XMLMethods ();
+
+ m.CompareTo(document, parent, om);
+ counters.AddPartialToPartial(m.Counters);
+ }
+ }
+
+ base.CompareToInner (name, parent, other);
+ AddCountersAttributes(parent);
+
+ copy.AddPartialToPartial(counters);
+ counters = copy;
+ }
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ XmlNode orig = node;
+ node = node.FirstChild;
+ while (node != null) {
+ if (node != null && node.Name == "methods") {
+ XMLMethods m = new XMLMethods ();
+ XmlNode parent = node.ParentNode;
+ string key = GetNodeKey (name, parent);
+ m.LoadData (node);
+ nameToMethod [key] = m;
+ break;
+ }
+ node = node.NextSibling;
+ }
+
+ base.LoadExtraData (name, orig);
+ }
+
+ public override string GetNodeKey (string name, XmlNode node)
+ {
+ XmlAttributeCollection atts = node.Attributes;
+ return String.Format ("{0}:{1}:{2}",
+ (atts["name"] != null ? atts["name"].Value : ""),
+ (atts["ptype"] != null ? atts["ptype"].Value : ""),
+ (atts["params"] != null ? atts["params"].Value : "")
+ );
+ }
+
+ public override string GroupName {
+ get { return "properties"; }
+ }
+
+ public override string Name {
+ get { return "property"; }
+ }
+ }
+
+ class XMLEvents : XMLMember
+ {
+ Hashtable eventTypes;
+ Hashtable nameToMethod = new Hashtable ();
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ XmlAttribute xatt = node.Attributes ["eventtype"];
+ if (xatt != null) {
+ if (eventTypes == null)
+ eventTypes = new Hashtable ();
+
+ eventTypes [name] = xatt.Value;
+ }
+
+ XmlNode child = node.FirstChild;
+ while (child != null) {
+ if (child != null && child.Name == "methods") {
+ XMLMethods m = new XMLMethods ();
+ XmlNode parent = child.ParentNode;
+ string key = GetNodeKey (name, parent);
+ m.LoadData (child);
+ nameToMethod [key] = m;
+ break;
+ }
+ child = child.NextSibling;
+ }
+
+ base.LoadExtraData (name, node);
+ }
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ Counters copy = counters;
+ counters = new Counters ();
+
+ try {
+ base.CompareToInner (name, parent, other);
+ AddCountersAttributes (parent);
+ if (eventTypes == null)
+ return;
+
+ XMLEvents evt = (XMLEvents) other;
+ string etype = eventTypes [name] as string;
+ string oetype = null;
+ if (evt.eventTypes != null)
+ oetype = evt.eventTypes [name] as string;
+
+ if (etype != oetype)
+ AddWarning (parent, "Event type is {0} and should be {1}", oetype, etype);
+
+ XMLMethods m = nameToMethod [name] as XMLMethods;
+ XMLMethods om = evt.nameToMethod [name] as XMLMethods;
+ if (m != null || om != null) {
+ if (m == null)
+ m = new XMLMethods ();
+
+ m.CompareTo (document, parent, om);
+ counters.AddPartialToPartial (m.Counters);
+ }
+ } finally {
+ AddCountersAttributes (parent);
+ copy.AddPartialToPartial (counters);
+ counters = copy;
+ }
+ }
+
+ protected override string ConvertToString (int att)
+ {
+ EventAttributes ea = (EventAttributes) att;
+ return ea.ToString ();
+ }
+
+ public override string GroupName {
+ get { return "events"; }
+ }
+
+ public override string Name {
+ get { return "event"; }
+ }
+ }
+
+ class XMLMethods : XMLMember
+ {
+ Hashtable returnTypes;
+ Hashtable parameters;
+ Hashtable genericConstraints;
+ Hashtable signatureFlags;
+
+ [Flags]
+ enum SignatureFlags
+ {
+ None = 0,
+ Abstract = 1,
+ Virtual = 2,
+ Static = 4,
+ Final = 8,
+ }
+
+ protected override void LoadExtraData (string name, XmlNode node)
+ {
+ XmlAttribute xatt = node.Attributes ["returntype"];
+ if (xatt != null) {
+ if (returnTypes == null)
+ returnTypes = new Hashtable ();
+
+ returnTypes [name] = xatt.Value;
+ }
+
+ SignatureFlags flags = SignatureFlags.None;
+ if (((XmlElement) node).GetAttribute ("abstract") == "true")
+ flags |= SignatureFlags.Abstract;
+ if (((XmlElement) node).GetAttribute ("static") == "true")
+ flags |= SignatureFlags.Static;
+ if (((XmlElement) node).GetAttribute ("virtual") == "true")
+ flags |= SignatureFlags.Virtual;
+ if (((XmlElement) node).GetAttribute ("final") == "true")
+ flags |= SignatureFlags.Final;
+ if (flags != SignatureFlags.None) {
+ if (signatureFlags == null)
+ signatureFlags = new Hashtable ();
+ signatureFlags [name] = flags;
+ }
+
+ XmlNode parametersNode = node.SelectSingleNode ("parameters");
+ if (parametersNode != null) {
+ if (parameters == null)
+ parameters = new Hashtable ();
+
+ XMLParameters parms = new XMLParameters ();
+ parms.LoadData (parametersNode);
+
+ parameters[name] = parms;
+ }
+
+ XmlNode genericNode = node.SelectSingleNode ("generic-method-constraints");
+ if (genericNode != null) {
+ if (genericConstraints == null)
+ genericConstraints = new Hashtable ();
+ XMLGenericMethodConstraints csts = new XMLGenericMethodConstraints ();
+ csts.LoadData (genericNode);
+ genericConstraints [name] = csts;
+ }
+
+ base.LoadExtraData (name, node);
+ }
+
+ public override string GetNodeKey (string name, XmlNode node)
+ {
+ // for explicit/implicit operators we need to include the return
+ // type in the key to allow matching; as a side-effect, differences
+ // in return types will be reported as extra/missing methods
+ //
+ // for regular methods we do not need to take into account the
+ // return type for matching methods; differences in return types
+ // will be reported as a warning on the method
+ if (name.StartsWith ("op_")) {
+ XmlAttribute xatt = node.Attributes ["returntype"];
+ string returnType = xatt != null ? xatt.Value + " " : string.Empty;
+ return returnType + name;
+ }
+ return name;
+ }
+
+ protected override void CompareToInner (string name, XmlNode parent, XMLNameGroup other)
+ {
+ // create backup of actual counters
+ Counters copy = counters;
+ // initialize counters for current method
+ counters = new Counters();
+
+ try {
+ base.CompareToInner(name, parent, other);
+ XMLMethods methods = (XMLMethods) other;
+
+ SignatureFlags flags = signatureFlags != null &&
+ signatureFlags.ContainsKey (name) ?
+ (SignatureFlags) signatureFlags [name] :
+ SignatureFlags.None;
+ SignatureFlags oflags = methods.signatureFlags != null &&
+ methods.signatureFlags.ContainsKey (name) ?
+ (SignatureFlags) methods.signatureFlags [name] :
+ SignatureFlags.None;
+
+ if (flags!= oflags) {
+ if (flags == SignatureFlags.None)
+ AddWarning (parent, String.Format ("should not be {0}", oflags));
+ else if (oflags == SignatureFlags.None)
+ AddWarning (parent, String.Format ("should be {0}", flags));
+ else
+ AddWarning (parent, String.Format ("{0} and should be {1}", oflags, flags));
+ }
+
+ if (returnTypes != null) {
+ string rtype = returnTypes[name] as string;
+ string ortype = null;
+ if (methods.returnTypes != null)
+ ortype = methods.returnTypes[name] as string;
+
+ if (rtype != ortype)
+ AddWarning (parent, "Return type is {0} and should be {1}", ortype, rtype);
+ }
+
+ if (parameters != null) {
+ XMLParameters parms = parameters[name] as XMLParameters;
+ parms.CompareTo (document, parent, methods.parameters[name]);
+ counters.AddPartialToPartial (parms.Counters);
+ }
+ } finally {
+ // output counter attributes in result document
+ AddCountersAttributes(parent);
+
+ // add temporary counters to actual counters
+ copy.AddPartialToPartial(counters);
+ // restore backup of actual counters
+ counters = copy;
+ }
+ }
+
+ protected override string ConvertToString (int att)
+ {
+ MethodAttributes ma = (MethodAttributes) att;
+ // ignore ReservedMasks
+ ma &= ~ MethodAttributes.ReservedMask;
+ ma &= ~ MethodAttributes.VtableLayoutMask;
+ if ((ma & MethodAttributes.FamORAssem) != 0)
+ ma = (ma & ~ MethodAttributes.FamORAssem) | MethodAttributes.Family;
+
+ // ignore the HasSecurity attribute for now
+ if ((ma & MethodAttributes.HasSecurity) != 0)
+ ma = (MethodAttributes) (att - (int) MethodAttributes.HasSecurity);
+
+ // ignore the RequireSecObject attribute for now
+ if ((ma & MethodAttributes.RequireSecObject) != 0)
+ ma = (MethodAttributes) (att - (int) MethodAttributes.RequireSecObject);
+
+ // we don't care if the implementation is forwarded through PInvoke
+ if ((ma & MethodAttributes.PinvokeImpl) != 0)
+ ma = (MethodAttributes) (att - (int) MethodAttributes.PinvokeImpl);
+
+ return ma.ToString ();
+ }
+
+ public override string GroupName {
+ get { return "methods"; }
+ }
+
+ public override string Name {
+ get { return "method"; }
+ }
+ }
+
+ class XMLConstructors : XMLMethods
+ {
+ public override string GroupName {
+ get { return "constructors"; }
+ }
+
+ public override string Name {
+ get { return "constructor"; }
+ }
+ }
+
+ class XmlNodeComparer : IComparer
+ {
+ public static XmlNodeComparer Default = new XmlNodeComparer ();
+
+ public int Compare (object a, object b)
+ {
+ XmlNode na = (XmlNode) a;
+ XmlNode nb = (XmlNode) b;
+ return String.Compare (na.Attributes ["name"].Value, nb.Attributes ["name"].Value);
+ }
+ }
+}
+
diff --git a/debian/mono-api-source-check b/debian/mono-api-source-check
new file mode 100755
index 0000000000..a36ed12c18
--- /dev/null
+++ b/debian/mono-api-source-check
@@ -0,0 +1,4 @@
+#!/bin/sh
+OLD_VER=$1
+NEW_VER=$2
+git diff --ignore-all-space $OLD_VER $NEW_VER | filterdiff -i "*.cs" -x '*/Test/*' | egrep "\+\+\+|[+-]\s*(public|protected)"
diff --git a/debian/mono-archs.make b/debian/mono-archs.make
new file mode 100644
index 0000000000..1d93adf75c
--- /dev/null
+++ b/debian/mono-archs.make
@@ -0,0 +1,12 @@
+DEB_MONO_ARCHS = amd64 armel armhf i386 mipsel kfreebsd-amd64 kfreebsd-i386 powerpc ppc64 s390x
+# grep defined mono/metadata/sgen-archdep.h
+#if defined(MONO_CROSS_COMPILE)
+#elif defined(TARGET_X86)
+#elif defined(TARGET_AMD64)
+#elif defined(TARGET_POWERPC)
+#elif defined(TARGET_ARM)
+#elif defined(__mips__)
+#elif defined(__s390x__)
+#elif defined(__sparc__)
+# SGen is default now - Every arch is expected to support it
+DEB_MONO_SGEN_ARCHS = $(DEB_MONO_ARCHS)
diff --git a/debian/mono-csharp-shell.install b/debian/mono-csharp-shell.install
new file mode 100644
index 0000000000..54632ebbd2
--- /dev/null
+++ b/debian/mono-csharp-shell.install
@@ -0,0 +1,2 @@
+/usr/bin/csharp
+/usr/lib/mono/4.5/csharp.exe*
diff --git a/debian/mono-csharp-shell.manpages b/debian/mono-csharp-shell.manpages
new file mode 100644
index 0000000000..dc039ee85f
--- /dev/null
+++ b/debian/mono-csharp-shell.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/csharp.1
diff --git a/debian/mono-dbg.install b/debian/mono-dbg.install
new file mode 100644
index 0000000000..5f50655aba
--- /dev/null
+++ b/debian/mono-dbg.install
@@ -0,0 +1,2 @@
+usr/bin/mono-gdb.py usr/lib/debug/usr/bin/
+usr/bin/mono-sgen-gdb.py usr/lib/debug/usr/bin/
diff --git a/debian/mono-devel.install b/debian/mono-devel.install
new file mode 100644
index 0000000000..5cfa33c2a3
--- /dev/null
+++ b/debian/mono-devel.install
@@ -0,0 +1,162 @@
+debian/tmp/usr/bin/al
+debian/tmp/usr/bin/caspol
+debian/tmp/usr/bin/cccheck
+debian/tmp/usr/bin/ccrewrite
+debian/tmp/usr/bin/cert2spc
+debian/tmp/usr/bin/certmgr
+debian/tmp/usr/bin/chktrust
+debian/tmp/usr/bin/crlupdate
+debian/tmp/usr/bin/disco
+debian/tmp/usr/bin/dtd2xsd
+debian/tmp/usr/bin/dtd2rng
+debian/tmp/usr/bin/genxs
+debian/tmp/usr/bin/ilasm
+debian/tmp/usr/bin/installvst
+debian/tmp/usr/bin/lc
+debian/tmp/usr/bin/macpack
+debian/tmp/usr/bin/makecert
+debian/tmp/usr/bin/mdbrebase
+debian/tmp/usr/bin/mkbundle
+debian/tmp/usr/bin/mono-api-info
+debian/tmp/usr/bin/mono-cil-strip
+debian/tmp/usr/bin/mono-configuration-crypto
+debian/tmp/usr/bin/mono-heapviz
+debian/tmp/usr/bin/mono-shlib-cop
+debian/tmp/usr/bin/mono-test-install
+debian/tmp/usr/bin/mono-xmltool
+debian/tmp/usr/bin/monop
+debian/tmp/usr/bin/monolinker
+debian/tmp/usr/bin/mozroots
+debian/tmp/usr/bin/pdb2mdb
+debian/tmp/usr/bin/permview
+debian/tmp/usr/bin/resgen
+debian/tmp/usr/bin/secutil
+debian/tmp/usr/bin/setreg
+debian/tmp/usr/bin/signcode
+debian/tmp/usr/bin/sn
+debian/tmp/usr/bin/soapsuds
+debian/tmp/usr/bin/sqlsharp
+debian/tmp/usr/bin/sqlmetal
+debian/tmp/usr/bin/svcutil
+debian/tmp/usr/bin/wsdl
+debian/tmp/usr/bin/xsd
+debian/tmp/usr/lib/mono/2.0/al.exe*
+debian/tmp/usr/lib/mono/4.5/al.exe*
+debian/tmp/usr/lib/mono/4.5/browsercaps-updater.exe*
+debian/tmp/usr/lib/mono/4.5/caspol.exe*
+debian/tmp/usr/lib/mono/4.5/cccheck.exe*
+debian/tmp/usr/lib/mono/4.5/ccrewrite.exe*
+debian/tmp/usr/lib/mono/4.5/cert2spc.exe*
+debian/tmp/usr/lib/mono/4.5/certmgr.exe*
+debian/tmp/usr/lib/mono/4.5/chktrust.exe*
+debian/tmp/usr/lib/mono/4.5/crlupdate.exe*
+debian/tmp/usr/lib/mono/2.0/culevel.exe*
+debian/tmp/usr/lib/mono/4.5/culevel.exe*
+debian/tmp/usr/lib/mono/4.5/disco.exe*
+debian/tmp/usr/lib/mono/4.5/dtd2rng.exe*
+debian/tmp/usr/lib/mono/4.5/dtd2xsd.exe*
+debian/tmp/usr/lib/mono/2.0/genxs.exe*
+debian/tmp/usr/lib/mono/4.5/genxs.exe*
+debian/tmp/usr/lib/mono/4.5/httpcfg.exe*
+debian/tmp/usr/lib/mono/4.5/ictool.exe*
+debian/tmp/usr/lib/mono/2.0/ilasm.exe*
+debian/tmp/usr/lib/mono/4.5/ilasm.exe*
+debian/tmp/usr/lib/mono/4.5/installutil.exe*
+debian/tmp/usr/lib/mono/4.5/installvst.exe*
+debian/tmp/usr/lib/mono/4.5/lc.exe*
+debian/tmp/usr/lib/mono/4.5/macpack.exe*
+debian/tmp/usr/lib/mono/4.5/makecert.exe*
+debian/tmp/usr/lib/mono/4.5/mconfig.exe*
+debian/tmp/usr/lib/mono/4.5/mdbrebase.exe*
+debian/tmp/usr/lib/mono/2.0/mkbundle.exe*
+debian/tmp/usr/lib/mono/4.5/mkbundle.exe*
+debian/tmp/usr/lib/mono/4.5/mono-xmltool.exe*
+debian/tmp/usr/lib/mono/2.0/monop.exe*
+debian/tmp/usr/lib/mono/2.0/monolinker.exe*
+debian/tmp/usr/lib/mono/4.5/monolinker.exe*
+debian/tmp/usr/lib/mono/4.5/mono-api-info.exe*
+debian/tmp/usr/lib/mono/4.5/mono-cil-strip.exe*
+debian/tmp/usr/lib/mono/4.5/mono-shlib-cop.exe*
+debian/tmp/usr/lib/mono/4.5/monop.exe*
+debian/tmp/usr/lib/mono/4.5/mozroots.exe*
+debian/tmp/usr/lib/mono/4.5/permview.exe*
+debian/tmp/usr/lib/mono/4.5/pdb2mdb.exe*
+debian/tmp/usr/lib/mono/2.0/resgen.exe*
+debian/tmp/usr/lib/mono/4.5/resgen.exe*
+debian/tmp/usr/lib/mono/2.0/RabbitMQ.Client.Apigen.exe*
+debian/tmp/usr/lib/mono/4.5/RabbitMQ.Client.Apigen.exe*
+debian/tmp/usr/lib/mono/4.5/secutil.exe*
+debian/tmp/usr/lib/mono/4.5/setreg.exe*
+debian/tmp/usr/lib/mono/4.5/sgen.exe*
+debian/tmp/usr/lib/mono/4.5/signcode.exe*
+debian/tmp/usr/lib/mono/4.5/sn.exe*
+debian/tmp/usr/lib/mono/4.5/soapsuds.exe*
+debian/tmp/usr/lib/mono/4.5/sqlmetal.exe*
+debian/tmp/usr/lib/mono/4.5/sqlsharp.exe*
+debian/tmp/usr/lib/mono/4.5/svcutil.exe*
+debian/tmp/usr/lib/mono/2.0/wsdl.exe*
+debian/tmp/usr/lib/mono/4.5/wsdl.exe*
+debian/tmp/usr/lib/mono/2.0/xsd.exe*
+debian/tmp/usr/lib/mono/4.5/xsd.exe*
+debian/tmp/usr/lib/mono/mono-configuration-crypto/
+debian/tmp/usr/lib/mono-source-libs/getline.cs
+debian/tmp/usr/lib/mono-source-libs/Options.cs
+debian/tmp/usr/lib/pkgconfig/mono-lineeditor.pc
+debian/tmp/usr/lib/pkgconfig/mono-options.pc
+debian/tmp/usr/share/locale/*/LC_MESSAGES/mcs.mo
+debian/mono-api-check /usr/bin/
+debian/mono-api-diff.exe /usr/lib/mono/4.0/
+debian/tmp/etc/mono/mconfig
+debian/tmp/usr/bin/al2
+debian/tmp/usr/bin/httpcfg
+debian/tmp/usr/bin/mconfig
+debian/tmp/usr/bin/monop2
+debian/tmp/usr/bin/resgen2
+debian/tmp/usr/bin/sgen
+debian/tmp/usr/bin/wsdl2
+debian/tmp/usr/lib/mono/4.5/Facades/System.Collections.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Collections.Concurrent.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ComponentModel.Annotations.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ComponentModel.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ComponentModel.EventBasedAsync.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Diagnostics.Contracts.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Diagnostics.Debug.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Diagnostics.Tools.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Dynamic.Runtime.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Globalization.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.IO.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Linq.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Linq.Expressions.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Linq.Parallel.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Linq.Queryable.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Net.NetworkInformation.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Net.Primitives.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Net.Requests.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ObjectModel.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.Emit.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.Emit.ILGeneration.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.Emit.Lightweight.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.Extensions.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Reflection.Primitives.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Resources.ResourceManager.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.Extensions.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.InteropServices.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.InteropServices.WindowsRuntime.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.Numerics.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.Serialization.Json.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.Serialization.Primitives.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Runtime.Serialization.Xml.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Security.Principal.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ServiceModel.Http.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.ServiceModel.Primitives.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Text.Encoding.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Text.Encoding.Extensions.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Text.RegularExpressions.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Threading.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Threading.Tasks.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Threading.Tasks.Parallel.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Xml.ReaderWriter.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Xml.XDocument.dll
+debian/tmp/usr/lib/mono/4.5/Facades/System.Xml.XmlSerializer.dll
diff --git a/debian/mono-devel.links b/debian/mono-devel.links
new file mode 100644
index 0000000000..dd65f822ec
--- /dev/null
+++ b/debian/mono-devel.links
@@ -0,0 +1 @@
+usr/bin/mcs usr/bin/mono-csc
diff --git a/debian/mono-devel.manpages b/debian/mono-devel.manpages
new file mode 100644
index 0000000000..78f5134b41
--- /dev/null
+++ b/debian/mono-devel.manpages
@@ -0,0 +1,40 @@
+debian/tmp/usr/share/man/man1/al.1
+debian/man/caspol.1
+debian/tmp/usr/share/man/man1/lc.1
+debian/tmp/usr/share/man/man1/cccheck.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/crlupdate.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/tmp/usr/share/man/man1/mkbundle.1
+debian/tmp/usr/share/man/man1/mono-cil-strip.1
+debian/tmp/usr/share/man/man1/mono-shlib-cop.1
+debian/tmp/usr/share/man/man1/mono-xmltool.1
+debian/tmp/usr/share/man/man1/monolinker.1
+debian/tmp/usr/share/man/man1/monop.1
+debian/tmp/usr/share/man/man1/mozroots.1
+debian/tmp/usr/share/man/man1/pdb2mdb.1
+debian/tmp/usr/share/man/man1/permview.1
+debian/tmp/usr/share/man/man1/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
+debian/tmp/usr/share/man/man1/al2.1
+debian/tmp/usr/share/man/man1/httpcfg.1
+debian/tmp/usr/share/man/man1/mconfig.1
+debian/tmp/usr/share/man/man1/monop2.1
+debian/tmp/usr/share/man/man1/resgen2.1
+debian/tmp/usr/share/man/man1/sgen.1
+debian/tmp/usr/share/man/man1/wsdl2.1
diff --git a/debian/mono-devel.postinst b/debian/mono-devel.postinst
new file mode 100644
index 0000000000..16fc0eb523
--- /dev/null
+++ b/debian/mono-devel.postinst
@@ -0,0 +1,20 @@
+#!/bin/sh
+set -e
+
+update-alternatives \
+ --install /usr/bin/cli-csc c-sharp-compiler /usr/bin/mono-csc 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#
diff --git a/debian/mono-devel.prerm b/debian/mono-devel.prerm
new file mode 100644
index 0000000000..02b8961183
--- /dev/null
+++ b/debian/mono-devel.prerm
@@ -0,0 +1,10 @@
+#!/bin/sh -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --remove c-sharp-compiler /usr/bin/mono-csc
+ 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#
diff --git a/debian/mono-gac.dirs b/debian/mono-gac.dirs
new file mode 100644
index 0000000000..dbfa5e49ca
--- /dev/null
+++ b/debian/mono-gac.dirs
@@ -0,0 +1 @@
+usr/share/cli-common/runtimes.d
diff --git a/debian/mono-gac.install b/debian/mono-gac.install
new file mode 100644
index 0000000000..3af8f6bee4
--- /dev/null
+++ b/debian/mono-gac.install
@@ -0,0 +1,2 @@
+debian/tmp/usr/bin/gacutil
+debian/MonoGetAssemblyName.exe /usr/share/mono/
diff --git a/debian/mono-gac.manpages b/debian/mono-gac.manpages
new file mode 100644
index 0000000000..0083157cc5
--- /dev/null
+++ b/debian/mono-gac.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/gacutil.1
diff --git a/debian/mono-gac.postinst b/debian/mono-gac.postinst
new file mode 100644
index 0000000000..5edd6a1e9f
--- /dev/null
+++ b/debian/mono-gac.postinst
@@ -0,0 +1,24 @@
+#!/bin/sh -e
+
+# On upgrades we need to repopulate the GAC and framework paths
+# to accomodate any changes in layout
+#
+# We only need to do this on upgrade; on first configure we know
+# that any GAC libraries will call gac-install-package later.
+if [ -n "$2" ]; then
+ # Install the GAC
+ if [ -x /usr/share/cli-common/gac-install ]; then
+ /usr/share/cli-common/gac-install mono
+ fi
+ # Install any framework libs
+ if [ -x /usr/share/cli-common/framework-install ]; then
+ /usr/share/cli-common/framework-install mono
+ fi
+fi
+
+# Update the alternatives
+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#
diff --git a/debian/mono-gac.prerm b/debian/mono-gac.prerm
new file mode 100644
index 0000000000..a050284030
--- /dev/null
+++ b/debian/mono-gac.prerm
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --remove global-assembly-cache-tool /usr/bin/gacutil
+
+ # Remove the GAC
+ if [ -x /usr/share/cli-common/gac-remove ]; then
+ /usr/share/cli-common/gac-remove mono
+ fi
+
+ # Remove any framework libs
+ if [ -x /usr/share/cli-common/framework-remove ]; then
+ /usr/share/cli-common/framework-remove mono
+ fi
+fi
+
+#DEBHELPER#
diff --git a/debian/mono-jay.docs b/debian/mono-jay.docs
new file mode 100644
index 0000000000..f456593279
--- /dev/null
+++ b/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
diff --git a/debian/mono-jay.install b/debian/mono-jay.install
new file mode 100644
index 0000000000..f4940e11af
--- /dev/null
+++ b/debian/mono-jay.install
@@ -0,0 +1 @@
+debian/tmp/usr/bin/jay
diff --git a/debian/mono-jay.manpages b/debian/mono-jay.manpages
new file mode 100644
index 0000000000..a50c310306
--- /dev/null
+++ b/debian/mono-jay.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/jay.1
diff --git a/debian/mono-mcs.install b/debian/mono-mcs.install
new file mode 100644
index 0000000000..ce6d58bf48
--- /dev/null
+++ b/debian/mono-mcs.install
@@ -0,0 +1,4 @@
+/usr/bin/dmcs
+/usr/bin/mcs
+/usr/bin/gmcs
+/usr/lib/mono/4.5/mcs.exe*
diff --git a/debian/mono-mcs.manpages b/debian/mono-mcs.manpages
new file mode 100644
index 0000000000..50bdddc2b5
--- /dev/null
+++ b/debian/mono-mcs.manpages
@@ -0,0 +1,3 @@
+debian/tmp/usr/share/man/man1/mcs.1
+debian/tmp/usr/share/man/man1/gmcs.1
+debian/tmp/usr/share/man/man1/dmcs.1
diff --git a/debian/mono-runtime-boehm.install b/debian/mono-runtime-boehm.install
new file mode 100644
index 0000000000..3dbfcc5b26
--- /dev/null
+++ b/debian/mono-runtime-boehm.install
@@ -0,0 +1 @@
+usr/bin/mono-boehm
diff --git a/debian/mono-runtime-common.NEWS b/debian/mono-runtime-common.NEWS
new file mode 100644
index 0000000000..1c2ca53a0d
--- /dev/null
+++ b/debian/mono-runtime-common.NEWS
@@ -0,0 +1,161 @@
+mono (2.10.1-1) experimental; urgency=low
+
+ * Mono 2.10
+ + SGen Precise Stack Scanning
+ + Enhanced SIMD with new methods for Vector data type conversions and
+ swapping elements in vectors
+ + ASP.NET MVC 3.0 (not included, only supported)
+ + The C# Interactive Shell can now be used as shebang:
+ #!/usr/bin/csharp
+ * Complete Announcement of Mono 2.10 (vs Mono 2.8):
+ http://www.mono-project.com/Release_Notes_Mono_2.10
+
+ * Mono 2.8
+ + SGen Garbage Collector
+ + .NET 4.0 runtime
+ + C# 4.0 compiler
+ + ASP.NET 4.0
+ + Managed Extensibility Framework (MEF)
+ + System.Data.Services.Client (OData)
+ + glib was replaced with eglib
+ + Removed .NET 1.1 runtime
+ + Removed libraries:
+ - ByteFX.Data
+ - FirebirdSql.Data.Firebird
+ - Microsoft.JScript
+ - Microsoft.Vsa
+ - Mono.Data
+ - Mono.Data.SqliteClient
+ - Mono.Data.SybaseClient
+ - Mono.Data.TdsClient
+ - Mono.GetOptions
+ * Complete Announcement of Mono 2.8 (vs Mono 2.6):
+ http://www.mono-project.com/Release_Notes_Mono_2.8
+
+ * Mono 2.6.7
+ + ASP.NET MVC 2.0
+ * Complete Announcement of Mono 2.6.7 (vs Mono 2.6):
+ http://www.mono-project.com/Release_Notes_Mono_2.6.7
+
+ * Mono 2.6
+ + Soft debugger
+ + Co-routine framework Mono.Tasklets
+ + Auto-completion for the csharp shell
+ + LINQ to SQL
+ + Enhanced XBuild
+ + Mono.Simd for AMD64
+ + Verifier and Sandbox (used by Moonlight)
+ + Debugging support for GDB
+ * Complete Announcement of Mono 2.6 (vs Mono 2.4):
+ http://www.mono-project.com/Release_Notes_Mono_2.6
+
+ -- Mirco Bauer Tue, 15 Mar 2011 21:21:51 +0100
+
+mono (2.4-1) unstable; urgency=low
+
+ * Mono 2.4 ships a lot of goodies:
+ + SIMD support in Mono.
+ + No expensive polls in the threading implementation any longer.
+ + Speed-up garbarge collection on multi-core systems.
+ + Optimized XPath (using 15% less memory).
+ + Faster DateTime.TryParse implementation (by not using try/catch).
+ + Support for precompiled ASP.NET pages.
+ * Complete Announcement of Mono 2.4 (vs Mono 2.2):
+ http://www.mono-project.com/Release_Notes_Mono_2.4
+
+ * Mono 2.2 also ships with lovely things:
+ + The tree-based code generation engine in the JIT was replaced with the
+ Linear IL engine, which allows better optimizations.
+ + Generic sharing is now used in all cases (reduces memory usage).
+ + Generic sharing is now supported on ARM.
+ + Support of full Ahead of Time Compilation.
+ + New PerformanceCounters implementation that allows to monitor the runtime
+ internals. Including the GUI tool "mperfmon" to view them.
+ + Interactive shell called "csharp" that allows to execute C#
+ expressions inside a shell. There is also a GUI version available
+ called "gsharp".
+ + Live Inspection. You can attach using the csharp shell to a
+ running process and run code inside to debug things.
+ + The C# compiler will now optimize empty strings ("") away with
+ String.Empty (which reduces memory usage).
+ + The Regular Expressions engine has been rewritten being more efficient.
+ At the same time compiled regex are also supported now.
+ + ASP.NET supports now new routing handlers needed by ASP.NET MVC.
+ + In the WinForms implementation were almost 200 bugs fixed (since Mono 2.0)
+ * Complete Announcement of Mono 2.2 (vs Mono 2.0):
+ http://www.mono-project.com/Release_Notes_Mono_2.2
+
+ * Mono 2.0 shipped with:
+ + A console debugger (mdb) part of the mono-debugger package.
+ + WinForms 2.0 API is complete.
+ + WinForms's WebBrowser was implemented using Mozilla's Gecko HTML
+ rendering engine.
+ + WinForms now supports international keyboard input through XIM.
+ + Performance of locking (used by threading) was significally improved.
+ + New debug parameter "--debug=cast" which print outs the types in for
+ InvalidCastException.
+ + The C# compiler supports now expression trees (for LINQ) which completes
+ the C# 3.0 support.
+ + The C# compiler is now dual-licensed under MIT/X11 and GPLv2 (only).
+ + LINQ and LINQ to XML are now complete.
+ + Big Arrays for 64bit architectures are now support (but have to be
+ compiled using the --enable-big-arrays configure switch)
+ * Complete Announcement of Mono 2.0:
+ http://www.mono-project.com/Release_Notes_Mono_2.0
+
+ -- Mirco Bauer Fri, 10 Apr 2009 00:58:39 +0200
+
+mono (1.2.2.1-1) unstable; urgency=low
+
+ * Here we go, Mono 1.2 is now official stable and released!
+
+ * Mono 1.2 brings a lot of new features in:
+ - The C# 2.0 compiler is now stable, and the ECMA standard was updated, so
+ it's safe to use C# 2.0 (gmcs) now. _But_ the 2.0 API is not complete, thus
+ there are classes/methods still missing.
+ - Mono is now officially supported on the following architectures:
+ + 32bit: i386, powerpc, arm, s390, sparc.
+ + 64bit: amd64, s390x, ia64.
+ The debian packages are available for: i386, powerpc arm, amd64 and ia64.
+ Packages for s390, s390x, sparc and kfreebsd-i386 are under review, when
+ the ports are prooved to be stable enough, we will include them.
+ - Complete System.Windows.Forms 1.1 API
+ This version is not using wine! SWF runs natively on Linux (X11 driver)
+ using an own implementation (libgdiplus).
+ - File System Watching API now supports inotify.
+
+ * Complete Announcement of Mono 1.2 (vs Mono 1.0):
+ http://www.go-mono.com/archive/1.2/
+
+ * Announcement of Mono 1.2.1:
+ http://www.go-mono.com/archive/1.2.1/
+
+ * Announcement of Mono 1.2.2:
+ http://www.go-mono.com/archive/1.2.2/
+
+ -- Debian Mono Group Wed, 6 Nov 2006 23:00:28 +0200
+
+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
diff --git a/debian/mono-runtime-common.desktop b/debian/mono-runtime-common.desktop
new file mode 100644
index 0000000000..cdb3343b91
--- /dev/null
+++ b/debian/mono-runtime-common.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Mono Runtime
+Exec=mono
+Terminal=false
+Type=Application
+Icon=mono-runtime-common
+MimeType=application/x-ms-dos-executable;
+NoDisplay=true
diff --git a/debian/mono-runtime-common.dirs b/debian/mono-runtime-common.dirs
new file mode 100644
index 0000000000..a65f8e568c
--- /dev/null
+++ b/debian/mono-runtime-common.dirs
@@ -0,0 +1,2 @@
+usr/share/binfmts
+usr/share/dotnet
diff --git a/debian/mono-runtime-common.docs b/debian/mono-runtime-common.docs
new file mode 100644
index 0000000000..1b30bc69d8
--- /dev/null
+++ b/debian/mono-runtime-common.docs
@@ -0,0 +1,4 @@
+README.md
+AUTHORS
+NEWS
+debian/changelog.1
diff --git a/debian/mono-runtime-common.install b/debian/mono-runtime-common.install
new file mode 100644
index 0000000000..76b5a92930
--- /dev/null
+++ b/debian/mono-runtime-common.install
@@ -0,0 +1,11 @@
+/etc/mono/browscap.ini
+/etc/mono/config
+/etc/mono/2.0/
+/etc/mono/4.0/
+/etc/mono/4.5/
+/usr/share/mono-2.0/mono/cil/cil-opcodes.xml
+/usr/lib/libMonoPosixHelper.so
+/usr/lib/libMonoSupportW.so
+debian/mono-runtime-common.png /usr/share/pixmaps
+debian/mono-runtime-common.desktop /usr/share/applications
+debian/mono-runtime-terminal.desktop /usr/share/applications
diff --git a/debian/mono-runtime-common.manpages b/debian/mono-runtime-common.manpages
new file mode 100644
index 0000000000..a7ffbf6758
--- /dev/null
+++ b/debian/mono-runtime-common.manpages
@@ -0,0 +1,3 @@
+debian/tmp/usr/share/man/man1/mono.1
+debian/tmp/usr/share/man/man5/mono-config.5
+debian/man/cli-wrapper.1
diff --git a/debian/mono-runtime-common.png b/debian/mono-runtime-common.png
new file mode 100644
index 0000000000..8650aa37df
Binary files /dev/null and b/debian/mono-runtime-common.png differ
diff --git a/debian/mono-runtime-common.postinst b/debian/mono-runtime-common.postinst
new file mode 100644
index 0000000000..4385ef59a4
--- /dev/null
+++ b/debian/mono-runtime-common.postinst
@@ -0,0 +1,16 @@
+#!/bin/sh -e
+
+if [ configure = "$1" ] && [ -x /usr/sbin/update-binfmts ]; then
+ update-binfmts --import cli
+fi
+
+if [ configure = "$1" ] && [ -d /usr/share/dotnet/mono/ ] && [ -L /usr/share/dotnet/mono ]; then
+ # it's a symlink
+ rm /usr/share/dotnet/mono
+fi
+
+if [ "$1" = "configure" ]; then
+ ldconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/mono-runtime-common.postrm b/debian/mono-runtime-common.postrm
new file mode 100644
index 0000000000..f7c5ed733b
--- /dev/null
+++ b/debian/mono-runtime-common.postrm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ "$1" = "remove" ]; then
+ ldconfig
+fi
+
+#DEBHELPER#
diff --git a/debian/mono-runtime-common.prerm b/debian/mono-runtime-common.prerm
new file mode 100644
index 0000000000..554f3b5505
--- /dev/null
+++ b/debian/mono-runtime-common.prerm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ "$1" = remove ] && [ -x /usr/sbin/update-binfmts ]; then
+ update-binfmts --package mono-runtime --remove cli /usr/bin/cli
+fi
+
+#DEBHELPER#
diff --git a/debian/mono-runtime-sgen.install b/debian/mono-runtime-sgen.install
new file mode 100644
index 0000000000..629dbb0255
--- /dev/null
+++ b/debian/mono-runtime-sgen.install
@@ -0,0 +1 @@
+usr/bin/mono-sgen
diff --git a/debian/mono-runtime-terminal.desktop b/debian/mono-runtime-terminal.desktop
new file mode 100644
index 0000000000..404a58e6d7
--- /dev/null
+++ b/debian/mono-runtime-terminal.desktop
@@ -0,0 +1,8 @@
+[Desktop Entry]
+Name=Mono Runtime (Terminal)
+Exec=mono
+Terminal=true
+Type=Application
+Icon=mono-runtime-common
+MimeType=application/x-ms-dos-executable;
+NoDisplay=true
diff --git a/debian/mono-runtime.dirs b/debian/mono-runtime.dirs
new file mode 100644
index 0000000000..e772481755
--- /dev/null
+++ b/debian/mono-runtime.dirs
@@ -0,0 +1 @@
+usr/bin
diff --git a/debian/mono-runtime.links b/debian/mono-runtime.links
new file mode 100644
index 0000000000..5f4c804ab3
--- /dev/null
+++ b/debian/mono-runtime.links
@@ -0,0 +1 @@
+usr/bin/mono-sgen usr/bin/mono
diff --git a/debian/mono-runtime.postinst b/debian/mono-runtime.postinst
new file mode 100644
index 0000000000..5e7285c422
--- /dev/null
+++ b/debian/mono-runtime.postinst
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+update-alternatives \
+ --install /usr/bin/cli cli /usr/bin/mono 10 \
+ --slave /usr/share/man/man1/cli.1.gz cli.1.gz /usr/share/man/man1/mono.1.gz
+
+#DEBHELPER#
diff --git a/debian/mono-runtime.prerm b/debian/mono-runtime.prerm
new file mode 100644
index 0000000000..1c4c5491ef
--- /dev/null
+++ b/debian/mono-runtime.prerm
@@ -0,0 +1,7 @@
+#!/bin/sh -e
+
+if [ "$1" = remove ]; then
+ update-alternatives --remove cli /usr/bin/mono
+fi
+
+#DEBHELPER#
diff --git a/debian/mono-smcs.install b/debian/mono-smcs.install
new file mode 100644
index 0000000000..94e01bae56
--- /dev/null
+++ b/debian/mono-smcs.install
@@ -0,0 +1,3 @@
+debian/tmp/usr/bin/smcs
+debian/tmp/usr/lib/mono/2.1/smcs.exe*
+debian/tmp/usr/lib/pkgconfig/smcs.pc
diff --git a/debian/mono-smcs.manpages b/debian/mono-smcs.manpages
new file mode 100644
index 0000000000..5153032bad
--- /dev/null
+++ b/debian/mono-smcs.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/smcs.1
diff --git a/debian/mono-utils.install b/debian/mono-utils.install
new file mode 100644
index 0000000000..516626f99d
--- /dev/null
+++ b/debian/mono-utils.install
@@ -0,0 +1,7 @@
+debian/tmp/usr/bin/mprof-report
+debian/tmp/usr/bin/pedump
+debian/tmp/usr/bin/peverify
+debian/tmp/usr/bin/monodis /usr/bin/
+debian/tmp/usr/bin/monograph
+debian/tmp/usr/bin/mono-find-provides
+debian/tmp/usr/bin/mono-find-requires
diff --git a/debian/mono-utils.manpages b/debian/mono-utils.manpages
new file mode 100644
index 0000000000..6c72ebbe3c
--- /dev/null
+++ b/debian/mono-utils.manpages
@@ -0,0 +1,5 @@
+debian/man/pedump.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
diff --git a/debian/mono-utils.postinst b/debian/mono-utils.postinst
new file mode 100644
index 0000000000..37be83aea1
--- /dev/null
+++ b/debian/mono-utils.postinst
@@ -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#
diff --git a/debian/mono-utils.prerm b/debian/mono-utils.prerm
new file mode 100644
index 0000000000..ef1a5c52a8
--- /dev/null
+++ b/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#
diff --git a/debian/mono-xbuild.install b/debian/mono-xbuild.install
new file mode 100644
index 0000000000..b9ade82049
--- /dev/null
+++ b/debian/mono-xbuild.install
@@ -0,0 +1,27 @@
+debian/tmp/usr/bin/xbuild
+debian/tmp/usr/lib/mono/2.0/xbuild.exe*
+debian/tmp/usr/lib/mono/2.0/xbuild.rsp
+debian/tmp/usr/lib/mono/2.0/Microsoft.*.targets
+debian/tmp/usr/lib/mono/2.0/Microsoft.*.tasks
+debian/tmp/usr/lib/mono/2.0/Microsoft.*.xsd
+debian/tmp/usr/lib/mono/2.0/MSBuild/
+debian/tmp/usr/lib/mono/3.5/xbuild.exe*
+debian/tmp/usr/lib/mono/3.5/xbuild.rsp
+debian/tmp/usr/lib/mono/3.5/Microsoft.*.targets
+debian/tmp/usr/lib/mono/3.5/Microsoft.*.tasks
+debian/tmp/usr/lib/mono/3.5/Microsoft.*.xsd
+debian/tmp/usr/lib/mono/3.5/MSBuild/
+debian/tmp/usr/lib/mono/4.5/xbuild.exe*
+debian/tmp/usr/lib/mono/4.5/xbuild.rsp
+debian/tmp/usr/lib/mono/4.5/Microsoft.*.targets
+debian/tmp/usr/lib/mono/4.5/Microsoft.*.tasks
+debian/tmp/usr/lib/mono/4.5/Microsoft.*.xsd
+debian/tmp/usr/lib/mono/4.5/MSBuild/
+debian/tmp/usr/lib/mono/xbuild/
+debian/tmp/usr/lib/mono/xbuild-frameworks/
+debian/tmp/usr/lib/pkgconfig/xbuild12.pc
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.Tasks.v12.0/12.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.Utilities.v12.0/12.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Microsoft.Build/12.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.Engine/12.0.0.0__*/
+debian/tmp/usr/lib/mono/gac/Microsoft.Build.Framework/12.0.0.0__*/
diff --git a/debian/mono-xbuild.manpages b/debian/mono-xbuild.manpages
new file mode 100644
index 0000000000..af44f6e1a7
--- /dev/null
+++ b/debian/mono-xbuild.manpages
@@ -0,0 +1 @@
+debian/tmp/usr/share/man/man1/xbuild.1
diff --git a/debian/mono.runtime-script b/debian/mono.runtime-script
new file mode 100644
index 0000000000..bae013dee0
--- /dev/null
+++ b/debian/mono.runtime-script
@@ -0,0 +1,216 @@
+#!/usr/bin/perl
+
+#
+# Setup
+#
+
+# Directives
+use strict;
+use warnings;
+use File::Basename;
+
+# Figure out the mode
+my $mode = shift @ARGV;
+
+if (!defined $mode)
+{
+ print STDERR "E: You must supply a mode\n";
+ print STDERR "E: Use: install-framework, install, remove-framework, remove, or name\n";
+ exit 1;
+}
+
+# Name is simply
+if ($mode eq "name")
+{
+ print "Mono\n";
+ exit 0;
+}
+
+# Get the base directory
+my $basedir = "/usr/share/cli-common/packages.d/";
+# Get the base file
+my $basename = shift @ARGV;
+
+# We're looking to install a framework
+# The program gets the name of the package, then a list of
+# the (framework version×10, full path) pairs
+if ($mode eq "install-framework")
+{
+ my $framework_prefix = "/usr/lib/mono";
+ # TODO: We could detect this ourselves
+ my %runtime_versions = (20 => "$framework_prefix/2.0",
+ 35 => "$framework_prefix/3.5",
+ 40 => "$framework_prefix/4.0",
+ 45 => "$framework_prefix/4.5");
+
+ my $uninstall = "$basedir/$basename.mono-framework";
+
+ open UNINSTALL, ">$uninstall"
+ or die "E: Cannot open uninstall: $uninstall";
+
+ while (@ARGV)
+ {
+ my $framework_ver = int(shift @ARGV);
+ my $dll = shift @ARGV;
+
+ if (! exists($runtime_versions{$framework_ver}))
+ {
+ printf STDERR "W: Attempted to install framework library for unsupported version $framework_ver";
+ next;
+ }
+
+ my $target = "$runtime_versions{$framework_ver}/" . basename($dll);
+
+ if (-f $target)
+ {
+ # Ensure we're idempotent
+ unlink $target;
+ }
+
+ symlink $dll, $target
+ or die "E: Unable to install $dll into framework path: $target\n";
+ print UNINSTALL "$target\n";
+ }
+ close UNINSTALL;
+ exit 0;
+}
+
+# Removing is also simple
+if ($mode eq "remove-framework")
+{
+ # Get the uninstall file
+ my $uninstall = "$basedir/$basename.mono-framework";
+
+ if (-f $uninstall)
+ {
+ # Go through the file
+ open UNINSTALL, "<$uninstall" or
+ die "E: Cannot open uninstall file ($!)";
+
+ while ()
+ {
+ chomp;
+ unlink($_) or
+ printf STDERR "E: Unable to remove $_\n";
+ }
+
+ close UNINSTALL;
+ unlink($uninstall);
+ }
+
+ # We are good
+ exit 0;
+}
+
+# This program gets the name of a file (ending in .installcligac) and
+# a list of assemblies to install, as full paths. The ones given are
+# the only ones that passed the white/blacklisting.
+
+my $cligac = "/usr/share/cli-common/packages.d/$basename.installcligac";
+
+if (! -f $cligac)
+{
+ print STDERR "E: File does not exist: $cligac\n";
+ exit 1;
+}
+
+# Removing is also simple
+if ($mode eq "remove")
+{
+ # Get the uninstall file
+ my $uninstall = "$basedir/$basename.mono";
+
+ if (-f $uninstall)
+ {
+ # Go through the file
+ open UNINSTALL, "<$uninstall" or
+ die "E: Cannot open uninstall file ($!)";
+
+ while ()
+ {
+ my $assembly = $_;
+ chomp($assembly);
+ my $cmd = "/usr/bin/gacutil -u $assembly > /dev/null";
+ my $res = system($cmd);
+ if ($res > 0) {
+ print STDERR "W: removing assembly: $assembly failed!\n";
+ }
+ }
+
+ close UNINSTALL;
+
+ # Unlike the file
+ unlink($uninstall);
+ }
+
+ # We are good
+ exit 0;
+}
+
+# The only thing left should be "install"
+if ($mode ne "install")
+{
+ print STDERR "E: Unknown mode: $mode\n";
+ print STDERR "E: Use: install-framework, install, remove-framework, remove or name\n";
+ exit 1;
+}
+
+
+# Open up our uninstall file
+open UNINSTALL, ">$basedir/$basename.mono"
+ or die "E: Cannot open uninstall: $basedir/$basename.mono";
+
+# Go through the file
+open CLIGAC, "<$cligac" or die "E: Cannot open: $cligac ($!)";
+
+while (@ARGV)
+{
+ # Get the assembly name
+ my $dll = shift @ARGV;
+
+ # Make sure it is there
+ if (! -f $dll)
+ {
+ print STDERR "E: Assembly does not exist: $dll\n";
+ exit 1;
+ }
+
+ # Figure out the mono's precise name
+ my $fullname = get_full_name($dll);
+
+ # Write out the uninstall file
+ print UNINSTALL "$fullname\n";
+
+ # Install the file. We use the "../../../.." to make it a
+ # relative path to this program (since gacutil doesn't like
+ # absolute paths). There isn't a problem of doing too many
+ # since we typically run from the root context.
+ my $cmd = "(cd `dirname $dll` && "
+ . "/usr/bin/gacutil -i `basename $dll`"
+ . " > /dev/null)";
+ system($cmd) == 0 or die "E: installing Assembly $dll failed\n";
+}
+
+close CLIGAC;
+close UNINSTALL;
+
+# Finish up successfully
+exit 0;
+
+# Get the name of the assembly in a manner suitable for uninstall
+# using gacutil.
+sub get_full_name
+{
+ # Get the name
+ my $dll = shift;
+
+ # Open a pipe to monop
+ my $cmd = "LANG=C /usr/bin/mono /usr/share/mono/MonoGetAssemblyName.exe $dll";
+ open PIPE, "$cmd |" or die "E: Cannot open pipe to assembly builder $dll";
+
+ # This generate a single line that produces the desired results
+ $_ = ;
+ chomp;
+ # assembly1, Version=1.0.0.0, Culture=en, PublicKeyToken=0123456789abcdef
+ return $_;
+}
diff --git a/debian/monodoc-base.dirs b/debian/monodoc-base.dirs
new file mode 100644
index 0000000000..c703cf852f
--- /dev/null
+++ b/debian/monodoc-base.dirs
@@ -0,0 +1 @@
+usr/bin/
diff --git a/debian/monodoc-base.install b/debian/monodoc-base.install
new file mode 100644
index 0000000000..1f6252bcef
--- /dev/null
+++ b/debian/monodoc-base.install
@@ -0,0 +1,17 @@
+/usr/bin/mdassembler
+/usr/bin/mdoc
+/usr/bin/mdoc-assemble
+/usr/bin/mdoc-export-html
+/usr/bin/mdoc-export-msxdoc
+/usr/bin/mdoc-update
+/usr/bin/mdoc-validate
+/usr/bin/mdvalidater
+/usr/bin/mod
+/usr/bin/monodocer
+/usr/bin/monodocs2html
+/usr/bin/monodocs2slashdoc
+/usr/lib/mono/4.5/mod.exe*
+/usr/lib/mono/4.5/mdoc.exe*
+/usr/lib/mono/gac/monodoc/
+/usr/lib/mono/monodoc/monodoc.dll*
+/usr/lib/pkgconfig/monodoc.pc
diff --git a/debian/monodoc-base.manpages b/debian/monodoc-base.manpages
new file mode 100644
index 0000000000..d7526ad134
--- /dev/null
+++ b/debian/monodoc-base.manpages
@@ -0,0 +1,11 @@
+debian/tmp/usr/share/man/man1/mdassembler.1
+debian/tmp/usr/share/man/man1/mdoc.1
+debian/tmp/usr/share/man/man1/mdoc-assemble.1
+debian/tmp/usr/share/man/man1/mdoc-export-html.1
+debian/tmp/usr/share/man/man1/mdoc-export-msxdoc.1
+debian/tmp/usr/share/man/man1/mdoc-update.1
+debian/tmp/usr/share/man/man1/mdoc-validate.1
+debian/tmp/usr/share/man/man1/mdvalidater.1
+debian/tmp/usr/share/man/man1/monodocer.1
+debian/tmp/usr/share/man/man1/monodocs2html.1
+debian/tmp/usr/share/man/man5/mdoc.5
diff --git a/debian/monodoc-manual.install b/debian/monodoc-manual.install
new file mode 100644
index 0000000000..bedc67d3ad
--- /dev/null
+++ b/debian/monodoc-manual.install
@@ -0,0 +1,4 @@
+debian/tmp/usr/lib/monodoc/monodoc.xml
+debian/tmp/usr/lib/monodoc/sources/*.source
+debian/tmp/usr/lib/monodoc/sources/*.tree
+debian/tmp/usr/lib/monodoc/sources/*.zip
diff --git a/debian/postinst-monoaot b/debian/postinst-monoaot
new file mode 100644
index 0000000000..0074e62b65
--- /dev/null
+++ b/debian/postinst-monoaot
@@ -0,0 +1,4 @@
+if [ "$1" = "configure" ]
+then
+ /usr/bin/mono --aot -O=all,shared #FILE# > /dev/null 2>&1
+fi
diff --git a/debian/prerm-monoaot b/debian/prerm-monoaot
new file mode 100644
index 0000000000..4f49bd2210
--- /dev/null
+++ b/debian/prerm-monoaot
@@ -0,0 +1 @@
+rm -f #FILE#
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000000..ac1c33b0fb
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,426 @@
+#!/usr/bin/make -f
+#export DH_VERBOSE=1
+
+include debian/mono-archs.make
+
+# Assume Debian behaviour by default.
+DISTRO = $(shell lsb_release -si)
+
+MAKEFILE = $(firstword $(MAKEFILE_LIST))
+DEBIAN_DIR = $(dir $(MAKEFILE))
+SOURCE_DIR = $(DEBIAN_DIR)/..
+
+VERSION = $(shell dpkg-parsechangelog -l$(DEBIAN_DIR)/changelog | grep ^Vers | cut -d\ -f2)
+UPVERSION = $(shell echo $(VERSION) | sed 's,-.*,,' | sed 's,+dfsg.*,,')
+NEXT_UPVERSION = $(shell perl -e '$$_=pop; s/(\d+)$$/$$1+1/e; print' $(UPVERSION))
+DEB_SOURCE_NAME = $(shell dpkg-parsechangelog -l$(DEBIAN_DIR)/changelog | grep ^Source | cut -d" " -f2)
+
+RUN_MONO = LD_LIBRARY_PATH=debian/tmp/usr/lib MONO_PATH=debian/tmp/usr/lib/mono/4.0 debian/tmp/usr/bin/mono
+KILL_MONO = pgrep mono | xargs kill -9
+DH_INTERNAL_MONO_PARAM = --internal-mono
+ifeq ($(shell dpkg --compare-versions $$(dpkg-query -f '$${Version}' -W debhelper) lt 7.1; echo $$?), 0)
+ DH_INTERNAL_MONO_PARAM = internal-mono
+endif
+
+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))
+ CONF_FLAGS += --build $(DEB_HOST_GNU_TYPE)
+else
+ CONF_FLAGS += --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE)
+endif
+
+ifeq ($(DEB_BUILD_ARCH_OS), kfreebsd)
+ CONF_FLAGS += --enable-minimal=aot
+endif
+
+ifeq ($(DEB_BUILD_ARCH), armel)
+ CONF_FLAGS += --with-fpu=NONE
+endif
+ifeq ($(DEB_BUILD_ARCH), powerpc)
+ # libgc with parallel mark FTBFS on ppc
+ CONF_FLAGS += --disable-parallel-mark
+endif
+
+ifneq (,$(findstring $(DEB_BUILD_ARCH),$(DEB_MONO_SGEN_ARCHS)))
+ CONF_FLAGS += --with-sgen=yes
+else
+ CONF_FLAGS += --with-sgen=no
+endif
+
+ifneq (,$(findstring nocheck,$(DEB_BUILD_OPTIONS)))
+ MINI_TEST = true
+ MONO_BOEHM_TEST = true
+ MONO_SGEN_TEST = true
+else
+ TIMEOUT = timeout -k 1h 1h
+ MINI_TEST = cd mono/mini && $(TIMEOUT) make check; $(KILL_MONO)
+ MONO_BOEHM_TEST = cd mono/tests && MONO_ENV_OPTIONS=--gc=boehm $(TIMEOUT) make test; $(KILL_MONO)
+ MONO_SGEN_TEST = cd mono/tests && MONO_ENV_OPTIONS=--gc=sgen $(TIMEOUT) make test; $(KILL_MONO)
+endif
+
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
+
+CONFIGURE = CFLAGS="$(CFLAGS)" CPPFLAGS="$(CPPFLAGS)" LDFLAGS="$(LDFLAGS)" \
+ ./configure $(CONF_FLAGS) --prefix=/usr \
+ --mandir=\$${prefix}/share/man \
+ --infodir=\$${prefix}/share/info --sysconfdir=/etc \
+ --with-ikvm-native=no \
+ --disable-quiet-build \
+ --disable-system-aot
+
+# Mono's build system doesn't like -j > 1
+MAKE_FLAGS += -j1
+export MAKEFLAGS=$(MAKE_FLAGS)
+
+ifneq (,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ NUMJOBS = $(patsubst parallel=%,%,$(filter parallel=%,$(DEB_BUILD_OPTIONS)))
+ EGLIB_MAKE_FLAGS += -j$(NUMJOBS)
+ LIBGC_MAKE_FLAGS += -j$(NUMJOBS)
+ MONO_MAKE_FLAGS += -j$(NUMJOBS)
+endif
+
+autoreconf: autoreconf-stamp
+autoreconf-stamp:
+ autoreconf -f -i -s
+ touch $@
+
+configure: configure-stamp
+configure-stamp: autoreconf-stamp
+ dh_testdir
+ $(CONFIGURE)
+ touch $@
+
+build: build-stamp
+build-stamp: configure-stamp
+ dh_testdir
+ cd eglib && $(MAKE) $(EGLIB_MAKE_FLAGS)
+ cd libgc && $(MAKE) $(LIBGC_MAKE_FLAGS)
+ cd mono && $(MAKE) $(MONO_MAKE_FLAGS)
+ LC_ALL=C $(MAKE) $(MAKE_FLAGS) EXTERNAL_MCS=false EXTERNAL_MONO=false
+
+ cd debian/detector && \
+ $(MAKE)
+ chmod +x debian/dh_makeclilibs \
+ debian/dh_clideps \
+ debian/dh_clistrip \
+ debian/dh_clifixperms \
+ debian/dh_monoaot
+
+ touch $@
+
+test: test-stamp
+test-stamp: build-stamp
+ -$(MINI_TEST)
+ -$(MONO_BOEHM_TEST)
+ -$(MONO_SGEN_TEST)
+ -$(KILL_MONO)
+ # funny bug-459094.cs creates too long directory names which
+ # pbuilder is unable to remove, eh
+ rm -rf mono/tests/abcde12345abcde12345abcde12345abcde12345/
+ touch $@
+
+clean:
+ echo "distro is $(DISTRO)"
+ dh_testdir
+ dh_testroot
+ [ ! -f Makefile ] || $(MAKE) distclean
+ # distclean misses stuff
+ find -name "*.mdb" -delete
+ rm -rf mcs/class/lib/basic/ \
+ mcs/class/lib/net_2_0/ \
+ mcs/class/lib/net_3_5/ \
+ mcs/class/lib/net_4_0/
+
+ -cd debian/detector && $(MAKE) clean
+ rm -f debian/MonoGetAssemblyName.exe \
+ debian/mono-api-diff.exe
+
+ # clean stuff handled by autoreconf
+ rm -rf configure config.sub config.guess aclocal.m4 autom4te.cache/
+ find . -name "Makefile.in" -delete
+
+ rm -f autoreconf-stamp
+ rm -f configure-*-stamp
+ rm -f build-*-stamp
+ rm -f install-*-stamp
+
+ dh_clean
+
+install: install-stamp
+install-stamp:
+ dh_testdir
+ dh_testroot
+ dh_prep
+ dh_installdirs
+
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+ cd mcs/jay && \
+ $(MAKE) install DESTDIR=$(CURDIR)/debian/tmp
+
+ # don't want docs of bundled libgc
+ rm -rf debian/tmp/usr/share/libgc-mono
+ # Mono.Security.Win32.dll is only useful on windows, as it wrap the win api
+ rm -rf $(CURDIR)/debian/tmp/usr/lib/mono/gac/Mono.Security.Win32/
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/2.0/Mono.Security.Win32.dll*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/4.0/Mono.Security.Win32.dll*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/4.5/Mono.Security.Win32.dll*
+ # we don't ship bundled nunit of mono
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/2.0/nunit*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/4.0/nunit*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/4.5/nunit*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/pkgconfig/mono-nunit.pc
+ rm -rf $(CURDIR)/debian/tmp/usr/lib/mono/gac/nunit*/
+ rm -f $(CURDIR)/debian/tmp/usr/bin/nunit*
+ # csharp 2.0 is unneeded as we ship 4.0 already
+ rm -rf $(CURDIR)/debian/tmp/usr/lib/mono/gac/Mono.CSharp/2.0.0.0__*/
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/2.0/Mono.CSharp.dll*
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/2.0/csharp.exe*
+ rm -f $(CURDIR)/debian/tmp/usr/bin/csharp2
+
+ # mono 2.10.1 bug, this lib is really linked against corlib 4.0
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/2.0/Mono.C5.dll
+ # mono 2.10.1 bug, prj2make was removed but the start script not
+ rm -f $(CURDIR)/debian/tmp/usr/bin/prj2make
+ # mono 2.10.1 bug, this lib doesn't exist for .NET 4.0 and also has
+ # a wrong assembly version
+ rm -rf $(CURDIR)/debian/tmp/usr/lib/mono/gac/cscompmgd/0.0.0.0__*/
+ rm -f $(CURDIR)/debian/tmp/usr/lib/mono/4.0/cscompmgd*
+
+ # copy missing 2.0 manpages
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/al.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/al2.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/mcs.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/gmcs.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/mcs.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/dmcs.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/mono-service.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/mono-service2.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/wsdl.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/wsdl2.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/gacutil.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/gacutil2.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/monop.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/monop2.1
+ cp $(CURDIR)/debian/tmp/usr/share/man/man1/resgen.1 \
+ $(CURDIR)/debian/tmp/usr/share/man/man1/resgen2.1
+ touch $@
+
+binary: binary-arch binary-indep
+
+binary-indep: build-stamp install-stamp
+ dh_testdir
+ dh_testroot
+
+ # Build the late-GAC tool,
+ # using the built Mono runtime from debian/tmp
+ # (thus the install-arch target dependency!)
+ $(RUN_MONO) mcs/class/lib/build/mcs.exe \
+ -target:exe \
+ -out:debian/MonoGetAssemblyName.exe \
+ debian/MonoGetAssemblyName.cs
+
+ # Build mono-api-diff
+ $(RUN_MONO) mcs/class/lib/build/mcs.exe \
+ -target:exe \
+ -out:debian/mono-api-diff.exe \
+ debian/mono-api-diff.cs
+
+ # that exclude list are programs for arch-dep packages
+ dh_install -i --list-missing -Xusr/share/man -Xusr/share/jay -Xusr/lib/libmono -Xusr/lib/libMono -Xbin/monodis -Xbin/monograph -Xbin/mono-find-provides -Xbin/mono-find-requires -Xbin/pedump -Xbin/jay
+
+ # Late GAC
+ install -D -m 755 debian/mono.runtime-script debian/mono-gac/usr/share/cli-common/runtimes.d/mono
+
+ install -m 644 debian/System.Data.dll.config debian/libmono-system-data2.0-cil/usr/lib/mono/gac/System.Data/2.0.*/
+ install -m 644 debian/System.Data.dll.config debian/libmono-system-data4.0-cil/usr/lib/mono/gac/System.Data/4.0.*/
+ install -m 644 debian/System.Drawing.dll.config debian/libmono-system2.0-cil/usr/lib/mono/gac/System.Drawing/2.0.*/
+ install -m 644 debian/System.Drawing.dll.config debian/libmono-system-drawing4.0-cil/usr/lib/mono/gac/System.Drawing/4.0.*/
+ install -m 644 debian/System.Windows.Forms.dll.config debian/libmono-winforms2.0-cil/usr/lib/mono/gac/System.Windows.Forms/2.0.*/
+ install -m 644 debian/System.Windows.Forms.dll.config debian/libmono-system-windows-forms4.0-cil/usr/lib/mono/gac/System.Windows.Forms/4.0.*/
+ install -m 644 debian/Mono.Cairo.dll.config debian/libmono-cairo2.0-cil/usr/lib/mono/gac/Mono.Cairo/2.0.*/
+ install -m 644 debian/Mono.Cairo.dll.config debian/libmono-cairo4.0-cil/usr/lib/mono/gac/Mono.Cairo/4.0.*/
+ install -m 644 debian/Mono.WebBrowser.dll.config debian/libmono-webbrowser2.0-cil/usr/lib/mono/gac/Mono.WebBrowser/2.0.*/
+ install -m 644 debian/Mono.WebBrowser.dll.config debian/libmono-webbrowser4.0-cil/usr/lib/mono/gac/Mono.WebBrowser/4.0.*/
+
+ dh_link -i
+ dh_installchangelogs -i -X ChangeLog
+ dh_installdocs -i
+ dh_installman -i
+ debian/dh_clistrip -i --dbg-package=mono-dbg
+ dh_compress -i
+
+ dh_fixperms -i
+ debian/dh_clifixperms -i
+ dh_installdeb -i
+ #DH_VERBOSE=1 DH_AUTOSCRIPTDIR=$(CURDIR)/debian debian/dh_monoaot -i
+ debian/dh_makeclilibs -i -m 1.0 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-cairo2.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-cairo4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-cecil-private-cil -m $(UPVERSION) $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-compilerservices-symbolwriter4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-corlib2.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-corlib4.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-corlib4.5-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-csharp4.0c-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-data-tds2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-data-tds4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-debugger-soft2.0a-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-debugger-soft4.0a-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-cjk4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-mideast4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-other4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-rare4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-west2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-i18n-west4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-ldap2.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-ldap4.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-oracle2.0-cil -m 2.4 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-oracle4.0-cil -m 2.10.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-peapi2.0a-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-peapi4.0a-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-posix2.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-posix4.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-messaging2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-messaging4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-messaging-rabbitmq2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-messaging-rabbitmq4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-microsoft-build2.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-microsoft-build-engine4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-microsoft-build-framework4.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-microsoft-build-tasks-v4.0-4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-microsoft-build-utilities-v4.0-4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-relaxng2.0-cil -m 2.6.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-relaxng4.0-cil -m 2.10.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system2.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system4.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-componentmodel-composition4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-componentmodel-dataannotations4.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-core4.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-data2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-data4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-data-services2.0-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-data-services4.0-cil -m 3.2.8 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-drawing4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-io-compression4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-io-compression-filesystem4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-ldap2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-ldap4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-messaging2.0-cil -m 2.6.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-messaging4.0-cil -m 2.10.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-net-http-webrequest4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-runtime2.0-cil -m 2.4 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-runtime4.0-cil -m 2.10.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-servicemodel4.0a-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-servicemodel-web4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-serviceprocess4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-web2.0-cil -m 2.10.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-web4.0-cil -m 2.10.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-web-extensions4.0-cil -m 2.10.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-web-http-webhost4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-windows4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-windows-forms-datavisualization4.0a-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-xml4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-xml-linq4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-system-xml-serialization4.0-cil -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-security2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-security4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-sqlite2.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-sqlite4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-wcf3.0a-cil -m 3.2.3 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-winforms2.0-cil -m 2.4 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-windowsbase3.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-windowsbase4.0-cil -m 3.0.6 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p monodoc-base -m 3.2.1 $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_makeclilibs -p libmono-cecil-private-cil -m $(UPVERSION) -l $(NEXT_UPVERSION) $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_clideps -i -l debian/tmp $(DH_INTERNAL_MONO_PARAM)
+ #DH_VERBOSE=1 debian/dh_clideps -i -l debian/tmp $(DH_INTERNAL_MONO_PARAM)
+ # mono-1.0/2.0-gac needs special runtime dep, to prevent circular dep (mono-runtime <-> mono-1.0/2.0-gac)
+ debian/dh_clideps -p mono-2.0-gac -r $(DH_INTERNAL_MONO_PARAM)
+ debian/dh_clideps -p mono-4.0-gac -r $(DH_INTERNAL_MONO_PARAM)
+ dh_gencontrol -i -- -Vmono:upversion=$(UPVERSION) -Vmono:next-upversion=$(NEXT_UPVERSION)
+ dh_md5sums -i
+ dh_builddeb -i
+
+binary-arch: build-stamp install-stamp test-stamp
+ dh_testdir
+ dh_testroot
+
+ cd debian/detector && \
+ install -D -m 755 binfmt-detector-cli $(CURDIR)/debian/mono-runtime/usr/lib/cli/binfmt-detector-cli
+ install -D -m 644 -o root -g root debian/cli.binfmt \
+ debian/mono-runtime/usr/share/binfmts/cli
+
+ dh_install -s
+ dh_link -s
+ dh_installchangelogs -s -X ChangeLog
+ dh_installchangelogs -pmono-runtime
+ dh_installchangelogs -pmono-jay $(CURDIR)/mcs/jay/ChangeLog
+ dh_installdocs -s
+ dh_installman -s
+ dh_installexamples -s
+ dh_installexamples -pmono-jay $(CURDIR)/mcs/jay/skeleton.cs
+ dh_strip -pmono-runtime --dbg-package=mono-runtime-dbg
+ dh_strip -plibmonoboehm-2.0-1 --dbg-package=libmonoboehm-2.0-1-dbg
+ dh_strip -plibmonosgen-2.0-1 --dbg-package=libmonosgen-2.0-1-dbg
+ dh_strip -s -Xbin/mono-sgen
+ dh_compress -s -Xskeleton.cs
+
+ dh_fixperms -s
+ dpkg-gensymbols -plibmonoboehm-2.0-1 -edebian/tmp/usr/lib/libmonoboehm-2.0.so.1 -c4
+ dpkg-gensymbols -plibmonosgen-2.0-1 -edebian/tmp/usr/lib/libmonosgen-2.0.so.1 -c4
+ dh_makeshlibs -s -V
+ dh_makeshlibs -plibmonoboehm-2.0-1 -V 'libmonoboehm-2.0-1 (>= $(UPVERSION))'
+ dh_makeshlibs -plibmonosgen-2.0-1 -V 'libmonosgen-2.0-1 (>= $(UPVERSION))'
+ dh_installdeb -s
+ dh_shlibdeps -s -Xlibmono-profiler-cov -ldebian/libmonoboehm-2.0-1/usr/lib -ldebian/libmonosgen-2.0-1/usr/lib
+ dh_gencontrol -s
+ dh_md5sums -s
+ dh_builddeb -s
+
+get-orig-source: TARBALL_DIR = $(DEB_SOURCE_NAME)-$(UPVERSION)
+get-orig-source:
+ uscan \
+ --package $(DEB_SOURCE_NAME) \
+ --watchfile $(DEBIAN_DIR)/watch \
+ --upstream-version $(UPVERSION) \
+ --download-version $(UPVERSION) \
+ --destdir . \
+ --force-download \
+ --rename \
+ --repack
+ if [ -d $(TARBALL_DIR) ]; then \
+ echo "$(TARBALL_DIR) is in the way, bailing out!"; \
+ exit 1; \
+ fi
+ if [ -d $(TARBALL_DIR)+dfsg ]; then \
+ echo "$(TARBALL_DIR)+dfsg is in the way, bailing out!"; \
+ exit 1; \
+ fi
+ tar -xzf $(DEB_SOURCE_NAME)_$(UPVERSION).orig.tar.gz
+ rm $(DEB_SOURCE_NAME)_$(UPVERSION).orig.tar.gz
+ rm -rf $(TARBALL_DIR)/external/Lucene.Net/lib/
+ find $(TARBALL_DIR) -name "*.dll" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
+ find $(TARBALL_DIR) -name "*.exe" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
+ find $(TARBALL_DIR)/external/ -name ".git" -not -path "$(TARBALL_DIR)/mcs/class/lib/monolite/*" -print -delete
+ mv $(TARBALL_DIR) $(TARBALL_DIR)+dfsg
+ tar -czf $(DEB_SOURCE_NAME)_$(UPVERSION)+dfsg.orig.tar.gz $(TARBALL_DIR)+dfsg
+ rm -r $(TARBALL_DIR)+dfsg
+
+.PHONY: autoreconf \
+ configure \
+ clean \
+ build build-all \
+ test \
+ install install-all install-arch install-indep \
+ binary binary-arch binary-indep \
+ get-orig-source
+
+.NOTPARALLEL:
diff --git a/debian/shlibs.local b/debian/shlibs.local
new file mode 100644
index 0000000000..fe37e3eeca
--- /dev/null
+++ b/debian/shlibs.local
@@ -0,0 +1,14 @@
+libMonoPosixHelper 0 mono-runtime (>= 2.10.1)
+libMonoSupportW 0 mono-runtime (>= 2.10.1)
+libgdiplus 0 libgdiplus (>= 2.6.7)
+libgluezilla 0 libgluezilla (>= 2.6)
+libcairo 2 libcairo2 (>= 1.8.0-2)
+libfbclient 2 libfbclient2 (>= 2.1.2)
+libsqlite 0 libsqlite0 (>= 2.8.17)
+libsqlite3 0 libsqlite3-0 (>= 3.6.13)
+libasound 2 libasound2 (>> 1.0.18)
+libgamin-1 0 libgamin0
+libcups 2 libcups2 (>= 1.3.8)
+librsvg-2 2 librsvg2-2 (>= 2.22.3)
+libgtk-x11-2.0 0 libgtk2.0-0 (>= 2.16.0)
+libgnomeui-2 0 libgnomeui-0 (>= 2.22.0)
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000000..163aaf8d82
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/source/include-binaries b/debian/source/include-binaries
new file mode 100644
index 0000000000..160dbabf80
--- /dev/null
+++ b/debian/source/include-binaries
@@ -0,0 +1 @@
+debian/mono-runtime-common.png
diff --git a/debian/source/options b/debian/source/options
new file mode 100644
index 0000000000..7423a2df3d
--- /dev/null
+++ b/debian/source/options
@@ -0,0 +1 @@
+single-debian-patch
diff --git a/debian/update-monodoc b/debian/update-monodoc
new file mode 100755
index 0000000000..324bf19266
--- /dev/null
+++ b/debian/update-monodoc
@@ -0,0 +1,12 @@
+#!/bin/sh
+set -e
+
+if [ ! -x /usr/lib/monodoc/browser.exe -o -z "$(dpkg-query -W -f='${Status}' monodoc-browser 2>/dev/null | grep "ok installed")" ]; then
+ exit 0
+fi
+
+echo "generating monodoc search index..."
+monodoc --make-index > /dev/null
+
+echo "generating monodoc search index... (this can take a while)"
+monodoc --make-search-index > /dev/null
diff --git a/debian/update-shlibs.local.sh b/debian/update-shlibs.local.sh
new file mode 100755
index 0000000000..d2e01da09c
--- /dev/null
+++ b/debian/update-shlibs.local.sh
@@ -0,0 +1,48 @@
+#!/bin/sh -e
+
+VERSION=$(dpkg-parsechangelog | grep ^Vers | cut -d\ -f2)
+UPVERSION=$(echo $VERSION | sed 's,-.*,,' | sed 's,+dfsg,,')
+MAJOR_MINOR_UPVERSION=$(perl -e '$_=pop; print m/^(\d+\.\d+)/g;' $UPVERSION)
+
+dpkg-checkbuilddeps -d "\
+ libcairo2-dev, \
+ firebird2.0-dev, \
+ libsqlite0-dev, \
+ libsqlite3-dev, \
+ libasound2-dev, \
+ libgamin-dev, \
+ libcups2-dev, \
+ librsvg2-dev, \
+ libgtk2.0-dev, \
+ libgnomeui-dev
+"
+
+echo -n "Updating shlibs.local for Mono $UPVERSION..."
+
+cp debian/shlibs.local debian/shlibs.local.backup
+rm -f debian/shlibs.local.new
+
+# libs that don't ship shlibs
+echo "libMonoPosixHelper 0 mono-runtime (>= $MAJOR_MINOR_UPVERSION)" >> debian/shlibs.local.new
+echo "libMonoSupportW 0 mono-runtime (>= $MAJOR_MINOR_UPVERSION)" >> debian/shlibs.local.new
+echo "libgdiplus 0 libgdiplus (>= $MAJOR_MINOR_UPVERSION)" >> debian/shlibs.local.new
+echo "libgluezilla 0 libgluezilla (>= $MAJOR_MINOR_UPVERSION)" >> debian/shlibs.local.new
+
+for SONAME in \
+ "^libcairo 2" \
+ "^libfbclient 2" \
+ "^libsqlite 0" \
+ "^libsqlite3 0" \
+ "^libasound 2" \
+ "^libgamin-1 0" \
+ "^libcups 2" \
+ "^librsvg-2 2" \
+ "^libgtk-x11-2.0 0" \
+ "^libgnomeui-2 0" \
+ ; do
+ grep --no-filename "$SONAME" /var/lib/dpkg/info/*.shlibs >> debian/shlibs.local.new || echo "ERROR: could not resolve $SONAME"
+done
+
+cp debian/shlibs.local.new debian/shlibs.local
+
+echo "done."
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000000..f1a481ef72
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,3 @@
+version=2
+opts=dversionmangle=s/\+dfsg// \
+ http://download.mono-project.com/sources/mono/mono-([\d\.]+)\.tar\.bz2