mirror of https://github.com/yasm/yasm.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.5 KiB
47 lines
1.5 KiB
#!/usr/bin/perl |
|
# $IdPath$ |
|
use POSIX qw(strftime); |
|
|
|
$|++; |
|
|
|
my $version = '0.0.1'; |
|
my $todaydate = strftime "%Y%m%d", localtime; |
|
my $snapshot_dir = "/home/yasm/public_html/snapshots/$todaydate"; |
|
my $cvs_dir = '/usr/local/cvs2/yasm/chrooted-cvs/cvs'; |
|
my $build_dir = '/home/yasm/build'; |
|
|
|
# Create snapshot directory |
|
system('mkdir', $snapshot_dir); |
|
|
|
# Build CVS tree tarball |
|
chdir("$cvs_dir/..") || die "Could not change to CVS directory"; |
|
system('tar', '-czf', "$snapshot_dir/yasm-cvstree.tar.gz", 'cvs') == 0 |
|
or die "CVS tree tarball build failed: $?."; |
|
|
|
# Build CVS checkout tarball |
|
chdir($build_dir) || die "Could not change to build directory"; |
|
system('rm', '-Rf', 'yasm') == 0 |
|
or die "Could not remove old CVS checkout directory: $?."; |
|
system('mkdir', 'yasm') == 0 |
|
or die "Could not create CVS checkout directory: $?."; |
|
chdir('yasm') || die "Could not change to CVS checkout directory."; |
|
system('cvs', '-q', "-d$cvs_dir", 'checkout', '.') == 0 |
|
or die "CVS checkout failed: $?."; |
|
chdir('..'); |
|
system('tar', '-czf', "$snapshot_dir/yasm-cvs.tar.gz", 'yasm') == 0 |
|
or die "CVS checkout tarball build failed: $?."; |
|
chdir('yasm'); |
|
|
|
# Update and build distribution tarball |
|
system("./autogen.sh >$snapshot_dir/autogen-log.txt") == 0 |
|
or die "autogen.sh failed: $?."; |
|
system("gmake distcheck >$snapshot_dir/make-log.txt") == 0 |
|
or die "build failed: $?."; |
|
system("cp *.tar.gz $snapshot_dir/") == 0 |
|
or die "dist tarball copy failed."; |
|
|
|
# Relink "latest" symlink |
|
chdir("$snapshot_dir/.."); |
|
system('rm', 'latest'); |
|
system('ln', '-s', $todaydate, 'latest'); |
|
|
|
|