summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm')
-rw-r--r--Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm14
1 files changed, 11 insertions, 3 deletions
diff --git a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
index 8dde1cc0554..51263b4d252 100644
--- a/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
+++ b/Master/tlpkg/tlperl/lib/CPANPLUS/Module/Checksums.pm
@@ -1,8 +1,8 @@
package CPANPLUS::Module::Checksums;
+use deprecate;
use strict;
-use vars qw[@ISA];
-
+use vars qw[@ISA $VERSION];
use CPANPLUS::Error;
use CPANPLUS::Internals::Constants;
@@ -16,6 +16,7 @@ use Module::Load::Conditional qw[can_load];
$Params::Check::VERBOSE = 1;
@ISA = qw[ CPANPLUS::Module::Signature ];
+$VERSION = "0.9135";
=head1 NAME
@@ -142,7 +143,14 @@ sub _get_checksums_file {
my $clone = $self->clone;
$clone->package( CHECKSUMS );
- my $file = $clone->fetch( ttl => 3600, %hash ) or return;
+ # If the user specified a fetchdir, then every CHECKSUMS file will always
+ # be stored there, not in an author-specific subdir. Thus, in this case,
+ # we need to always re-fetch the CHECKSUMS file and hence need to set the
+ # TTL to something small.
+ my $have_fetchdir =
+ $self->parent->configure_object->get_conf('fetchdir') ne '';
+ my $ttl = $have_fetchdir ? 0.001 : 3600;
+ my $file = $clone->fetch( ttl => $ttl, %hash ) or return;
return $file;
}