summaryrefslogtreecommitdiff
path: root/sys-boot/linux/files/config_miss.sh
diff options
context:
space:
mode:
Diffstat (limited to 'sys-boot/linux/files/config_miss.sh')
-rwxr-xr-xsys-boot/linux/files/config_miss.sh57
1 files changed, 57 insertions, 0 deletions
diff --git a/sys-boot/linux/files/config_miss.sh b/sys-boot/linux/files/config_miss.sh
new file mode 100755
index 0000000..c6aec49
--- /dev/null
+++ b/sys-boot/linux/files/config_miss.sh
@@ -0,0 +1,57 @@
+#!/bin/sh
+set -e
+
+CNF="$(dirname $0)/configs"
+
+CONFS="base gentoo"
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --help|-h)
+ echo "Usage: $0 [OPTION]... CONFIG..."
+ echo "Combine configurations and esure that we have corrent ones."
+ echo
+ echo "Options:"
+ echo " --repeat, -r NUMBER"
+ echo " Number of repeats before we bail out on configuration."
+ exit
+ ;;
+ --repeat|-r)
+ shift
+ REPEAT="$1"
+ ;;
+ -*)
+ echo "Warning: ignoring uknown option: $1" >&2
+ ;;
+ *)
+ if [ -f "$CNF/$1" ]; then
+ CONFS="$CONFS $1"
+ else
+ echo "Warning: ignoring requested missing configuration: $1" >&2
+ fi
+ ;;
+ esac
+ shift
+done
+
+if [ "$ARCH" = "x86_64" ] || [ "$(uname -m)" = "x84_64" ]; then
+ CONFS="$CONFS x86_64"
+fi
+
+for C in $CONFS; do
+ while read L; do
+ echo "$L" | grep -qE "^[[:space:]]*$" && continue # ignore empty lines
+ echo "$L" | grep -qE "#.*" && continue # Ignore comments
+ OPTION="$(echo "$L" | grep -oE '^CONFIG_.*=')"
+ VALUE="$(echo "$L" | grep -oE '=.*$')"
+ if [ "$VALUE" = "=n" ]; then
+ if grep -qE "^$OPTION=y" .config; then
+ echo -e "\e[1;31mY:\e[0m$L"
+ fi
+ else
+ if ! grep -qE "^$L$" .config; then
+ echo -e "\e[1;31mN:\e[0m$L"
+ fi
+ fi
+ done < "$CNF/$C"
+done