[Pkg-cli-common-commits] [SCM] cli-common branch, master, updated. debian/0.8_xamarin1-3-g860d3f5

Mirco Bauer meebey at meebey.net
Thu Sep 22 12:02:31 UTC 2011


The following commit has been merged in the master branch:
commit 860d3f5477ddf424a3d61fe3a07546039622e1cc
Merge: 649dad7c1730c3982199fce1a2d2eff497f3bae5 f22e4814d2c080d4ba3feec15f55102161b97f6a
Author: Mirco Bauer <meebey at meebey.net>
Date:   Thu Sep 22 14:02:03 2011 +0200

    Merge remote branch 'jtaylor/late_fail'

diff --combined dh_clideps
index e4b5bc1,0fbb2ac..2263b0a
--- a/dh_clideps
+++ b/dh_clideps
@@@ -152,7 -152,6 +152,7 @@@ my $cli_version = `$cli --version 2>&1`
  my $cli_parser;
  my $cli_parser_paths;
  my $pwd = `pwd`;
 +my @allpackages = getpackages();
  chomp $pwd;
  
  my $mono_gac_prefix = "";
@@@ -275,6 -274,7 +275,7 @@@ our $needs_net_1_0
  our $needs_net_2_0;
  our $needs_net_2_1;
  our $needs_net_4_0;
+ my $failure = 0;
  
  foreach my $package (@{$dh{DOPACKAGES}}) {
    my $tmp = tmpdir($package);
@@@ -315,6 -315,9 +316,9 @@@
      verbose_print("Package: $package Assembly: $file");
          
      my %shlibRefs = resolveShlibRefs($package, $file);
+     if ($shlibRefs{failure} == 1) {
+         $failure = 1;
+     }
      push(@{$refs{depends}},    @{$shlibRefs{depends}});
      push(@{$refs{recommends}}, @{$shlibRefs{recommends}});
      push(@{$refs{suggests}},   @{$shlibRefs{suggests}});
@@@ -386,6 -389,10 +390,10 @@@
    addsubstvar($package, "cli:Suggests",   join(", ", @{$refs{suggests}}));
  }
  
+ if ($failure != 0) {
+   error("Error: unresolvable module references or missing shlibs entries, please check above errors!");
+ }
+ 
  sub filterDuplicates {
    my $package = shift;
    my $packages = shift;
@@@ -607,7 -614,8 +615,8 @@@ sub resolveShlibRefs 
     my $config_filename = $assembly_filename.".config";
     my %ret = ( depends => [],
                 recommends => [],
-                suggests => [] );
+                suggests => [],
+                failure => 0);
     if (-r $config_filename) {
       verbose_print("Found DLL map: $config_filename");
     } else {
@@@ -681,7 -689,8 +690,8 @@@
         verbose_print("Resolved moduleref to private library lib" . $name . ".so");
         next;
       } else {
-        error("Could not resolve moduleref: $name for: $assembly_filename!");
+        warning("Error: Could not resolve moduleref: $name for: $assembly_filename!");
+        $ret{failure} = 1;
         next;
       }
   
@@@ -697,8 -706,7 +707,8 @@@
         if(!resolvePrivateLibrary($package, $fullTarget, $package)) {
           # Private library can't be found in the current package.  Try to resolve it
           # in the other binary packages, and add a strong dependency if we find it.
 -         foreach my $binary_package (@{$dh{DOPACKAGES}}) {
 +         foreach my $binary_package (@allpackages) {
 +	   verbose_print("Checking $binary_package for $fullTarget");
             if(resolvePrivateLibrary($package, $fullTarget, $binary_package)) {
               verbose_print("Found private library in $binary_package");
               $pkgref = $binary_package . " (= \${binary:Version})";
@@@ -707,7 -715,8 +717,8 @@@
             }
           }
           if (!defined($pkgref)) {
-            error("Missing shlibs entry: $target or $name for: $assembly_filename!");
+            warning("Error: Missing shlibs entry: $target or $name for: $assembly_filename!");
+            $ret{failure} = 1;
           }
         } else {
           verbose_print("Found private library $target for $name");

-- 
cli-common



More information about the Pkg-cli-common-commits mailing list