Hello community,

here is the log from the commit of package perl-Module-Install for 
openSUSE:Factory checked in at 2011-11-14 13:24:11
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Module-Install (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Module-Install.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Module-Install", Maintainer is ""

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Module-Install/perl-Module-Install.changes  
2011-09-23 12:38:07.000000000 +0200
+++ 
/work/SRC/openSUSE:Factory/.perl-Module-Install.new/perl-Module-Install.changes 
    2011-11-14 13:24:12.000000000 +0100
@@ -1,0 +2,22 @@
+Sat Nov 12 09:06:05 UTC 2011 - [email protected]
+
+- update to 1.04:
+     - Fixed _cmp to compare properly (MIYAGAWA)
+     - Fixed the automated MakeMaker dependency addition (MIYAGAWA)
+     - Last Perl 5.5 compatible MakeMaker was actually 6.36 (ADAMK)
+     - META.yml flag dynamic_config is now always generated (ADAMK)
+     - Added the convenience command static_config, as the default is to be
+       dynamic (ADAMK)
+     - Module::Install::DSL will automatically set static_config unless it
+       can see an 'if' or 'unless' suffix (ADAMK)
+
+-------------------------------------------------------------------
+Fri Sep 30 07:10:38 UTC 2011 - [email protected]
+
+- update to 1.02:
+  * support for installdeps_target in Module::Install::AutoInstall and
+    Module::AutoInstall
+  * support for installdeps_notest, upgradedeps and upgradedeps_notest,
+    listdeps and listalldeps targets in Module::AutoInstall
+
+-------------------------------------------------------------------

Old:
----
  Module-Install-1.01.tar.gz

New:
----
  Module-Install-1.04.tar.gz

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Module-Install.spec ++++++
--- /var/tmp/diff_new_pack.Wd57PZ/_old  2011-11-14 13:24:14.000000000 +0100
+++ /var/tmp/diff_new_pack.Wd57PZ/_new  2011-11-14 13:24:14.000000000 +0100
@@ -18,7 +18,7 @@
 
 
 Name:           perl-Module-Install
-Version:        1.01
+Version:        1.04
 Release:        1
 License:        GPL+ or Artistic
 %define cpan_name Module-Install

++++++ Module-Install-1.01.tar.gz -> Module-Install-1.04.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/Changes 
new/Module-Install-1.04/Changes
--- old/Module-Install-1.01/Changes     2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/Changes     2011-10-20 02:31:07.000000000 +0200
@@ -1,5 +1,23 @@
 Changes for Perl programming language extension Module-Install
 
+1.04 Thu 20 Oct 2011
+       - Fixed _cmp to compare properly (MIYAGAWA)
+       - Fixed the automated MakeMaker dependency addition (MIYAGAWA)
+       - Last Perl 5.5 compatible MakeMaker was actually 6.36 (ADAMK)
+
+1.03 Wed 19 Oct 2011
+       - META.yml flag dynamic_config is now always generated (ADAMK)
+       - Added the convenience command static_config, as the default is to be
+         dynamic (ADAMK)
+       - Module::Install::DSL will automatically set static_config unless it
+         can see an 'if' or 'unless' suffix (ADAMK)
+
+1.02 Thu 29 Sep 2011
+       - Support for installdeps_target in Module::Install::AutoInstall and
+         Module::AutoInstall (Caelum)
+       - Support for installdeps_notest, upgradedeps and upgradedeps_notest,
+         listdeps and listalldeps targets in Module::AutoInstall (Caelum)
+
 1.01 Wed 27 Apr 2011
        - Better error message in install_share (CHORNY)
        - Compatibility with MYMETA.yml support in EUMM (CHORNY)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/META.yml 
new/Module-Install-1.04/META.yml
--- old/Module-Install-1.01/META.yml    2011-04-27 15:14:30.000000000 +0200
+++ new/Module-Install-1.04/META.yml    2011-10-20 02:34:15.000000000 +0200
@@ -3,14 +3,15 @@
 author:
   - 'Adam Kennedy <[email protected]>'
 build_requires:
-  ExtUtils::MakeMaker: 6.42
+  ExtUtils::MakeMaker: 6.36
   Test::Harness: 3.13
   Test::More: 0.86
 configure_requires:
-  ExtUtils::MakeMaker: 6.42
+  ExtUtils::MakeMaker: 6.36
   YAML::Tiny: 1.33
 distribution_type: module
-generated_by: 'Module::Install version 1.01'
+dynamic_config: 0
+generated_by: 'Module::Install version 1.04'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -41,4 +42,4 @@
   ChangeLog: http://fisheye2.atlassian.com/changelog/cpan/trunk/Module-Install
   license: http://dev.perl.org/licenses/
   repository: http://svn.ali.as/cpan/trunk/Module-Install
-version: 1.01
+version: 1.04
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/Makefile.PL 
new/Module-Install-1.04/Makefile.PL
--- old/Module-Install-1.01/Makefile.PL 2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/Makefile.PL 2011-10-20 02:31:07.000000000 +0200
@@ -54,4 +54,7 @@
 # by release automation. This is mostly for testing reasons.
 repository 'http://svn.ali.as/cpan/trunk/Module-Install';
 
+# All of our dependencies are the same on all platforms
+dynamic_config 0;
+
 WriteAll;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/README 
new/Module-Install-1.04/README
--- old/Module-Install-1.01/README      2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/README      2011-10-20 02:31:07.000000000 +0200
@@ -5,19 +5,19 @@
     In your Makefile.PL: (Recommended Usage)
 
       use inc::Module::Install;
-      
-  # Define metadata
+  
+      # Define metadata
       name           'Your-Module';
       all_from       'lib/Your/Module.pm';
-      
-  # Specific dependencies
+  
+      # Specific dependencies
       requires       'File::Spec'  => '0.80';
       test_requires  'Test::More'  => '0.42';
       recommends     'Text::CSV_XS'=> '0.50';
       no_index       'directory'   => 'demos';
       install_script 'myscript';
-      
-  WriteAll;
+  
+      WriteAll;
 
     Quickly upgrade a legacy ExtUtil::MakeMaker installer:
 
@@ -348,8 +348,8 @@
 
       > scriptname
       Running scriptname 0.01...
-      
-  >
+  
+      >
 
     By convention, scripts should be placed in a /script directory within
     your distribution. To support less typing, if a script is located in the
@@ -614,8 +614,8 @@
     smallest possible Makefile.PL.
 
       use inc::Module::Install;
-      
-  name          'Method-Alias';
+  
+      name          'Method-Alias';
       all_from      'lib/Method/Alias.pm';
       test_requires 'Test::More' => '0.42';
 
@@ -624,23 +624,23 @@
     installer that can handle different dependencies on different platforms.
 
       use inc::Module::Install;
-      
-  name          'File-HomeDir';
+  
+      name          'File-HomeDir';
       all_from      'lib/File/HomeDir.pm';
       requires      'File::Spec' => '0.80';
       test_requires 'Test::More' => '0.47';
-      
-  if ( $MacPerl::Version ) {
+  
+      if ( $MacPerl::Version ) {
           # Needed on legacy Mac OS 9
           requires 'Mac::Files' => 0;
       }
-      
-  if ( $^O eq 'MXWin32' ) {
+  
+      if ( $^O eq 'MXWin32' ) {
           # Needed on Windows platforms
           requires 'Win32::TieRegistry' => 0;
       }
-      
-  WriteAll;
+  
+      WriteAll;
 
 TO DO
     Implement Module::Install::Compiled and Module::Install::Admin::Compiled
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Base.pm 
new/Module-Install-1.04/inc/Module/Install/Base.pm
--- old/Module-Install-1.01/inc/Module/Install/Base.pm  2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Base.pm  2011-10-20 
02:34:15.000000000 +0200
@@ -4,7 +4,7 @@
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
 }
 
 # Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Can.pm 
new/Module-Install-1.04/inc/Module/Install/Can.pm
--- old/Module-Install-1.01/inc/Module/Install/Can.pm   2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Can.pm   2011-10-20 
02:34:15.000000000 +0200
@@ -9,7 +9,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Fetch.pm 
new/Module-Install-1.04/inc/Module/Install/Fetch.pm
--- old/Module-Install-1.01/inc/Module/Install/Fetch.pm 2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Fetch.pm 2011-10-20 
02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Makefile.pm 
new/Module-Install-1.04/inc/Module/Install/Makefile.pm
--- old/Module-Install-1.01/inc/Module/Install/Makefile.pm      2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Makefile.pm      2011-10-20 
02:34:15.000000000 +0200
@@ -8,7 +8,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -219,14 +219,14 @@
                # an underscore, even though its own version may contain one!
                # Hence the funny regexp to get rid of it.  See RT #35800
                # for details.
-               my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
+               my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
                $self->build_requires(     'ExtUtils::MakeMaker' => $v );
                $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
        } else {
                # Allow legacy-compatibility with 5.005 by depending on the
                # most recent EU:MM that supported 5.005.
-               $self->build_requires(     'ExtUtils::MakeMaker' => 6.42 );
-               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+               $self->build_requires(     'ExtUtils::MakeMaker' => 6.36 );
+               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
        }
 
        # Generate the MakeMaker params
@@ -241,7 +241,6 @@
 'all_from' if you prefer) in Makefile.PL.
 EOT
 
-       $DB::single = 1;
        if ( $self->tests ) {
                my @tests = split ' ', $self->tests;
                my %seen;
@@ -412,4 +411,4 @@
 
 __END__
 
-#line 541
+#line 540
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Metadata.pm 
new/Module-Install-1.04/inc/Module/Install/Metadata.pm
--- old/Module-Install-1.01/inc/Module/Install/Metadata.pm      2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Metadata.pm      2011-10-20 
02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -151,15 +151,21 @@
 sub install_as_vendor { $_[0]->installdirs('vendor') }
 
 sub dynamic_config {
-       my $self = shift;
-       unless ( @_ ) {
-               warn "You MUST provide an explicit true/false value to 
dynamic_config\n";
-               return $self;
+       my $self  = shift;
+       my $value = @_ ? shift : 1;
+       if ( $self->{values}->{dynamic_config} ) {
+               # Once dynamic we never change to static, for safety
+               return 0;
        }
-       $self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
+       $self->{values}->{dynamic_config} = $value ? 1 : 0;
        return 1;
 }
 
+# Convenience command
+sub static_config {
+       shift->dynamic_config(0);
+}
+
 sub perl_version {
        my $self = shift;
        return $self->{values}->{perl_version} unless @_;
@@ -170,7 +176,7 @@
        # Normalize the version
        $version = $self->_perl_version($version);
 
-       # We don't support the reall old versions
+       # We don't support the really old versions
        unless ( $version >= 5.005 ) {
                die "Module::Install only supports 5.005 or newer (use 
ExtUtils::MakeMaker)\n";
        }
@@ -582,7 +588,7 @@
 sub requires_from {
        my $self     = shift;
        my $content  = Module::Install::_readperl($_[0]);
-       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
        while ( @requires ) {
                my $module  = shift @requires;
                my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/Win32.pm 
new/Module-Install-1.04/inc/Module/Install/Win32.pm
--- old/Module-Install-1.01/inc/Module/Install/Win32.pm 2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/Win32.pm 2011-10-20 
02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install/WriteAll.pm 
new/Module-Install-1.04/inc/Module/Install/WriteAll.pm
--- old/Module-Install-1.01/inc/Module/Install/WriteAll.pm      2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install/WriteAll.pm      2011-10-20 
02:34:15.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/inc/Module/Install.pm 
new/Module-Install-1.04/inc/Module/Install.pm
--- old/Module-Install-1.01/inc/Module/Install.pm       2011-04-27 
15:14:30.000000000 +0200
+++ new/Module-Install-1.04/inc/Module/Install.pm       2011-10-20 
02:34:15.000000000 +0200
@@ -31,7 +31,7 @@
        # This is not enforced yet, but will be some time in the next few
        # releases once we can make sure it won't clash with custom
        # Module::Install extensions.
-       $VERSION = '1.01';
+       $VERSION = '1.04';
 
        # Storage for the pseudo-singleton
        $MAIN    = undef;
@@ -451,7 +451,7 @@
 }
 
 sub _cmp ($$) {
-       _version($_[0]) <=> _version($_[1]);
+       _version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/AutoInstall.pm 
new/Module-Install-1.04/lib/Module/AutoInstall.pm
--- old/Module-Install-1.01/lib/Module/AutoInstall.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/AutoInstall.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION};
 BEGIN {
-       $VERSION = '1.03';
+       $VERSION = '1.04';
 }
 
 # special map on pre-defined feature sets
@@ -16,11 +16,14 @@
 );
 
 # various lexical flags
-my ( @Missing, @Existing,  %DisabledTests, $UnderCPAN,     $HasCPANPLUS );
+my ( @Missing, @Existing,  %DisabledTests, $UnderCPAN, $InstallDepsTarget, 
$HasCPANPLUS );
 my (
-    $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps
+    $Config, $CheckOnly, $SkipInstall, $AcceptDefault, $TestOnly, $AllDeps,
+    $UpgradeDeps
 );
-my ( $PostambleActions, $PostambleUsed );
+my ( $PostambleActions, $PostambleActionsNoTest, $PostambleActionsUpgradeDeps,
+    $PostambleActionsUpgradeDepsNoTest, $PostambleActionsListDeps,
+    $PostambleActionsListAllDeps, $PostambleUsed, $NoTest);
 
 # See if it's a testing or non-interactive session
 _accept_default( $ENV{AUTOMATED_TESTING} or ! -t STDIN ); 
@@ -30,6 +33,10 @@
     $AcceptDefault = shift;
 }
 
+sub _installdeps_target {
+    $InstallDepsTarget = shift;
+}
+
 sub missing_modules {
     return @Missing;
 }
@@ -62,6 +69,11 @@
             __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) );
             exit 0;
         }
+       elsif ( $arg =~ /^--upgradedeps=(.*)$/ ) {
+           $UpgradeDeps = 1;
+           __PACKAGE__->install( $Config, @Missing = split( /,/, $1 ) );
+           exit 0;
+       }
         elsif ( $arg =~ /^--default(?:deps)?$/ ) {
             $AcceptDefault = 1;
         }
@@ -124,7 +136,7 @@
     # check entirely since we don't want to have to load (and configure)
     # an old CPAN just for a cosmetic message
 
-    $UnderCPAN = _check_lock(1) unless $SkipInstall;
+    $UnderCPAN = _check_lock(1) unless $SkipInstall || $InstallDepsTarget;
 
     while ( my ( $feature, $modules ) = splice( @args, 0, 2 ) ) {
         my ( @required, @tests, @skiptests );
@@ -206,6 +218,7 @@
                 $CheckOnly
                 or ($mandatory and $UnderCPAN)
                 or $AllDeps
+                or $InstallDepsTarget
                 or _prompt(
                     qq{==> Auto-install the }
                       . ( @required / 2 )
@@ -236,10 +249,17 @@
         }
     }
 
-    if ( @Missing and not( $CheckOnly or $UnderCPAN ) ) {
+    if ( @Missing and not( $CheckOnly or $UnderCPAN) ) {
         require Config;
-        print
-"*** Dependencies will be installed the next time you type 
'$Config::Config{make}'.\n";
+        my $make = $Config::Config{make};
+        if ($InstallDepsTarget) {
+            print
+"*** To install dependencies type '$make installdeps' or '$make 
installdeps_notest'.\n";
+        }
+        else {
+            print
+"*** Dependencies will be installed the next time you type '$make'.\n";
+        }
 
         # make an educated guess of whether we'll need root permission.
         print "    (You may need to do that as the 'root' user.)\n"
@@ -270,6 +290,10 @@
 sub _check_lock {
     return unless @Missing or @_;
 
+    if ($ENV{PERL5_CPANM_IS_RUNNING}) {
+        return _running_under('cpanminus');
+    }
+
     my $cpan_env = $ENV{PERL5_CPAN_IS_RUNNING};
 
     if ($ENV{PERL5_CPANPLUS_IS_RUNNING}) {
@@ -331,6 +355,11 @@
         }
     }
 
+    if ($UpgradeDeps) {
+       push @modules, @installed;
+       @installed = ();
+    }
+
     return @installed unless @modules;  # nothing to do
     return @installed if _check_lock(); # defer to the CPAN shell
 
@@ -462,6 +491,11 @@
                        } else {
                                die "*** Cannot convert option $key = '$value' 
to CPANPLUS version.\n";
                        }
+                       push @config, 'prereqs', $value;
+               } elsif ( $key eq 'force' ) {
+                   push @config, $key, $value;
+               } elsif ( $key eq 'notest' ) {
+                   push @config, 'skiptest', $value;
                } else {
                        die "*** Cannot convert option $key to CPANPLUS 
version.\n";
                }
@@ -496,10 +530,14 @@
     # set additional options
     while ( my ( $opt, $arg ) = splice( @config, 0, 2 ) ) {
         ( $args{$opt} = $arg, next )
-          if $opt =~ /^force$/;    # pseudo-option
+          if $opt =~ /^(?:force|notest)$/;    # pseudo-option
         $CPAN::Config->{$opt} = $arg;
     }
 
+    if ($args{notest} && (not CPAN::Shell->can('notest'))) {
+       die "Your version of CPAN is too old to support the 'notest' pragma";
+    }
+
     local $CPAN::Config->{prerequisites_policy} = 'follow';
 
     while ( my ( $pkg, $ver ) = splice( @modules, 0, 2 ) ) {
@@ -518,8 +556,16 @@
                 delete $INC{$inc};
             }
 
-            my $rv = $args{force} ? CPAN::Shell->force( install => $pkg )
-                                  : CPAN::Shell->install($pkg);
+            my $rv = do {
+               if ($args{force}) {
+                   CPAN::Shell->force( install => $pkg )
+               } elsif ($args{notest}) {
+                   CPAN::Shell->notest( install => $pkg )
+               } else {
+                   CPAN::Shell->install($pkg)
+               }
+           };
+
             $rv ||= eval {
                 $CPAN::META->instance( 'CPAN::Distribution', $obj->cpan_file, )
                   ->{install}
@@ -762,6 +808,35 @@
         : "\$(NOECHO) \$(NOOP)"
     );
 
+    my $deps_list = join( ',', @Missing, @Existing );
+
+    $PostambleActionsUpgradeDeps =
+        "\$(PERL) $0 --config=$config --upgradedeps=$deps_list";
+
+    my $config_notest =
+      join( ',', (UNIVERSAL::isa( $Config, 'HASH' ) ? %{$Config} : @{$Config}),
+         'notest', 1 )
+      if $Config;
+
+    $PostambleActionsNoTest = (
+        ($missing and not $UnderCPAN)
+        ? "\$(PERL) $0 --config=$config_notest --installdeps=$missing"
+        : "\$(NOECHO) \$(NOOP)"
+    );
+
+    $PostambleActionsUpgradeDepsNoTest =
+        "\$(PERL) $0 --config=$config_notest --upgradedeps=$deps_list";
+
+    $PostambleActionsListDeps =
+        '@$(PERL) -le "print for @ARGV" '
+            . join(' ', map $Missing[$_], grep $_ % 2 == 0, 0..$#Missing);
+
+    my @all = (@Missing, @Existing);
+
+    $PostambleActionsListAllDeps =
+        '@$(PERL) -le "print for @ARGV" '
+            . join(' ', map $all[$_], grep $_ % 2 == 0, 0..$#all);
+
     return %args;
 }
 
@@ -796,11 +871,15 @@
 
 sub postamble {
     $PostambleUsed = 1;
+    my $fragment;
 
-    return <<"END_MAKE";
+    $fragment .= <<"AUTO_INSTALL" if !$InstallDepsTarget;
 
 config :: installdeps
 \t\$(NOECHO) \$(NOOP)
+AUTO_INSTALL
+
+    $fragment .= <<"END_MAKE";
 
 checkdeps ::
 \t\$(PERL) $0 --checkdeps
@@ -808,8 +887,24 @@
 installdeps ::
 \t$PostambleActions
 
+installdeps_notest ::
+\t$PostambleActionsNoTest
+
+upgradedeps ::
+\t$PostambleActionsUpgradeDeps
+
+upgradedeps_notest ::
+\t$PostambleActionsUpgradeDepsNoTest
+
+listdeps ::
+\t$PostambleActionsListDeps
+
+listalldeps ::
+\t$PostambleActionsListAllDeps
+
 END_MAKE
 
+    return $fragment;
 }
 
 1;
@@ -873,6 +968,11 @@
     % make [all|test|install]           # install dependencies first
     % make checkdeps                    # same as the --checkdeps above
     % make installdeps                  # install dependencies only
+    % make installdeps_notest           # same without running tests
+    % make upgradedeps                  # upgrade all deps, even if installed
+    % make upgradedeps_notest           # same without running tests
+    % make listdeps                     # print unsatisifed deps, one per line
+    % make listalldeps                  # print all deps, one per line
 
 =head1 DESCRIPTION
 
@@ -885,6 +985,10 @@
 supports F<Makefile.PL> files based on MakeMaker; see L</EXAMPLES>
 for instructions.
 
+Specifying C<installdeps_target;> instead of C<auto_install;> will not try to
+install dependencies when running C<make>, but only when running C<make
+installdeps>.
+
 =head2 Prerequisites and Features
 
 Prerequisites are grouped into B<features>, and the user could choose
@@ -1033,9 +1137,12 @@
 you're running under L<CPAN> or L<CPANPLUS>, in which case required 
dependencies
 will be installed.
 
-It also read from the C<PERL_EXTUTILS_AUTOINSTALL> environment variable if
+It is also read from the C<PERL_EXTUTILS_AUTOINSTALL> environment variable if
 C<PERL_AUTOINSTALL> is not defined.
 
+You can also set C<PERL_AUTOINSTALL_PREFER_CPAN> to use CPAN to install
+dependencies. By default CPANPLUS is used.
+
 =head1 SEE ALSO
 
 L<Module::Install>
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Bundle.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Bundle.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Bundle.pm  2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Bundle.pm  2011-10-20 
02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Compiler.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Compiler.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Compiler.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Compiler.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin/Find.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Find.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Find.pm    2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Find.pm    2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 use Module::Install::Base ();
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA = qw(Module::Install::Base);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Include.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Include.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Include.pm 2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Include.pm 2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Makefile.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Makefile.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Makefile.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Makefile.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Manifest.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Manifest.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Manifest.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Manifest.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/Metadata.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/Metadata.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/Metadata.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/Metadata.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
 }
 
@@ -59,6 +59,13 @@
 
        delete $val->{sign};
 
+       # Dependencies MUST be assumed to be dynamic unless indicated
+       # otherwise, otherwise a negligant author who accidentally forgets
+       # to say which will release modules that break on some platforms.
+       unless ( defined $val->{dynamic_config} ) {
+               $val->{dynamic_config} = 1;
+       }
+
        my $perl_version = delete $val->{perl_version};
        if ( $perl_version ) {
                $val->{requires} ||= [];
@@ -125,8 +132,9 @@
 
        # Generate the structure we'll be dumping
        my $meta = {
-               resources => {},
-               license   => $val->{license},
+               resources      => {},
+               license        => $val->{license},
+               dynamic_config => $val->{dynamic_config},
        };
        foreach my $key ( $self->Meta_ScalarKeys ) {
                next if $key eq 'installdirs';
@@ -141,8 +149,8 @@
                $meta->{$key} = { map { @$_ } @{ $val->{$key} } };
        }
 
-       if ( $self->_cmp( $meta->{configure_requires}->{'ExtUtils::MakeMaker'}, 
'6.36' ) >= 0 ) {
-               # Starting from this version ExtUtils::MakeMaker requires perl 
5.6
+       if ( $self->_cmp( $meta->{configure_requires}->{'ExtUtils::MakeMaker'}, 
'6.36' ) > 0 ) {
+               # After this version ExtUtils::MakeMaker requires perl 5.6
                unless ( $perl_version && $self->perl_version($perl_version) >= 
5.006 ) {
                        $meta->{requires}->{perl} = '5.006';
                }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/ScanDeps.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/ScanDeps.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/ScanDeps.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/ScanDeps.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -4,7 +4,7 @@
 use Module::Install::Base ();
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA = qw(Module::Install::Base);
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/Admin/WriteAll.pm 
new/Module-Install-1.04/lib/Module/Install/Admin/WriteAll.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin/WriteAll.pm        
2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin/WriteAll.pm        
2011-10-20 02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Admin.pm 
new/Module-Install-1.04/lib/Module/Install/Admin.pm
--- old/Module-Install-1.01/lib/Module/Install/Admin.pm 2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Admin.pm 2011-10-20 
02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install';
 }
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' 
old/Module-Install-1.01/lib/Module/Install/AutoInstall.pm 
new/Module-Install-1.04/lib/Module/Install/AutoInstall.pm
--- old/Module-Install-1.01/lib/Module/Install/AutoInstall.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/AutoInstall.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -72,6 +72,17 @@
     );
 }
 
+sub installdeps_target {
+    my ($self, @args) = @_;
+
+    $self->include('Module::AutoInstall');
+    require Module::AutoInstall;
+
+    Module::AutoInstall::_installdeps_target(1);
+
+    $self->auto_install(@args);
+}
+
 sub auto_install_now {
     my $self = shift;
     $self->auto_install(@_);
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Base.pm 
new/Module-Install-1.04/lib/Module/Install/Base.pm
--- old/Module-Install-1.01/lib/Module/Install/Base.pm  2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Base.pm  2011-10-20 
02:31:07.000000000 +0200
@@ -3,7 +3,7 @@
 use strict 'vars';
 use vars qw{$VERSION};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
 }
 
 # Suspend handler for "redefined" warnings
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Bundle.pm 
new/Module-Install-1.04/lib/Module/Install/Bundle.pm
--- old/Module-Install-1.01/lib/Module/Install/Bundle.pm        2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Bundle.pm        2011-10-20 
02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Can.pm 
new/Module-Install-1.04/lib/Module/Install/Can.pm
--- old/Module-Install-1.01/lib/Module/Install/Can.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Can.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -8,7 +8,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Compiler.pm 
new/Module-Install-1.04/lib/Module/Install/Compiler.pm
--- old/Module-Install-1.01/lib/Module/Install/Compiler.pm      2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Compiler.pm      2011-10-20 
02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/DSL.pm 
new/Module-Install-1.04/lib/Module/Install/DSL.pm
--- old/Module-Install-1.01/lib/Module/Install/DSL.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/DSL.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -3,7 +3,7 @@
 use strict;
 use vars qw{$VERSION $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        $ISCORE  = 1;
        *inc::Module::Install::DSL::VERSION = *VERSION;
        @inc::Module::Install::DSL::ISA     = __PACKAGE__;
@@ -58,7 +58,8 @@
        my @lines = grep { /\S/ } split /[\012\015]+/, $dsl;
 
        # Each line represents one command
-       my @code = ();
+       my @code   = ();
+       my $static = 1;
        foreach my $line ( @lines ) {
                # Split the lines into tokens
                my @tokens = split /\s+/, $line;
@@ -73,6 +74,10 @@
                                # This is the beginning of a suffix
                                push @suffix, $token;
                                push @suffix, @tokens;
+
+                               # The conditional means this distribution
+                               # can no longer be considered fully static.
+                               $static = 0;
                                last;
                        } else {
                                # Convert to a string
@@ -86,6 +91,9 @@
                push @code, join( ' ', @tokens ) . ";\n";
        }
 
+       # Is our configuration static?
+       push @code, "static_config;\n" if $static;
+
        # Join into the complete code block
        return join( '', @code );
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Deprecated.pm 
new/Module-Install-1.04/lib/Module/Install/Deprecated.pm
--- old/Module-Install-1.01/lib/Module/Install/Deprecated.pm    2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Deprecated.pm    2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/External.pm 
new/Module-Install-1.04/lib/Module/Install/External.pm
--- old/Module-Install-1.01/lib/Module/Install/External.pm      2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/External.pm      2011-10-20 
02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION $ISCORE @ISA};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        $ISCORE  = 1;
        @ISA     = qw{Module::Install::Base};
 }
@@ -40,7 +40,7 @@
        $self->load('can_run');
 
        # Locate the bin
-       print "Locating required external dependency bin:$bin...";
+       print "Locating bin:$bin...";
        my $found_bin = $self->can_run( $bin );
        if ( $found_bin ) {
                print " found at $found_bin.\n";
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Fetch.pm 
new/Module-Install-1.04/lib/Module/Install/Fetch.pm
--- old/Module-Install-1.01/lib/Module/Install/Fetch.pm 2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Fetch.pm 2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Include.pm 
new/Module-Install-1.04/lib/Module/Install/Include.pm
--- old/Module-Install-1.01/lib/Module/Install/Include.pm       2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Include.pm       2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Inline.pm 
new/Module-Install-1.04/lib/Module/Install/Inline.pm
--- old/Module-Install-1.01/lib/Module/Install/Inline.pm        2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Inline.pm        2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/MakeMaker.pm 
new/Module-Install-1.04/lib/Module/Install/MakeMaker.pm
--- old/Module-Install-1.01/lib/Module/Install/MakeMaker.pm     2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/MakeMaker.pm     2011-10-20 
02:31:07.000000000 +0200
@@ -6,7 +6,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Makefile.pm 
new/Module-Install-1.04/lib/Module/Install/Makefile.pm
--- old/Module-Install-1.01/lib/Module/Install/Makefile.pm      2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Makefile.pm      2011-10-20 
02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -218,14 +218,14 @@
                # an underscore, even though its own version may contain one!
                # Hence the funny regexp to get rid of it.  See RT #35800
                # for details.
-               my $v = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
+               my ($v) = $ExtUtils::MakeMaker::VERSION =~ /^(\d+\.\d+)/;
                $self->build_requires(     'ExtUtils::MakeMaker' => $v );
                $self->configure_requires( 'ExtUtils::MakeMaker' => $v );
        } else {
                # Allow legacy-compatibility with 5.005 by depending on the
                # most recent EU:MM that supported 5.005.
-               $self->build_requires(     'ExtUtils::MakeMaker' => 6.42 );
-               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.42 );
+               $self->build_requires(     'ExtUtils::MakeMaker' => 6.36 );
+               $self->configure_requires( 'ExtUtils::MakeMaker' => 6.36 );
        }
 
        # Generate the MakeMaker params
@@ -240,7 +240,6 @@
 'all_from' if you prefer) in Makefile.PL.
 EOT
 
-       $DB::single = 1;
        if ( $self->tests ) {
                my @tests = split ' ', $self->tests;
                my %seen;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Metadata.pm 
new/Module-Install-1.04/lib/Module/Install/Metadata.pm
--- old/Module-Install-1.01/lib/Module/Install/Metadata.pm      2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Metadata.pm      2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
@@ -150,15 +150,21 @@
 sub install_as_vendor { $_[0]->installdirs('vendor') }
 
 sub dynamic_config {
-       my $self = shift;
-       unless ( @_ ) {
-               warn "You MUST provide an explicit true/false value to 
dynamic_config\n";
-               return $self;
+       my $self  = shift;
+       my $value = @_ ? shift : 1;
+       if ( $self->{values}->{dynamic_config} ) {
+               # Once dynamic we never change to static, for safety
+               return 0;
        }
-       $self->{values}->{dynamic_config} = $_[0] ? 1 : 0;
+       $self->{values}->{dynamic_config} = $value ? 1 : 0;
        return 1;
 }
 
+# Convenience command
+sub static_config {
+       shift->dynamic_config(0);
+}
+
 sub perl_version {
        my $self = shift;
        return $self->{values}->{perl_version} unless @_;
@@ -169,7 +175,7 @@
        # Normalize the version
        $version = $self->_perl_version($version);
 
-       # We don't support the reall old versions
+       # We don't support the really old versions
        unless ( $version >= 5.005 ) {
                die "Module::Install only supports 5.005 or newer (use 
ExtUtils::MakeMaker)\n";
        }
@@ -581,7 +587,7 @@
 sub requires_from {
        my $self     = shift;
        my $content  = Module::Install::_readperl($_[0]);
-       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+([\d\.]+)/mg;
+       my @requires = $content =~ 
m/^use\s+([^\W\d]\w*(?:::\w+)*)\s+(v?[\d\.]+)/mg;
        while ( @requires ) {
                my $module  = shift @requires;
                my $version = shift @requires;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/PAR.pm 
new/Module-Install-1.04/lib/Module/Install/PAR.pm
--- old/Module-Install-1.01/lib/Module/Install/PAR.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/PAR.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Run.pm 
new/Module-Install-1.04/lib/Module/Install/Run.pm
--- old/Module-Install-1.01/lib/Module/Install/Run.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Run.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Scripts.pm 
new/Module-Install-1.04/lib/Module/Install/Scripts.pm
--- old/Module-Install-1.01/lib/Module/Install/Scripts.pm       2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Scripts.pm       2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Share.pm 
new/Module-Install-1.04/lib/Module/Install/Share.pm
--- old/Module-Install-1.01/lib/Module/Install/Share.pm 2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Share.pm 2011-10-20 
02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/Win32.pm 
new/Module-Install-1.04/lib/Module/Install/Win32.pm
--- old/Module-Install-1.01/lib/Module/Install/Win32.pm 2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/Win32.pm 2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/With.pm 
new/Module-Install-1.04/lib/Module/Install/With.pm
--- old/Module-Install-1.01/lib/Module/Install/With.pm  2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/With.pm  2011-10-20 
02:31:07.000000000 +0200
@@ -7,7 +7,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Module::Install::Base';
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install/WriteAll.pm 
new/Module-Install-1.04/lib/Module/Install/WriteAll.pm
--- old/Module-Install-1.01/lib/Module/Install/WriteAll.pm      2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install/WriteAll.pm      2011-10-20 
02:31:07.000000000 +0200
@@ -5,7 +5,7 @@
 
 use vars qw{$VERSION @ISA $ISCORE};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = qw{Module::Install::Base};
        $ISCORE  = 1;
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/Module/Install.pm 
new/Module-Install-1.04/lib/Module/Install.pm
--- old/Module-Install-1.01/lib/Module/Install.pm       2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/Module/Install.pm       2011-10-20 
02:31:07.000000000 +0200
@@ -30,7 +30,7 @@
        # This is not enforced yet, but will be some time in the next few
        # releases once we can make sure it won't clash with custom
        # Module::Install extensions.
-       $VERSION = '1.01';
+       $VERSION = '1.04';
 
        # Storage for the pseudo-singleton
        $MAIN    = undef;
@@ -450,7 +450,7 @@
 }
 
 sub _cmp ($$) {
-       _version($_[0]) <=> _version($_[1]);
+       _version($_[1]) <=> _version($_[2]);
 }
 
 # Cloned from Params::Util::_CLASS
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/inc/Module/Install/DSL.pm 
new/Module-Install-1.04/lib/inc/Module/Install/DSL.pm
--- old/Module-Install-1.01/lib/inc/Module/Install/DSL.pm       2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/inc/Module/Install/DSL.pm       2011-10-20 
02:31:07.000000000 +0200
@@ -18,7 +18,7 @@
        # version an author currently has installed.
        # This allows it to implement any back-compatibility features
        # it may want or need to.
-       $VERSION = '1.01';      
+       $VERSION = '1.04';      
 }
 
 if ( -d './inc' ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/lib/inc/Module/Install.pm 
new/Module-Install-1.04/lib/inc/Module/Install.pm
--- old/Module-Install-1.01/lib/inc/Module/Install.pm   2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/lib/inc/Module/Install.pm   2011-10-20 
02:31:07.000000000 +0200
@@ -18,7 +18,7 @@
        # version an author currently has installed.
        # This allows it to implement any back-compatibility features
        # it may want or need to.
-       $VERSION = '1.01';
+       $VERSION = '1.04';
 }
 
 if ( -d './inc' ) {
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/t/04_version.t 
new/Module-Install-1.04/t/04_version.t
--- old/Module-Install-1.01/t/04_version.t      2011-04-27 15:11:09.000000000 
+0200
+++ new/Module-Install-1.04/t/04_version.t      2011-10-20 02:31:07.000000000 
+0200
@@ -6,10 +6,10 @@
        $^W = 1;
 }
 
-use Test::More tests => 21;
+use Test::More tests => 24;
 require_ok( 'inc::Module::Install' );
 
-my @data = qw{
+my @version = qw{
        0       0
        1       1
        1.1     1.1
@@ -22,11 +22,25 @@
        5.10.0  5.01
 };
 
-while ( @data ) {
-       my $in  = shift @data;
-       my $out = shift @data;
+while ( @version ) {
+       my $in  = shift @version;
+       my $out = shift @version;
        my $ver = Module::Install::_version($in);
        my $two = Module::Install::_version($ver);
        is( $ver, $out, "$in => $out pass 1 ok" );
        is( $two, $out, "$in => $out pass 2 ok" );
 }
+
+my @cmp = qw{
+       0    1.2.3    1.002003
+       -1   1.2.3    1.002004
+       1    1.2.3    1.002002
+};
+
+while ( @cmp ) {
+       my $want  = shift @cmp;
+       my $left  = shift @cmp;
+       my $right  = shift @cmp;
+       my $have = Module::Install::_cmp(undef, $left, $right);
+       is( $have, $want, "_cmp($left, $right) ok" );
+}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/t/08_dsl.t 
new/Module-Install-1.04/t/08_dsl.t
--- old/Module-Install-1.01/t/08_dsl.t  2011-04-27 15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/08_dsl.t  2011-10-20 02:31:07.000000000 +0200
@@ -8,7 +8,7 @@
        $^W = 1;
 }
 
-use Test::More tests => 7;
+use Test::More tests => 8;
 use t::lib::Test;
 
 # Load the DSL module
@@ -34,6 +34,33 @@
 END_PERL
 
 
+
+
+
+######################################################################
+# Automatic dynamic vs static detection
+
+# Automatically set static_config if there are no conditionals
+my $static = Module::Install::DSL::dsl2code(<<'END_DSL');
+all_from lib/My/Module.pm
+requires perl 5.008
+requires Carp 0
+requires Win32
+test_requires Test::More
+install_share
+END_DSL
+
+is( $static, <<'END_PERL', 'dsl2code generates the expected code' );
+all_from 'lib/My/Module.pm';
+requires 'perl', '5.008';
+requires 'Carp', '0';
+requires 'Win32';
+test_requires 'Test::More';
+install_share;
+static_config;
+END_PERL
+
+
 
 
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/t/25_perl_version_from.t 
new/Module-Install-1.04/t/25_perl_version_from.t
--- old/Module-Install-1.01/t/25_perl_version_from.t    2011-04-27 
15:11:09.000000000 +0200
+++ new/Module-Install-1.04/t/25_perl_version_from.t    2011-10-20 
02:31:07.000000000 +0200
@@ -49,6 +49,6 @@
        my $meta = file('META.yml');
        ok( -f $meta, 'META.yml exists' );
        my $yaml = Parse::CPAN::Meta::LoadFile($meta);
-       ok( $yaml->{requires}{perl} eq '5.005', 'META has perl version 
requirement' );
+       is( $yaml->{requires}->{perl}, '5.005', 'META has correct perl version 
requirement' );
        ok( kill_dist(), 'kill_dist' );
 }}
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Module-Install-1.01/t/lib/Test.pm 
new/Module-Install-1.04/t/lib/Test.pm
--- old/Module-Install-1.01/t/lib/Test.pm       2011-04-27 15:11:09.000000000 
+0200
+++ new/Module-Install-1.04/t/lib/Test.pm       2011-10-20 02:31:07.000000000 
+0200
@@ -9,7 +9,7 @@
 
 use vars qw{$VERSION @ISA @EXPORT $DIST};
 BEGIN {
-       $VERSION = '1.01';
+       $VERSION = '1.04';
        @ISA     = 'Exporter';
        @EXPORT  = qw{
                create_dist

-- 
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to