# -* autoconf -*- BP_INIT 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([GNULIB_REPO], [@GNULIB_REPO@]) ABBREV_COMMIT=`expr "$PSPP_COMMIT" : '\(......\)'` BP_START_STEP([Extracting Git sources]) 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]) 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 repo/pspp-$PSPP_COMMIT/Makefile.am >/dev/null 2>&1; then AM_MODE=gnits else AM_MODE=gnu fi BP_START_STEP([Generate build version number]) case $AM_MODE-$REPO_VERSION in # ( gnits-*-*) # We want to append -g012345, but we're in Gnits mode and the # version number already has a hyphen, so we have to omit the # second hyphen. VERSION="$REPO_VERSIONg$ABBREV_COMMIT" ;; # ( *) VERSION="$REPO_VERSION-g$ABBREV_COMMIT" ;; esac BP_SET_VAR([VERSION]) BP_START_STEP([Update version number in configure.ac]) AS_ECHO(["AC_INIT([$PACKAGE], [$VERSION], [$BUG_REPORT], [$TARNAME], [$URL])]") > tmp$$ BP_RUN([sed -n "${LINE}r tmp$$ $LINE!p" < repo/pspp-$PSPP_COMMIT/$FILE > repo/pspp-$PSPP_COMMIT/$FILE.new 2>&AS_MESSAGE_LOG_FD]) BP_RUN([mv repo/pspp-$PSPP_COMMIT/$FILE.new repo/pspp-$PSPP_COMMIT/$FILE >&AS_MESSAGE_LOG_FD 2>&1]) BP_RUN([rm tmp$$ >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Updating NEWS]) { sed -n '/^Changes/q;p' repo/pspp-$PSPP_COMMIT/NEWS cat <<_BP_EOF Changes from $REPO_VERSION to $VERSION: * Built from PSPP commit $PSPP_COMMIT in branch $PSPP_BRANCH from repository $PSPP_REPO. * Built from Gnulib commit $GNULIB_COMMIT from repository $GNULIB_REPO. _BP_EOF sed -n '/^Changes/,$p' repo/pspp-$PSPP_COMMIT/NEWS } > NEWS.new mv NEWS.new repo/pspp-$PSPP_COMMIT/NEWS BP_START_STEP([Extract Gnulib source]) 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 repo/pspp-$PSPP_COMMIT && make -f Smake GNULIB=../gnulib-$GNULIB_COMMIT) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Configure]) mkdir repo/pspp-$PSPP_COMMIT/_dist BP_RUN([(cd repo/pspp-$PSPP_COMMIT/_dist && ../configure) >&AS_MESSAGE_LOG_FD 2>&1]) BP_START_STEP([Make source tarball]) 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=repo/pspp-$PSPP_COMMIT/_dist/po/pspp.pot if test ! -e $potfile; then potfile=repo/pspp-$PSPP_COMMIT/po/pspp.pot fi BP_COPY_OUTPUT([translation templates], [$potfile]) BP_START_STEP([Build 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 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