Hi Chen,

Jose Quaresma via lists.openembedded.org <quaresma.jose=
gmail....@lists.openembedded.org> escreveu no dia sexta, 13/01/2023 à(s)
15:39:

> Hi Chen,
>
> Just for your information,
> This patch introduces a regression that breaks the do_create_spdx tasks
> when building with multiconfig machines.
>
> I am investigating it more deeply and will come back with my findings.
>

I don't understand the reason for this regression but I am thinking of
sending a revert for this patch.

Here are the steps to reproduce:

git clone https://git.yoctoproject.org/git/poky
cd poky
git clone https://git.yoctoproject.org/git/meta-arm
git clone https://git.yoctoproject.org/git/meta-ti
source oe-init-build-env
bitbake-layers add-layer ../meta-arm/meta-arm-toolchain
bitbake-layers add-layer ../meta-arm/meta-arm
bitbake-layers add-layer ../meta-ti/meta-ti-bsp
bitbake-layers add-layer ../meta-ti/meta-ti-extras
echo 'INHERIT += "rm_work"' >>conf/local.conf
echo 'INHERIT += "create-spdx"' >>conf/local.conf

MACHINE=am64xx-evm bitbake core-image-minimal
MACHINE=am62xx-evm bitbake core-image-minimal

At least these two machines are broken.

Jose


>
> Jose
>
>
> Chen Qi <qi.c...@windriver.com> escreveu no dia segunda, 5/12/2022 à(s)
> 04:59:
>
>> For now, if we use rm_work and `bitbake core-image-minimal', some
>> recipes' WORKDIRs are not cleaned up, e.g., makedevs-native.
>>
>> Adjust the dependency to make do_rm_work_all depend on do_rm_work
>> to solve this problem.
>>
>> Below are the detailed explanation of why this would work.
>>
>> Without this patch, the dependency chain is like:
>> [other deps] -> [do_rm_work] -+-> [do_build]
>>                               |
>> [do_rm_work_all] -------------+
>>
>> With this patch, the depedency chain is like:
>> [other deps] -> [do_rm_work] -> [do_rm_work_all] -> [do_build]
>>
>> Such dependency chain adjustment fixes the issue because do_rm_work_all
>> now depends on [other deps] and thus the [depends] of these [other deps].
>> Take core-image-minimal as an example. Before this adjustment,
>> do_rm_work_all does not have any relationship with do_rootfs, and we have
>> do_rootfs[depends] += "makedevs-native:do_populate_sysroot ..."
>> This essentially prevents 'recrdeptask' setting of do_rm_work_all extend
>> to makedevs-native. With this patch, the do_rm_work_all now depends
>> on do_rm_work which in turn depends on do_rootfs, and so do_rm_work_all's
>> recrdeptask could have effect on makedevs-native.
>>
>> With this patch, all built recipes WORKDIR will be cleaned up with
>> a few expected exceptions such as kernel and qemu-helper-native.
>>
>> Signed-off-by: Chen Qi <qi.c...@windriver.com>
>> ---
>>  meta/classes/rm_work.bbclass | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/rm_work.bbclass b/meta/classes/rm_work.bbclass
>> index 4121a13279..1f28bc7187 100644
>> --- a/meta/classes/rm_work.bbclass
>> +++ b/meta/classes/rm_work.bbclass
>> @@ -180,7 +180,7 @@ python inject_rm_work() {
>>          # other recipes and thus will typically run much later than
>> completion of
>>          # work in the recipe itself.
>>          # In practice, addtask() here merely updates the dependencies.
>> -        bb.build.addtask('do_rm_work', 'do_build', ' '.join(deps), d)
>> +        bb.build.addtask('do_rm_work', 'do_rm_work_all do_build', '
>> '.join(deps), d)
>>
>>      # Always update do_build_without_rm_work dependencies.
>>      bb.build.addtask('do_build_without_rm_work', '', ' '.join(deps), d)
>> --
>> 2.37.1
>>
>>
>>
>>
>>
>
> --
> Best regards,
>
> José Quaresma
>
> 
>
>

-- 
Best regards,

José Quaresma
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#176092): 
https://lists.openembedded.org/g/openembedded-core/message/176092
Mute This Topic: https://lists.openembedded.org/mt/95462765/21656
Group Owner: openembedded-core+ow...@lists.openembedded.org
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to