UBUNTU: config -- simplify the kernelconfig interface
authorAndy Whitcroft <apw@canonical.com>
Thu, 30 Sep 2010 12:36:30 +0000 (13:36 +0100)
committerLeann Ogasawara <leann.ogasawara@canonical.com>
Mon, 28 Mar 2011 13:49:40 +0000 (06:49 -0700)
In preparation for adding another kernelconfig interface, simply
the current interface such that the real command is passed through.
This reduces the number and complexity of the make rules while maintaining
a single mapping in kernelconfig.

Signed-off-by: Andy Whitcroft <apw@canonical.com>

debian/rules.d/1-maintainer.mk
debian/scripts/misc/kernelconfig

index 9713e3d..5da9896 100644 (file)
@@ -39,39 +39,14 @@ help:
 printdebian:
        @echo "$(DEBIAN)"
 
-updateconfigs:
+updateconfigs defaultconfigs editconfigs genconfigs:
        dh_testdir;
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig
+       $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@
        rm -rf build
 
-defaultconfigs:
+updateportsconfigs defaultportsconfigs editportsconfigs genportsconfigs:
        dh_testdir;
-       yes "" | $(SHELL) $(DROOT)/scripts/misc/kernelconfig defaultconfig
-       rm -rf build
-
-editconfigs:
-       dh_testdir
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig
-       rm -rf build
-
-genconfigs:
-       dh_testdir
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig
-       rm -rf build
-
-updateportsconfigs:
-       dh_testdir;
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig oldconfig ports
-       rm -rf build
-
-editportsconfigs:
-       dh_testdir
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig editconfig ports
-       rm -rf build
-
-genportsconfigs:
-       dh_testdir
-       $(SHELL) $(DROOT)/scripts/misc/kernelconfig genconfig ports
+       $(SHELL) $(DROOT)/scripts/misc/kernelconfig $@ ports
        rm -rf build
 
 printenv:
index c0bc484..0ac7ce4 100755 (executable)
@@ -12,11 +12,12 @@ if [ ! -f MAINTAINERS ] || [ ! -f Makefile ]; then
 fi
 
 mode=${1:?"Usage: $0 [oldconfig|editconfig]"}
+yes=0
 case "$mode" in
-    oldconfig)  ;; # All is good
-    defaultconfig)  ;; # All is good
-    editconfig) ;; # All is good
-    genconfig)  ;; # All is good
+    update*configs) mode='silentoldconfig' ;;
+    default*configs) mode='oldconfig'; yes=1 ;;
+    edit*configs) ;; # All is good
+    gen*configs)  ;; # All is good
     *) echo "$0 called with invalid mode" 1>&2
        exit 1 ;;
 esac
@@ -32,7 +33,7 @@ common_conf="$confdir/config.common.$family"
 tmpdir=`mktemp -d`
 mkdir "$tmpdir/CONFIGS"
 
-if [ "$mode" = "genconfig" ]; then
+if [ "$mode" = "genconfigs" ]; then
        keep=1
        mode="oldconfig"
        test -d CONFIGS || mkdir CONFIGS
@@ -83,15 +84,7 @@ for arch in $archs; do
                        cat "$fullconf" > build/.config
                        # Call oldconfig or menuconfig
                        case "$mode" in
-                           oldconfig)
-                               # Weed out incorrect config parameters
-                               echo "* Run silentoldconfig on $arch/$config ..."
-                               make O=`pwd`/build ARCH=$kernarch silentoldconfig ;;
-                           defaultconfig)
-                               # Weed out incorrect config parameters
-                               echo "* Run oldconfig on $arch/$config ..."
-                               make O=`pwd`/build ARCH=$kernarch oldconfig ;;
-                           editconfig)
+                           editconfigs)
                                # Interactively edit config parameters
                                while : ; do
                                        echo -n "Do you want to edit config: $arch/$config? [Y/n] "
@@ -108,8 +101,13 @@ for arch in $archs; do
                                        esac
                                done
                                ;;
-                           *)  # Bad!
-                               exit 1 ;;
+                           *)
+                               echo "* Run $mode (yes=$yes) on $arch/$config ..."
+                               if [ "$yes" -eq 1 ]; then
+                                       yes "" | make O=`pwd`/build ARCH=$kernarch "$mode"
+                               else
+                                       make O=`pwd`/build ARCH=$kernarch "$mode"
+                               fi ;;
                        esac
                        cat build/.config > $archconfdir/$config
                        cat build/.config > "$tmpdir/CONFIGS/$arch-$config"