die "$0: exactly one or two nonoption arguments are required\n"
if @ARGV != 1 && @ARGV != 2;
-my $builder = `hostname`;
-chomp $builder;
-
# Select build number.
if (!defined ($build_number)) {
$build_number = POSIX::strftime("%Y%m%d%H%M%S", localtime);
my $logfile = "$resultsdir/LOG";
open (LOG, '>', $logfile) or die "creating $logfile failed: $!\n";
-set_var ("builder", $builder);
+my $build_host = `hostname`;
+chomp $build_host;
+set_var ("build_host", $build_host);
set_var ("build_number", $build_number);
sub start_step {
}
sub saved_result {
- my ($product) = @_;
- start_step ("Saving $product");
+ my ($name, $product) = @_;
+ start_step ("Saving $name: $product");
}
sub save_result {
- my ($src, $rm_src) = @_;
+ my ($name, $src, $rm_src) = @_;
my ($basename) = $src;
$basename =~ s(^.*/)();
my ($dst) = "$resultsdir/$basename";
- saved_result ($basename);
+ saved_result ($name, $basename);
run ("cp -R $src $dst");
if (defined ($rm_src) && $rm_src) {
}
sub save_result_if_exists {
- my ($src, $rm_src) = @_;
+ my ($name, $src, $rm_src) = @_;
if (-e $src) {
save_result (@_);
} else {
start_step ("Make source tarball");
run ("cd $builddir/pspp$build_number/_build && make dist", "dist");
my $tarname = "pspp-$version.tar.gz";
- $tarball = save_result ("$builddir/pspp$build_number/_build/$tarname", 1);
+ $tarball = save_result ("source distribution", "$builddir/pspp$build_number/_build/$tarname", 1);
# Build user manual
start_step ("Build user manual");
run ("cd $builddir/pspp$build_number && cp _build/doc/*.texi doc/");
run ("cd $builddir/pspp$build_number && GENDOCS_TEMPLATE_DIR=$topdir $topdir/gendocs.sh -s doc/pspp.texinfo -o $abs_resultsdir/user-manual --email bug-gnu-pspp\@gnu.org pspp \"GNU PSPP User Manual\"", "user-manual");
- saved_result ("user-manual");
+ saved_result ("User Manual", "user-manual");
# Build developer's guide
start_step ("Build developers guide");
run ("cd $builddir/pspp$build_number && GENDOCS_TEMPLATE_DIR=$topdir $topdir/gendocs.sh -s doc/pspp-dev.texinfo -o $abs_resultsdir/dev-guide --email bug-gnu-pspp\@gnu.org pspp-dev \"GNU PSPP Developers Guide\"", "dev-guide");
- saved_result ("dev-guide");
+ saved_result ("Developers Guide", "dev-guide");
} else {
$tarball = $ARGV[0];
}
run ("chmod a-w $builddir/$tarball_dir");
my $ok = try_run ("cd $builddir/$tarball_dir/_build && ../configure --enable-relocatable --prefix=''", "bin-configure");
for my $basename ("config.h", "config.log") {
- save_result_if_exists ("$builddir/$tarball_dir/_build/$basename");
+ save_result_if_exists ("build configuration",
+ "$builddir/$tarball_dir/_build/$basename");
}
fail () if !$ok;
start_step ("Make binary distribution");
run ("cd $builddir/$tarball_dir/_build && tar cfz pspp-$binary_version.tar.gz pspp-$binary_version");
- save_result ("$builddir/$tarball_dir/_build/pspp-$binary_version.tar.gz", 1);
+ save_result ("binary distribution", "$builddir/$tarball_dir/_build/pspp-$binary_version.tar.gz", 1);
start_step ("Check");
$ok = try_run ("cd $builddir/$tarball_dir/_build && make check", "check");
for my $basename ("tests/testsuite.log", "tests/testsuite.dir") {
- save_result_if_exists ("$builddir/$tarball_dir/_build/$basename");
+ save_result_if_exists ("test logs", "$builddir/$tarball_dir/_build/$basename");
}
fail () if !$ok;
print LOG $_;
my $elapsed = time () - $start;
- $progress = sprintf "%d lines logged, %d s elapsed",
+ my $progress = sprintf "%d lines logged, %d s elapsed",
$lines++, $elapsed;
if ($est_time > 0) {
my $left = $est_time - $elapsed;