summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Golden <dagolden@cpan.org>2011-06-24 21:13:40 -0400
committerFlorian Ragwitz <rafl@debian.org>2011-09-05 14:16:03 +0200
commit419c2a0f6c7664e017e4c5848efc54a6d381c691 (patch)
treebebcf95a95ae3ecb37ca0a681a734500f7e705f2
parentbc0314ad6419448c1e674af7c715a710cbcac024 (diff)
downloadperl-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.pm10
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/);