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

Eduard Bloch blade@haydn.debian.org
Sat, 19 Jun 2004 04:48:19 -0600


Author: blade
Date: 2004-06-19 04:48:15 -0600 (Sat, 19 Jun 2004)
New Revision: 1078

Modified:
   mono/trunk/debian/dh_makenetlibs
Log:
Dont't write crap into .netlibs from checks of unsigned files (fixes
monodevelop)


Modified: mono/trunk/debian/dh_makenetlibs
===================================================================
--- mono/trunk/debian/dh_makenetlibs	2004-06-19 10:06:24 UTC (rev 1077)
+++ mono/trunk/debian/dh_makenetlibs	2004-06-19 10:48:15 UTC (rev 1078)
@@ -151,41 +151,45 @@
     my $need_ldconfig = 0;
 
     doit( "rm", "-f", "$tmp/DEBIAN/netlibs" );
-
-    # So, we look for files or links to existing files with names that
-    # match "*.so*". Matching *.so.* is not good enough because of
-    # broken crap like db3. And we only look at real files not
-    # symlinks, so we don't accidentually add netlibs data to -dev
-    # packages. This may have a few false positives, which is ok,
-    # because only if we can get a library name and a major number from
-    # objdump is anything actually added.
-    my $exclude = '';
-    if ( defined( $dh{EXCLUDE_FIND} ) && $dh{EXCLUDE_FIND} ne '' ) {
-        $exclude = "! \\( $dh{EXCLUDE_FIND} \\) ";
+    if ( -e "debian/$package.netlibs" ) {
+        complex_doit("cat debian/$package.netlibs >$tmp/DEBIAN/netlibs");
     }
-    open( FIND, "find $tmp -type f \\( -name '*.dll' \\) $exclude |" );
-    while (<FIND>) {
-        chomp;
-        my ( $library, $ver, $libfile );
-        $libfile = $_;
-        my $sig = `monosn -T $_`;
-        $sig=~s/.*token is //;
-        chomp($sig);
-        my $dis = `monodis --assembly $libfile`;
-        $dis =~ m/Name:\s+(\S+)/;
-        $library = $1;
-        $dis =~ m/Version:\s+(\S+)/;
-        $ver  = $1;
+    else {
 
-        if ( !-d "$tmp/DEBIAN" ) {
-            doit( "install", "-d", "$tmp/DEBIAN" );
+        # So, we look for files or links to existing files with names that
+        # match "*.so*". Matching *.so.* is not good enough because of
+        # broken crap like db3. And we only look at real files not
+        # symlinks, so we don't accidentually add netlibs data to -dev
+        # packages. This may have a few false positives, which is ok,
+        # because only if we can get a library name and a major number from
+        # objdump is anything actually added.
+        my $exclude = '';
+        if ( defined( $dh{EXCLUDE_FIND} ) && $dh{EXCLUDE_FIND} ne '' ) {
+            $exclude = "! \\( $dh{EXCLUDE_FIND} \\) ";
         }
-        my $deps = $package;
-        if ( -e "debian/$package.netlibs" ) {
-            complex_doit("cat debian/$package.netlibs >$tmp/DEBIAN/netlibs");
-        }
-        else {
+        open( FIND, "find $tmp -type f \\( -name '*.dll' \\) $exclude |" );
+        dll: while (<FIND>) {
+            chomp;
+            my ( $library, $ver, $libfile );
+            $libfile = $_;
+            my $sig = `monosn -T $_`;
+            $sig =~ s/.*token is //;
+            chomp($sig);
+            if($sig=~/\s/) {
+               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;
 
+            if ( !-d "$tmp/DEBIAN" ) {
+                doit( "install", "-d", "$tmp/DEBIAN" );
+            }
+            my $deps = $package;
+
             # Call isnative becuase it sets $dh{VERSION}
             # as a side effect.
             isnative($package);
@@ -197,32 +201,32 @@
 
                 # Remove debian version, if any.
                 $version =~ s/-[^-]+$//;
-             }
+            }
 
-             if ( defined( $dh{M_PARAMS} ) && $dh{M_PARAMS} ne '' ) {
+            if ( defined( $dh{M_PARAMS} ) && $dh{M_PARAMS} ne '' ) {
                 $version = $dh{M_PARAMS};
-             }
-            if ($dh{V_FLAG_SET}) {
-               if ($dh{V_FLAG} ne '') {
-                  $deps=$dh{V_FLAG};
-               }	
-               else {
-                  $deps = "$package (>= $version)";
-               }
             }
-            if( defined($dh{R_FLAG})) {
+            if ( $dh{V_FLAG_SET} ) {
+                if ( $dh{V_FLAG} ne '' ) {
+                    $deps = $dh{V_FLAG};
+                }
+                else {
+                    $deps = "$package (>= $version)";
+                }
+            }
+            if ( defined( $dh{R_FLAG} ) ) {
                 $version =~ s/-[^-]+$//;
-               my @uvers = split(/\./, $version);
-               $uvers[1]++;
-               $deps = "$package (>= $version), $package (<< ".
-               join(".",@uvers)
-               .")";
+                my @uvers = split ( /\./, $version );
+                $uvers[1]++;
+                $deps =
+                  "$package (>= $version), $package (<< "
+                  . join ( ".", @uvers ) . ")";
             }
-            if( defined($dh{M_PARAMS})) {
-               $deps = "$package (>= ".$dh{M_PARAMS}.")";
+            if ( defined( $dh{M_PARAMS} ) ) {
+                $deps = "$package (>= " . $dh{M_PARAMS} . ")";
             }
-            if( defined($dh{L_PARAMS})) {
-               $deps .= ", $package (<< ".$dh{L_PARAMS}.")";
+            if ( defined( $dh{L_PARAMS} ) ) {
+                $deps .= ", $package (<< " . $dh{L_PARAMS} . ")";
             }
             if ( defined($library)
                 && defined($ver)
@@ -233,13 +237,12 @@
             {
 
                 # Prevent duplicate lines from entering the file.
-                my $line = "$library $ver"."__$sig $deps";
+                my $line = "$library $ver" . "__$sig $deps";
+
                 # extra dependencies are to be resolved by dh_netlibs,
                 # don't forward the dependency libs to the apps where it
                 # does not belong to
-#                if ( my $extra = extraDeps ($libfile) ) {
-#                    $line .= ", $extra";
-#                }
+#                if ( my $extra = extraDeps ($libfile) )   { $line .= ", $extra";  }
                 if ( !$seen{$line} ) {
                     $seen{$line} = 1;
                     complex_doit("echo '$line' >>$tmp/DEBIAN/netlibs");