diff options
32 files changed, 139 insertions, 60 deletions
@@ -1638,6 +1638,7 @@ cpan/Module-Build/t/properties/license.t cpan/Module-Build/t/properties/module_name.t cpan/Module-Build/t/properties/needs_compiler.t cpan/Module-Build/t/properties/release_status.t +cpan/Module-Build/t/properties/requires.t cpan/Module-Build/t/properties/share_dir.t cpan/Module-Build/t/README.pod cpan/Module-Build/t/resume.t diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index 670849c127..84a479c17f 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -1037,7 +1037,7 @@ use File::Glob qw(:case); 'Module::Build' => { 'MAINTAINER' => 'kwilliams', - 'DISTRIBUTION' => 'DAGOLDEN/Module-Build-0.37_05.tar.gz', + 'DISTRIBUTION' => 'DAGOLDEN/Module-Build-0.3800.tar.gz', 'FILES' => q[cpan/Module-Build], 'EXCLUDED' => [ qw{ t/par.t t/signature.t }, diff --git a/cpan/Module-Build/Changes b/cpan/Module-Build/Changes index df93b116a1..9df678656c 100644 --- a/cpan/Module-Build/Changes +++ b/cpan/Module-Build/Changes @@ -1,5 +1,33 @@ Revision history for Perl extension Module::Build. +0.3800 - Sat Mar 5 15:11:41 EST 2011 + + Summary of major changes since 0.3624: + + [ENHANCEMENTS] + + - Generates META.json and MYMETA.json consistent with version 2 of the + CPAN Meta Spec. [David Golden] + + Also in this release: + + [BUG FIXES] + + - Autogenerated documentation no longer includes private actions from + Module::Build's own release subclass. [Report by Timothy Appnel, + fix by David Golden] + +0.37_06 - Mon Feb 28 21:43:31 EST 2011 + + [BUG FIXES] + + - prerequisites with the empty string instead of a version are + normalized to "0". (RT#65909) + + [OTHER] + + - More Pod typo/link fixes [Hongwen Qiu] + 0.37_05 - Sat Feb 19 20:43:23 EST 2011 [BUG FIXES] diff --git a/cpan/Module-Build/lib/Module/Build.pm b/cpan/Module-Build/lib/Module/Build.pm index 95b919c826..14db9269fd 100644 --- a/cpan/Module-Build/lib/Module/Build.pm +++ b/cpan/Module-Build/lib/Module/Build.pm @@ -16,7 +16,7 @@ use Module::Build::Base; use vars qw($VERSION @ISA); @ISA = qw(Module::Build::Base); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; @@ -114,28 +114,25 @@ This illustrates initial configuration and the running of three 'actions'. In this case the actions run are 'build' (the default action), 'test', and 'install'. Other actions defined so far include: - build manifest_skip - checkchanges manpages - checkgit pardist - clean patch_blead - code ppd - config_data ppmdist - diff prereq_data - dist prereq_report - distcheck pure_install - distclean realclean - distdir retest - distinstall skipcheck - distmeta tag_git - distsign test - disttest testall - docs testcover - fakeinstall testdb - help testpod - html testpodcoverage - install upload + build manifest + clean manifest_skip + code manpages + config_data pardist + diff ppd + dist ppmdist + distcheck prereq_data + distclean prereq_report + distdir pure_install + distinstall realclean + distmeta retest + distsign skipcheck + disttest test + docs testall + fakeinstall testcover + help testdb + html testpod + install testpodcoverage installdeps versioninstall - manifest You can run the 'help' action for a complete list of actions. diff --git a/cpan/Module-Build/lib/Module/Build/API.pod b/cpan/Module-Build/lib/Module/Build/API.pod index 3494cb96c8..29d2f359c8 100644 --- a/cpan/Module-Build/lib/Module/Build/API.pod +++ b/cpan/Module-Build/lib/Module/Build/API.pod @@ -1718,8 +1718,8 @@ Examples: [version 0.32] Returns a reference to a hash describing all prerequisites. The keys of the -hash will the various prerequisite types ('requires', 'build_requires', -'configure_requires', 'recommends', or 'conflicts') and the values will +hash will be the various prerequisite types ('requires', 'build_requires', +'configure_requires', 'recommends', or 'conflicts') and the values will be references to hashes of module names and version numbers. Only prerequisites types that are defined will be included. The C<prereq_data> action is just a thin wrapper around the C<prereq_data()> method and dumps the hash as a string @@ -2015,8 +2015,7 @@ accessor methods for the following properties: If you would like to add other useful metadata, C<Module::Build> supports this with the C<meta_add> and C<meta_merge> arguments to L</new()>. The authoritative list of supported metadata can be found at -L<http://module-build.sourceforge.net/META-spec-current.html>, but for -convenience - here are a few of the more useful ones: +L<CPAN::META::Spec> but for convenience - here are a few of the more useful ones: =over 4 @@ -2025,17 +2024,13 @@ convenience - here are a few of the more useful ones: For describing the distribution using keyword (or "tags") in order to make CPAN.org indexing and search more efficient and useful. -See L<http://module-build.sourceforge.net/META-spec-current.html#keywords>. - =item resources A list of additional resources available for users of the distribution. This can include links to a homepage on the web, a -bug tracker, the repository location, a even subscription page for the +bug tracker, the repository location, and even a subscription page for the distribution mailing list. -See L<http://module-build.sourceforge.net/META-spec-current.html#resources>. - =back @@ -2058,6 +2053,6 @@ perl(1), L<Module::Build>(3), L<Module::Build::Authoring>(3), L<Module::Build::Cookbook>(3), L<ExtUtils::MakeMaker>(3) F<META.yml> Specification: -L<http://module-build.sourceforge.net/META-spec-current.html> +L<CPAN::META::Spec> =cut diff --git a/cpan/Module-Build/lib/Module/Build/Base.pm b/cpan/Module-Build/lib/Module/Build/Base.pm index ef93b88fed..fba916ad26 100644 --- a/cpan/Module-Build/lib/Module/Build/Base.pm +++ b/cpan/Module-Build/lib/Module/Build/Base.pm @@ -4,7 +4,7 @@ package Module::Build::Base; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; BEGIN { require 5.00503 } @@ -1931,7 +1931,7 @@ sub create_mymeta { } $mymeta->{dynamic_config} = 0; $mymeta->{generated_by} = "Module::Build version $Module::Build::VERSION"; - $meta_obj = CPAN::Meta->new( $mymeta ); + eval { $meta_obj = CPAN::Meta->new( $mymeta, { lazy_validation => 1 } ) } } # or generate from scratch, ignoring errors if META doesn't exist else { @@ -4593,7 +4593,7 @@ sub write_metafile { sub normalize_version { my ($self, $version) = @_; - $version = 0 unless defined $version; + $version = 0 unless defined $version and length $version; if ( $version =~ /[=<>!,]/ ) { # logic, not just version # take as is without modification diff --git a/cpan/Module-Build/lib/Module/Build/Compat.pm b/cpan/Module-Build/lib/Module/Build/Compat.pm index 6c44bf8aa2..1863b55ab7 100644 --- a/cpan/Module-Build/lib/Module/Build/Compat.pm +++ b/cpan/Module-Build/lib/Module/Build/Compat.pm @@ -2,7 +2,7 @@ package Module::Build::Compat; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; use File::Basename (); use File::Spec; diff --git a/cpan/Module-Build/lib/Module/Build/Config.pm b/cpan/Module-Build/lib/Module/Build/Config.pm index 55037beb0a..b36e76798f 100644 --- a/cpan/Module-Build/lib/Module/Build/Config.pm +++ b/cpan/Module-Build/lib/Module/Build/Config.pm @@ -2,7 +2,7 @@ package Module::Build::Config; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Config; diff --git a/cpan/Module-Build/lib/Module/Build/Cookbook.pm b/cpan/Module-Build/lib/Module/Build/Cookbook.pm index 45eadd508f..9ead1653a5 100644 --- a/cpan/Module-Build/lib/Module/Build/Cookbook.pm +++ b/cpan/Module-Build/lib/Module/Build/Cookbook.pm @@ -1,7 +1,7 @@ package Module::Build::Cookbook; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; =head1 NAME diff --git a/cpan/Module-Build/lib/Module/Build/Dumper.pm b/cpan/Module-Build/lib/Module/Build/Dumper.pm index 9891288d4c..df45985998 100644 --- a/cpan/Module-Build/lib/Module/Build/Dumper.pm +++ b/cpan/Module-Build/lib/Module/Build/Dumper.pm @@ -1,7 +1,7 @@ package Module::Build::Dumper; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; # This is just a split-out of a wrapper function to do Data::Dumper # stuff "the right way". See: diff --git a/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm b/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm index 59a204e3b3..e15c010166 100644 --- a/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm +++ b/cpan/Module-Build/lib/Module/Build/ModuleInfo.pm @@ -4,7 +4,7 @@ package Module::Build::ModuleInfo; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; require Module::Metadata; diff --git a/cpan/Module-Build/lib/Module/Build/Notes.pm b/cpan/Module-Build/lib/Module/Build/Notes.pm index 92fa7c0d10..1165799da4 100644 --- a/cpan/Module-Build/lib/Module/Build/Notes.pm +++ b/cpan/Module-Build/lib/Module/Build/Notes.pm @@ -4,7 +4,7 @@ package Module::Build::Notes; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Data::Dumper; use IO::File; diff --git a/cpan/Module-Build/lib/Module/Build/PPMMaker.pm b/cpan/Module-Build/lib/Module/Build/PPMMaker.pm index 65e15a4638..20f0b61ccd 100644 --- a/cpan/Module-Build/lib/Module/Build/PPMMaker.pm +++ b/cpan/Module-Build/lib/Module/Build/PPMMaker.pm @@ -5,7 +5,7 @@ use Config; use vars qw($VERSION); use IO::File; -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; # This code is mostly borrowed from ExtUtils::MM_Unix 6.10_03, with a diff --git a/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm b/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm index 00e037faf0..a4b95414f8 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/Amiga.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::Amiga; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/Default.pm b/cpan/Module-Build/lib/Module/Build/Platform/Default.pm index 7a52bf72e1..b4d2ca2f4a 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/Default.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/Default.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::Default; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm b/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm index d68b185a15..a030ba9573 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/EBCDIC.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::EBCDIC; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm b/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm index a00be355ae..33fae1c5a7 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/MPEiX.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::MPEiX; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm b/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm index 9844a02df7..fc205d3610 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/MacOS.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::MacOS; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; use vars qw(@ISA); diff --git a/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm b/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm index 34313eca62..94f84580e1 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/RiscOS.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::RiscOS; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm b/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm index c76989a401..956c64e4e7 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/Unix.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::Unix; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm b/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm index 5a4aa32157..bf2118b23b 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/VMS.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::VMS; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; use Config; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm b/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm index 7d1b619ff9..fd809c0163 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/VOS.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::VOS; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Base; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm b/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm index 2d3e6f8451..2924f9d000 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/Windows.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::Windows; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Config; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/aix.pm b/cpan/Module-Build/lib/Module/Build/Platform/aix.pm index 4cd784481f..59eec0d36d 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/aix.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/aix.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::aix; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Platform::Unix; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm b/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm index 6f10fe3dcd..7b7680488c 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/cygwin.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::cygwin; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Platform::Unix; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm b/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm index 42b1b087f8..5c9a1770bb 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/darwin.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::darwin; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Platform::Unix; diff --git a/cpan/Module-Build/lib/Module/Build/Platform/os2.pm b/cpan/Module-Build/lib/Module/Build/Platform/os2.pm index 1ad990e868..b78d153ee0 100644 --- a/cpan/Module-Build/lib/Module/Build/Platform/os2.pm +++ b/cpan/Module-Build/lib/Module/Build/Platform/os2.pm @@ -2,7 +2,7 @@ package Module::Build::Platform::os2; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Module::Build::Platform::Unix; diff --git a/cpan/Module-Build/lib/Module/Build/PodParser.pm b/cpan/Module-Build/lib/Module/Build/PodParser.pm index a0052fc5c0..5bba10aae3 100644 --- a/cpan/Module-Build/lib/Module/Build/PodParser.pm +++ b/cpan/Module-Build/lib/Module/Build/PodParser.pm @@ -2,7 +2,7 @@ package Module::Build::PodParser; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use vars qw(@ISA); diff --git a/cpan/Module-Build/lib/inc/latest.pm b/cpan/Module-Build/lib/inc/latest.pm index f6ee0287a5..94802e7a35 100644 --- a/cpan/Module-Build/lib/inc/latest.pm +++ b/cpan/Module-Build/lib/inc/latest.pm @@ -1,7 +1,7 @@ package inc::latest; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use Carp; diff --git a/cpan/Module-Build/lib/inc/latest/private.pm b/cpan/Module-Build/lib/inc/latest/private.pm index 80772594ed..1e40b29cc7 100644 --- a/cpan/Module-Build/lib/inc/latest/private.pm +++ b/cpan/Module-Build/lib/inc/latest/private.pm @@ -1,7 +1,7 @@ package inc::latest::private; use strict; use vars qw($VERSION); -$VERSION = '0.37_05'; +$VERSION = '0.3800'; $VERSION = eval $VERSION; use File::Spec; diff --git a/cpan/Module-Build/t/properties/requires.t b/cpan/Module-Build/t/properties/requires.t new file mode 100644 index 0000000000..72a2e6d9ab --- /dev/null +++ b/cpan/Module-Build/t/properties/requires.t @@ -0,0 +1,54 @@ +# sample.t -- a sample test file for Module::Build + +use strict; +use lib 't/lib'; +use MBTest; +use DistGen; + +plan tests => 4; + +# Ensure any Module::Build modules are loaded from correct directory +blib_load('Module::Build'); + +my ($dist, $mb, $prereqs); + +#--------------------------------------------------------------------------# +# try undefined prereq version +#--------------------------------------------------------------------------# + +$dist = DistGen->new( name => 'Simple::Requires' ); + +$dist->change_build_pl( + module_name => 'Simple::Requires', + requires => { + 'File::Basename' => undef, + }, +)->regen; + +$dist->chdir_in; + +$mb = $dist->new_from_context(); +isa_ok( $mb, "Module::Build" ); + +$prereqs = $mb->_normalize_prereqs; +is($prereqs->{requires}{'File::Basename'}, 0, "undef prereq converted to 0"); + +#--------------------------------------------------------------------------# +# try empty string prereq version +#--------------------------------------------------------------------------# + +$dist->change_build_pl( + module_name => 'Simple::Requires', + requires => { + 'File::Basename' => '', + }, +)->regen; + +$mb = $dist->new_from_context(); +isa_ok( $mb, "Module::Build" ); + +$prereqs = $mb->_normalize_prereqs; +is($prereqs->{requires}{'File::Basename'}, 0, "empty string prereq converted to 0"); + + +# vim:ts=2:sw=2:et:sta:sts=2 diff --git a/pod/perldelta.pod b/pod/perldelta.pod index 9f69193e2c..1b88b4b4bc 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -138,6 +138,10 @@ C<Math::BigInt::FastCalc> has been upgraded from version 0.24_02 to 0.28 =item * +C<Module::Build> has been upgraded from version 0.37_05 to 0.3800 + +=item * + C<Test::Harness> has been upgraded from version 3.22 to 3.23 =item * |