[OE-core] [PATCH 1/1] target-sdk-provides-dummy: set nostamp for do_package
Kang Kai
Kai.Kang at windriver.com
Tue Apr 30 14:16:15 UTC 2019
On 2019/4/30 下午6:19, richard.purdie at linuxfoundation.org wrote:
> On Tue, 2019-04-30 at 03:15 -0400, kai.kang at windriver.com wrote:
>> From: Kai Kang <kai.kang at windriver.com>
>>
>> It exists a situation that there is a common config file includes
>> multilib.conf but variable MULTILIBS is not set by default:
>>
>> require conf/multilib.conf
>> MULTILIBS ?= ""
>>
>> When build target-sdk-provides-dummy in the same build project with
>> following steps, it fails.
>>
>> 1 $ echo 'MACHINE = "qemux86"' >>conf/local.conf
>> $ bitbake target-sdk-provides-dummy
>> 2 $ cat <<EOF >>conf/local.conf
>> MACHINE = "qemux86-64"
>> MULTILIBS = "multilib:lib32"
>> DEFAULTTUNE_virtclass-multilib-lib32 = "i586"
>> EOF
>> $ bitbake target-sdk-provides-dummy
>> $ bitbake lib32-target-sdk-provides-dummy
>>
>> It fails to build lib32-target-sdk-provides-dummy with error
>> messages:
>>
>>> ERROR: target-sdk-provides-dummy-1.0-r0 do_packagedata: The recipe
>>> target-sdk-provides-dummy
>>> is trying to install files into a shared area when those files
>>> already exist. Those files
>>> and their manifest location are:
>>> .../tmp/pkgdata/qemux86-64/lib32-target-sdk-provides-dummy
>>> (matched in manifest-qemux86_64-lib32-target-sdk-provides-
>>> dummy.packagedata)
>>> .../tmp/pkgdata/qemux86-64/runtime/lib32-target-sdk-provides-
>>> dummy
>>> (matched in manifest-qemux86_64-lib32-target-sdk-provides-
>>> dummy.packagedata)
>>> ... snip ...
>>> Please verify which recipe should provide the above files.
>> Because target-sdk-provides-dummy is a virtual package, its sstate
>> caches are same for both qemux86 and qemux86_64. So when build
>> target-sdk-provides-dummy for qemux86_64, it re-uses the sstate cache
>> from qemux86 and then create file lib32-target-sdk-provides-dummy
>> under
>> ${PKGDATA_DIR} which should not and then conflicts with lib32-target-
>> sdk-provides-dummy.
>>
>> Make do_package always be executed to fix the issue. Because it is a
>> dummy
>> package, it won't cost too much build time.
>>
>> Signed-off-by: Kai Kang <kai.kang at windriver.com>
>> ---
>> meta/recipes-core/meta/target-sdk-provides-dummy.bb | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/meta/recipes-core/meta/target-sdk-provides-dummy.bb
>> b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
>> index 85472a825c..e09a08bcd7 100644
>> --- a/meta/recipes-core/meta/target-sdk-provides-dummy.bb
>> +++ b/meta/recipes-core/meta/target-sdk-provides-dummy.bb
>> @@ -52,3 +52,5 @@ DUMMYPROVIDES = "\
>> "
>>
>> require dummy-sdk-package.inc
>> +
>> +do_package[nostamp] = "1"
> This isn't the right way to fix it, we should probably whitelist that
> particular file for multiple providers. See SSTATE_DUPWHITELIST.
OK. Thanks.
Kai
>
> Cheers,
>
> Richard
>
>
>
>
--
Kai Kang
More information about the Openembedded-core
mailing list