CPAN-Mini
view release on metacpan or search on metacpan
lib/CPAN/Mini.pm view on Meta::CPAN
$self->{scratch} ||= File::Temp::tempdir(CLEANUP => 1);
return $self->{scratch};
}
sub mirror_indices {
my $self = shift;
$self->_make_index_dirs($self->_scratch_dir);
for my $path ($self->_fixed_mirrors) {
my $local_file = File::Spec->catfile($self->{local}, split m{/}, $path);
my $scratch_file = File::Spec->catfile(
$self->_scratch_dir,
split(m{/}, $path),
);
File::Copy::copy($local_file, $scratch_file);
utime((stat $local_file)[ 8, 9 ], $scratch_file);
$self->mirror_file($path, undef, { to_scratch => 1 });
lib/CPAN/Mini.pm view on Meta::CPAN
sub _install_indices {
my $self = shift;
$self->_make_index_dirs(
$self->{local},
$self->{dirmode},
$self->{log_level} eq 'debug',
);
for my $file ($self->_fixed_mirrors) {
my $local_file = File::Spec->catfile($self->{local}, split m{/}, $file);
unlink $local_file;
File::Copy::copy(
File::Spec->catfile($self->_scratch_dir, split m{/}, $file),
$local_file,
);
$self->{mirrored}{$local_file} = 1;
}
}
#pod =method mirror_file
#pod
#pod $minicpan->mirror_file($path, $skip_if_present)
lib/CPAN/Mini.pm view on Meta::CPAN
$arg ||= {};
# full URL
my $remote_uri = eval { $path->isa('URI') }
? $path
: URI->new_abs($path, $self->{remote})->as_string;
# native absolute file
my $local_file = File::Spec->catfile(
$arg->{to_scratch} ? $self->_scratch_dir : $self->{local},
split m{/}, $path
);
my $checksum_might_be_up_to_date = 1;
if ($skip_if_present and -f $local_file) {
## upgrade to checked if not already
$self->{mirrored}{$local_file} ||= 1;
} elsif (($self->{mirrored}{$local_file} || 0) < 2) {
## upgrade to full mirror
$self->{mirrored}{$local_file} = 2;
( run in 0.355 second using v1.01-cache-2.11-cpan-71847e10f99 )