[Pkg-mono-svn-commits] rev 1251 - mono/trunk/debian

Eduard Bloch blade@haydn.debian.org
Wed, 07 Jul 2004 10:54:43 -0600


Author: blade
Date: 2004-07-07 10:54:35 -0600 (Wed, 07 Jul 2004)
New Revision: 1251

Modified:
   mono/trunk/debian/changelog
   mono/trunk/debian/dh_makenetlibs
Log:
Workarounds for monodis problems


Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog	2004-07-05 18:47:46 UTC (rev 1250)
+++ mono/trunk/debian/changelog	2004-07-07 16:54:35 UTC (rev 1251)
@@ -1,9 +1,13 @@
-mono (1.0-2) UNRELEASED; urgency=low
+mono (1.0-2) unstable; urgency=medium
 
-  * Workarounds for FTBFS on architectures that have we already built for in
-    the past
+  * Eduard Bloch
+    + Workarounds for FTBFS on architectures that have we already built for in
+      the past
+    + dh_makenetlibs: extremely ugly workaround for collecting library data
+      even when not the whole assembly chain works (we need something more
+      mature than monodis to do this; closes: #258040)
 
- -- Debian Mono Group <pkg-mono-group@lists.alioth.debian.org>  Sat,  3 Jul 2004 12:55:22 +0200
+ -- Debian Mono Group <pkg-mono-group@lists.alioth.debian.org>  Wed, 07 Jul 2004 18:53:32 +0200
 
 mono (1.0-1) unstable; urgency=low
 

Modified: mono/trunk/debian/dh_makenetlibs
===================================================================
--- mono/trunk/debian/dh_makenetlibs	2004-07-05 18:47:46 UTC (rev 1250)
+++ mono/trunk/debian/dh_makenetlibs	2004-07-07 16:54:35 UTC (rev 1251)
@@ -178,11 +178,28 @@
                warning "$libfile has no valid signature, ignoring";
                next dll;
             }
-            my $dis = `monodis --assembly $libfile`;
-            $dis =~ m/Name:\s+(\S+)/;
-            $library = $1;
-            $dis =~ m/Version:\s+(\S+)/;
-            $ver = $1;
+            my $dis = `monodis --assembly $libfile 2>&1`;
+            if($dis =~ m/Name:\s+(\S+)/) {
+               $library = $1;
+               $dis =~ m/Version:\s+(\S+)/;
+               $ver = $1;
+            }
+            else {
+               # completely broken code, we need a mature app not
+               # depending on assembly loading
+               # verbose_print("trouble parsing monodis output, components not installed? Fallback to parsing the pure monodis output.");
+               # $dis = `monodis $libfile 2>&1`;
+               # $dis =~ /^module (\S+)/is;
+               # $library = $1;
+               # $library =~ s/'|"//;
+               warning("monodis could not open $libfile, maybe some components not installed yet. Using filename to guess the assembly name :(");
+               $libfile=~ m,/(\d+\.\d+.\d+.\d+)__(\w+)/([^/]+)\.dll$,is;
+#               print "moo: $1, $2, $3";
+               next dll if (! ($1 && $2 && $3));
+               $ver=$1;
+               $sig=$2;
+               $library=$3;
+            }
 
             if ( !-d "$tmp/DEBIAN" ) {
                 doit( "install", "-d", "$tmp/DEBIAN" );