#!/bin/sh set -e B="$(dirname $0)" # First just deploy arch linux configuration (ah yes I stole it) cp "$B"/arch.config .config # And now apply changes from overlay.config while read L; do echo "$L" | grep -qE "^[[:space:]]*$" && continue # ignore empty lines echo "$L" | grep -qE "#.*" && continue # Ignore comments # Remove lines with changed settings OPTION="$(echo "$L" | grep -oE '^CONFIG_.*=')" sed -i "#^$OPTION#d" .config # Put config echo "$L" >> .config done < "$B/overlay.config" # As next step run olddefconfig (note: stderr contains some output about overrided # options so I am ignoring it) make olddefconfig 2>/dev/null # Now let's check that configuration EC=0 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 EC=1 echo -e "\e[1;31mY:\e[0m$L" fi else if ! grep -qE "^$L$" .config; then EC=1 echo -e "\e[1;31mN:\e[0m$L" fi fi done < "$B/overlay.config" exit $EC