Fix Npgsql runtime loading

This commit is contained in:
Jo Shields 2016-02-15 16:23:44 +00:00
parent 636cbb0dae
commit 5fd203e34d
2 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,33 @@
From ffa6818b960bb65e6e2272df81079c8c6db6f08f Mon Sep 17 00:00:00 2001
From: Jo Shields <jo.shields@xamarin.com>
Date: Mon, 15 Feb 2016 14:12:52 +0000
Subject: [PATCH] Don't remap all versions of Npgsql to 4.0.0.0
Mono has a list of assemblies considered "internal", whose versions are automatically remapped to the distro default version.
Since we no longer bundle Npgsql, it is up to individual distributions to package their own Npgsql - but Mono cannot load any version other than 4.0.0.0 from the GAC, due to this remapping:
Mono: Assembly Ref addref npghello[0x17e2fd0] -> mscorlib[0x1789c00]: 2
Mono: The request to load the assembly Npgsql v2.2.7.0 was remapped to v4.0.0.0
Mono: Assembly Loader probing location: '/usr/lib/mono/gac/Npgsql/4.0.0.0__5d8b90d52f46fda7/Npgsql.dll'.
Npgsql, Version=2.2.7.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7
---
mono/metadata/assembly.c | 1 -
1 file changed, 1 deletion(-)
diff --git a/mono/metadata/assembly.c b/mono/metadata/assembly.c
index 56fd2c4..381d102 100644
--- a/mono/metadata/assembly.c
+++ b/mono/metadata/assembly.c
@@ -105,7 +105,6 @@ static const AssemblyVersionMap framework_assemblies [] = {
{"Mono.Security.Win32", 0},
{"Mono.Xml.Ext", 0},
{"Novell.Directory.Ldap", 0},
- {"Npgsql", 0},
{"PEAPI", 0},
{"System", 0},
{"System.ComponentModel.Composition", 2},
--
2.5.0

View File

@ -37,6 +37,7 @@ Group: Development/Languages/Mono
Url: http://www.mono-project.com
Source0: http://download.mono-project.com/sources/mono/mono-%{version}.tar.bz2
Patch1: 0001-Un-revoke-fix-in-BNC-144655-mono-find-provides-shoul.patch
Patch2: 0001-Don-t-remap-all-versions-of-Npgsql-to-4.0.0.0.patch
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: bison
@ -132,6 +133,7 @@ technologies that have been submitted to the ECMA for standardization.
%prep
%setup -q -n mono-%{__majorver}
%patch1 -p1
%patch2 -p1
%build
./autogen.sh