Bug 6678

Summary: populate_sdk_image function removed in Yocto1.6.1
Product: [Build System, Metadata & Runtime] Meta-yocto Reporter: Yang <yang.y.wang>
Component: meta-yoctoAssignee: Richard Purdie <richard.purdie>
Status: RESOLVED NOTABUG QA Contact:
Severity: normal    
Priority: Undecided CC: poky.bs.watcher, poky.watcher
Version: 1.6.1   
Target Milestone: 1.1.2   
Hardware: x86   
OS: Multiple   
Whiteboard:
OS type for building Yocto: --- Type of Regression: ---
Verified: Documentation change: Don't know

Description Yang 2014-09-03 17:59:23 UTC
I got an issue for the secondary toolchain support with Yocto 1.6.1. In the previous version, e.g. Yocto1.5 poky-dora, I has the function to overwrite the environment script:

populate_sdk_image_append() {
         toolchain_create_sdk_env_script_alt ${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS}
}

The function populate_sdk_image is defined in the meta/classes/populate_sdk_base.bbclass
This works well for Yocto 1.5

However in the Yocto 1.6, the function populate_sdk_image was removed from populate_sdk_base.bbclass.
So the populate_sdk_image_append() won’t work for my class and my environment scripts will not be generated.
Is this expected changes in the Yocto1.6? In Yocto1.6, which function can I use with append() to generate my environment file? I checked populate_sdk_append() but seems not work.

Could you please advice how can I implement the similar populate_sdk_image_append() function in Yocto 1.6.1?
Thank you.
-Yang
Comment 1 Richard Purdie 2014-09-04 14:43:09 UTC
The change happened in http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/classes/populate_sdk_base.bbclass?id=039ba41ecc1a441f3978d990aac795a92138fc94 and was intended, its not a bug. I'd suggest adding a function to SDK_POSTPROCESS_COMMAND which is the better way to handle issues like this.
Comment 2 Yang 2014-11-11 15:25:51 UTC
Thank you Richard. Regarding SDK_POSTPROCESS_COMMAND, I have several questions:
1. In my .bbclass, should I just add 
        SDK_POSTPROCESS_COMMAND += toolchain_create_sdk_env_script_alt;
to make sure the function toolchain_create_sdk_env_script_alt can be invoked?
I would expect this function to be invoked when we build the SDK such as bitbake meta-toolchain or bitbake core-image-sato -c populate_sdk
2. Is this SDK_POSTPROCESS_COMMAND valid for the old yocto release such as Yocto1.5 or older?

thanks.
-Yang

(In reply to comment #1)
> The change happened in
> http://git.yoctoproject.org/cgit.cgi/poky/commit/meta/classes/
> populate_sdk_base.bbclass?id=039ba41ecc1a441f3978d990aac795a92138fc94 and
> was intended, its not a bug. I'd suggest adding a function to
> SDK_POSTPROCESS_COMMAND which is the better way to handle issues like this.