From: Yann E. MORIN" Date: Sun, 3 Jun 2012 20:06:04 +0000 (+0200) Subject: utils/tweak: use ./configured config prefix X-Git-Tag: v3.5.0-0~8 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=94e9de894400cd10f16fb34af58e82a154e77b78;p=kconfig-frontends utils/tweak: use ./configured config prefix Signed-off-by: "Yann E. MORIN" --- diff --git a/.hgignore b/.hgignore index b2a8e12..66f8316 100644 --- a/.hgignore +++ b/.hgignore @@ -25,6 +25,7 @@ libs/images/images.h libs/parser/?conf.c libs/*/.libs +utils/tweak utils/gettext utils/*-gettext utils/.libs diff --git a/scripts/ksync.list b/scripts/ksync.list index 4908efe..45f19dc 100644 --- a/scripts/ksync.list +++ b/scripts/ksync.list @@ -27,7 +27,7 @@ scripts/kconfig/menu.c --> libs/parser/menu.c scripts/kconfig/symbol.c --> libs/parser/symbol.c scripts/kconfig/util.c --> libs/parser/util.c scripts/kconfig/zconf.y --> libs/parser/yconf.y -scripts/config --> utils/tweak +scripts/config --> utils/tweak.in scripts/diffconfig --> utils/diff scripts/kconfig/merge_config.sh --> utils/merge scripts/kconfig/streamline_config.pl --> utils/streamline diff --git a/utils/Makefile.am b/utils/Makefile.am index 843c696..b5cab00 100644 --- a/utils/Makefile.am +++ b/utils/Makefile.am @@ -1,5 +1,5 @@ -dist_bin_SCRIPTS = tweak diff merge -dist_bin_SCRIPTS += streamline +bin_SCRIPTS = tweak +dist_bin_SCRIPTS = diff merge streamline if COND_utils_gettext MAYBE_utils_gettext = gettext @@ -12,3 +12,10 @@ gettext_CPPFLAGS = $(AM_CPPFLAGS) \ gettext_CFLAGS = $(AM_CFLAGS) $(kf_CFLAGS) gettext_LDADD = $(top_builddir)/libs/parser/libkconfig-parser.la \ $(intl_LIBS) +CLEANFILES = tweak +EXTRA_DIST = tweak.in tweak.in.patch + +tweak: tweak.in + $(AM_V_GEN)$(SED) -r -e "s/@CONFIG_@/$(config_prefix)/g" \ + $< >$@ + @chmod +x $@ diff --git a/utils/tweak b/utils/tweak deleted file mode 100755 index 80d29a1..0000000 --- a/utils/tweak +++ /dev/null @@ -1,158 +0,0 @@ -#!/bin/bash -# Manipulate options in a .config file from the command line - -usage() { - cat >&2 <>"$FN" - fi -} - -if [ "$1" = "--file" ]; then - FN="$2" - if [ "$FN" = "" ] ; then - usage - fi - shift 2 -else - FN=.config -fi - -if [ "$1" = "" ] ; then - usage -fi - -while [ "$1" != "" ] ; do - CMD="$1" - shift - case "$CMD" in - --refresh) - ;; - --*-after) - checkarg "$1" - A=$ARG - checkarg "$2" - B=$ARG - shift 2 - ;; - -*) - checkarg "$1" - shift - ;; - esac - case "$CMD" in - --enable|-e) - set_var "CONFIG_$ARG" "CONFIG_$ARG=y" - ;; - - --disable|-d) - set_var "CONFIG_$ARG" "# CONFIG_$ARG is not set" - ;; - - --module|-m) - set_var "CONFIG_$ARG" "CONFIG_$ARG=m" - ;; - - --set-str) - # sed swallows one level of escaping, so we need double-escaping - set_var "CONFIG_$ARG" "CONFIG_$ARG=\"${1//\"/\\\\\"}\"" - shift - ;; - - --set-val) - set_var "CONFIG_$ARG" "CONFIG_$ARG=$1" - shift - ;; - - --state|-s) - if grep -q "# CONFIG_$ARG is not set" $FN ; then - echo n - else - V="$(grep "^CONFIG_$ARG=" $FN)" - if [ $? != 0 ] ; then - echo undef - else - V="${V/#CONFIG_$ARG=/}" - V="${V/#\"/}" - V="${V/%\"/}" - V="${V/\\\"/\"}" - echo "${V}" - fi - fi - ;; - - --enable-after|-E) - set_var "CONFIG_$B" "CONFIG_$B=y" "CONFIG_$A" - ;; - - --disable-after|-D) - set_var "CONFIG_$B" "# CONFIG_$B is not set" "CONFIG_$A" - ;; - - --module-after|-M) - set_var "CONFIG_$B" "CONFIG_$B=m" "CONFIG_$A" - ;; - - # undocumented because it ignores --file (fixme) - --refresh) - yes "" | make oldconfig - ;; - - *) - usage - ;; - esac -done - diff --git a/utils/tweak.in b/utils/tweak.in new file mode 100644 index 0000000..ef7a64a --- /dev/null +++ b/utils/tweak.in @@ -0,0 +1,160 @@ +#!/bin/bash +# Manipulate options in a .config file from the command line + +CONFIG_="@CONFIG_@" + +usage() { + cat >&2 <>"$FN" + fi +} + +if [ "$1" = "--file" ]; then + FN="$2" + if [ "$FN" = "" ] ; then + usage + fi + shift 2 +else + FN=.config +fi + +if [ "$1" = "" ] ; then + usage +fi + +while [ "$1" != "" ] ; do + CMD="$1" + shift + case "$CMD" in + --refresh) + ;; + --*-after) + checkarg "$1" + A=$ARG + checkarg "$2" + B=$ARG + shift 2 + ;; + -*) + checkarg "$1" + shift + ;; + esac + case "$CMD" in + --enable|-e) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=y" + ;; + + --disable|-d) + set_var "${CONFIG_}$ARG" "# ${CONFIG_}$ARG is not set" + ;; + + --module|-m) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=m" + ;; + + --set-str) + # sed swallows one level of escaping, so we need double-escaping + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=\"${1//\"/\\\\\"}\"" + shift + ;; + + --set-val) + set_var "${CONFIG_}$ARG" "${CONFIG_}$ARG=$1" + shift + ;; + + --state|-s) + if grep -q "# ${CONFIG_}$ARG is not set" $FN ; then + echo n + else + V="$(grep "^${CONFIG_}$ARG=" $FN)" + if [ $? != 0 ] ; then + echo undef + else + V="${V/#${CONFIG_}$ARG=/}" + V="${V/#\"/}" + V="${V/%\"/}" + V="${V/\\\"/\"}" + echo "${V}" + fi + fi + ;; + + --enable-after|-E) + set_var "${CONFIG_}$B" "${CONFIG_}$B=y" "${CONFIG_}$A" + ;; + + --disable-after|-D) + set_var "${CONFIG_}$B" "# ${CONFIG_}$B is not set" "${CONFIG_}$A" + ;; + + --module-after|-M) + set_var "${CONFIG_}$B" "${CONFIG_}$B=m" "${CONFIG_}$A" + ;; + + # undocumented because it ignores --file (fixme) + --refresh) + yes "" | make oldconfig + ;; + + *) + usage + ;; + esac +done + diff --git a/utils/tweak.in.patch b/utils/tweak.in.patch new file mode 100644 index 0000000..fe8ca68 --- /dev/null +++ b/utils/tweak.in.patch @@ -0,0 +1,90 @@ +--- a/utils/tweak.in 2012-06-03 22:13:16.901125538 +0200 ++++ b/utils/tweak.in 2012-06-03 22:12:59.024523108 +0200 +@@ -1,6 +1,8 @@ + #!/bin/bash + # Manipulate options in a .config file from the command line + ++CONFIG_="@CONFIG_@" ++ + usage() { + cat >&2 <