[Pkg-mono-svn-commits] rev 2593 - in mono/trunk/debian: . patches

Sebastian Dröge slomo-guest at costa.debian.org
Tue Jul 4 18:13:33 UTC 2006


Author: slomo-guest
Date: 2006-07-04 18:13:31 +0000 (Tue, 04 Jul 2006)
New Revision: 2593

Added:
   mono/trunk/debian/patches/gacutil-remove-full-assembly-name.dpatch
Modified:
   mono/trunk/debian/changelog
   mono/trunk/debian/mono.runtime-script
   mono/trunk/debian/patches/00list
Log:
* fixed the gacutil and the mono runtime installer script


Modified: mono/trunk/debian/changelog
===================================================================
--- mono/trunk/debian/changelog	2006-06-28 10:42:56 UTC (rev 2592)
+++ mono/trunk/debian/changelog	2006-07-04 18:13:31 UTC (rev 2593)
@@ -15,9 +15,14 @@
     + debian/patches/console-no-utf8-bom.dpatch:
       - don't output the Byte Order Mark on UTF8 locales to the console. This
         breaks scripts and everything that parses the output of mono programs.
+    + debian/patches/gacutil-remove-full-assembly-name.dpatch:
+      - Allow removal of assemblies with neutral culture info when given as
+        full assembly name to gacutil
     + debian/mono.runtime-scripts:
       - added LANG=C to all calls of external programs where the output is
         parsed
+      - Exit with a non-0 exit code if something goes wrong (Closes: #366451)
+      - Use the full assembly name and gacutil /u for uninstallation
 
  -- Debian Mono Group <pkg-mono-group at lists.alioth.debian.org>  Tue, 27 Jun 2006 15:11:24 +0200
 

Modified: mono/trunk/debian/mono.runtime-script
===================================================================
--- mono/trunk/debian/mono.runtime-script	2006-06-28 10:42:56 UTC (rev 2592)
+++ mono/trunk/debian/mono.runtime-script	2006-07-04 18:13:31 UTC (rev 2593)
@@ -61,10 +61,9 @@
 	{
 	    # Clean up the line and get the base directory
 	    chomp;
-	    my $basedir = dirname($_);
-	    system("rm -f $_/*");
-	    system("rmdir $_");
-	    system("rmdir $basedir");
+		 my $cmd = "/usr/bin/mono /usr/lib/mono/1.0/gacutil.exe /u $_"
+		 . " > /dev/null)";
+		 system($cmd) == 0 or die "E: removing Assembly $_ failed\n";
 	}
 
 	close UNINSTALL;
@@ -102,7 +101,7 @@
     if (! -f $dll)
     {
 	print STDERR "E: Assembly does not exist: $dll\n";
-	next;
+	exit 1;
     }
     
     # Figure out the mono's precise name
@@ -115,10 +114,10 @@
     # 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 / && "
-    	. "/usr/bin/mono /usr/lib/mono/1.0/gacutil.exe /i ./$dll"
-	. " > /dev/null)";
-    system($cmd);
+    my $cmd = "(cd `dirname $dll` && "
+    	. "/usr/bin/mono /usr/lib/mono/1.0/gacutil.exe /i `basename $dll`"
+	   . " > /dev/null)";
+    system($cmd) == 0 or die "E: installing Assembly $dll failed\n";
 }
 
 close CLIGAC;
@@ -141,29 +140,6 @@
     # This generate a single line that produces the desired results
     $_ = <PIPE>;
     chomp;
-    my @p = split(/, /);
-    close PIPE;
-
-    # Clean up the path and build the mono-specific directory
-    my %hash = ();
-    $hash{"Assembly"} = shift @p;
-
-    foreach my $p (@p)
-    {
-	if ($p =~ /^(\w+)=(.*)$/)
-	{
-	    $hash{$1} = $2;
-	}
-	else
-	{
-	    print "E: Unknown line: $p\n";
-	    exit 1;
-	}
-    }
-
-    # Figure out the path
-    # /usr/lib/mono/gac/log4net/1.2.9.0__a5715cc6d5c3540b
-    return "/usr/lib/mono/gac/"
-	. "$hash{Assembly}/$hash{Version}"
-	. "__$hash{PublicKeyToken}/";
+	 # assembly1, Version=1.0.0.0, Culture=en, PublicKeyToken=0123456789abcdef
+    return $_;
 }

Modified: mono/trunk/debian/patches/00list
===================================================================
--- mono/trunk/debian/patches/00list	2006-06-28 10:42:56 UTC (rev 2592)
+++ mono/trunk/debian/patches/00list	2006-07-04 18:13:31 UTC (rev 2593)
@@ -5,3 +5,4 @@
 ppc_missing_lock.dpatch
 sqliteclient-ppc.dpatch
 console-no-utf8-bom.dpatch
+gacutil-remove-full-assembly-name.dpatch

Added: mono/trunk/debian/patches/gacutil-remove-full-assembly-name.dpatch
===================================================================
--- mono/trunk/debian/patches/gacutil-remove-full-assembly-name.dpatch	2006-06-28 10:42:56 UTC (rev 2592)
+++ mono/trunk/debian/patches/gacutil-remove-full-assembly-name.dpatch	2006-07-04 18:13:31 UTC (rev 2593)
@@ -0,0 +1,15 @@
+#! /bin/sh /usr/share/dpatch/dpatch-run
+
+ at DPATCH@
+
+--- mono-1.1.13.8/mcs/tools/gacutil/driver.cs	2006-05-11 00:33:17.000000000 +0200
++++ mono-1.1.13.6/mcs/tools/gacutil/driver.cs	2006-07-04 18:18:26.939598500 +0200
+@@ -549,7 +549,7 @@
+ 			version = asm_info ["version"] as string;
+ 			version = (version == null ? "*" : version);
+ 			culture = asm_info ["culture"] as string;
+-			culture = (culture == null ? "*" : culture.ToLower (CultureInfo.InvariantCulture));
++			culture = (culture == null ? "*" : (culture == "neutral") ? String.Empty : culture.ToLower (CultureInfo.InvariantCulture));
+ 			token = asm_info ["publickeytoken"] as string;
+ 			token = (token == null ? "*" : token.ToLower (CultureInfo.InvariantCulture));
+




More information about the Pkg-mono-svn-commits mailing list