aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPatrick Georgi <patrick.georgi@coresystems.de>2010-11-19 10:16:43 +0000
committerPatrick Georgi <patrick.georgi@coresystems.de>2010-11-19 10:16:43 +0000
commite882630d47e9ed4f1d9cfea18e5709335a119c12 (patch)
tree569ed290560ebce605e88d48c30d4d89680a0678
parent911e2ac4b2af88591052be62d909e19ed60e3085 (diff)
Add test to check for up-to-date GPL license headers to lint.
"make lint" should not stop after first failed test. Improve "make lint" output. Signed-off-by: Patrick Georgi <patrick.georgi@coresystems.de> Acked-by: Patrick Georgi <patrick.georgi@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@6097 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--Makefile10
-rwxr-xr-xutil/lint/lint-000-license-headers34
-rwxr-xr-xutil/lint/lint-001-no-global-config-in-romstage20
3 files changed, 59 insertions, 5 deletions
diff --git a/Makefile b/Makefile
index 50421a65fd..0cfa85f6e8 100644
--- a/Makefile
+++ b/Makefile
@@ -367,9 +367,9 @@ update:
dongle.py -c /dev/term/1 $(obj)/coreboot.rom EOF
lint:
- LINTLOG=`mktemp`; \
+ FAILED=0; LINTLOG=`mktemp`; \
for script in util/lint/lint-*; do \
- echo `basename $$script`; \
+ echo; echo `basename $$script`; \
grep "^# DESCR:" $$script | sed "s,.*DESCR: *,," ; \
echo ========; \
$$script > $$LINTLOG; \
@@ -379,9 +379,11 @@ lint:
echo test failed: ; \
cat $$LINTLOG; \
rm -f $$LINTLOG; \
- exit 1; \
- fi \
+ FAILED=$$(( $$FAILED + 1 )); \
+ fi; \
+ echo ========; \
done; \
+ test $$FAILED -eq 0 || { echo "ERROR: $$FAILED test(s) failed." && exit 1; }; \
rm -f $$LINTLOG
# This include must come _before_ the pattern rules below!
diff --git a/util/lint/lint-000-license-headers b/util/lint/lint-000-license-headers
new file mode 100755
index 0000000000..2e8588d8b2
--- /dev/null
+++ b/util/lint/lint-000-license-headers
@@ -0,0 +1,34 @@
+#!/bin/sh
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2010 coresystems GmbH
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+#
+# DESCR: Check that all files in src/ and util/ have valid license headers
+
+LC_ALL=C export LC_ALL
+find src util -name .svn -type d -prune -o \
+ -name README -prune -o \
+ -name LICENSE -prune -o \
+ -name TODO -prune -o \
+ -name COPYING -prune -o \
+ -name microcode-\*.h -prune -o \
+ -name \*.[18] -prune -o \
+ -name romcc -type d -prune -o \
+ -name crossgcc -type d -prune -o \
+ -type f -exec \
+ grep -L "51 Franklin St, Fifth Floor, Boston" {} + | \
+ sed -e "s,^.*$,File & has no valid GPL header.,"
diff --git a/util/lint/lint-001-no-global-config-in-romstage b/util/lint/lint-001-no-global-config-in-romstage
index b48b8b47cf..ae4d6a41c4 100755
--- a/util/lint/lint-001-no-global-config-in-romstage
+++ b/util/lint/lint-001-no-global-config-in-romstage
@@ -1,5 +1,23 @@
#!/bin/sh
-# DESCR: Check that no symbols #defined in any romstage.c is used elsewhere
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2010 coresystems GmbH
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; version 2 of the License.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+#
+# DESCR: Check that no symbol #defined in any romstage.c is used elsewhere
+
DEFINES=`grep "#define" src/mainboard/*/*/romstage.c |sed 's,.*#define[\t ]\([^\t ]*\)[\t ].*,\1,' | grep -v "(" | sort -u`
SCANBUCKET=`mktemp`
LC_ALL=C export LC_ALL