From 8e8f500a7d956de742daa3a7709ef815d6ce10b6 Mon Sep 17 00:00:00 2001 From: Ben Pfaff Date: Sun, 6 Jun 2010 15:19:19 -0700 Subject: [PATCH] start working on HTML results --- .gitignore | 1 - Makefile.am | 8 +- gendocs.sh => build-aux/gendocs.sh | 0 .../gendocs_template | 0 .../gendocs_template_min | 0 build-pspp.m4 | 35 ++++---- make-bin-dist.as | 84 +++++++++---------- make-builder.as | 80 ++++++++++-------- make-src-dist.as | 68 ++++++++------- results2html | 20 ++--- 10 files changed, 149 insertions(+), 147 deletions(-) rename gendocs.sh => build-aux/gendocs.sh (100%) rename gendocs_template => build-aux/gendocs_template (100%) rename gendocs_template_min => build-aux/gendocs_template_min (100%) diff --git a/.gitignore b/.gitignore index 685509605d..423d59e79e 100644 --- a/.gitignore +++ b/.gitignore @@ -5,7 +5,6 @@ /autom4te.cache/ /build[0-9]*/ /buildnr -/buildnr/ /buildtmp/ /config.log /config.status diff --git a/Makefile.am b/Makefile.am index 4102ff5166..858849ec68 100644 --- a/Makefile.am +++ b/Makefile.am @@ -9,10 +9,10 @@ AUTOM4TE = autom4te make-builder.in: make-builder.as $(AUTOM4TE) --language M4sh make-builder.as -o $@ -make-src-dist.in: make-src-dist.as make-pspp.m4 - $(AUTOM4TE) --language make-pspp make-src-dist.as -o $@ -make-bin-dist.in: make-bin-dist.as make-pspp.m4 - $(AUTOM4TE) --language make-pspp make-bin-dist.as -o $@ +make-src-dist.in: make-src-dist.as build-pspp.m4 + $(AUTOM4TE) --language build-pspp make-src-dist.as -o $@ +make-bin-dist.in: make-bin-dist.as build-pspp.m4 + $(AUTOM4TE) --language build-pspp make-bin-dist.as -o $@ edit = sed \ -e 's|@VERSION[@]|$(VERSION)|g' \ diff --git a/gendocs.sh b/build-aux/gendocs.sh similarity index 100% rename from gendocs.sh rename to build-aux/gendocs.sh diff --git a/gendocs_template b/build-aux/gendocs_template similarity index 100% rename from gendocs_template rename to build-aux/gendocs_template diff --git a/gendocs_template_min b/build-aux/gendocs_template_min similarity index 100% rename from gendocs_template_min rename to build-aux/gendocs_template_min diff --git a/build-pspp.m4 b/build-pspp.m4 index 2068f7a172..c346d4d557 100644 --- a/build-pspp.m4 +++ b/build-pspp.m4 @@ -5,22 +5,18 @@ m4_define([_m4_divert(INIT_PREPARE)], 300) m4_pattern_forbid([^_?BP_]) m4_pattern_allow([_BP_EOF]) -# BP_INIT([LOGFILE]) -# ------------------ -# Initializes and starts logging to LOGFILE. +# BP_INIT +# ------- m4_define([BP_INIT], [AS_INIT -_BP_INIT_LOG([$1]) -_BP_INIT_RESULTS AS_PREPARE ]) -# _BP_INIT_LOG([LOGFILE]) +# BP_INIT_LOG([LOGFILE]) # ----------------------- # Initialize the log file descriptor and write header to it. -m4_define([_BP_INIT_LOG], -[m4_divert_text([INIT_PREPARE], -[m4_define([BP_LOG_FILE], [$1]) +m4_define([BP_INIT_LOG], +[m4_define([BP_LOG_FILE], [$1])dnl m4_define([AS_MESSAGE_LOG_FD], 5)dnl cat >$1 <<_BPEOF This file is a build log. @@ -36,18 +32,19 @@ AS_UNAME >&AS_MESSAGE_LOG_FD cat >&AS_MESSAGE_LOG_FD <<_BPEOF _BPEOF -])])# _BP_INIT_LOG +]) -# _BP_INIT_RESULTS -m4_define([_BP_INIT_RESULTS], -[AS_MKDIR_P([results]) +# BP_INIT_RESULTS([RESULTSDIR]) +m4_define([BP_INIT_RESULTS], +[m4_define([BP_RESULTS_DIR], [$1])dnl +AS_MKDIR_P([BP_RESULTS_DIR]) m4_define([BP_VARS_FD], 6)dnl -exec BP_VARS_FD>results/VARS +exec BP_VARS_FD>BP_RESULTS_DIR/VARS ]) -# _BP_INIT_DEFAULTS +# BP_INIT_DEFAULTS # ----------------- -m4_define([_BP_INIT_DEFAULTS], +m4_define([BP_INIT_DEFAULTS], [m4_divert_push([DEFAULTS])dnl test -n "$DJDIR" || exec AS_ORIGINAL_STDIN_FD<&0 &AS_MESSAGE_LOG_FD 2>&1])]) +BP_RUN([mv $2 BP_RESULTS_DIR/ >&AS_MESSAGE_LOG_FD 2>&1])]) # BP_COPY_OUTPUT(DESCRIPTION, FILE) m4_define([BP_COPY_OUTPUT], [BP_OUTPUT([$1], [$2]) -BP_RUN([cp -R $2 results/ >&AS_MESSAGE_LOG_FD 2>&1])]) +BP_RUN([cp -R $2 BP_RESULTS_DIR/ >&AS_MESSAGE_LOG_FD 2>&1])]) # BP_TRY_RUN(COMMAND) m4_define([BP_TRY_RUN], @@ -112,7 +109,7 @@ m4_define([BP_FAIL], # BP_FINISH m4_define([BP_FINISH], -[BP_START_STEP([success])]) +[BP_START_STEP([Success])]) # BP_ERROR(MESSAGE) m4_define([BP_ERROR], diff --git a/make-bin-dist.as b/make-bin-dist.as index 742f2bf8d7..295b498a16 100644 --- a/make-bin-dist.as +++ b/make-bin-dist.as @@ -1,13 +1,13 @@ # -* autoconf -*- -BP_INIT([make-binary.log]) +BP_INIT usage=["\ -Usage: $0 [OPTION]... PSPP_DIST.TAR.GZ -where PSPP_DIST.TAR.GZ is a PSPP tarball prepared by \"make dist\". +Usage: $0 [OPTION]... PSPP_DIST.TAR.GZ BINID +where PSPP_DIST.TAR.GZ is a PSPP tarball prepared by \"make dist\" + and BINID briefly identifies the target, e.g. \"debian-squeeze-i386\". Options: - -b, --binid=BINID Use BINID to identify binary. -h, --help Print this usage message and exit -f, --force Delete existing directory instead of aborting @@ -35,7 +35,6 @@ exit_missing_arg=' # Variables. overwrite=false -BINID= # Parse command line. while test $# -gt 0 ; do @@ -52,14 +51,6 @@ while test $# -gt 0 ; do --force | -f ) overwrite=true ;; - --binid=* | -b?* ) - BINID=$optarg - shift ;; - --binid | -b ) - test $# = 1 && eval "$exit_missing_arg" - BINID=$2 - shift; shift ;; - -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. @@ -74,8 +65,9 @@ done # Find the input file. case $# in - 1) + 2) tarball=$1 + BINID=$2 ;; *) exec >&2 AS_ERROR([invalid number of arguments$as_nl$help]) ;; @@ -86,35 +78,50 @@ if test ! -e "$tarball"; then AS_ERROR([$tarball does not exist]) fi +if test -e "$BINID"; then + if test $overwrite = true; then + chmod -R u+w "$BINID" + rm -rf "$BINID" + else + exec >&2 + AS_ERROR([$BINID exists and --force not specified]) + fi +fi + +BP_INIT_RESULTS([$BINID]) +BP_INIT_LOG([$BINID/LOG]) + +BP_SET_VAR([BUILD_NUMBER], [@BUILD_NUMBER@]) +BP_SET_VAR([PSPP_COMMIT], [@PSPP_COMMIT@]) +BP_SET_VAR([PSPP_REPO], [@PSPP_REPO@]) +BP_SET_VAR([GNULIB_COMMIT], [@GNULIB_COMMIT@]) +BP_SET_VAR([GNULIB_REPO], [@GNULIB_REPO@]) +BP_SET_VAR([BRANCH], [@BRANCH@]) + +BP_SET_VAR([BINID]) + BP_START_STEP([Determining $tarball target directory]) DIST_DIR=`zcat $tarball | tar tf - 2>/dev/null | sed 1q | sed s,/.*,,` BP_SET_VAR([DIST_DIR]) if test X$DIST_DIR = X; then BP_ERROR([failed to determine $tarball target directory]) -elif test -e "$DIST_DIR"; then - if test $overwrite = true; then - chmod -R u+w "$DIST_DIR" - rm -rf "$DIST_DIR" - else - BP_ERROR([$DIST_DIR exists and --force not specified]) - fi fi BP_START_STEP([Extracting source tarball]) -BP_RUN([zcat $tarball | tar xf - >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([zcat $tarball | tar xkf - >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Extracting tar version]) DIST_VERSION=`$DIST_DIR/configure --version 2>/dev/null | sed 1q | sed 's/.* //'` BP_SET_VAR([DIST_VERSION]) BP_START_STEP([Configuring]) -BP_RUN([mkdir $DIST_DIR/_build >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([mkdir $DIST_DIR/_$BINID >&AS_MESSAGE_LOG_FD 2>&1]) BP_RUN([chmod -R a-w $DIST_DIR >&AS_MESSAGE_LOG_FD 2>&1]) -BP_RUN([chmod u+w $DIST_DIR/_build >&AS_MESSAGE_LOG_FD 2>&1]) -BP_TRY_RUN([(cd $DIST_DIR/_build && ../configure --enable-relocatable --prefix='') >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([chmod u+w $DIST_DIR/_$BINID >&AS_MESSAGE_LOG_FD 2>&1]) +BP_TRY_RUN([(cd $DIST_DIR/_$BINID && ../configure --enable-relocatable --prefix='') >&AS_MESSAGE_LOG_FD 2>&1]) _bp_status=$? for base in config.h config.log; do - fn=$DIST_DIR/_build/$base + fn=$DIST_DIR/_$BINID/$base if test -e "$fn"; then BP_COPY_OUTPUT([build configuration], [$fn]) fi @@ -123,30 +130,21 @@ if test $_bp_status != 0; then AS_ECHO(["$as_me:$LINENO: command exited with status $_bp_status"]) >&AS_MESSAGE_LOG_FD fi -BP_START_STEP([Determine target name]) -if test "X$BINID" = X; then - BINID=`sed -n 's/^Target: \(.*\)$/\1/p' < $DIST_DIR/_build/config.log 2>/dev/null | sed 1q` - if test "X$BINID" = X; then - BINID=`./config.guess` - fi -fi -BP_SET_VAR([BINID]) - BP_START_STEP([Build]) -BP_RUN([(cd $DIST_DIR/_build && make) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd $DIST_DIR/_$BINID && make) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Install]) -BP_RUN([(cd $DIST_DIR/_build && make install DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd $DIST_DIR/_$BINID && make install DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Make binary distribution]) -BP_RUN([(cd $DIST_DIR/_build && tar cfz pspp-$DIST_VERSION-$BINID.tar.gz pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) -BP_MOVE_OUTPUT([binary distribution], [$DIST_DIR/_build/pspp-$DIST_VERSION-$BINID.tar.gz]) +BP_RUN([(cd $DIST_DIR/_$BINID && tar cfz pspp-$DIST_VERSION-$BINID.tar.gz pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_MOVE_OUTPUT([binary distribution], [$DIST_DIR/_$BINID/pspp-$DIST_VERSION-$BINID.tar.gz]) BP_START_STEP([Check]) -BP_TRY_RUN([(cd $DIST_DIR/_build && make check) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_TRY_RUN([(cd $DIST_DIR/_$BINID && make check) >&AS_MESSAGE_LOG_FD 2>&1]) _bp_status=$? for base in tests/testsuite.log tests/testsuite.dir; do - fn=$DIST_DIR/_build/$base + fn=$DIST_DIR/_$BINID/$base if test -e "$fn"; then BP_MOVE_OUTPUT([test logs], [$fn]) fi @@ -156,10 +154,10 @@ if test $_bp_status != 0; then fi BP_START_STEP([Uninstall]) -BP_RUN([(cd $DIST_DIR/_build && make uninstall DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd $DIST_DIR/_$BINID && make uninstall DESTDIR=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Check uninstall]) -BP_RUN([(cd $DIST_DIR/_build && make distuninstallcheck distuninstallcheck_dir=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd $DIST_DIR/_$BINID && make distuninstallcheck distuninstallcheck_dir=$PWD/pspp-$DIST_VERSION-$BINID) >&AS_MESSAGE_LOG_FD 2>&1]) # distcleancheck diff --git a/make-builder.as b/make-builder.as index a30e4374ce..8a90693f35 100644 --- a/make-builder.as +++ b/make-builder.as @@ -30,7 +30,7 @@ where REPO and BRANCH are a Git repository and branch to clone. Options: -h, --help Print this usage message and exit -b, --build=NUMBER Set build number (default: next available) - -o, --output=DIRECTORY Set build directory (default: build\$BUILDNR) + -o, --output=DIRECTORY Set build directory (default: build\$BUILD_NUMBER) -f, --force Overwrite files in existing directory Report bugs to . @@ -58,7 +58,8 @@ exit_missing_arg=' # Variables. outdir= overwrite=false -buildnr= +BUILD_NUMBER= +GNULIB_REPO=git://git.sv.gnu.org/gnulib.git # Parse command line. while test $# -gt 0 ; do @@ -85,11 +86,11 @@ while test $# -gt 0 ; do shift; shift ;; --build=* | -b?* ) - buildnr=$optarg + BUILD_NUMBER=$optarg shift ;; --build | -b ) test $# = 1 && eval "$exit_missing_arg" - buildnr=$2 + BUILD_NUMBER=$2 shift; shift ;; --force | -f ) @@ -110,15 +111,15 @@ done # Find the input file. case $# in 2) - repository=$1 - branch=$2 + PSPP_REPO=$1 + PSPP_BRANCH=$2 ;; *) exec >&2 AS_ERROR([invalid number of arguments$as_nl$help]) ;; esac # Choose build number. -if test "x$buildnr" = x; then +if test "x$BUILD_NUMBER" = x; then lock_file () { echo $$ > $[1].$$ if ln $[1].$$ $[1].lock; then @@ -138,22 +139,22 @@ if test "x$buildnr" = x; then done if test -e buildnr; then - buildnr=`cat buildnr` + BUILD_NUMBER=`cat buildnr` else - buildnr=1 + BUILD_NUMBER=1 fi - echo `expr $buildnr + 1` > buildnr + echo `expr $BUILD_NUMBER + 1` > buildnr rm build_number.lock fi # Check that build number is a number. -if expr "X$buildnr" : '[X[0-9][0-9]*$]' >/dev/null; then - : -else - exec >&2 - AS_ERROR([invalid build number `$buildnr'$as_nl$help]) #` -fi +case $BUILD_NUMBER in # ( + "" | *[!0-9]*) + exec >&2 + AS_ERROR([invalid build number `$BUILD_NUMBER'$as_nl$help]) #` + ;; +esac # Ensure that git repository exists. GIT_DIR=$PWD/repo.git @@ -161,28 +162,28 @@ export GIT_DIR git init # Fetch PSPP source. -git fetch $repository +$branch:refs/builds/$buildnr/pspp +git fetch $PSPP_REPO +$PSPP_BRANCH:refs/builds/$BUILD_NUMBER/pspp # Get PSPP commit number. -pspp_commit=`git rev-parse refs/builds/$buildnr/pspp` +PSPP_COMMIT=`git rev-parse refs/builds/$BUILD_NUMBER/pspp` # Get gnulib commit number. -gnulib_commit=`\ - git show refs/builds/$buildnr/pspp:README.Git | \ +GNULIB_COMMIT=`\ + git show refs/builds/$BUILD_NUMBER/pspp:README.Git | \ sed -n 's/^[[ ]]*commit \([[0-9a-fA-F]]\{8,\}\)$/\1/p' | \ head -1` # Fetch Gnulib source. -if git rev-parse --verify --quiet $gnulib_commit^0 > /dev/null; then +if git rev-parse --verify --quiet $GNULIB_COMMIT^0 > /dev/null; then : else # We don't have the right commit yet, update Gnulib. - git fetch git://git.sv.gnu.org/gnulib.git +refs/heads/*:refs/remotes/gnulib/* + git fetch $GNULIB_REPO +refs/heads/*:refs/remotes/gnulib/* fi -git update-ref refs/builds/$buildnr/gnulib $gnulib_commit +git update-ref refs/builds/$BUILD_NUMBER/gnulib $GNULIB_COMMIT # Choose and create output directory. -test -z "$outdir" && outdir=build$buildnr +test -z "$outdir" && outdir=build$BUILD_NUMBER if test -e "$outdir" && test $overwrite = false; then exec >&2 AS_ERROR([$outdir exists and --force not specified$as_nl$help]) @@ -190,19 +191,28 @@ fi AS_MKDIR_P([$outdir]) # Make source tarballs. -git archive --format=tar --prefix=pspp-$pspp_commit/ $pspp_commit \ - | gzip > $outdir/pspp-$pspp_commit.tar.gz -git archive --format=tar --prefix=gnulib-$gnulib_commit/ $gnulib_commit \ - | gzip > $outdir/gnulib-$gnulib_commit.tar.gz +mkdir "$outdir/repo" +git archive --format=tar --prefix=pspp-$PSPP_COMMIT/ $PSPP_COMMIT \ + | gzip > $outdir/repo/pspp-$PSPP_COMMIT.tar.gz +git archive --format=tar --prefix=gnulib-$GNULIB_COMMIT/ $GNULIB_COMMIT \ + | gzip > $outdir/repo/gnulib-$GNULIB_COMMIT.tar.gz # Make build scripts. -sed < dist-pspp.in > "$outdir/dist-pspp" " -s,[@]PSPP_COMMIT[@],$pspp_commit,g -s,[@]GNULIB_COMMIT[@],$gnulib_commit,g -s,[@]BRANCH[@],$branch,g +for base in make-src-dist make-bin-dist; do + sed < $base.in > "$outdir/$base" " +s,[@]BUILD_NUMBER[@],$BUILD_NUMBER,g +s,[@]PSPP_REPO[@],$PSPP_REPO,g +s,[@]PSPP_BRANCH[@],$PSPP_BRANCH,g +s,[@]PSPP_COMMIT[@],$PSPP_COMMIT,g +s,[@]GNULIB_COMMIT[@],$GNULIB_COMMIT,g +s,[@]GNULIB_REPO[@],$GNULIB_REPO,g s,[@]CONFIGUREFLAGS[@],,g " -chmod +x "$outdir/dist-pspp" + chmod +x "$outdir/$base" +done -# Copy in scripts. -cp gendocs.sh gendocs_template gendocs_template_min "$outdir/" +# Copy in auxiliary files. +mkdir "$outdir/build-aux" +for base in gendocs.sh gendocs_template gendocs_template_min; do + cp "build-aux/$base" "$outdir/build-aux/" +done diff --git a/make-src-dist.as b/make-src-dist.as index 3d3f225a04..81d42eabe8 100644 --- a/make-src-dist.as +++ b/make-src-dist.as @@ -1,29 +1,34 @@ # -* autoconf -*- -BP_INIT([dist-pspp.log]) +BP_INIT -BP_SET_VAR([COMMIT], [@PSPP_COMMIT@]) +BP_INIT_RESULTS([source]) +BP_INIT_LOG([source/LOG]) + +BP_SET_VAR([BUILD_NUMBER], [@BUILD_NUMBER@]) +BP_SET_VAR([PSPP_REPO], [@PSPP_REPO@]) +BP_SET_VAR([PSPP_BRANCH], [@PSPP_BRANCH@]) +BP_SET_VAR([PSPP_COMMIT], [@PSPP_COMMIT@]) BP_SET_VAR([GNULIB_COMMIT], [@GNULIB_COMMIT@]) -BP_SET_VAR([BRANCH], [@BRANCH@]) +BP_SET_VAR([GNULIB_REPO], [@GNULIB_REPO@]) ABBREV_COMMIT=`expr "$COMMIT" : '\(......\)'` -BP_SET_VAR([ABBREV_COMMIT]) BP_START_STEP([Extracting Git sources]) -tar xzf pspp-$COMMIT.tar.gz +BP_RUN([(cd repo && zcat pspp-$PSPP_COMMIT.tar.gz | tar xf -) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Extract repository version number]) -(cd pspp-$COMMIT && autoconf -t AC_INIT) > tmp$$ -IFS=: read FILE LINE macro PACKAGE REPO_VERSION BUG_REPORT TARNAME URL < tmp$$ +BP_RUN([(cd repo/pspp-$PSPP_COMMIT && autoconf -t AC_INIT) >tmp$$ 2>&AS_MESSAGE_LOG_FD]) +BP_RUN([IFS=: read FILE LINE macro PACKAGE REPO_VERSION BUG_REPORT TARNAME URL &AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([rm tmp$$ >&AS_MESSAGE_LOG_FD 2>&1]) BP_SET_VAR([REPO_VERSION]) BP_START_STEP([Checking Automake mode]) -if grep gnits pspp-$COMMIT/Makefile.am >/dev/null 2>&1; then +if grep gnits repo/pspp-$PSPP_COMMIT/Makefile.am >/dev/null 2>&1; then AM_MODE=gnits else AM_MODE=gnu fi -BP_SET_VAR([AM_MODE]) BP_START_STEP([Generate build version number]) case $AM_MODE-$REPO_VERSION in # ( @@ -40,54 +45,55 @@ esac BP_SET_VAR([VERSION]) BP_START_STEP([Update version number in configure.ac]) -echo "AC_INIT([[$PACKAGE], [$VERSION], [$BUG_REPORT], [$TARNAME], [$URL]])" > tmp$$ +AS_ECHO(["AC_INIT([$PACKAGE], [$VERSION], [$BUG_REPORT], [$TARNAME], [$URL])]") > tmp$$ sed -n "${LINE}r tmp$$ -$LINE!p" < pspp-$COMMIT/$FILE > pspp-$COMMIT/$FILE.new -mv pspp-$COMMIT/$FILE.new pspp-$COMMIT/$FILE +$LINE!p" < repo/pspp-$PSPP_COMMIT/$FILE > repo/pspp-$PSPP_COMMIT/$FILE.new +mv repo/pspp-$PSPP_COMMIT/$FILE.new repo/pspp-$PSPP_COMMIT/$FILE BP_START_STEP([Updating NEWS]) { - sed -n '/^Changes/q;p' pspp-$COMMIT/NEWS + sed -n '/^Changes/q;p' repo/pspp-$PSPP_COMMIT/NEWS cat <<_BP_EOF Changes from $REPO_VERSION to $VERSION: - * Built from PSPP commit $COMMIT - in branch $BRANCH on host `hostname`. + * Built from PSPP commit $PSPP_COMMIT + in branch $PSPP_BRANCH from repository $PSPP_REPO. - * Built from Gnulib commit $GNULIB_COMMIT. + * Built from Gnulib commit $GNULIB_COMMIT + from repository $GNULIB_REPO. _BP_EOF - sed -n '/^Changes/,$p' pspp-$COMMIT/NEWS + sed -n '/^Changes/,$p' repo/pspp-$PSPP_COMMIT/NEWS } > NEWS.new -mv NEWS.new pspp-$COMMIT/NEWS +mv NEWS.new repo/pspp-$PSPP_COMMIT/NEWS BP_START_STEP([Extract Gnulib source]) -BP_RUN([tar xzf gnulib-$GNULIB_COMMIT.tar.gz >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd repo && zcat gnulib-$GNULIB_COMMIT.tar.gz | tar xf -) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Bootstrap (make -f Smake)]) -BP_RUN([(cd pspp-$COMMIT && make -f Smake GNULIB=../gnulib-$GNULIB_COMMIT) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd repo/pspp-$PSPP_COMMIT && make -f Smake GNULIB=../gnulib-$GNULIB_COMMIT) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Configure]) -AS_MKDIR_P([pspp-$COMMIT/_build]) -BP_RUN([(cd pspp-$COMMIT/_build && ../configure @CONFIGUREFLAGS@) >&AS_MESSAGE_LOG_FD 2>&1]) +mkdir repo/pspp-$PSPP_COMMIT/_dist +BP_RUN([(cd repo/pspp-$PSPP_COMMIT/_dist && ../configure @CONFIGUREFLAGS@) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Make source tarball]) -BP_RUN([(cd pspp-$COMMIT/_build && make dist) >&AS_MESSAGE_LOG_FD 2>&1]) -BP_MOVE_OUTPUT([source distribution], [pspp-$COMMIT/_build/pspp-$VERSION.tar.gz]) +BP_RUN([(cd repo/pspp-$PSPP_COMMIT/_dist && make dist) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_MOVE_OUTPUT([source distribution], [repo/pspp-$PSPP_COMMIT/_dist/pspp-$VERSION.tar.gz]) -potfile=pspp-$COMMIT/_build/po/pspp.pot +potfile=repo/pspp-$PSPP_COMMIT/_dist/po/pspp.pot if test ! -e $potfile; then - potfile=pspp-$COMMIT/po/pspp.pot + potfile=repo/pspp-$PSPP_COMMIT/po/pspp.pot fi BP_COPY_OUTPUT([translation templates], [$potfile]) BP_START_STEP([Build user manual]) -BP_RUN([(cd pspp-$COMMIT && cp _build/doc/*.texi doc/) >&AS_MESSAGE_LOG_FD 2>&1]) -BP_RUN([(cd pspp-$COMMIT && GENDOCS_TEMPLATE_DIR=.. ../gendocs.sh -s doc/pspp.texinfo -o results/user-manual --email bug-gnu-pspp@gnu.org pspp "GNU PSPP User Manual") >&AS_MESSAGE_LOG_FD 2>&1]) -BP_OUTPUT([User Manual], [user-manual]) +BP_RUN([(cd repo/pspp-$PSPP_COMMIT && cp _dist/doc/*.texi doc/) >&AS_MESSAGE_LOG_FD 2>&1]) +BP_RUN([(cd repo/pspp-$PSPP_COMMIT && GENDOCS_TEMPLATE_DIR=../../build-aux ../../build-aux/gendocs.sh -s doc/pspp.texinfo -o BP_RESULTS_DIR/user-manual --email bug-gnu-pspp@gnu.org pspp "GNU PSPP User Manual") >&AS_MESSAGE_LOG_FD 2>&1]) +BP_OUTPUT([User Manual], [repo/user-manual]) BP_START_STEP([Build developers guide]) -BP_RUN([(cd pspp-$COMMIT && GENDOCS_TEMPLATE_DIR=.. ../gendocs.sh -s doc/pspp-dev.texinfo -o results/dev-guide --email bug-gnu-pspp@gnu.org pspp-dev "GNU PSPP Developers Guide") >&AS_MESSAGE_LOG_FD 2>&1]) -BP_OUTPUT([Developers Guide], [dev-guide]) +BP_RUN([(cd repo/pspp-$PSPP_COMMIT && GENDOCS_TEMPLATE_DIR=../../build-aux ../../build-aux/gendocs.sh -s doc/pspp-dev.texinfo -o BP_RESULTS_DIR/dev-guide --email bug-gnu-pspp@gnu.org pspp-dev "GNU PSPP Developers Guide") >&AS_MESSAGE_LOG_FD 2>&1]) +BP_OUTPUT([Developers Guide], [repo/dev-guide]) BP_FINISH diff --git a/results2html b/results2html index 448d1e5e41..c6aaab634d 100755 --- a/results2html +++ b/results2html @@ -38,7 +38,6 @@ my (%vars) = read_vars ('VARS'); my (@products); my (@steps); -my ($new_page) = 0; my ($result) = "failure"; my (%dist_files); my ($dist_dir); @@ -47,13 +46,6 @@ while () { my $ln = $.; chomp; - if (/^ $/) { - $new_page = 1; - @dirstack = (); - print LOG_HTML "
\n";
-	next;
-    }
-
     if (/Entering directory `(.*)'$/) {
         push (@dirstack, $1);
     } elsif (/Leaving directory `(.*)'$/) {
@@ -61,10 +53,9 @@ while () {
     }
 
     my $log_class;
-    if ($new_page) {
-	$new_page = 0;
+    if (my ($title) = /^## (.*) ##$/) {
 	$log_class = "step";
-	if (my ($name, $product) = /^Saving(?:\s+([^:]*):)?\s+(.*)$/) {
+	if (my ($name, $product) = $title =~ /^Saving(?:\s+([^:]*):)?\s+(.*)$/) {
 	    my $href = "$product/index.html";
 	    $href = $product if ! -e $href;
 
@@ -88,13 +79,14 @@ while () {
 		}
 		close (DIST);
 	    }
-	} else {
+	} elsif ($title eq 'Success') {
+	    $result = 'success';
+	} elsif ($title !~ /^-+$/) {
 	    my (%s);
-	    $s{TITLE} = $_;
+	    $s{TITLE} = $title;
 	    $s{LN} = $ln;
 	    push (@steps, \%s);
 	}
-	$result = 'success' if $_ eq 'Success';
     } else {
 	if (my ($diagnostic) = /(error|warning):/i) {
 	    my (%d);
-- 
2.30.2