[Pkg-cli-common-commits] [SCM] cli-common branch, master, updated. debian/0.7.1-12-ge9fac7a

Christopher James Halse Rogers raof at ubuntu.com
Tue Apr 5 21:08:04 UTC 2011


The following commit has been merged in the master branch:
commit 18e02b01949df06cde6effede6b20cdc5e8b089d
Author: Christopher James Halse Rogers <raof at ubuntu.com>
Date:   Tue Feb 9 15:50:31 2010 +1100

    Add -X handling to exclude directories from the assembly search

diff --git a/dh_clideps b/dh_clideps
index e4ff610..d50482b 100755
--- a/dh_clideps
+++ b/dh_clideps
@@ -65,6 +65,12 @@ paths will be made absolute for the benefit of monodis.
 Note that the directory given should be the complete or relative path to a directory that contains
 the library. See example below.
 
+=item B<-X>path B<--exclude=>path
+
+Paths to exclude from the .dll/.exe search.  Assemblies in these paths or their subdirectories
+will not be searched for dependencies, and assemblies missing references will not cause dh_clideps 
+to fail.
+
 =item B<internal-mono>                             
 
 Uses the mono runtime in . (used for bootstrapping mono packages)  
@@ -84,6 +90,10 @@ or
   (MONO_GAC_PREFIX example)
   dh_clideps -l debian/tmp/usr
 
+Suppose your source package libquux1.0-cil also ships some examples in /usr/share, and you don't
+want to pull in those dependencies.
+  dh_clideps -X/usr/share
+
 =cut
 
 # gar, debhelper 7.1 defines -d for all scripts already :(
@@ -229,6 +239,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
                recommends => [],
                suggests => [] );
   my $found_exe = 0;
+
+  use File::Spec;
+  my @exclude_dirs = ();
+  foreach(@{$dh{EXCLUDE}}) {
+      push(@exclude_dirs, File::Spec->catdir($tmp, $_));
+  }
   $needs_net_1_0 = 0;
   $needs_net_2_0 = 0;
   $needs_net_2_1 = 0;
@@ -247,6 +263,12 @@ foreach my $package (@{$dh{DOPACKAGES}}) {
       $found_exe = 1;
     }
 
+    foreach(@exclude_dirs) {
+	if($File::Find::dir =~ m/^$_/) {
+	    verbose_print("Excluding module $file from dir $File::Find::dir");
+	    return;
+	}
+    }
     verbose_print("Package: $package Assembly: $file");
         
     my %shlibRefs = resolveShlibRefs($package, $file);

-- 
cli-common



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