[Pkg-mono-svn-commits] rev 3679 - in mono/trunk/debian: . patches
Mirco Bauer
meebey at alioth.debian.org
Tue Jul 8 21:04:22 UTC 2008
Author: meebey
Date: 2008-07-08 21:04:21 +0000 (Tue, 08 Jul 2008)
New Revision: 3679
Added:
mono/trunk/debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch
mono/trunk/debian/patches/fix_TdsConnectionPool_svn.dpatch
Modified:
mono/trunk/debian/changelog
mono/trunk/debian/control
mono/trunk/debian/libmono-system2.0-cil.install
mono/trunk/debian/patches/00list
mono/trunk/debian/rules
mono/trunk/debian/shlibs.local
mono/trunk/debian/update-shlibs.local.sh
Log:
* debian/shlibs.local:
+ Updated for the Mono 1.9 release.
* debian/rules:
debian/libmono-system2.0-cil.install:
+ Added System.Xml.Linq library but with the correct compiler-directory.
(Closes: #487996)
* debian/rules:
+ Removed --list-missing from dh_install call, it's useless in the current
implementation.
* debian/control:
+ Added libdiplus to dependencies of libmono-system-web1.0-cil and
libmono-system-web2.0-cil as System.Web.UI.WebControls.WebColorConverter
invokes it (which is needed by most web applications). (Closes: #479683)
* debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch:
Clear empty slots in keySlots and valueSlots. Otherwise the garbage
collector cannot reclaim the referenced key/value.
(patch taken from upstream SVN revision 102114)
* debian/patches/fix_TdsConnectionPool_svn.dpatch:
Remove unnecessary locks and code refactoring.
Update according to the new return type of
TdsConnectionPool.GetConnectionPool().
Added member to keep track of pool status.
Do not call tds.Reset () as it is already done in the connection pool.
Honor timeout and throw appropriate exception when connections are not
available.
When pooled connection cannot be reset, remove it from pool and allow slot
to be re-used for a newly established.
When pool is full, and no connection becomes available before the connect
timeout has elapsed, then throw an InvalidOperationException.
(patch taken from upstream SVN revisions 105424, 105432, 105433, 105719,
106448 and 107325)
Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/changelog 2008-07-08 21:04:21 UTC (rev 3679)
@@ -1,3 +1,39 @@
+mono (1.9.1+dfsg-3~pre1) unstable; urgency=low
+
+ * debian/shlibs.local:
+ + Updated for the Mono 1.9 release.
+ * debian/rules:
+ debian/libmono-system2.0-cil.install:
+ + Added System.Xml.Linq library but with the correct compiler-directory.
+ (Closes: #487996)
+ * debian/rules:
+ + Removed --list-missing from dh_install call, it's useless in the current
+ implementation.
+ * debian/control:
+ + Added libdiplus to dependencies of libmono-system-web1.0-cil and
+ libmono-system-web2.0-cil as System.Web.UI.WebControls.WebColorConverter
+ invokes it (which is needed by most web applications). (Closes: #479683)
+ * debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch:
+ Clear empty slots in keySlots and valueSlots. Otherwise the garbage
+ collector cannot reclaim the referenced key/value.
+ (patch taken from upstream SVN revision 102114)
+ * debian/patches/fix_TdsConnectionPool_svn.dpatch:
+ Remove unnecessary locks and code refactoring.
+ Update according to the new return type of
+ TdsConnectionPool.GetConnectionPool().
+ Added member to keep track of pool status.
+ Do not call tds.Reset () as it is already done in the connection pool.
+ Honor timeout and throw appropriate exception when connections are not
+ available.
+ When pooled connection cannot be reset, remove it from pool and allow slot
+ to be re-used for a newly established.
+ When pool is full, and no connection becomes available before the connect
+ timeout has elapsed, then throw an InvalidOperationException.
+ (patch taken from upstream SVN revisions 105424, 105432, 105433, 105719,
+ 106448 and 107325)
+
+ -- Mirco Bauer <meebey at debian.org> Wed, 18 Jun 2008 01:05:00 +0200
+
mono (1.9.1+dfsg-2) unstable; urgency=medium
* Urgency set to medium as this release contains important bugfixes for
Modified: mono/trunk/debian/control
===================================================================
--- mono/trunk/debian/control 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/control 2008-07-08 21:04:21 UTC (rev 3679)
@@ -425,7 +425,7 @@
Section: libs
Architecture: all
Replaces: mono-classlib-1.0 (<< 1.1.13.6-1), mono-classlib-1.0-dbg (<< 1.1.13.6-1)
-Depends: ${cli:Depends}, mono-jit (>= ${mono:upversion}), mono-jit (<< ${mono:next-upversion})
+Depends: ${cli:Depends}, mono-jit (>= ${mono:upversion}), mono-jit (<< ${mono:next-upversion}), libgdiplus
Description: Mono System.Web library
Mono is a platform for running and developing applications based on the
ECMA/ISO Standards. Mono is an open source effort led by Novell.
@@ -439,7 +439,7 @@
Section: libs
Architecture: all
Replaces: mono-classlib-2.0 (<< 1.1.13.6-2), mono-classlib-2.0-dbg (<< 1.1.13.6-1)
-Depends: ${cli:Depends}, mono-jit (>= ${mono:upversion}), mono-jit (<< ${mono:next-upversion})
+Depends: ${cli:Depends}, mono-jit (>= ${mono:upversion}), mono-jit (<< ${mono:next-upversion}), libgdiplus
Suggests: ${cli:Suggests}
Description: Mono System.Web Library
Mono is a platform for running and developing applications based on the
Modified: mono/trunk/debian/libmono-system2.0-cil.install
===================================================================
--- mono/trunk/debian/libmono-system2.0-cil.install 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/libmono-system2.0-cil.install 2008-07-08 21:04:21 UTC (rev 3679)
@@ -9,6 +9,7 @@
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__*/
@@ -21,4 +22,5 @@
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__*/
Modified: mono/trunk/debian/patches/00list
===================================================================
--- mono/trunk/debian/patches/00list 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/patches/00list 2008-07-08 21:04:21 UTC (rev 3679)
@@ -12,4 +12,6 @@
fix_softfloat_r105848
fix_stack_alignment_r105650_r105651
fix_xen_support_r103474_r103475
+fix_Dictionary_preventing_GC_r102114
+fix_TdsConnectionPool_svn
99_autoreconf
Added: mono/trunk/debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch (rev 0)
+++ mono/trunk/debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch 2008-07-08 21:04:21 UTC (rev 3679)
@@ -0,0 +1,35 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_Dictionary_preventing_GC_r102114.dpatch by Mirco Bauer <meebey at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: * Dictionary.cs (Clear, Remove): Clear empty slots in keySlots
+## DP: and valueSlots. Otherwise the garbage collector cannot reclaim
+## DP: the referenced key/value. Fixes bug #384723.
+
+ at DPATCH@
+diff -urNad mono-1.9.1+dfsg~/mcs/class/corlib/System.Collections.Generic/Dictionary.cs mono-1.9.1+dfsg/mcs/class/corlib/System.Collections.Generic/Dictionary.cs
+--- mono-1.9.1+dfsg~/mcs/class/corlib/System.Collections.Generic/Dictionary.cs 2007-11-08 23:13:53.000000000 +0100
++++ mono-1.9.1+dfsg/mcs/class/corlib/System.Collections.Generic/Dictionary.cs 2008-07-08 14:13:04.000000000 +0200
+@@ -383,7 +383,10 @@
+ {
+ count = 0;
+ // clear the hash table
+- Array.Clear(table, 0, table.Length);
++ Array.Clear (table, 0, table.Length);
++ // clear key and value arrays
++ Array.Clear (keySlots, 0, keySlots.Length);
++ Array.Clear (valueSlots, 0, valueSlots.Length);
+
+ // empty the "empty slots chain"
+ emptySlot = NO_SLOT;
+@@ -510,6 +513,10 @@
+ linkSlots [cur].Next = emptySlot;
+ emptySlot = cur;
+
++ // clear empty key and value slots
++ keySlots [cur] = default (TKey);
++ valueSlots [cur] = default (TValue);
++
+ generation++;
+ return true;
+ }
Property changes on: mono/trunk/debian/patches/fix_Dictionary_preventing_GC_r102114.dpatch
___________________________________________________________________
Name: svn:executable
+ *
Added: mono/trunk/debian/patches/fix_TdsConnectionPool_svn.dpatch
===================================================================
--- mono/trunk/debian/patches/fix_TdsConnectionPool_svn.dpatch (rev 0)
+++ mono/trunk/debian/patches/fix_TdsConnectionPool_svn.dpatch 2008-07-08 21:04:21 UTC (rev 3679)
@@ -0,0 +1,397 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+## fix_TdsConnectionPool_r105424_r106448_107325.dpatch by Mirco Bauer <meebey at debian.org>
+##
+## All lines beginning with `## DP:' are a description of the patch.
+## DP: Backport of upstream SVN trunk to fix connection pool leaks/stalls, see:
+## DP: https://bugzilla.novell.com/show_bug.cgi?id=360157
+## DP: r105424:
+## DP: Remove unnecessary locks and code refactoring
+## DP: r105432:
+## DP: Update according to the new return type of TdsConnectionPool.GetConnectionPool()
+## DP: r105433:
+## DP: Member to keep track of pool status
+## DP: r105719:
+## DP: Do not call tds.Reset () as it is already done in the connection pool.
+## DP: r106448:
+## DP: Honor timeout and throw appropriate exception when connections are not available
+## DP: r107325:
+## DP: TdsConnectionPool.cs: When pooled connection cannot be reset, remove
+## DP: it from pool and allow slot to be re-used for a newly established
+## DP: connection. Fixes part of bug #360157. When pool is full, and no
+## DP: connection becomes available before the connect timeout has elapsed,
+## DP: then throw an InvalidOperationException instead of a SqlException.
+
+ at DPATCH@
+diff -urNad mono-1.9+dfsg~/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs mono-1.9+dfsg/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs
+--- mono-1.9+dfsg~/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs 2008-01-29 23:04:15.000000000 +0100
++++ mono-1.9+dfsg/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/Tds.cs 2008-07-08 21:15:49.000000000 +0200
+@@ -102,6 +102,8 @@
+ bool isResultRead = false;
+ bool LoadInProgress = false;
+
++ internal int poolStatus = 0;
++
+ #endregion // Fields
+
+ #region Properties
+diff -urNad mono-1.9+dfsg~/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsConnectionPool.cs mono-1.9+dfsg/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsConnectionPool.cs
+--- mono-1.9+dfsg~/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsConnectionPool.cs 2007-11-08 23:11:23.000000000 +0100
++++ mono-1.9+dfsg/mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol/TdsConnectionPool.cs 2008-07-08 21:15:49.000000000 +0200
+@@ -3,6 +3,7 @@
+ //
+ // Author:
+ // Lluis Sanchez Gual (lluis at ximian.com)
++// Christian Hergert (christian.hergert at gmail.com)
+ //
+ // Copyright (C) 2004 Novell, Inc.
+ //
+@@ -28,16 +29,23 @@
+ // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ //
+
+-using Mono.Data.Tds.Protocol;
+ using System;
++#if NET_2_0
++using System.Collections.Generic;
++#else
+ using System.Collections;
++#endif
+ using System.Threading;
+
+ namespace Mono.Data.Tds.Protocol
+ {
+ public class TdsConnectionPoolManager
+ {
++#if NET_2_0
++ Dictionary <string, TdsConnectionPool> pools = new Dictionary <string, TdsConnectionPool> ();
++#else
+ Hashtable pools = new Hashtable ();
++#endif
+ TdsVersion version;
+
+ public TdsConnectionPoolManager (TdsVersion version)
+@@ -49,7 +57,12 @@
+ {
+ lock (pools)
+ {
+- TdsConnectionPool pool = (TdsConnectionPool) pools [connectionString];
++ TdsConnectionPool pool = null;
++#if NET_2_0
++ pools.TryGetValue (connectionString, out pool);
++#else
++ pool = (TdsConnectionPool) pools [connectionString];
++#endif
+ if (pool == null) {
+ pool = new TdsConnectionPool (this, info);
+ pools [connectionString] = pool;
+@@ -58,12 +71,13 @@
+ }
+ }
+
+- public Hashtable GetConnectionPool ()
++#if NET_2_0
++ public IDictionary <string, TdsConnectionPool> GetConnectionPool ()
++#else
++ public IDictionary GetConnectionPool ()
++#endif
+ {
+- lock (pools)
+- {
+- return pools;
+- }
++ return pools;
+ }
+
+ public virtual ITds CreateConnection (TdsConnectionInfo info)
+@@ -102,20 +116,34 @@
+ public int PoolMinSize;
+ public int PoolMaxSize;
+ }
+-
++
+ public class TdsConnectionPool
+ {
+- ArrayList list = new ArrayList ();
++ ITds[] list;
+ TdsConnectionInfo info;
+- bool initialized;
+ bool pooling = true;
+- int activeConnections = 0;
+ TdsConnectionPoolManager manager;
+-
++ ManualResetEvent connAvailable;
++
+ public TdsConnectionPool (TdsConnectionPoolManager manager, TdsConnectionInfo info)
+ {
++ int n = 0;
++
+ this.info = info;
+ this.manager = manager;
++ list = new ITds[info.PoolMaxSize];
++
++ // Placeholder for future connections are at the beginning of the array.
++ for (; n < info.PoolMaxSize - info.PoolMinSize; n++)
++ list [n] = null;
++
++ // Pre-populate with minimum number of connections
++ for (; n < list.Length; n++) {
++ list [n] = CreateConnection ();
++ }
++
++ // Event that notifies a connection is available in the pool
++ connAvailable = new ManualResetEvent (false);
+ }
+
+ public bool Pooling {
+@@ -128,110 +156,118 @@
+ public ITds GetConnection ()
+ {
+ ITds connection = null;
+- lock (list)
+- {
+- if (!initialized)
+- {
+- for (int n = 0; n < info.PoolMinSize; n++)
+- list.Add (CreateConnection ());
+- initialized = true;
+- }
+- do {
+- if (list.Count > 0)
+- {
+- // There are available connections
+- connection = (ITds) list [list.Count - 1];
+- list.RemoveAt (list.Count - 1);
++ int index;
++
++ retry:
++ // Reset the connection available event
++ connAvailable.Reset ();
++
++ index = list.Length - 1;
++
++ do {
++ connection = list [index];
++
++ if (connection == null) {
++ // Attempt take-over of array position
++ connection = CreateConnection ();
++ (connection as Tds).poolStatus = 1;
++#if NET_2_0
++ if (Interlocked.CompareExchange<ITds> (ref list [index], connection, null) != null) {
++#else
++ if (Interlocked.CompareExchange (ref (list as object[]) [index], connection, null) != null) {
++#endif
++ // Someone beat us to the punch
++ connection = null;
++ } else {
++ continue;
++ }
++ } else {
++ if (Interlocked.CompareExchange (ref (connection as Tds).poolStatus, 1, 0) != 0) {
++ // Someone else owns this connection
++ connection = null;
++ } else {
+ if (!connection.Reset ()) {
+- try {
+- connection.Disconnect ();
+- } catch {}
+- connection = null;
++ ThreadPool.QueueUserWorkItem (new WaitCallback (DestroyConnection), connection);
++ // remove connection from pool
++ list [index] = connection = null;
++ // allow slot be re-used in same run
++ continue;
++ } else {
+ continue;
+ }
+ }
++ }
++
++ index--;
++
++ if (index < 0) {
++ // TODO: Maintain a list of indices of released connection to save some loop over
++ // Honor timeout - if pool is full, and no connections are available within the
++ // timeout period - just throw the exception
++ if (info.Timeout > 0
++ && !connAvailable.WaitOne (new TimeSpan (0, 0, info.Timeout), true))
++ throw new InvalidOperationException (
++ "Timeout expired. The timeout period elapsed before a " +
++ "connection could be obtained. A possible explanation " +
++ "is that all the connections in the pool are in use, " +
++ "and the maximum pool size is reached.");
++ goto retry;
++ }
+
+- if (connection == null && activeConnections < info.PoolMaxSize)
+- {
+- // No connections available, but the connection limit
+- // has not been reached yet, so a new one can be created
+- connection = CreateConnection();
+- }
+-
+- // No available connections in the pool
+- // Wait for somewone to release one.
+- if (connection == null)
+- {
+- Monitor.Wait (list);
+- }
+- }
+- while (connection == null);
+- }
++ } while (connection == null);
+
+ return connection;
+ }
+
+- public void ReleaseConnection (ITds tds)
++ public void ReleaseConnection (ITds connection)
+ {
+- lock (list)
+- {
+- list.Add (tds);
+- Monitor.Pulse (list);
+- }
++ ((Tds) connection).poolStatus = 0;
++ connAvailable.Set ();
+ }
+
+ #if NET_2_0
+- public void ReleaseConnection (ref ITds tds)
++ public void ReleaseConnection (ref ITds connection)
+ {
+- lock (list)
+- {
+- if (pooling == false) {
+- try {
+- tds.Disconnect ();
+- } catch {}
+- tds = null;
+- } else {
+- list.Add (tds);
+- Monitor.Pulse (list);
+- }
++ if (pooling == false) {
++ int index = Array.IndexOf (list, connection);
++ ThreadPool.QueueUserWorkItem (new WaitCallback (DestroyConnection), connection);
++ list [index] = connection = null;
++ } else {
++ ((Tds) connection).poolStatus = 0;
+ }
++ connAvailable.Set ();
+ }
+
+ public void ResetConnectionPool ()
+ {
+- lock (list)
++ ITds connection = null;
++ int index = list.Length - 1;
++
++ while (index >= 0)
+ {
+- ITds connection = null;
+- while (list.Count > 0) {
+- // There are available connections
+- connection = (ITds) list [list.Count - 1];
+- list.RemoveAt (list.Count - 1);
++ connection = list [index];
++
++ if (Interlocked.CompareExchange (ref ((Tds) connection).poolStatus, 1, 0) == 0) {
+ if (!connection.Reset ()) {
+- try {
+- connection.Disconnect ();
+- } catch {}
+- connection = null;
++ ThreadPool.QueueUserWorkItem (new WaitCallback (DestroyConnection), connection);
++ list [index] = connection = null;
++ connAvailable.Set ();
+ }
+ }
++
++ index--;
+ }
+ }
+
+ public void ResetConnectionPool (ITds connection)
+ {
+- lock (list)
+- {
+- if (list.Count > 0) {
+- // There are available connections
+- int index = list.IndexOf (connection);
+- if (index != -1) {
+- list.RemoveAt (index);
+- if (!connection.Reset ()) {
+- try {
+- connection.Disconnect ();
+- } catch {}
+- connection = null;
+- }
+- }
++ int index = Array.IndexOf (list, connection);
++
++ if (index != -1) {
++ if (connection != null && !connection.Reset ()) {
++ ThreadPool.QueueUserWorkItem (new WaitCallback (DestroyConnection), connection);
++ list [index] = connection = null;
++ connAvailable.Set ();
+ }
+ }
+ }
+@@ -239,10 +275,21 @@
+
+ ITds CreateConnection ()
+ {
+- activeConnections++;
+ return manager.CreateConnection (info);
+ }
+
++ void DestroyConnection (object state)
++ {
++ ITds connection = state as ITds;
++ if (connection != null) {
++ try {
++ connection.Disconnect ();
++ } finally {
++ connection = null;
++ }
++ }
++ }
++
+ #endregion // Methods
+ }
+ }
+diff -urNad mono-1.9+dfsg~/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs mono-1.9+dfsg/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs
+--- mono-1.9+dfsg~/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs 2007-11-08 23:13:07.000000000 +0100
++++ mono-1.9+dfsg/mcs/class/System.Data/System.Data.SqlClient/SqlConnection.cs 2008-07-08 21:16:16.000000000 +0200
+@@ -51,6 +51,9 @@
+ using System.Net.Sockets;
+ using System.Text;
+ using System.Xml;
++#if NET_2_0
++using System.Collections.Generic;
++#endif
+
+ namespace System.Data.SqlClient {
+ [DefaultEvent ("InfoMessage")]
+@@ -570,8 +573,6 @@
+ pool.ReleaseConnection (tds);
+ throw;
+ }
+- } else if (connectionReset) {
+- tds.Reset ();
+ }
+
+ disposed = false; // reset this, so using () would call Close ().
+@@ -1684,7 +1685,11 @@
+
+ public static void ClearAllPools ()
+ {
++#if NET_2_0
++ IDictionary <string, TdsConnectionPool> pools = SqlConnection.sqlConnectionPools.GetConnectionPool ();
++#else
+ Hashtable pools = SqlConnection.sqlConnectionPools.GetConnectionPool ();
++#endif
+ foreach (TdsConnectionPool pool in pools.Values) {
+ if (pool != null) {
+ pool.ResetConnectionPool ();
Modified: mono/trunk/debian/rules
===================================================================
--- mono/trunk/debian/rules 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/rules 2008-07-08 21:04:21 UTC (rev 3679)
@@ -182,6 +182,9 @@
$(CURDIR)/debian/tmp/usr/share/man/man1/ilasm2.1
cp $(CURDIR)/debian/tmp/usr/share/man/man1/resgen.1 \
$(CURDIR)/debian/tmp/usr/share/man/man1/resgen2.1
+ # move System.Xml.Linq.dll symlink to the correct directory
+ mv $(CURDIR)/debian/tmp/usr/lib/mono/3.5/System.Xml.Linq.dll \
+ $(CURDIR)/debian/tmp/usr/lib/mono/2.0/
touch install-indep-stamp
binary: binary-arch binary-indep
@@ -207,7 +210,7 @@
rm -f debian/tmp/usr/lib/mono/1.0/Mono.Mozilla.dll
# that exclude list are programs for arch-dep packages
- dh_install -i --list-missing -Xbin/monodis -Xbin/monograph -Xbin/mono-find-provides -Xbin/mono-find-requires -Xbin/pedump -Xbin/jay
+ dh_install -i -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
Modified: mono/trunk/debian/shlibs.local
===================================================================
--- mono/trunk/debian/shlibs.local 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/shlibs.local 2008-07-08 21:04:21 UTC (rev 3679)
@@ -1,9 +1,9 @@
-libMonoPosixHelper 0 libmono0 (>= 1.2.6)
-libgdiplus 0 libgdiplus (>= 1.2.6)
-libgluezilla 0 libgluezilla (>= 1.2.6)
-libcairo 2 libcairo2 (>=1.4.0)
-libfbclient 2 libfbclient2
+libMonoPosixHelper 0 libmono0 (>= 1.9.1)
+libgdiplus 0 libgdiplus (>= 1.9)
+libgluezilla 0 libgluezilla (>= 1.9)
+libcairo 2 libcairo2 (>= 1.6.0)
+libfbclient 2 libfbclient2 (>= 2.0.4)
libsqlite 0 libsqlite0 (>= 2.8.17)
-libsqlite3 0 libsqlite3-0 (>= 3.4.2)
-libasound 2 libasound2 (>> 1.0.14)
+libsqlite3 0 libsqlite3-0 (>= 3.5.9)
+libasound 2 libasound2 (>> 1.0.16)
libgda-2 3 libgda2-3
Modified: mono/trunk/debian/update-shlibs.local.sh
===================================================================
--- mono/trunk/debian/update-shlibs.local.sh 2008-07-08 12:16:44 UTC (rev 3678)
+++ mono/trunk/debian/update-shlibs.local.sh 2008-07-08 21:04:21 UTC (rev 3679)
@@ -1,7 +1,7 @@
#!/bin/sh -e
VERSION=$(dpkg-parsechangelog | grep ^Vers | cut -d\ -f2)
-UPVERSION=$(echo $VERSION | sed 's,-.*,,')
+UPVERSION=$(echo $VERSION | sed 's,-.*,,' | sed 's,+dfsg,,')
echo -n "Updating shlibs.local for Mono $UPVERSION..."
More information about the Pkg-mono-svn-commits
mailing list