Even if 'externalsrc' is used, SRC_URI may specify a 'defconfig'.
However as the use of 'externalsrc' will do away with the do_patch
task, do_preconfigure is in risk of being run before the defconfig
is copied to the build directory. This patch adds a second dependency
on 'do_unpack' that makes sure this does not happen.

Signed-off-by: Mats Karrman <mats.dev.l...@gmail.com>
---
 classes/fsl-kernel-localversion.bbclass | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Build Configuration:
BB_VERSION        = "1.34.0"
BUILD_SYS         = "x86_64-linux"
NATIVELSBSTRING   = "universal-4.9"
TARGET_SYS        = "arm-poky-linux-gnueabi"
MACHINE           = "rabbit"
DISTRO            = "poky"
DISTRO_VERSION    = "2.3"
TUNE_FEATURES     = "arm armv7a vfp thumb neon callconvention-hard cortexa9"
TARGET_FPU        = "hard"
meta              
meta-poky         = "master:7a0e795373653886452a7a2992ced10080711c26"
meta-oe           
meta-networking   
meta-python       = "master:ba89d451fba299f00f3dff902cc6456106525fc9"
meta-freescale    = "master:f12671110e0d442fc1655957f6e10291f743e7d1"
meta-freescale-3rdparty = "master:ebccc38c30f13f80f7bc5822bc094512a22b0670"
meta-local        = "master:23f801c2223dca2869133b04855e69e252c9ca23"

Typical error message:
ERROR: linux-rabbit-4.10-r0 do_preconfigure: Function failed: do_preconfigure 
(log file is located at 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/temp/log.do_preconfigure.5546)
ERROR: Logfile of failure stored in: 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/temp/log.do_preconfigure.5546
Log data follows:
| DEBUG: Executing shell function do_preconfigure
| 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/temp/run.do_preconfigure.5546:
 line 116: 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/defconfig:
 No such file or directory
| WARNING: 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/temp/run.do_preconfigure.5546:1
 exit 1 from 'sed -e "${CONF_SED_SCRIPT}" < 
'/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/defconfig'
 >> 
'/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/linux-rabbit-4.10//.config''
| ERROR: Function failed: do_preconfigure (log file is located at 
/home/mats/projects/cubox/oe/build/tmp/work/rabbit-poky-linux-gnueabi/linux-rabbit/4.10-r0/temp/log.do_preconfigure.5546)
ERROR: Task 
(/home/mats/projects/cubox/oe/meta-local/recipes-kernel/linux/linux-rabbit_4.10.bb:do_preconfigure)
 failed with exit code '1'

Reproducible 100% on my i7 machine. Starting build again without any changes
makes build pass since defconfig has already been copied.

Same issue found and same fix applies on kergoth.

---

diff --git a/classes/fsl-kernel-localversion.bbclass 
b/classes/fsl-kernel-localversion.bbclass
index 48e5403..c0306a0 100644
--- a/classes/fsl-kernel-localversion.bbclass
+++ b/classes/fsl-kernel-localversion.bbclass
@@ -38,4 +38,4 @@ do_preconfigure() {
                printf "%s%s" +g $head > ${S}/.scmversion
        fi
 }
-addtask preconfigure before do_configure after do_patch
+addtask preconfigure before do_configure after do_unpack do_patch
-- 
2.1.4

-- 
_______________________________________________
meta-freescale mailing list
meta-freescale@yoctoproject.org
https://lists.yoctoproject.org/listinfo/meta-freescale

Reply via email to