50 lines
1.5 KiB
Perl
50 lines
1.5 KiB
Perl
#!/usr/bin/perl
|
|
|
|
use strict;
|
|
use FindBin qw($Bin);
|
|
|
|
my %branch = (
|
|
'1.2.x' => "http://code.sixapart.com/svn/memcached/trunk/server",
|
|
'1.1.x' => "http://code.sixapart.com/svn/memcached/branches/memcached-1.1.x",
|
|
);
|
|
|
|
foreach my $b (keys %branch) {
|
|
chdir $Bin or die;
|
|
my $url = $branch{$b};
|
|
my $out = `svn info $b`;
|
|
unless ($out =~ /^URL: (.+)/m && $1 eq $url) {
|
|
system("rm -rf $b");
|
|
system("svn", "co", $url, $b)
|
|
and die "Failed to checkout $url\n";
|
|
} else {
|
|
chdir "$Bin/$b" or die;
|
|
system("svn up") and die "Failed to svn up";
|
|
}
|
|
|
|
chdir "$Bin/$b" or die;
|
|
$out = `svn info .`;
|
|
|
|
my ($maxrev) = $out =~ /^Last Changed Rev: (\d+)/m
|
|
or die "No max rev?";
|
|
|
|
print "$b = $maxrev\n";
|
|
my $distfile = "memcached-$b-svn$maxrev.tar.gz";
|
|
next if -f $distfile && -s _;
|
|
|
|
open(my $fh, "configure.ac") or die "no configure.ac in $b?";
|
|
my $ac = do { local $/; <$fh>; };
|
|
close($fh);
|
|
$ac =~ s!AC_INIT\(memcached,.+?\)!AC_INIT(memcached, $b-svn$maxrev, brad\@danga.com)!
|
|
or die "Failed to replace";
|
|
open (my $fh, ">configure.ac") or die "failed to write configure.ac writeable: $!";
|
|
print $fh $ac;
|
|
close ($fh);
|
|
|
|
system("./autogen.sh") and die "Autogen failed. Missing autotools?";
|
|
system("./configure") and die "configure failed";
|
|
system("make dist") and die "make dist failed";
|
|
die "Failed to make dist $distfile." unless -s $distfile;
|
|
}
|
|
|
|
|