summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGerd Hoffmann <kraxel@redhat.com>2017-05-31 10:15:41 +0200
committerGerd Hoffmann <kraxel@redhat.com>2017-05-31 10:15:41 +0200
commit42c347fb6ef2d63a15351e66fb7d4d1bdca7cad4 (patch)
treed3269b3c1f7dbc6bdbe988bcde2340c740e5c24f
parent33243b4f18a003deb2c9cdae1cf9904fa82ecb0b (diff)
downloadkconfig-42c347fb6ef2d63a15351e66fb7d4d1bdca7cad4.tar.gz
script tweaks
-rwxr-xr-xkconfig40
1 files 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 "--"