Author: dagolden
Date: Sun Feb  8 13:54:14 2009
New Revision: 12484

Modified:
   Module-Build/trunk/   (props changed)
   Module-Build/trunk/Build.PL
   Module-Build/trunk/Changes
   Module-Build/trunk/lib/Module/Build/Base.pm
   Module-Build/trunk/t/compat.t

Log:
revert prior change to ExtUtils::Install prereq; instead, 'fakeinstall'
does nothing without EU::Install 1.32 or later


Modified: Module-Build/trunk/Build.PL
==============================================================================
--- Module-Build/trunk/Build.PL (original)
+++ Module-Build/trunk/Build.PL Sun Feb  8 13:54:14 2009
@@ -34,7 +34,7 @@
     'File::Find'            => 0,
     'File::Path'            => 0,
     'File::Spec'            => '0.82',    # rel2abs()
-    'ExtUtils::Install'     => '1.52',    # recommended by Yves
+    'ExtUtils::Install'     => 0,
     'ExtUtils::Manifest'    => 0,
     'ExtUtils::Mkbootstrap' => 0,
     'IO::File'              => 0,

Modified: Module-Build/trunk/Changes
==============================================================================
--- Module-Build/trunk/Changes  (original)
+++ Module-Build/trunk/Changes  Sun Feb  8 13:54:14 2009
@@ -7,10 +7,10 @@
    all prerequisites; can be loaded by external tools using eval()
    [David Golden]
 
- Other
- - bumped ExtUtils::Install prereq to version 1.52 per demerphq's
-   recommendation
-
+ Bug-fixes
+ - 'fakeinstall' action warns and skips without ExtUtils::Install 1.32+
+   [David Golden, reported by Zefram]
+   
 0.31_02 - Tue Jan 27 09:16:43 PST 2009
 
  Other

Modified: Module-Build/trunk/lib/Module/Build/Base.pm
==============================================================================
--- Module-Build/trunk/lib/Module/Build/Base.pm (original)
+++ Module-Build/trunk/lib/Module/Build/Base.pm Sun Feb  8 13:54:14 2009
@@ -2959,6 +2959,14 @@
 sub ACTION_fakeinstall {
   my ($self) = @_;
   require ExtUtils::Install;
+  my $eui_version = ExtUtils::Install->VERSION;
+  if ( $eui_version < 1.32 ) {
+    $self->log_warn(
+      "The 'fakeinstall' action requires Extutils::Install 1.32 or later.\n"
+      . "(You only have version $eui_version)."
+    );
+    return;
+  }
   $self->depends_on('build');
   ExtUtils::Install::install($self->install_map, !$self->quiet, 1, 
$self->{args}{uninst}||0);
 }

Modified: Module-Build/trunk/t/compat.t
==============================================================================
--- Module-Build/trunk/t/compat.t       (original)
+++ Module-Build/trunk/t/compat.t       Sun Feb  8 13:54:14 2009
@@ -215,23 +215,31 @@
        'Should be non-verbose';
 
   (my $libdir2 = $libdir) =~ s/libdir/lbiidr/;
-  my @make_args = ('INSTALLDIRS=vendor', "INSTALLVENDORLIB=$libdir2");
 
-  if ($is_vms_mms) { # VMS MMK/MMS macros use different syntax.
-    $make_args[0] = '/macro=("' . join('","',@make_args) . '")';
-    pop @make_args while scalar(@make_args) > 1;
-  }
-  ($output) = stdout_stderr_of(
-    sub {
-      $ran_ok = $mb->do_system(@make, 'fakeinstall', @make_args);
+  SKIP: {
+    require ExtUtils::Install;
+    skip "Needs ExtUtils::Install 1.32 or later", 2
+      if ExtUtils::Install->VERSION < 1.32;
+
+    my @make_args = ('INSTALLDIRS=vendor', "INSTALLVENDORLIB=$libdir2");
+
+    if ($is_vms_mms) { # VMS MMK/MMS macros use different syntax.
+      $make_args[0] = '/macro=("' . join('","',@make_args) . '")';
+      pop @make_args while scalar(@make_args) > 1;
     }
-  );
 
-  ok $ran_ok, "make fakeinstall with INSTALLDIRS=vendor ran ok";
-  $output =~ s/^/# /gm;  # Don't confuse our own test output
-  like $output,
-       qr/\Q$libdir2\E .* Simple\.pm/x,
-       'Should have installdirs=vendor';
+    ($output) = stdout_stderr_of(
+      sub {
+        $ran_ok = $mb->do_system(@make, 'fakeinstall', @make_args);
+      }
+    );
+
+    ok $ran_ok, "make fakeinstall with INSTALLDIRS=vendor ran ok";
+    $output =~ s/^/# /gm;  # Don't confuse our own test output
+    like $output,
+        qr/\Q$libdir2\E .* Simple\.pm/x,
+        'Should have installdirs=vendor';
+  }
 
   stdout_of( sub { $mb->do_system(@make, 'realclean'); } );
   ok ! -e $makefile, "$makefile shouldn't exist";

Reply via email to