aboutsummaryrefslogtreecommitdiff
path: root/util/lint/lint-stable-018-symlinks
diff options
context:
space:
mode:
authorMartin Roth <martinroth@google.com>2016-11-28 13:16:24 -0700
committerMartin Roth <martinroth@google.com>2016-11-30 00:22:10 +0100
commitadcba9438d54481a71f2e90c8fa1014c7ee273ed (patch)
treecc21505c7d25bc72ebd4b7a164c6b891f4c4ccfe /util/lint/lint-stable-018-symlinks
parent19424a157df596b814a7c95bac219b1f95fe04ff (diff)
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>
Diffstat (limited to 'util/lint/lint-stable-018-symlinks')
-rwxr-xr-xutil/lint/lint-stable-018-symlinks33
1 files changed, 33 insertions, 0 deletions
diff --git a/util/lint/lint-stable-018-symlinks b/util/lint/lint-stable-018-symlinks
new file mode 100755
index 0000000000..7865f559d9
--- /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
+