mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-03-25 17:00:45 +08:00
---------------------- ./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.
133 lines
3.3 KiB
Bash
Executable File
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
|