[OE-core] [PATCH 1/1] target-sdk-provides-dummy: set nostamp for do_package
richard.purdie at linuxfoundation.org
richard.purdie at linuxfoundation.org
Tue Apr 30 10:19:53 UTC 2019
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.
Cheers,
Richard
More information about the Openembedded-core
mailing list