X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=make-bin-dist.as;fp=make-bin-dist.as;h=295b498a1661c1fbb906c14ef4f789eac27c8960;hb=8e8f500a7d956de742daa3a7709ef815d6ce10b6;hp=742f2bf8d7ade8d8ca168eaa3865c07ba139c90d;hpb=48f7e96652a19782e340a0c20eaa0bc984139073;p=pspp 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