diff options
-rw-r--r-- | Makefile | 7 | ||||
-rwxr-xr-x | bin/metas/perl | 4 | ||||
-rwxr-xr-x | bin/metas/perl.d/perl-dist | 9 |
3 files changed, 12 insertions, 8 deletions
@@ -26,14 +26,11 @@ tweakmeta: $(PKGS)/$(PKG)/PKGMETA fi $(PKGS)/$(PKG)/PKGMETA: prepare - @rm -rf tmp - @mkdir tmp - @cd tmp; \ + @[ -d '$(PKGS)/$(PKG)' ] || mkdir '$(PKGS)/$(PKG)' + @cd '$(PKGS)/$(PKG)'; \ PATH="$$PATH:$(BIN)" METABIN="$(BIN)/metas" \ PKGVAR="$(PKGVAR)" \ $(BIN)/makepkgmeta $(PKG) >PKGMETA - @rm -rf "$(PKGS)/$(PKG)" - @mv tmp "$(PKGS)/$(PKG)" @echo 'Created pkg/$(PKG)/PKGMETA.' prepare: 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; } |