summaryrefslogtreecommitdiffstats
path: root/bin/chkmanifest
diff options
context:
space:
mode:
Diffstat (limited to 'bin/chkmanifest')
-rwxr-xr-xbin/chkmanifest154
1 files changed, 0 insertions, 154 deletions
diff --git a/bin/chkmanifest b/bin/chkmanifest
deleted file mode 100755
index 08ca1fa..0000000
--- a/bin/chkmanifest
+++ /dev/null
@@ -1,154 +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.
-#
-
-# Check that all the files in MANIFEST exist and (if this is a
-# GIT checkout) that all the GIT-managed files appear in the
-# MANIFEST.
-#
-
-verbose=yes
-MANIFEST=/tmp/HD_MANIFEST.$$
-AUTOGEN=./autogen.sh
-AUTOGEN_LOG=/tmp/autogen.log.$$
-
-# Main
-test "$verbose" && echo " Checking MANIFEST..." 1>&2
-# clean up $MANIFEST file when exits
-trap "rm -f $MANIFEST" 0
-
-# Only split lines on newline, not whitespace
-set -f
-IFS='
-'
-
-# First make sure i am in the directory in which there is an MANIFEST file
-# and then do the checking from there. Will try the following,
-# current directory, parent directory, the directory this command resides.
-if [ -f MANIFEST ]; then
- continue
-elif [ -f ../MANIFEST ]; then
- cd ..
-else
- commanddir=`dirname $0`
- if [ -d "$commanddir" -a -f $commanddir/MANIFEST ]; then
- cd $commanddir
- continue
- else
- echo MANIFEST file not found. Abort.
- exit 1
- fi
-fi
-
-# Do an autogen if generated files (e.g., configure) is not present
-if [ ! -f configure ]; then
- echo " running $AUTOGEN"
- $AUTOGEN > $AUTOGEN_LOG 2>&1
- if [ $? -ne 0 ]; then
- echo $AUTOGEN encountered error. Abort.
- echo output from $AUTOGEN:
- cat $AUTOGEN_LOG
- exit 1
- fi
- rm $AUTOGEN_LOG
-fi
-
-# Check for duplicate entries. This can be done at any time, but it may as
-# well be sooner so that if something else fails the presence of duplicates
-# will already be known.
-errcode=0
-DUPLICATES=`perl -ne 's/#.*//; next if /^\s*$/; if ($uniq{$_}++) { print $_; }' MANIFEST`
-if [ "$DUPLICATES" ]; then
- cat 1>&2 <<EOF
-These entries appear more than once in the MANIFEST:
-$DUPLICATES
-Please remove the duplicate lines and try again.
-
-EOF
-errcode=1
-fi
-
-# Copy the manifest file to get a list of file names.
-grep '^\.' MANIFEST | expand | cut -f1 -d' ' >$MANIFEST
-
-for file in `cat $MANIFEST`; do
- if [ ! -f $file ]; then
- echo "- $file"
- fail=yes
- fi
-done
-
-# Get the list of files under version control and check that they are
-# present.
-#
-# First get a list of all the pending files with git status and
-# check those.
-git_stat=`git status -s`
-for file in $git_stat; do
-
- # Newly added files are not listed by git ls-files, which
- # we check later.
-
- # The line listing new files starts with 'A'.
- letter=`echo $file | head -c 1`
- if [ "$letter" = "A" ]; then
- # Convert the git status columns to './' so it matches
- # the manifest file name.
- #
- # There is a space between the status columns and file name, hence
- # the '3'.
- path=`echo $file | sed 's/^.\{3\}/\.\//g'`
- # Ignore directories
- if [ ! -d $path ]; then
- if (grep ^$path$ $MANIFEST >/dev/null); then
- :
- else
- echo "- $path"
- fail=yes
- fi
- fi
- fi
-done
-
-# Next check git ls-files, which gets a list of all files that are
-# checked in.
-git_ls=`git ls-files`
-for file in $git_ls; do
- path="./${file}"
- # Ignore directories
- if [ ! -d $path ]; then
- if (grep ^$path$ $MANIFEST >/dev/null); then
- :
- else
- echo "+ $path"
- fail=yes
- fi
- fi
-done
-
-# Finish up
-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 GIT-managed but do
-not appear in the MANIFEST. Please remedy the situation and try again.
-EOF
- exit 1
-fi
-
-if [ $errcode -ne 0 ]; then
- exit 1
-fi
-
-test "$verbose" && echo " The MANIFEST is up to date." 1>&2
-exit 0