hdf5/bin/release
Robb Matzke 1e38c13785 [svn-r633] Changes since 19980828
----------------------

./RELEASE
	Updated with important changes I made since the second beta.

./src/H5A.c
./src/H5D.c
./src/H5Dprivate.h
./src/H5G.c
./src/H5Gprivate.h
./src/H5R.c
./src/H5Rprivate.h
./src/H5T.c
./src/H5Tprivate.h
	Any API function that used to take an `hid_t loc_id' followed
	by a `const char *name' can now take any type of object for
	the loc_id as long as the object is somehow associated with a
	file. Internally, H5G_loc() was modified to return an
	H5G_entry_t* instead of an H5G_t* so it's more general.

	Among other things, this allows one to retrieve information
	about an object like a named type or dataset without knowing
	the name of the type or dataset:

	    int
	    get_nlinks (hid_t obj)
	    {
	        H5G_stat_t	sb;
		if (H5Gstat(obj, ".", TRUE, &sb)<0) return -1;
		return sb.nlink;
	    }

./test/gheap.c
./test/istore.c
	These files needed a couple of changes because they call some
	of the internal functions whose H5G_t arguments changed to
	H5G_entry_t.

./src/H5A.c
	Got rid of all the switch statements for getting symbol table
	entries for varous objects and replaced them with a call to
	H5G_loc() allowing attributes to automatically apply to any
	type of object that belongs to a file.

./test/Makefile.in
	Moved the ragged array tests from the normal list of tests to
	the `make timings' target.

./test/ragged.c
	Added rewrite tests -- rewrite the rows of a dataset changing
	the number of rows and the length of each row.

./test/mtime.c
	Added a test that checks that H5Gstat() can be called with a
	dataset as the first argument.

./src/H5S.c
	Added #ifdef HAVE_PARALLEL around code to check for the
	HDF5_MPI_OPT_TYPES environment variable because the global
	variable that gets set is #ifdef'd.

./bin/release
	bzip2 uses .bz2 as the file extension.
1998-08-31 08:46:47 -05:00

133 lines
3.3 KiB
Bash
Executable File

#!/bin/sh
# Make a release of hdf5. The command-line switches are:
#
# -d DIR The name of the directory where the releas(es) should be
# placed. By default, the directory is ./releases
#
# The other command-line options are the names of the programs to use
# for compressing the resulting tar archive (if none are given then
# `tar' is assumed):
#
# tar -- use tar and don't do any compressing.
# compress -- use compress and append `.Z' to the output name.
# gzip -- use gzip with `-9' and append `.gz' to the output name.
# bzip2 -- use bzip2 with `-9' and append `.bz2' to the output name.
#
# Examples:
#
# $ release
# releases/hdf5-1.0.38.tar
#
# $ release gzip
# releases/hdf5-1.0.38.tar.gz
#
# $ release -d /tmp tar compress gzip bzip2
# /tmp/hdf5-1.0.38.tar
# /tmp/hdf5-1.0.38.tar.Z
# /tmp/hdf5-1.0.38.tar.gz
# /tmp/hdf5-1.0.38.tar.bz2
#
# Defaults
DEST=releases
VERS=`bin/h5vers`
test "$VERS" || exit 1
verbose=yes
# Command-line arguments
if [ "X$1" = "X-d" ]; then
DEST="$2"
shift
shift
fi
methods="$*"
if [ "X$methods" = "X" ]; then
methods=tar
fi
test "$verbose" && echo "Releasing hdf5-$VERS to $DEST" 1>&2
if [ ! -d $DEST ]; then
echo " Destination directory $DEST does not exist" 1>&2
exit 1
fi
# Check that all the files in MANIFEST exist and that (if this is a
# CVS checkout) that all the CVS-managed files appear in the
# MANIFEST.
test "$verbose" && echo " Checking manifest..." 1>&2
test -f MANIFEST || exit 1
for file in `cat MANIFEST`; do
if [ ! -f $file ]; then
echo "- $file"
fail=yes
fi
done
for cvs in `find . -type d -name CVS -print`; do
path=`echo $cvs |sed s+/CVS++`
for file in `cut -d/ -f2 $cvs/Entries`; do
if (grep $path/$file MANIFEST >/dev/null); then
:
else
echo "+ $path/$file"
fail=yes
fi
done
done
for file in ./Changes `svf ls`; do
if (grep $file MANIFEST >/dev/null); then
:
elif [ $file = ./Changes ]; then
:
else
echo "+ $file"
fail=yes
fi
done
if [ "X$fail" = "Xyes" ]; then
cat 1>&2 <<EOF
The MANIFEST is out of date. Files marked with a minus sign (-) no
longer exist; files marked with a plus sign (+) are CVS-managed but do
not appear in the MANIFEST. Please remedy the situation and try again.
EOF
exit 1
fi
# Prepare the source tree for a release.
test -h ../hdf5-$VERS && rm ../hdf5-$VERS
ln -s `pwd` ../hdf5-$VERS || exit 1
mv Makefile ../Makefile.x 2>/dev/null #might fail
cp -p Makefile.dist Makefile
echo "This is hdf5-$VERS released on `date`" >README.x
tail -n +2 <README >>README.x
mv README.x README
test "$verbose" && echo " Running tar..." 1>&2
( \
cd ..; \
tar cf x.tar hdf5-$VERS/Makefile \
`sed s+^.+hdf5-$VERS+ hdf5-$VERS/MANIFEST` || exit 1 \
)
# Compress
for comp in $methods; do
case $comp in
tar)
cp -p ../x.tar $DEST/hdf5-$VERS.tar;;
compress)
test "$verbose" && echo " Running compress..." 1>&2
compress -c <../x.tar >$DEST/hdf5-$VERS.tar.Z;;
gzip)
test "$verbose" && echo " Running gzip..." 1>&2
gzip -9 <../x.tar >$DEST/hdf5-$VERS.tar.gz;;
bzip2)
test "$verbose" && echo " Running bzip2..." 1>&2
bzip2 -9 <../x.tar >$DEST/hdf5-$VERS.tar.bz2;;
esac
done
# Remove temporary things
test -f ../Makefile.x && mv ../Makefile.x Makefile
rm -f ../hdf5-$VERS
rm -f ../x.tar
exit 0