summaryrefslogtreecommitdiff
path: root/test/scr031/chk.copy
diff options
context:
space:
mode:
Diffstat (limited to 'test/scr031/chk.copy')
-rw-r--r--test/scr031/chk.copy46
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