[meta-ti] [RFC][PATCH 1/2] setup-defconfig.inc: implement config fragments by using in-kernel script

Denys Dmytriyenko denis at denix.org
Sun Apr 13 20:50:21 PDT 2014


From: Denys Dmytriyenko <denys at ti.com>

Signed-off-by: Denys Dmytriyenko <denys at ti.com>
---
 recipes-kernel/linux/setup-defconfig.inc | 27 ++++++++++++++++-----------
 1 file changed, 16 insertions(+), 11 deletions(-)

diff --git a/recipes-kernel/linux/setup-defconfig.inc b/recipes-kernel/linux/setup-defconfig.inc
index ed3bce2..d6e5557 100644
--- a/recipes-kernel/linux/setup-defconfig.inc
+++ b/recipes-kernel/linux/setup-defconfig.inc
@@ -5,27 +5,32 @@ KERNEL_LOCALVERSION ?= ""
 # Check the defconfig file and see if it points to an in kernel
 # defconfig that should be used, or if it is a complete config file
 
-addtask setup_defconfig before do_configure after do_patch
-do_setup_defconfig() {
-    # Always copy the defconfig file to .config to keep consistency
-    # between the case where there is a real config and the in kernel
-    # tree config
-    cp ${WORKDIR}/defconfig ${S}/.config
-}
-
 # define our own do_configure that will:
 #   1. Check the .config file and see if string use-kernel-config= is present
 #   2. If the use-kernel-config string is present parse out the config to use
-#      and run make ${config}
+#      and run make $config
 #   3. else run yes '' | oe_runmake oldconfig like the default do_configure
 #      does
 do_configure() {
+    # Always copy the defconfig file to .config to keep consistency
+    # between the case where there is a real config and the in kernel
+    # tree config
+    cp ${WORKDIR}/defconfig ${S}/.config
+
     echo ${KERNEL_LOCALVERSION} > ${B}/.scmversion
     echo ${KERNEL_LOCALVERSION} > ${S}/.scmversion
     config=`cat ${S}/.config | grep use-kernel-config | cut -d= -f2`
-    if [ "x${config}" != "x" ]
+    if [ "x$config" != "x" ]
     then
-        oe_runmake ${config}
+        # check for fragments
+        fragments=`cat ${S}/.config | grep config-fragment | cut -d= -f2`
+        oe_runmake $config
+        if [ "x$fragments" != "x" ]
+        then
+            fragnames=`basename -a $fragments`
+            ( cd ${WORKDIR} && ${S}/scripts/kconfig/merge_config.sh -m -r -O ${S} ${S}/.config $fragnames 1>&2 )
+            yes '' | oe_runmake oldconfig
+        fi
     else
         yes '' | oe_runmake oldconfig
     fi
-- 
1.9.2



More information about the meta-ti mailing list