diff options
Diffstat (limited to 'bin')
-rwxr-xr-x | bin/metas/perl | 4 | ||||
-rwxr-xr-x | bin/metas/perl.d/perl-dist | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/bin/metas/perl b/bin/metas/perl index b601746..c1ca14e 100755 --- a/bin/metas/perl +++ b/bin/metas/perl @@ -44,6 +44,10 @@ sub fetchdist { my ($cpath) = @_; my $file = $cpath; $file =~ s{^.*/}{}; + if (-f $file) { + print STDERR "$file already downloaded.\n"; + return; + } my $mirror = $ENV{'CPANMIRROR'} || 'ftp://cpan.pair.com'; my $url = "${mirror}/authors/id/${cpath}"; diff --git a/bin/metas/perl.d/perl-dist b/bin/metas/perl.d/perl-dist index 87bb9df..c916a95 100755 --- a/bin/metas/perl.d/perl-dist +++ b/bin/metas/perl.d/perl-dist @@ -364,10 +364,13 @@ sub chsrcdir { my ($srcdir, $distfile) = @_; - mkdir $srcdir or die "mkdir $srcdir: $!"; + unless (-d $srcdir) { + mkdir $srcdir or die "mkdir $srcdir: $!"; + } chdir $srcdir or die "chdir $srcdir: $!"; - symlink catfile('..', $distfile), $distfile - or die "symlink $distfile: $!"; + unless (-f $distfile) { + symlink catfile('..', $distfile), $distfile or die "symlink $distfile: $!"; + } return $srcdir; } |