util/lint: Add check for symbolic links in the coreboot tree

Because of the varied environments that coreboot is built under, we
don't want to have symbolic links in the tree.

Change-Id: I4cf9d95a437626cb52e3032a5e6cba83320a334b
Signed-off-by: Martin Roth <martinroth@google.com>
Reviewed-on: https://review.coreboot.org/17633
Tested-by: build bot (Jenkins)
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/util/lint/lint-stable-018-symlinks b/util/lint/lint-stable-018-symlinks
new file mode 100755
index 0000000..7865f55
--- /dev/null
+++ b/util/lint/lint-stable-018-symlinks
@@ -0,0 +1,33 @@
+#!/bin/sh
+# This file is part of the coreboot project.
+#
+# Copyright (C) 2016 Google Inc.
+#
+# 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.
+#
+# DESCR: Report any symbolic links
+
+LC_ALL=C export LC_ALL
+
+EXCLUDED_DIRS='^3rdparty\|^site-local'
+
+# If the code is in a git repo, only print files that are checked in
+if [ -n "$(command -v git)" ] && [ -d .git ]; then
+	git ls-tree -r HEAD | \
+		grep ^120000 | \
+		cut -f2 | \
+		grep -v "$EXCLUDED_DIRS"
+else
+	# If the code isn't in a git repo, print everything
+	find . -type l | \
+		sed 's|\.\/||' | \
+		grep -v "$EXCLUDED_DIRS"
+fi
+