diff options
Diffstat (limited to 'test/scr031/chk.copy')
-rw-r--r-- | test/scr031/chk.copy | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/test/scr031/chk.copy b/test/scr031/chk.copy new file mode 100644 index 0000000..a752c7a --- /dev/null +++ b/test/scr031/chk.copy @@ -0,0 +1,46 @@ +#!/bin/sh - +# +# $Id$ +# +# Check all source files for proper copyright notices. + +d=../.. + +# Test must be run from the top-level directory, not from a test directory. +[ -f $d/LICENSE ] || { + echo 'FAIL: cannot find source distribution directory.' + exit 1 +} + +t1=__1 +t2=__2 + +# create regex for Copyright notice using current year +COPYEXP='Copyright.*'`date +%C%y` + +(cd $d && find . -name '*.[chys]' -o -name '*.cpp' -o -name '*.tcl' \ + -o -name '*.java' -o -name '*.cs' -o -name '*.hpp' | + xargs egrep -l $COPYEXP) > $t1 + +# use sed to remove the files we do not care about, these are the ones +# from 3rd parties that are included in our distribution + +(cd $d && find . -name '*.[chys]' -o -name '*.cpp' -o -name '*.tcl' \ + -o -name '*.java' -o -name '*.cs' -o -name '*.hpp') | tee /tmp/o | + sed -e '/crypto\//d' \ + -e '/sha1.c$/d' \ + -e '/sleepycat\/asm\//d' \ + -e '/perl\//d' \ + -e '/mod_db4\//d' \ + -e '/sqlite\//d' > $t2 + + +if diff $t1 $t2 > /dev/null; then + exit 0 +else + echo "<<< source tree >>> missing copyright notices" + diff $t1 $t2 | grep '>' | awk '{print $2}' + exit 1 +fi + +exit 0 |