#! /bin/sh ## ## 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 files COPYING and Copyright.html. COPYING can be found at the root ## of the source code distribution tree; Copyright.html can be found at the ## root level of an installed copy of the electronic HDF5 document set and ## is linked from the top-level documents page. It can also be found at ## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have ## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. ## # Check Copyright notice. # Check that all the files have the proper copyright notice. # It goes down directories recursively. # # Programmer: Albert Cheng # Created Data: 2003/07/22 PROGNAME=$0 DIFF="diff" COPYRIGHTFILE=/tmp/copy.$$ EXTRACTEDFILE=/tmp/extracted.$$ VERBOSE= # default no DIRS=. # default current directory USAGE() { cat < ${COPYRIGHTFILE} << \EOF /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 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 files COPYING and Copyright.html. COPYING can be found at the root * * of the source code distribution tree; Copyright.html can be found at the * * root level of an installed copy of the electronic HDF5 document set and * * is linked from the top-level documents page. It can also be found at * * http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * * access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ EOF # Must use stdin for wc to prevent filename from popping up. nlines=`wc -l < ${COPYRIGHTFILE}| tr -d ' '` head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} >/dev/null 2>&1 if test $? -ne 0; then # show the difference echo ${f}: head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} fi } # Check Fortran90 source files # FORTRAN_SOURCE() { f=$1 cat > ${COPYRIGHTFILE} << \EOF ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * ! 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 files COPYING and Copyright.html. COPYING can be found at the root * ! of the source code distribution tree; Copyright.html can be found at the * ! root level of an installed copy of the electronic HDF5 document set and * ! is linked from the top-level documents page. It can also be found at * ! http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have * ! access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. * ! * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * EOF # Must use stdin for wc to prevent filename from popping up. nlines=`wc -l < ${COPYRIGHTFILE}| tr -d ' '` head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} >/dev/null 2>&1 if test $? -ne 0; then # show the differences echo ${f}: head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} fi } # Check HTML Files # HTML_FILE() { f=$1 cat > ${COPYRIGHTFILE} << \EOF EOF # Must use stdin for wc to prevent filename from popping up. nlines=`wc -l < ${COPYRIGHTFILE}| tr -d ' '` sed -n -e '/^$/p' < $f | head -${nlines} > ${EXTRACTEDFILE} $DIFF ${EXTRACTEDFILE} ${COPYRIGHTFILE} >/dev/null 2>&1 if test $? -ne 0; then # show the differences echo ${f}: $DIFF ${EXTRACTEDFILE} ${COPYRIGHTFILE} fi } # Check Shell script files # SHELL_FILE() { f=$1 cat > ${COPYRIGHTFILE} << \EOF #! /bin/sh ## ## 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 files COPYING and Copyright.html. COPYING can be found at the root ## of the source code distribution tree; Copyright.html can be found at the ## root level of an installed copy of the electronic HDF5 document set and ## is linked from the top-level documents page. It can also be found at ## http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have ## access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. ## EOF # Must use stdin for wc to prevent filename from popping up. nlines=`wc -l < ${COPYRIGHTFILE}| tr -d ' '` head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} >/dev/null 2>&1 if test $? -ne 0; then # show the differences echo ${f}: head -${nlines} $f | $DIFF - ${COPYRIGHTFILE} fi } # Check Makefile # MAKE_FILE() { f=$1 cat > ${COPYRIGHTFILE} << \EOF # 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 files COPYING and Copyright.html. COPYING can be found at the root # of the source code distribution tree; Copyright.html can be found at the # root level of an installed copy of the electronic HDF5 document set and # is linked from the top-level documents page. It can also be found at # http://hdf.ncsa.uiuc.edu/HDF5/doc/Copyright.html. If you do not have # access to either file, you may request a copy from hdfhelp@ncsa.uiuc.edu. EOF # Must use stdin for wc to prevent filename from popping up. nlines=`wc -l < ${COPYRIGHTFILE}| tr -d ' '` morelines=`expr $nlines - 1` sed -n -e "/^# Copyright by the Board of Trustees/,+${morelines}p" < $f > ${EXTRACTEDFILE} $DIFF ${EXTRACTEDFILE} ${COPYRIGHTFILE} >/dev/null 2>&1 if test $? -ne 0; then # show the differences echo ${f}: $DIFF ${EXTRACTEDFILE} ${COPYRIGHTFILE} fi } # # Main body PARSE_OPTION "$@" # use find to list all those file names and process them # one by one. ( if test -z "$FNAME" ; then find $DIRS -type f -print else find $DIRS -type f -name "${FNAME}" -print fi ) | while read file; do if test X-$VERBOSE = X-yes; then echo checking ${file}... fi case ${file} in *.c | *.h | *.cpp ) C_SOURCE ${file} ;; *.f90 ) FORTRAN_SOURCE ${file} ;; *.htm | *.html ) HTML_FILE ${file} ;; *.sh | *.sh.in ) SHELL_FILE ${file} ;; *Makefile | *Makefile.in | *Makefile.am ) MAKE_FILE ${file} ;; *CVS/* ) # Ignore CVS control files. continue ;; *) echo "Unknown file type (${file})" ;; esac done # Cleanup rm -f ${EXTRACTEDFILE} ${COPYRIGHTFILE}