Update CPAN-Meta to CPAN version 2.120351
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sat, 4 Feb 2012 10:23:42 +0000 (10:23 +0000)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Sat, 4 Feb 2012 10:23:42 +0000 (10:23 +0000)
  [DELTA]

  2.120351  2012-02-03 23:01:45 America/New_York

    [OTHER]

    - Fixed CPAN packaging errors

  2.120350  2012-02-03 22:46:59 America/New_York

    [BUGFIX]

    - Work around a memory leak bug involving version objects
      in boolean context.

Porting/Maintainers.pl
cpan/CPAN-Meta/Changes
cpan/CPAN-Meta/lib/CPAN/Meta.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Converter.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Feature.pm
cpan/CPAN-Meta/lib/CPAN/Meta/History.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Prereqs.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Requirements.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Spec.pm
cpan/CPAN-Meta/lib/CPAN/Meta/Validator.pm
pod/perldelta.pod

index c1db837..3bf15ad 100755 (executable)
@@ -481,7 +481,7 @@ use File::Glob qw(:case);
 
     'CPAN::Meta' => {
         'MAINTAINER'   => 'dagolden',
-        'DISTRIBUTION' => 'RJBS/CPAN-Meta-2.113640.tar.gz',
+        'DISTRIBUTION' => 'DAGOLDEN/CPAN-Meta-2.120351.tar.gz',
         'FILES'        => q[cpan/CPAN-Meta],
         'EXCLUDED'     => [
             qw(t/00-compile.t),
index eaf4098..dd0f934 100644 (file)
@@ -1,7 +1,22 @@
 Revision history for CPAN-Meta
 
+2.120351  2012-02-03 23:01:45 America/New_York
+
+  [OTHER]
+
+  - Fixed CPAN packaging errors
+
+2.120350  2012-02-03 22:46:59 America/New_York
+
+  [BUGFIX]
+
+  - Work around a memory leak bug involving version objects
+    in boolean context.
+
 2.113640  2011-12-30 15:19:46 America/New_York
 
+  [OTHER]
+
   - Version::Requirements has now been merged as CPAN::Meta::Requirements,
     rendering Version::Requirements itself redundant
 
index eee0e6c..29a221b 100644 (file)
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 
 use Carp qw(carp croak);
@@ -346,7 +346,7 @@ CPAN::Meta - the distribution metadata for a CPAN dist
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 SYNOPSIS
 
index 09fe335..37990f6 100644 (file)
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::Converter;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 
 use CPAN::Meta::Validator;
@@ -316,7 +316,10 @@ sub _clean_version {
   return 0 if ! length $element;
   return 0 if ( $element eq 'undef' || $element eq '<undef>' );
 
-  if ( my $v = eval { version->new($element) } ) {
+  my $v = eval { version->new($element) };
+  # XXX check defined $v and not just $v because version objects leak memory
+  # in boolean context -- dagolden, 2012-02-03
+  if ( defined $v ) {
     return $v->is_qv ? $v->normal : $element;
   }
   else {
@@ -326,7 +329,7 @@ sub _clean_version {
 
 sub _version_map {
   my ($element) = @_;
-  return undef unless defined $element;
+  return unless defined $element;
   if ( ref $element eq 'HASH' ) {
     my $new_map = {};
     for my $k ( keys %$element ) {
@@ -444,7 +447,7 @@ sub _extract_prereqs {
 
 sub _downgrade_optional_features {
   my (undef, undef, $meta) = @_;
-  return undef unless exists $meta->{optional_features};
+  return unless exists $meta->{optional_features};
   my $origin = $meta->{optional_features};
   my $features = {};
   for my $name ( keys %$origin ) {
@@ -465,7 +468,7 @@ sub _downgrade_optional_features {
 
 sub _upgrade_optional_features {
   my (undef, undef, $meta) = @_;
-  return undef unless exists $meta->{optional_features};
+  return unless exists $meta->{optional_features};
   my $origin = $meta->{optional_features};
   my $features = {};
   for my $name ( keys %$origin ) {
@@ -561,7 +564,7 @@ my $resource2_upgrade = {
     return unless $item;
     if ( $item =~ m{^mailto:(.*)$} ) { return { mailto => $1 } }
     elsif( _is_urlish($item) ) { return { web => $item } }
-    else { return undef }
+    else { return }
   },
   repository => sub { return _is_urlish($_[0]) ? { url => $_[0] } : undef },
   ':custom'  => \&_prefix_custom,
@@ -569,7 +572,7 @@ my $resource2_upgrade = {
 
 sub _upgrade_resources_2 {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource2_upgrade);
 }
 
@@ -607,7 +610,7 @@ my $resources2_cleanup = {
 
 sub _cleanup_resources_2 {
   my ($resources, $key, $meta, $to_version) = @_;
-  return undef unless $resources && ref $resources eq 'HASH';
+  return unless $resources && ref $resources eq 'HASH';
   return _convert($resources, $resources2_cleanup, $to_version);
 }
 
@@ -621,7 +624,7 @@ my $resource1_spec = {
 
 sub _resources_1_3 {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource1_spec);
 }
 
@@ -634,7 +637,7 @@ sub _resources_1_2 {
     $resources->{license} = $meta->license_url
       if _is_urlish($meta->{license_url});
   }
-  return undef unless keys %$resources;
+  return unless keys %$resources;
   return _convert($resources, $resource1_spec);
 }
 
@@ -648,7 +651,7 @@ my $resource_downgrade_spec = {
 
 sub _downgrade_resources {
   my (undef, undef, $meta, $version) = @_;
-  return undef unless exists $meta->{resources};
+  return unless exists $meta->{resources};
   return _convert($meta->{resources}, $resource_downgrade_spec);
 }
 
@@ -1260,7 +1263,7 @@ CPAN::Meta::Converter - Convert CPAN distribution metadata structures
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 SYNOPSIS
 
index 7914d9a..cc080f1 100644 (file)
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::Feature;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 use CPAN::Meta::Prereqs;
 
@@ -42,7 +42,7 @@ CPAN::Meta::Feature - an optional feature provided by a CPAN distribution
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 DESCRIPTION
 
index cd3b9dd..a47c19b 100644 (file)
@@ -3,7 +3,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::History;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 1;
 
@@ -20,7 +20,7 @@ CPAN::Meta::History - history of CPAN Meta Spec changes
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 DESCRIPTION
 
@@ -242,7 +242,7 @@ Added 'resources' field with subkeys 'homepage', 'license', and
 
 =item *
 
-Added 'optional_features' field as an alterate under 'recommends'.
+Added 'optional_features' field as an alternate under 'recommends'.
 Includes 'description', 'requires', 'build_requires', 'conflicts',
 'requires_packages', 'requires_os' and 'excluded_os' as valid subkeys
 
index 1b97804..55b4983 100644 (file)
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::Prereqs;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 
 use Carp qw(confess);
@@ -149,7 +149,7 @@ CPAN::Meta::Prereqs - a set of distribution prerequisites by phase and type
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 DESCRIPTION
 
index dd2861e..8b922c7 100644 (file)
@@ -1,7 +1,7 @@
 use strict;
 use warnings;
 package CPAN::Meta::Requirements;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 # ABSTRACT: a set of version requirements for a CPAN dist
 
 
@@ -384,7 +384,7 @@ CPAN::Meta::Requirements - a set of version requirements for a CPAN dist
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 SYNOPSIS
 
index d846c89..2ff1730 100644 (file)
@@ -3,7 +3,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::Spec;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 1;
 
@@ -20,7 +20,7 @@ CPAN::Meta::Spec - specification for CPAN distribution metadata
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 SYNOPSIS
 
@@ -506,12 +506,12 @@ Valid subkeys are as follows:
 =item file
 
 A I<List> of relative paths to files.  Paths B<must be> specified with
-unix convetions.
+unix conventions.
 
 =item directory
 
 A I<List> of relative paths to directories.  Paths B<must be> specified
-with unix convetions.
+with unix conventions.
 
 [ Note: previous editions of the spec had C<dir> instead of C<directory> ]
 
@@ -566,7 +566,7 @@ This entry is required and has the same structure as that of the
 C<L</prereqs>> key.  It provides a list of package requirements
 that must be satisfied for the feature to be supported or enabled.
 
-There is one crucial restriction:  the preqreqs of an optional feature
+There is one crucial restriction:  the prereqs of an optional feature
 B<must not> include C<configure> phase prereqs.
 
 =back
index 4b811e4..4c70ee1 100644 (file)
@@ -2,7 +2,7 @@ use 5.006;
 use strict;
 use warnings;
 package CPAN::Meta::Validator;
-our $VERSION = '2.113640'; # VERSION
+our $VERSION = '2.120351'; # VERSION
 
 
 #--------------------------------------------------------------------------#
@@ -838,7 +838,7 @@ CPAN::Meta::Validator - validate CPAN distribution metadata structures
 
 =head1 VERSION
 
-version 2.113640
+version 2.120351
 
 =head1 SYNOPSIS
 
index 66e583e..fdf0a05 100644 (file)
@@ -188,6 +188,12 @@ L<Compress::Zlib> has been upgraded from version 2.046 to version 2.048.
 
 =item *
 
+L<CPAN::Meta> has been upgraded from version 2.113640 to version 2.120351.
+
+Work around a memory leak bug involving version objects in boolean context.
+
+=item *
+
 L<DB_File> has been upgraded from version 1.824 to version 1.826.
 
 =item *