[Pkg-cli-common-commits] [cli-common] 03/03: Added .NET 4.5 support of Mono 3.0

Mirco Bauer meebey at alioth.debian.org
Fri Oct 18 09:26:29 UTC 2013


This is an automated email from the git hooks/post-receive script.

meebey pushed a commit to branch master-experimental
in repository cli-common.

commit 4c222f06b027f404807aa80720d8400088b143b9
Author: Mirco Bauer <meebey at meebey.net>
Date:   Tue Oct 30 20:08:58 2012 +0100

    Added .NET 4.5 support of Mono 3.0
---
 debian/control |    4 ++--
 dh_clideps     |   13 +++++++++++--
 2 files changed, 13 insertions(+), 4 deletions(-)

diff --git a/debian/control b/debian/control
index 21b0bbb..a503a74 100644
--- a/debian/control
+++ b/debian/control
@@ -37,8 +37,8 @@ Architecture: all
 Replaces: cli-common (<< 0.4.0)
 Depends: debhelper (>= 7.0.8),
  perl-modules,
- mono-utils (>= 2.10.1) | cil-disassembler,
- mono-devel (>= 2.10.1) | strong-name-tool,
+ mono-utils (>= 3.0~) | cil-disassembler,
+ mono-devel (>= 3.0~) | strong-name-tool,
  libxml-dom-perl
 Description: common files for building CLI packages
  This package must be installed if a CLI (Common Language Infrastructure)
diff --git a/dh_clideps b/dh_clideps
index 7c398e5..e0b73c7 100755
--- a/dh_clideps
+++ b/dh_clideps
@@ -293,6 +293,7 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
   $needs_net_2_0 = 0;
   $needs_net_2_1 = 0;
   $needs_net_4_0 = 0;
+  $needs_net_4_5 = 0;
   
   # for idempotency
   delsubstvar($package, "cli:Depends");
@@ -336,7 +337,9 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
   my $vm_ref = "";
   if (!defined($dh{R_FLAG}) && $found_exe) {
     if ($clr eq "mono") {
-      if ($needs_net_4_0) {
+      if ($needs_net_4_5) {
+        $vm_ref = "mono-runtime (>= 3.0~), ";
+      } elsif ($needs_net_4_0) {
         $vm_ref = "mono-runtime (>= 2.10.1), ";
       } elsif ($needs_net_2_1) {
         $vm_ref = "mono-runtime (>= 1.2.6), ";
@@ -597,7 +600,13 @@ sub resolveClilibRefs {
         } elsif ($ver eq "2.1.0.0") {
           $needs_net_2_1 = 1;
         } elsif ($ver eq "4.0.0.0") {
-          $needs_net_4_0 = 1;
+          # HACK: Mono 3.0 only provides a .NET 4.0 corlib for development
+          # support. At runtime Mono 3.0 always loads the 4.5 corlib though as 
+          # .NET 4.5 and .NET 4.0 both contain a corlib with the same assembly
+          # version but the 4.5 corlib contains more symbols! Thus we need to
+          # always depend on the 4.5 corlib with Mono 3.0.
+          # TODO: check cli_version for >= 3.0 and fallback to needs_net_4_0
+          $needs_net_4_5 = 1;
         } else {
           warning("Warning: Unknown mscorlib version: $ver!");
         }

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-cli-common/packages/cli-common.git



More information about the Pkg-cli-common-commits mailing list