r54325 - in /trunk/dh-make-perl: debian/changelog dh-make-perl lib/DhMakePerl.pm lib/DhMakePerl/Command/make.pm lib/DhMakePerl/Config.pm

dmn at users.alioth.debian.org dmn at users.alioth.debian.org
Sun Mar 14 17:30:54 UTC 2010


Author: dmn
Date: Sun Mar 14 17:30:46 2010
New Revision: 54325

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=54325
Log:
extract_depends(): use Module::Depends::Intrusive only if --intrusive is given

Modified:
    trunk/dh-make-perl/debian/changelog
    trunk/dh-make-perl/dh-make-perl
    trunk/dh-make-perl/lib/DhMakePerl.pm
    trunk/dh-make-perl/lib/DhMakePerl/Command/make.pm
    trunk/dh-make-perl/lib/DhMakePerl/Config.pm

Modified: trunk/dh-make-perl/debian/changelog
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/debian/changelog?rev=54325&op=diff
==============================================================================
--- trunk/dh-make-perl/debian/changelog (original)
+++ trunk/dh-make-perl/debian/changelog Sun Mar 14 17:30:46 2010
@@ -1,3 +1,10 @@
+dh-make-perl (0.66) UNRELEASED; urgency=low
+
+  * when detecting dependencies, use Module::Depends::Intrusive only if
+    --intrusive is given
+
+ -- Damyan Ivanov <dmn at debian.org>  Tue, 09 Mar 2010 08:46:09 +0200
+
 dh-make-perl (0.65) unstable; urgency=low
 
   * in --refresh mode, overwrite the backups of the modified files under

Modified: trunk/dh-make-perl/dh-make-perl
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/dh-make-perl?rev=54325&op=diff
==============================================================================
--- trunk/dh-make-perl/dh-make-perl (original)
+++ trunk/dh-make-perl/dh-make-perl Sun Mar 14 17:30:46 2010
@@ -272,6 +272,13 @@
 Installs the freshly built package. Specifying --install implies --build - The
 package will not be installed unless it was built (obviously ;-) )
 
+=item B<--intrusive>
+
+When determining module dependencies, if L<Module::Depends> fails, tries again
+with L<Module::Depends::Intrusive>. M:D:I loads all .pm files, intercepring
+loading of other modules, effectively running untrusted code on your behalf.
+Use with caution.
+
 =item B<--network>
 
 Enables querying of Debian WNPP lists for ITP and similar bugs. Enabled by

Modified: trunk/dh-make-perl/lib/DhMakePerl.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl.pm?rev=54325&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl.pm Sun Mar 14 17:30:46 2010
@@ -14,11 +14,11 @@
 
 =head1 VERSION
 
-Version 0.65
+Version 0.66
 
 =cut
 
-our $VERSION = '0.65';
+our $VERSION = '0.66';
 
 =head1 SYNOPSIS
 

Modified: trunk/dh-make-perl/lib/DhMakePerl/Command/make.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl/Command/make.pm?rev=54325&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl/Command/make.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl/Command/make.pm Sun Mar 14 17:30:46 2010
@@ -55,7 +55,6 @@
 use File::Copy qw( copy move );
 use File::Path ();
 use File::Spec::Functions qw( catfile );
-use Module::Depends::Intrusive ();
 use Module::Depends            ();
 use Text::Wrap qw( wrap );
 
@@ -538,33 +537,41 @@
     if ($@) {
         if ($self->cfg->verbose) {
             warn '=' x 70, "\n";
-            warn "First attempt (Module::Depends) at a dependency\n"
-                . "check failed. Missing/bad META.yml?\n"
-                . "Trying again with Module::Depends::Intrusive ... \n";
-            warn '=' x 70, "\n";
-        }
-
-        eval {
-            $dep_hash
-                = $self->run_depends( 'Module::Depends::Intrusive', $build_deps );
-        };
-        if ($@) {
-            if ($self->cfg->verbose) {
-                warn '=' x 70, "\n";
-                warn
-                    "Could not find the " . ( $build_deps ? 'build-' : '' ) 
-                    . "dependencies for the requested module.\n";
-                warn "Generated error: $@";
-
-                warn "Please bug the module author to provide a proper META.yml\n"
-                    . "file.\n"
-                    . "Automatic find of " . ( $build_deps ? 'build-' : '' )
-                    . "dependencies failed. You may want to \n"
-                    . "retry using the '" . ( $build_deps ? 'b' : '' )
-                    . "depends' option\n";
-                warn '=' x 70, "\n";
+            warn "Failed to detect dependencies using Module::Depends.\n";
+            warn "The error given was:\n";
+            warn "$@";
+        }
+
+        if ( $self->cfg->intrusive ) {
+            warn "Trying again with Module::Depends::Intrusive ... \n";
+            eval {
+                require Module::Depends::Intrusive;
+                $dep_hash
+                    = $self->run_depends( 'Module::Depends::Intrusive', $build_deps );
+            };
+            if ($@) {
+                if ($self->cfg->verbose) {
+                    warn '=' x 70, "\n";
+                    warn
+                        "Could not find the " . ( $build_deps ? 'build-' : '' ) 
+                        . "dependencies for the requested module.\n";
+                    warn "Generated error: $@";
+
+                    warn "Please bug the module author to provide a proper META.yml\n"
+                        . "file.\n"
+                        . "Automatic find of " . ( $build_deps ? 'build-' : '' )
+                        . "dependencies failed. You may want to \n"
+                        . "retry using the '" . ( $build_deps ? 'b' : '' )
+                        . "depends' option\n"
+                        . "or just fill the dependency fields in debian/rules by hand\n";
+                }
             }
         }
+        else {
+            warn "If you understand the security implications, try --intrusive.\n";
+        }
+        warn '=' x 70, "\n"
+            if $self->cfg->verbose;
     }
 
     my ( $debs, $missing )

Modified: trunk/dh-make-perl/lib/DhMakePerl/Config.pm
URL: http://svn.debian.org/wsvn/pkg-perl/trunk/dh-make-perl/lib/DhMakePerl/Config.pm?rev=54325&op=diff
==============================================================================
--- trunk/dh-make-perl/lib/DhMakePerl/Config.pm (original)
+++ trunk/dh-make-perl/lib/DhMakePerl/Config.pm Sun Mar 14 17:30:46 2010
@@ -26,6 +26,7 @@
     'dist=s',          'email|e=s',
     'exclude|i:s{,}',
     'home-dir=s',      'install!',
+    'intrusive!',
     'network!',
     'nometa',          'notest',
     'only|o=s@',




More information about the Pkg-perl-cvs-commits mailing list