diff options
author | David Golden <dagolden@cpan.org> | 2011-06-24 21:13:40 -0400 |
---|---|---|
committer | Florian Ragwitz <rafl@debian.org> | 2011-09-05 14:16:03 +0200 |
commit | 419c2a0f6c7664e017e4c5848efc54a6d381c691 (patch) | |
tree | bebcf95a95ae3ecb37ca0a681a734500f7e705f2 | |
parent | bc0314ad6419448c1e674af7c715a710cbcac024 (diff) | |
download | perl-419c2a0f6c7664e017e4c5848efc54a6d381c691.tar.gz |
Changed read_meta to ignore dynamic_config
Because read_meta is also used to read META.* for configure_requires,
it must not return undef when dynamic_config is true. Instead,
the caller of read_meta must check dynamic_config when appropriate.
This is an API change, but as this is a new function, I think getting
correct semantics is more important than preserving back compatibility.
-rw-r--r-- | cpan/CPAN/lib/CPAN/Distribution.pm | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/cpan/CPAN/lib/CPAN/Distribution.pm b/cpan/CPAN/lib/CPAN/Distribution.pm index 8a3370a3c7..33607c795b 100644 --- a/cpan/CPAN/lib/CPAN/Distribution.pm +++ b/cpan/CPAN/lib/CPAN/Distribution.pm @@ -2844,8 +2844,7 @@ sub _fulfills_all_version_rqs { } #-> sub CPAN::Distribution::read_meta -# read any sort of meta files, return CPAN::Meta object if no errors and -# dynamic_config = 0 +# read any sort of meta files, return CPAN::Meta object if no errors sub read_meta { my($self) = @_; my $meta_file = $self->pick_meta_file @@ -2863,9 +2862,6 @@ sub read_meta { return if $eummv < 6.2501; } - # META/MYMETA is only authoritative if dynamic_config is false - return if $meta->dynamic_config; - return $meta; } @@ -2930,7 +2926,9 @@ sub prereq_pm { $self->{modulebuild}||"", ) if $CPAN::DEBUG; my($req,$breq); - if (my $meta_obj = $self->read_meta) { + my $meta_obj = $self->read_meta; + # META/MYMETA is only authoritative if dynamic_config is false + if ($meta_obj && ! $meta_obj->dynamic_config) { my $prereqs = $meta_obj->effective_prereqs; my $requires = $prereqs->requirements_for(qw/runtime requires/); my $build_requires = $prereqs->requirements_for(qw/build requires/); |