From 42c347fb6ef2d63a15351e66fb7d4d1bdca7cad4 Mon Sep 17 00:00:00 2001 From: Gerd Hoffmann Date: Wed, 31 May 2017 10:15:41 +0200 Subject: script tweaks --- kconfig | 40 ++++++++++++++++++++++++++++++---------- 1 file changed, 30 insertions(+), 10 deletions(-) diff --git a/kconfig b/kconfig index 3db980a..e89f66a 100755 --- a/kconfig +++ b/kconfig @@ -1,7 +1,19 @@ #!/bin/sh -tweak="${1-qemu hyperv}" -configs="init strip need $tweak" +mode="${1-help}" + +case "$mode" in +generic) + configs="init strip need qemu hyperv" + ;; +qemu | hyperv) + configs="init strip need $mode" + ;; +*) + echo "usage: $0 [ generic | qemu | hyperv ]" + exit 1 + ;; +esac base=$(dirname $0) make="make" @@ -17,12 +29,20 @@ function do_init() { else cp -v "/boot/config-$(uname -r)" .config || exit 1 fi - echo "# oldconfig" - yes "" | $make oldconfig >/dev/null + echo "# olddefconfig" + yes "" | $make olddefconfig >/dev/null echo "# localmodconfig" yes "" | $make localmodconfig >/dev/null } +function do_print() { + local option="$1" + local value="$2" + local state="$3" + + printf "# %-32s - %s - %s\n" "$option" "$value" "$state" +} + function do_apply() { local cfg="$1" local cfgfile="$base/${cfg}.config" @@ -38,7 +58,7 @@ function do_apply() { case "$line" in CONFIG*=[ym]) if grep -q "$option=$value" .config; then - echo "# $option - $value - ok" + do_print "$option" "$value" "ok" continue fi if grep -q "${option}[= ]" .config; then @@ -48,9 +68,9 @@ function do_apply() { fi yes "" | $make oldconfig >/dev/null if grep -q "$option=$value" .config; then - echo "# $option - $value - applied" + do_print "$option" "$value" "applied" else - echo "# $option - $value - FAIL" + do_print "$option" "$value" "FAIL" echo "--" grep "${option}[= ]" .config echo "--" @@ -59,15 +79,15 @@ function do_apply() { ;; CONFIG*=n) if grep -q "$option is not set" .config; then - echo "# $option - $value - ok" + do_print "$option" "$value" "ok" continue fi sed -i -e "s/.*${option}[= ].*/# $option is not set/" .config yes "" | $make oldconfig >/dev/null if grep -q "$option is not set" .config; then - echo "# $option - $value - applied" + do_print "$option" "$value" "applied" else - echo "# $option - $value - FAIL" + do_print "$option" "$value" "FAIL" echo "--" grep "${option}[= ]" .config echo "--" -- cgit