As reported by Steffen Pankratz <steffen.pankr...@elektrobit.com>, the
previous logic of KBUILD_DEFCONFIG processing would not propagate an in
tree defcofig to WORKDIR if one was not already present.

We fix the propagation by copying the in tee config if a defconfig is
not already in WORKDIR.

Additionally we only warn (versus copying) if an in tree configuration
is specified, is different than the WORKDIR version and isn't copied.

Signed-off-by: Bruce Ashfield <bruce.ashfi...@windriver.com>
---
 meta/classes/kernel-yocto.bbclass | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)

diff --git a/meta/classes/kernel-yocto.bbclass 
b/meta/classes/kernel-yocto.bbclass
index 0dd5b4851361..88588d7cacc9 100644
--- a/meta/classes/kernel-yocto.bbclass
+++ b/meta/classes/kernel-yocto.bbclass
@@ -97,14 +97,15 @@ do_kernel_metadata() {
        if [ -n "${KBUILD_DEFCONFIG}" ]; then
                if [ -f "${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}" ]; then
                        if [ -f "${WORKDIR}/defconfig" ]; then
-                               # If the two defconfigs are the same, leave the 
existing one in place
+                               # If the two defconfig's are different, warn 
that we didn't overwrite the
+                               # one already placed in WORKDIR by the fetcher.
                                cmp "${WORKDIR}/defconfig" 
"${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG}"
                                if [ $? -ne 0 ]; then
-                                       bbnote "defconfig detected in WORKDIR. 
${KBUILD_DEFCONFIG} skipped"
-                               else
-                                       cp -f 
${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
-                                       sccs="${WORKDIR}/defconfig"
+                                       bbwarn "defconfig detected in WORKDIR. 
${KBUILD_DEFCONFIG} skipped"
                                fi
+                       else
+                               cp -f 
${S}/arch/${ARCH}/configs/${KBUILD_DEFCONFIG} ${WORKDIR}/defconfig
+                               sccs="${WORKDIR}/defconfig"
                        fi
                else
                        bbfatal "A KBUILD_DECONFIG '${KBUILD_DEFCONFIG}' was 
specified, but not present in the source tree"
-- 
2.1.0

-- 
_______________________________________________
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.openembedded.org/mailman/listinfo/openembedded-core

Reply via email to