diff options
Diffstat (limited to 'sys-boot/linux/files/config_miss.sh')
-rwxr-xr-x | sys-boot/linux/files/config_miss.sh | 57 |
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 |