| #!/usr/bin/perl -w |
| # |
| # Simple script to fetch the latest tarball in from-cvs/ and unpack it |
| # in $dir. |
| # |
| # Script by Doug MacEachern <dougm@telebusiness.co.nz> |
| # minor fix by Magnus Bodin <magnus@bodin.org> |
| |
| use strict; |
| use URI::URL (); |
| use HTML::LinkExtor (); |
| use LWP::Simple; |
| use File::Path; |
| |
| my $ver = '1.3'; |
| my $dir = shift || "/tmp/apache_$ver-dev"; |
| my $cvs = "http://cvs.apache.org/snapshots/apache-$ver/"; |
| my $filptn = "apache-$ver\_"; |
| |
| rmtree $dir; |
| mkpath $dir, 0755; |
| |
| chdir $dir; |
| |
| my $p = HTML::LinkExtor->new(\&cb, $cvs); |
| my $cnt; |
| |
| sub cb { |
| my($tag, %links) = @_; |
| return unless exists $links{href} and $links{href} =~ /$fileptn/; |
| return unless ++$cnt == 4; |
| |
| my $file = URI::URL->new($links{href})->rel($cvs); |
| warn "mirror $links{href} => $file\n"; |
| |
| mirror $links{href} => $file; |
| system "gunzip < $file | tar -xvf -"; |
| unlink $file; |
| } |
| |
| $p->parse(get $cvs); |
| |