* metadata mismatch between image and package (uninative)
@ 2019-08-24 12:52 Tim Blechmann
2019-08-27 3:43 ` Tim Blechmann
0 siblings, 1 reply; 2+ messages in thread
From: Tim Blechmann @ 2019-08-24 12:52 UTC (permalink / raw)
To: yocto
hi all,
i'm currently running into an issue of non-deterministic metadata: my
packages build fine when building the package itself, but i'm getting a
metadata mismatch when building as dependency of an image:
> ERROR: When reparsing /path/to/poky/meta/recipes-core/packagegroups/packagegroup-core-boot.bb.do_build, the basehash value changed from 86577a31ea46d8046d45301bfc53b8240e3576adecd75f7cfd25945ebab0a10c to 3439e8b4cd0f876338d38c9a5d2dc7c50440754f33a03212130766c7514d52ea. The metadata is not deterministic and this needs to be fixed.
the relevant part of the diff comes from PATH:
`${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:`
> Dependency on variable BUILD_ARCH was added
> Dependency on variable STAGING_DIR was added
> Variable PATH value changed from '${@extra_path_elements(d)}${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:/path/to/poky/bitbake/bin:${HOSTTOOLS_DIR}' to '${STAGING_DIR}-uninative/${BUILD_ARCH}-linux${bindir_native}:${@extra_path_elements(d)}${COREBASE}/scripts:${STAGING_BINDIR_TOOLCHAIN}:${STAGING_BINDIR_CROSS}:${STAGING_DIR_NATIVE}${sbindir_native}:${STAGING_BINDIR_NATIVE}:${STAGING_DIR_NATIVE}${base_sbindir_native}:${STAGING_DIR_NATIVE}${base_bindir_native}:/path/to/poky/bitbake/bin:${HOSTTOOLS_DIR}'
my distro is based on poky, which INHERITs "uninative"
--
i've been able to build by `INHERIT_remove`ing "uninative", but this
feels like a hack.
so i'm wondering: what could cause a reparse error when `uninative` is
enabled?
tia,
tim
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: metadata mismatch between image and package (uninative)
2019-08-24 12:52 metadata mismatch between image and package (uninative) Tim Blechmann
@ 2019-08-27 3:43 ` Tim Blechmann
0 siblings, 0 replies; 2+ messages in thread
From: Tim Blechmann @ 2019-08-27 3:43 UTC (permalink / raw)
To: yocto
> i've been able to build by `INHERIT_remove`ing "uninative", but this
> feels like a hack.
>
> so i'm wondering: what could cause a reparse error when `uninative` is
> enabled?
i think i've tracked down the error:
`uninative_event_enable` extends `PATH`, but only if `UNINATIVE_LOADER`
points to a valid path
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n128
`UNINATIVE_LOADER` only points to a valid path after
`uninative_event_fetchloader` succeeds.
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n33
but `uninative_event_fetchloader` is only executed during
`bb.event.BuildStarted`, while `uninative_event_enable` is called during
`bb.event.ConfigParsed
`.
https://git.yoctoproject.org/cgit.cgi/poky/tree/meta/classes/uninative.bbclass#n16
afaict this leads to the following situation:
* the initial `uninative_event_enable` "fails", as no `UNINATIVE_LOADER
` path exists
* the recipes are parsed with original `PATH`
* during `BuildStarted`, the `UNINATIVE_LOADER` is populated and
`enable_uninative` is called from `uninative_event_fetchloader`,
extending `PATH`
* reparsing sees a different `PATH`
----
now i'm wondering, what's the correct way to fix this?
thanks a lot,
tim
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-08-27 3:43 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-24 12:52 metadata mismatch between image and package (uninative) Tim Blechmann
2019-08-27 3:43 ` Tim Blechmann
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.