summaryrefslogtreecommitdiffstats
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rwxr-xr-xbin/chkmanifest42
-rwxr-xr-xbin/release49
2 files changed, 49 insertions, 42 deletions
diff --git a/bin/chkmanifest b/bin/chkmanifest
new file mode 100755
index 0000000..a166fe7
--- /dev/null
+++ b/bin/chkmanifest
@@ -0,0 +1,42 @@
+#!/bin/sh
+
+# 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.
+
+verbose=yes
+MANIFEST=/tmp/H5_MANIFEST.$$
+
+# Copy the manifest file to get a list of file names.
+grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$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 `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
+ if (grep $path/$file $MANIFEST >/dev/null); then
+ :
+ else
+ echo "+ $path/$file"
+ fail=yes
+ fi
+ done
+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
+
+exit 0
diff --git a/bin/release b/bin/release
index 87d57b3..254a65d 100755
--- a/bin/release
+++ b/bin/release
@@ -34,6 +34,10 @@
# Robb Matzke, 1999-07-16
# The SunOS 5.6 sed *must* have slashes as delimiters. I changed things like
# `sed s+/CVS++' to `sed 's/\/CVS//'
+#
+# Albert Cheng, 1999-10-26
+# Moved the MANIFEST checking to a separate command file so that
+# it can be invoked individually.
# Defaults
DEST=releases
@@ -76,49 +80,9 @@ if [ ! -d $DEST ]; then
exit 1
fi
-# Copy the manifest file to get a list of file names.
-MANIFEST=/tmp/H5_MANIFEST.$$
-grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
-
-# 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 `grep '^\/' $cvs/Entries |cut -d/ -f2`; do
- if (grep $path/$file $MANIFEST >/dev/null); then
- :
- else
- echo "+ $path/$file"
- fail=yes
- fi
- done
-done
-# for file in ./Changes `sh -c 'svf ls' 2>/dev/null`; do
-# if (grep $file $MANIFEST >/dev/null); then
-# :
-# elif [ $file = ./Changes ]; then
-# :
-# else
-# echo "+ $file"
-# fail=yes
-# fi
-# done
-
+# Check the validity of the MANIFEST file.
+bin/chkmanifest || fail=yes
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
if [ $check = yes ]; then
exit 1
else
@@ -127,6 +91,7 @@ EOF
fi
# Create a manifest that contains only files for distribution.
+MANIFEST=/tmp/H5_MANIFEST.$$
grep '^\.' MANIFEST | grep -v _DO_NOT_DISTRIBUTE_ >$MANIFEST
# Prepare the source tree for a release.