# -* autoconf -*- BP_INIT([dist-pspp.log]) BP_SET_VAR([COMMIT], [@PSPP_COMMIT@]) BP_SET_VAR([GNULIB_COMMIT], [@GNULIB_COMMIT@]) BP_SET_VAR([BRANCH], [@BRANCH@]) ABBREV_COMMIT=`expr "$COMMIT" : '\(......\)'` BP_SET_VAR([ABBREV_COMMIT]) BP_START_STEP([Extracting Git sources]) tar xzf pspp-$COMMIT.tar.gz 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_SET_VAR([REPO_VERSION]) BP_START_STEP([Checking Automake mode]) if grep gnits 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 # ( 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]) 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 BP_START_STEP([Updating NEWS]) { sed -n '/^Changes/q;p' 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 Gnulib commit $GNULIB_COMMIT. _BP_EOF sed -n '/^Changes/,$p' pspp-$COMMIT/NEWS } > NEWS.new mv NEWS.new 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_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_START_STEP([Configure]) AS_MKDIR_P([pspp-$COMMIT/_build]) BP_RUN([(cd pspp-$COMMIT/_build && ../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]) potfile=pspp-$COMMIT/_build/po/pspp.pot if test ! -e $potfile; then potfile=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_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_FINISH