Author: dagolden
Date: Sat Aug  8 21:19:09 2009
New Revision: 13186

Modified:
   Module-Build/trunk/Changes
   Module-Build/trunk/lib/Module/Build/API.pod
   Module-Build/trunk/lib/Module/Build/Base.pm
   Module-Build/trunk/t/metadata.t

Log:
truncate M::B version for configure_requires to 0.XX

Modified: Module-Build/trunk/Changes
==============================================================================
--- Module-Build/trunk/Changes  (original)
+++ Module-Build/trunk/Changes  Sat Aug  8 21:19:09 2009
@@ -2,6 +2,12 @@
 
 0.34_05 - 
 
+ Bug fixes:
+ - When auto_configure_requires is true (the default), Module::Build will 
+   only add last 'major' version of Module:Build (e.g. 0.XX) to
+   configure_requires to avoid specifying a minor development release not
+   available on CPAN [David Golden]
+
 0.34_04 - Sat Aug  8 11:02:24 EDT 2009
 
  Other:

Modified: Module-Build/trunk/lib/Module/Build/API.pod
==============================================================================
--- Module-Build/trunk/lib/Module/Build/API.pod (original)
+++ Module-Build/trunk/lib/Module/Build/API.pod Sat Aug  8 21:19:09 2009
@@ -78,7 +78,9 @@
 
 This parameter determines whether Module::Build will add itself
 automatically to configure_requires (and build_requires) if Module::Build
-is not already there.  The default value is true.
+is not already there.  The required version will be the last 'major' release,
+as defined by the decimal version truncated to two decimal places (e.g. 0.34,
+instead of 0.3402).  The default value is true.
 
 =item auto_features
 

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 Sat Aug  8 21:19:09 2009
@@ -3754,7 +3754,8 @@
     && $self->auto_configure_requires
     && ! exists $prereq_types{'configure_requires'}{'Module::Build'}
   ) {
-    $prereq_types{configure_requires}{'Module::Build'} = $VERSION;
+    (my $ver = $VERSION) =~ s/^(\d+\.\d\d).*$/$1/; # last major release only
+    $prereq_types{configure_requires}{'Module::Build'} = $ver;
   }
 
   for my $t ( keys %prereq_types ) {

Modified: Module-Build/trunk/t/metadata.t
==============================================================================
--- Module-Build/trunk/t/metadata.t     (original)
+++ Module-Build/trunk/t/metadata.t     Sat Aug  8 21:19:09 2009
@@ -65,6 +65,9 @@
 
 {
   my $mb_prereq = { 'Module::Build' => $Module::Build::VERSION };
+  my $mb_config_req = { 
+    'Module::Build' => int($Module::Build::VERSION * 100)/100 
+  };
   my $node = $mb->prepare_metadata( {} );
 
   # exists() doesn't seem to work here
@@ -73,7 +76,7 @@
   is $node->{abstract}, $metadata{dist_abstract};
   is_deeply $node->{author}, $metadata{dist_author};
   is $node->{license}, $metadata{license};
-  is_deeply $node->{configure_requires}, $mb_prereq, 'Add M::B to 
configure_requires';
+  is_deeply $node->{configure_requires}, $mb_config_req, 'Add M::B to 
configure_requires';
   like $node->{generated_by}, qr{Module::Build};
   ok defined( $node->{'meta-spec'}{version} ),
       "'meta-spec' -> 'version' field present in META.yml";

Reply via email to