summaryrefslogtreecommitdiffstats
path: root/bin/snapshot
diff options
context:
space:
mode:
Diffstat (limited to 'bin/snapshot')
-rwxr-xr-xbin/snapshot837
1 files changed, 0 insertions, 837 deletions
diff --git a/bin/snapshot b/bin/snapshot
deleted file mode 100755
index 7fcf3ab..0000000
--- a/bin/snapshot
+++ /dev/null
@@ -1,837 +0,0 @@
-#!/bin/sh
-#
-# Copyright by The HDF Group.
-# Copyright by the Board of Trustees of the University of Illinois.
-# All rights reserved.
-#
-# This file is part of HDF5. The full HDF5 copyright notice, including
-# terms governing use, modification, and redistribution, is contained in
-# the COPYING file, which can be found at the root of the source code
-# distribution tree, or in https://www.hdfgroup.org/licenses.
-# If you do not have access to either file, you may request a copy from
-# help@hdfgroup.org.
-
-# This script should be run nightly from cron. It checks out the source
-# from the source repository and compares it against the previous
-# snapshot. If anything significant changed then a new snapshot is
-# created, the minor version number is incremented, and the change is
-# checked back into the source repository.
-#
-
-
-# function definitions
-TIMESTAMP()
-{
- echo "=====" "$1": "`date`" "====="
-}
-
-EXIT_BANNER()
-{
- TIMESTAMP "Exit $PROGNAME with status=$?"
-}
-
-# Show current total disk usage.
-DISKUSAGE()
-{
- du -ks | \
- ( read x y; echo "Disk Usage=$x KB" )
-}
-
-# function provided for testing software downloaded as tar files. A version of
-# this function that properly extracts the downloaded files can be provided in
-# the snapshots-${sw}-overrides file.
-EXTRACT()
-{
- echo "Error: ${SWVERSION} is in source repository - does not need extraction."
-}
-
-# Standard procedure for checking out or updating source code from an hdfgroup
-# git repository. Override the function for other repositories or procedures.
-SOURCE_CHECKOUT()
-{
- if test -n $GIT_URL; then
- if [ -n "$AUTOGEN" ]; then
- echo "Creating fresh clone of $GIT_URL in $BASEDIR/current_src"
- # Check out the current version from source repository.
- (cd $BASEDIR; rm -rf current_src
- if test -z $GIT_BRANCH; then
- echo "Testing empty branch $GIT_BRANCH."
- git clone $GIT_URL current_src
- else
- echo "Testing branch $GIT_BRANCH."
- git clone $GIT_URL -b $GIT_BRANCH current_src
- fi
- ) || exit 1
- else
- echo "Creating fresh clone of $GIT_URL in $BASEDIR/current"
- # Check out the current version from source repository.
- (cd $BASEDIR; rm -rf current
- if test -n $GIT_BRANCH; then
- git clone $GIT_URL -b $GIT_BRANCH current
- else
- git clone $GIT_URL current
- fi ) || exit 1
- fi
- else
- echo "Warning! Source directory ("current") is not checked out from git."
- fi
-}
-
-# Standard procedure for running the configure command in a build (test)
-# directory
-RUNCONFIGURE()
-{
- if [ "${CURRENT}" != "${TESTDIR}" -a "$CPSRC" = "yes" ]; then
- echo "Copying source files to ${TESTDIR}."
- cp -pr ${CURRENT}/* ${TESTDIR}
- cd ${TESTDIR}
- ./${CONFIGURE}
- elif [ -n "${AUTOGEN}" ]; then
- ${CURRENTSRC}/${CONFIGURE}
- else
- ${CURRENT}/${CONFIGURE}
- fi
-}
-
-# Sometimes "make distclean" doesn't adequately remove files from the previous
-# build. If a build (test) directory was used, its contents can be entirely
-# deleted to provide a clean start. If the test is building in the source
-# directory, the contents can't be deleted, so run "make distclean".
-DISTCLEAN()
-{
- if [ "${srcdir}" = "yes" -a -n "${SRCDIRNAME}" -a -d ${BASEDIR}/TestDir/${SRCDIRNAME} ]; then
- echo "Remove contents of $SRCDIRNAME.\n"
- rm -rf ${BASEDIR}/TestDir/${SRCDIRNAME}/*
- else
- echo "$MAKE distclean"
- (cd ${TESTDIR} && ${MAKE} distclean)
- fi
-}
-
-# Several of the software packages tested do not support make check-install.
-# Those that support it should have a version of this function in their
-# override with the following lines:
-# TIMESTAMP "check-install $1"
-# ${MAKE} check-install $1
-CHECKINSTALL()
-{
- echo "check-install is not supported for ${SWVERSION}"
-}
-
-# Function for hdf4 and hdf5 to override to check in changes after snapshot.
-# Safety measure to avoid unintended checkins to other repositories.
-COMMITSNAPSHOT()
-{
- echo "original hdf5 script committed code changes back into git."
-}
-
-DISPLAYUSAGE()
-{
- set -
- cat <<EOF
-Usage: $PROGNAME [all] [checkout] [ftp <URL> [diff] [test] [srcdir] [release] [help]
- [clean] [distclean] [echo] [deploy <dir>] [deploydir <dir>]
- [zlib <zlib_path>] [releasedir <dir>] [srcdirname <dir>] [check-vfd]
- [check-passthrough-vol]
- [exec <command>] [module-load <module-list>] [op-configure <option>]
- [--<option>]
- all: Run all commands (checkout, test & release)
- [Default is all]
- checkout: Run source checkout
- diff: Run diff on current and previous versions. Exit 0 if
- no significant differences are found. Otherwise, non-zero.
- deploy: deploy binary to directory <dir>
- deploydir: use <dir> as the default directory for deployment
- test: Run test
- release: Run release
- clean: Run make clean
- distclean:Run make distclean
- echo: Turn on echo mode (set -x)
- setenv <name> <value>:
- Set environment variable <name> to <value>.
- setenvN <N> <name> <value> ...:
- Set environment variable with <N> values.
- E.g., setenvN 3 x a b c is same as setenv x="a b c".
- srcdir: Use srcdir option (does not imply other commands)
- "snapshot srcdir" is equivalent to "snapshot srcdir all"
- "snapshot srcdir checkout" is equivalent to "snapshot checkout"
- srcdirname <dir>:
- Use <dir> as the srcdir testing directory if srcdir is chosen.
- If <dir> starts with '-', it is append to the default name
- E.g., "snapshot srcdir srcdirname -xx" uses hostname-xx
- [Default is hostname]
- help: Print this message
- echo: Turn on shell echo
- zlib <zlib_path>:
- Use <zlib_path> as the ZLIB locations
- [Default is $ZLIB_default]
- releasedir <dir>:
- Use <dir> as the release directory
- [Default is $ReleaseDir_default]
- check-vfd:
- Run make check-vfd instead of just make check.
- check-passthrough-vol:
- Run make check-passthrough-vol instead of just make check.
- NOTE: Will only succeed with passthrough VOL connectors
- that use the native VOL connector as the terminal
- connector.
- exttest <testscript>;
- Run testscript;
- exec <command>:
- Run <command>;
- module-load <module-list>:
- Load modules in comma-separated <module-list>;
- op-configure <option>:
- Pass <option> to the configure command
- E.g., "snapshot op-configure --enable-parallel"
- configures for parallel mode
- --<option>:
- Pass --<option> to the configure command
- E.g., "snapshot --enable-parallel"
- configures for parallel mode
-EOF
- exit $errcode
-}
-
-# MAIN
-# SGI /bin/sh replaces $0 as function name if used in a function.
-# Set the name here to avoid that ambiguity and better style too.
-PROGNAME=$0
-SNAPSHOTNAME=
-HDFREPOS=
-DOCVERSION=""
-MODULELIST=""
-
-if [ -f bin/snapshot_params ]; then
- . bin/snapshot_params
- echo "Added snapshot_params."
-fi
-if [ -z "$SWVER" -a -f bin/snapshot_version ]
-then
- . bin/snapshot_version
- echo "Added snapshot_version."
-fi
-if [ -n ${HDFREPOS} -a -f bin/snapshot-${HDFREPOS}-overrides ]; then
- . bin/snapshot-${HDFREPOS}-overrides
- echo "Added snapshot-${HDFREPOS}-overrides."
-fi
-
-echo "====================================="
-echo "$PROGNAME $*"
-echo "====================================="
-TIMESTAMP MAIN
-uname -a
-
-# setup exit banner message
-trap EXIT_BANNER 0 1 2 9 15
-
-# Dump environment variables before option parsing
-echo ===Dumping environment variables before option parsing ===
-printenv | sort
-echo ===Done Dumping environment variables before option parsing ===
-
-# snapshots release directory. Default relative to $BASEDIR.
-ReleaseDir_default=release_dir
-
-# Where is the zlib library?
-# At NCSA, half of the machines have it in /usr/lib, the other half at
-# /usr/ncsa/lib. Leave it unset.
-ZLIB_default=
-ZLIB=$ZLIB_default
-
-# What compression methods to use? (md5 does checksum). Doc was apparently
-# added as a compression method to create a separate tarfile containing the
-# documentation files for v 1.8 and above.
-if [ "${SWVERSION}" = "hdf5_1_6" ]; then
- METHODS="gzip bzip2 md5"
-else
- METHODS="gzip bzip2 doc"
-fi
-
-# Use User's MAKE if set. Else use generic make.
-MAKE=${MAKE:-make}
-
-# Default check action.
-CHECKVAL=check
-
-#
-# Command options
-cmd="all"
-test_opt=""
-errcode=0
-AUTOGEN=""
-EXTTEST=""
-EXEC_CMD_ARG=""
-while [ $# -gt 0 ] ; do
- case "$1" in
- all)
- cmd="all"
- ;;
- checkout-autogen)
- cmdcheckout="checkout"
- AUTOGEN="autogen"
- cmd=""
- ;;
- checkout)
- cmdcheckout="checkout"
- cmd=""
- ;;
- ftp)
- echo "Setting ftp flags in snapshot script"
- cmdcheckout="checkout"
- cmdftp="ftp"
- cmd=""
- shift
- if [ $# -lt 1 ]; then
- echo "URL missing"
- errcode=1
- cmd="help"
- break
- fi
- ftp_url="$1"
- echo "ftp_url is $ftp_url"
- ;;
- diff)
- cmddiff="diff"
- cmd=""
- ;;
- deploy)
- # deploy the built binary.
- shift
- if [ $# -lt 1 ]; then
- echo "deploy <dir> missing"
- errcode=1
- cmd="help"
- break
- fi
- cmddeploy="deploy"
- DEPLOYDIRNAME="$1"
- ;;
- deploydir)
- # default directory for deployment.
- shift
- if [ $# -lt 1 ]; then
- echo "deploydir <dir> missing"
- errcode=1
- cmd="help"
- break
- fi
- deploydir="$1"
- ;;
- test)
- cmdtest="test"
- cmd=""
- ;;
- setenv)
- # set environment variable
- shift
- eval $1="$2"
- export $1
- shift
- ;;
- setenvN)
- # set environment variable with $1 values
- # e.g., setenvN 3 x a b c is same as setenv x="a b c".
- # a kludge now--the extra single quotes are needed
- # else eval complains.
- shift
- envN=$1
- shift
- envname=$1
- envalue=
- while test $envN -gt 0; do
- shift
- envalue="$envalue $1"
- envN=`expr $envN - 1`
- done
- eval $envname="'$envalue'"
- export $envname
- ;;
- srcdir)
- #use srcdir option for test
- srcdir="yes"
- ;;
- srcdirname)
- shift
- if [ $# -lt 1 ]; then
- echo "srcdirname <dir> missing"
- errcode=1
- cmd="help"
- break
- fi
- SRCDIRNAME="$1"
- ;;
- release)
- cmdrel="release"
- cmd=""
- ;;
- autogen-release)
- cmdrel="autogen-release"
- cmd=""
- ;;
- clean | distclean)
- cmdclean="$1"
- cmd=""
- ;;
- help)
- cmd="help"
- break
- ;;
- echo)
- set -x
- break
- ;;
- zlib)
- shift
- if [ $# -lt 1 ]; then
- echo "ZLIB information missing"
- errcode=1
- cmd="help"
- break
- fi
- ZLIB="$1"
- ;;
- releasedir)
- shift
- if [ $# -lt 1 ]; then
- echo "Release directory name missing"
- errcode=1
- cmd="help"
- break
- fi
- ReleaseDir="$1"
- ;;
- exttest)
- shift
- if [ $# -lt 1 ]; then
- echo "exttest script name missing"
- errcode=1
- cmd="help"
- break
- fi
- cmd=""
- EXTTEST="$1"
- ;;
- exec)
- shift
- if [ $# -lt 1 ]; then
- echo "exec command name missing"
- errcode=1
- cmd="help"
- break
- fi
- cmd=""
- EXEC_CMD_ARG="$@"
- # exit the parsing while loop since all arguments have been consumed.
- break
- ;;
- check-vfd)
- CHECKVAL=check-vfd
- ;;
- check-passthrough-vol)
- CHECKVAL=check-passthrough-vol
- ;;
- module-load)
- shift
- if [ $# -lt 1 ]; then
- echo "missing module list to load"
- errcode=1
- cmd="help"
- break
- fi
- MODULELIST="$1"
- ;;
- --*)
- OP_CONFIGURE="$OP_CONFIGURE $1"
- ;;
- op-configure)
- shift
- if [ $# -lt 1 ]; then
- echo "op-configure option missing"
- errcode=1
- cmd="help"
- break
- fi
- OP_CONFIGURE="$OP_CONFIGURE $1"
- ;;
- *)
- echo "Unknown option $1"
- errcode=1
- cmd="help"
- break
- ;;
- esac
- shift
-done
-
-if [ -n "$MODULELIST" ]; then
- . ~/.bashrc
- module use /opt/pkgs/modules/all
- # load module command will take a space separated list of modules.
- # If we have a comma separated list, convert ',' to ' '.
- MODULELIST="$( echo -e "$MODULELIST" | tr ',' ' ' )"
- module load $MODULELIST
-fi
-
-# Dump environment variables after option parsing
-echo ===Dumping environment variables after option parsing ===
-printenv | sort
-echo ===Done Dumping environment variables after option parsing ===
-
-if [ "$cmd" = help ]; then
- DISPLAYUSAGE
-fi
-
-# Setup the proper configure option (--with-zlib) to use zlib library
-# provide ZLIB is non-empty.
-ZLIB=${ZLIB:+"--with-zlib="$ZLIB}
-# Adding --prefix as a configure option will put the path to the deploy
-# directory in the initial libhdf5*.la files
-if [ -n "$DEPLOYDIRNAME" ]; then
- OP_CONFIGURE="$OP_CONFIGURE --prefix=${deploydir}/${DEPLOYDIRNAME}"
-fi
-CONFIGURE="configure $OP_CONFIGURE"
-# echo "Configure command is $CONFIGURE"
-
-# Execute the requests
-snapshot=yes
-
-BASEDIR=${HOME}/snapshots-${SNAPSHOTNAME}
-if [ ! -d ${BASEDIR} ]; then
- echo "BASEDIR ($BASEDIR) does not exist"
- exit 1
-fi
-
-CURRENT=${BASEDIR}/current
-PREVIOUS=${BASEDIR}/previous
-ReleaseDir=${ReleaseDir:=${BASEDIR}/${ReleaseDir_default}}
-HOSTNAME=`hostname | cut -f1 -d.` # no domain part
-
-# Try finding a version of diff that supports the -I option too.
-DIFF=diff
-for d in `echo $PATH | sed -e 's/:/ /g'` ; do
- test -x $d/diff && $d/diff -I XYZ /dev/null /dev/null > /dev/null 2>&1 &&
- DIFF=$d/diff && break
-done
-
-#=============================
-# Run source checkout
-#=============================
-if [ "$cmd" = "all" -o -n "$cmdcheckout" ]; then
- TIMESTAMP "checkout"
- # ${BASEDIR}/bin is now updated from git by EveningMaint or DailyMaint
- # to avoid updating the scripts in ${BASEDIR}/bin while they are running.
-
- if [ -z "$AUTOGEN" ]; then
- # If there is a Makefile in ${CURRENT}, the last test done in it
- # has not been distclean'ed. They would interfere with other
- # --srcdir build since make considers the files in ${CURRENT}
- # take precedence over files in its own build-directory. Run
- # a "make distclean" to clean them all out. This is not really
- # part of the "checkout" functions but this is the most convenient
- # spot to do the distclean. We will also continue the checkout process
- # regardless of the return code of distclean.
- ( cd ${CURRENT}; test -f Makefile && ${MAKE} distclean)
- fi
- # echo "cmdftp is $cmdftp; ftp_url is $ftp_url"
- if [ -n "$cmdftp" ]; then
- echo "Get the NetCDF4 source from their ftp server."
- echo "Command executed is: 2>&1 wget -N $ftp_url"
- cd ${BASEDIR};
- WGET_OUTPUT="`2>&1 wget -N $ftp_url`"
- errcode=$?
- if [[ $errcode -ne 0 ]]; then
- exit $errcode
- fi
-
- if [ $? -ne 0 ];then
- echo $0: "$WGET_OUTPUT" Exiting.
- exit 1
- fi
-
- # echo "Wget output was $WGET_OUTPUT"
-
- if echo "$WGET_OUTPUT" | fgrep 'not retrieving' &> /dev/null
- then
- echo "Snapshot unchanged"
- else
- echo "New snapshot downloaded"
- EXTRACT
- fi
- else
- SOURCE_CHECKOUT
- fi
-fi # Do source checkout
-
-
-#=============================
-# Run Test the HDF5 library
-#=============================
-if [ "$cmd" = "all" -o -n "$cmdtest" -o -n "$cmddiff" ]; then
- TIMESTAMP "Run Tests"
- # setup if srcdir is used.
- if [ -z "$srcdir" ]; then
- TESTDIR=${CURRENT}
- else
- #create TESTDIR if not exist yet
- case "$SRCDIRNAME" in
- "")
- SRCDIRNAME=$HOSTNAME
- ;;
- -*)
- SRCDIRNAME="$HOSTNAME$SRCDIRNAME"
- ;;
- esac
- TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
- test -d ${TESTDIR} || mkdir ${TESTDIR}
- # set TESTDIR to use the direct path to the local test directory
- # rather than the path through ${BASEDIR}.
- cd ${TESTDIR}
- TESTDIR=`pwd -P`
- cd ${CURRENT}
- fi
- # Make sure current version exists and is clean
- if [ -d ${TESTDIR} ]; then
- DISTCLEAN
- else
- errcode=$?
- snapshot=no
- exit $errcode
- fi
-
- # Compare it with the previous version. Compare only files listed in
- # the MANIFEST plus the MANIFEST itself.
- if [ -d ${PREVIOUS} ]; then
- if [ -z "${AUTOGEN}" ]; then
- CURRENTSRC=${CURRENT}
- else
- CURRENTSRC=${BASEDIR}/current_src
- fi
- if (${DIFF} -c ${PREVIOUS}/MANIFEST ${CURRENTSRC}/MANIFEST); then
- snapshot=no
- for src in `grep '^\.' ${CURRENTSRC}/MANIFEST|expand|cut -f1 -d' '`; do
- if ${DIFF} -I H5_VERS_RELEASE -I " released on " \
- -I " currently under development" \
- ${PREVIOUS}/$src ${CURRENTSRC}/$src
- then
- : #continue
- else
- snapshot=yes
- break
- fi
- done
- fi
- fi
-
- # if diff is chosen, exit 0 if no significant differences are found.
- # otherwise, exit 1. This includes cases of other failures.
- if [ -n "$cmddiff" ]; then
- if [ $snapshot = no ]; then
- exit 0
- else
- exit 1
- fi
- fi
-
- #=============================
- # Execute command if defined
- #=============================
- #echo BEFORE EXEC command
- #echo EXEC_CMD_ARG=${EXEC_CMD_ARG}
-
- if [ -n "$EXEC_CMD_ARG" ]; then
- TIMESTAMP ${EXEC_CMD_ARG}
- TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
- test -d ${TESTDIR} || mkdir ${TESTDIR}
- if cd ${TESTDIR}; then
- # clean up the directory before executing the command
- # Do we need to clean first?
- # rm -rf *
- #
- # If EXEC_CMD_ARG starts with a '/', it has an absolute path, else it is
- # relative to the BASEDIR.
- case "$EXEC_CMD_ARG" in
- /*)
- ${EXEC_CMD_ARG}
- ;;
- *)
- ${BASEDIR}/${EXEC_CMD_ARG}
- ;;
- esac
- errcode=$?
- else
- echo "${TESTDIR} not accessible"
- errcode=1
- fi
- # exit snapshot since nothing else to do, for now.
- exit $errcode
- fi
-
- # Build, run tests and install procedures
- if [ "$snapshot" = "yes" ] && [ "$NOMAKE" != "yes" ]; then
- FAIL_SECTION=""
- if [ -f ${TESTDIR}/failsection ]; then
- rm ${TESTDIR}/failsection
- fi
- if (cd ${TESTDIR} && \
- TIMESTAMP "configure" && echo "configure" > ${TESTDIR}/failsection && \
- RUNCONFIGURE && \
- sleep 2 && \
- TIMESTAMP "make" && echo "make" > ${TESTDIR}/failsection && \
- ${MAKE} && DISKUSAGE \
- TIMESTAMP ${CHECKVAL} && echo "make check" > ${TESTDIR}/failsection && \
- ${MAKE} ${CHECKVAL} && DISKUSAGE \
- TIMESTAMP "install" && echo "make install" > ${TESTDIR}/failsection && \
- ${MAKE} install && DISKUSAGE \
- TIMESTAMP "check-install" && echo "make check-install" > ${TESTDIR}/failsection && \
- CHECKINSTALL && DISKUSAGE \
- TIMESTAMP "uninstall" && echo "make uninstall" > ${TESTDIR}/failsection && \
- ${MAKE} uninstall && DISKUSAGE); then
- :
- else
- errcode=$?
- FAIL_SECTION=`cat ${TESTDIR}/failsection`
- echo "Failed running ${FAIL_SECTION}"
- snapshot=no
- exit $errcode
- fi
- elif [ $CPSRC ]; then
- cp -pr ${CURRENT}/* ${TESTDIR}
- else
- cmdclean=""
- fi
-fi # Test the HDF5 library
-
-# Run external test if configured
-
-#=============================
-#=============================
-#if [ -d "$CURRENT" ]; then
-if [ "$EXTTEST" != "" ]; then
- TIMESTAMP ${EXTTEST}
- TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
- test -d ${TESTDIR} || mkdir ${TESTDIR}
- cd ${TESTDIR}
- sleep 1
- TIMESTAMP $pwd
- ls
- ${BASEDIR}/${EXTTEST}
- errcode=$?
- exit $errcode
-fi
-
-#=============================
-# Run deployment if requested.
-#=============================
-if [ -n "$DEPLOYDIRNAME" ]; then
- # The daily tests deploy to .../hdf5/... or .../hdf4/... except on cobalt where the
- # deploy directory is in .../HDF5/... lc will take care of this. If hdf4 or hdf5
- # either upper or lower case isn't in the path, RELEASE.txt won't be found unless
- # it is in $CURRENT.
- POS4=`perl -e "print index(lc(\"${deploydir}/${DEPLOYDIRNAME}\"), 'hdf4')"`
- POS5=`perl -e "print index(lc(\"${deploydir}/${DEPLOYDIRNAME}\"), 'hdf5')"`
- if [ "${POS4}" -ge "0" ]; then
- RELEASE_TXT_LOC="release_notes"
- elif [ "${POS5}" -ge "0" ]; then
- RELEASE_TXT_LOC="release_docs"
- else
- RELEASE_TXT_LOC=""
- fi
-
- if [ "$snapshot" = "yes" ]; then
- TIMESTAMP "deploy"
- if (cd ${TESTDIR} &&
- ${BASEDIR}/bin/deploy ${deploydir}/${DEPLOYDIRNAME} && \
- TIMESTAMP "clean" && \
- ${MAKE} clean && \
- TIMESTAMP "check-install prefix=${deploydir}/${DEPLOYDIRNAME}" && \
- CHECKINSTALL prefix=${deploydir}/${DEPLOYDIRNAME}); then
- cd ${CURRENT}
- cp ${RELEASE_TXT_LOC}/RELEASE.txt ${deploydir}/${DEPLOYDIRNAME}
- cp COPYING ${deploydir}/${DEPLOYDIRNAME}
- #: #continue
- else
- errcode=$?
- exit $errcode
- fi
- fi
-fi # Deploy
-
-
-#=============================
-# Run Release snapshot, update version, and commit to source repository
-#=============================
-if [ "$cmd" = "all" -o -n "$cmdrel" ]; then
- if [ "$snapshot" = "yes" ]; then
- TIMESTAMP "release"
- DISTCLEAN
- (
- # Turn on exit on error in the sub-shell so that it does not
- # commit source if errors encounter here.
- set -e
- if [ "$cmdrel" = "autogen-release" ]; then
- cd ${BASEDIR}/current_src
- else
- cd ${CURRENT}
- fi
- if [ "$HDFREPOS" = "hdf4" ]; then
- RELEASE_VERSION="`perl bin/h4vers -v`"
- echo "Making snapshot release ($RELEASE_VERSION) to ${ReleaseDir}..."
- bin/release -d $ReleaseDir $METHODS
- perl bin/h4vers -i
- elif [ "$HDFREPOS" = "hdf5" ]; then
- RELEASE_VERSION="`perl bin/h5vers -v`"
- echo "Making snapshot release ($RELEASE_VERSION) to ${ReleaseDir}..."
- if [ "${DOCVERSION}" ]; then
- bin/release -d $ReleaseDir --docver ${DOCVERSION} $METHODS
- else
- bin/release -d $ReleaseDir $METHODS
- fi
- perl bin/h5vers -i
- else
- echo "need real release steps. For now, only move current version to previous"
- fi
- COMMITSNAPSHOT
- )
- errcode=$?
- fi
-
- # Replace the previous version with the current version.
- # Should check if the errcode of the release process but there
- # are other failures after release was done (e.g. h5vers or git failures)
- # that should allow the replacement to occur.
- rm -rf ${PREVIOUS}
- mv ${CURRENT} ${PREVIOUS}
-fi #Release snapshot
-
-
-#=============================
-# Clean the test area. Default is no clean.
-#=============================
-if [ -n "$cmdclean" ] && [ "$NOMAKE" != "yes" ]; then
- TIMESTAMP "clean"
- # setup if srcdir is used.
- if [ -z "$srcdir" ]; then
- TESTDIR=${CURRENT}
- else
- case "$SRCDIRNAME" in
- "")
- SRCDIRNAME=$HOSTNAME
- ;;
- -*)
- SRCDIRNAME="$HOSTNAME$SRCDIRNAME"
- ;;
- esac
- TESTDIR=${BASEDIR}/TestDir/${SRCDIRNAME}
- fi
- # clean it
- if (cd ${TESTDIR} && ${MAKE} $cmdclean ) then
- :
- else
- errcode=$?
- snapshot=no
- exit $errcode
- fi
-fi # Clean the Test directory
-
-exit $errcode