diff Scripts/lint-options.sh @ 721:034a2a62a9f8

vanilla: consolidate options with lint-options.sh
author David Demelier <markand@malikania.fr>
date Mon, 05 Aug 2019 13:19:31 +0200
parents
children ddab65a5b3f5
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Scripts/lint-options.sh	Mon Aug 05 13:19:31 2019 +0200
@@ -0,0 +1,51 @@
+#!/bin/sh
+#
+# lint-options.sh -- check if packages use predefined options
+#
+# Copyright (c) 2019 David Demelier <markand@malikania.fr>
+#
+# Permission to use, copy, modify, and/or distribute this software for any
+# purpose with or without fee is hereby granted, provided that the above
+# copyright notice and this permission notice appear in all copies.
+#
+# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+#
+
+alias basename="busybox basename"
+alias dirname="busybox dirname"
+alias echo="busybox echo"
+alias grep="busybox grep"
+alias realpath="busybox realpath"
+
+TOP=$(realpath $(dirname $0)/../)
+PROGNAME=$(basename $0)
+
+check()
+{(
+	name=$(basename $1).sh
+
+	cd $TOP/$1
+
+	if [ ! -f $name ]; then
+		echo "warning: skipping $pkg" 1>&2
+		return 1
+	fi
+
+	. ./$name
+
+	for o in $PKGOPTIONS; do
+		if ! grep -q $o $TOP/Docs/options.md; then
+			echo "$pkg: option $o is unknown or custom"
+		fi
+	done
+)}
+
+$TOP/Scripts/list.sh $1 | while read -r pkg; do
+	check $pkg
+done