Openembedded Core Discussions
 help / color / mirror / Atom feed
* Re: [PATCH] uninative: add variables to the whitelist so that it does not re-triger recipe parsing
@ 2018-03-19 13:57 Cuero Bugot
  2018-03-30 12:45 ` Cuero Bugot
  0 siblings, 1 reply; 8+ messages in thread
From: Cuero Bugot @ 2018-03-19 13:57 UTC (permalink / raw)
  To: Khem Raj; +Cc: openembedded-core@lists.openembedded.org

> > On Fri, Mar 16, 2018 at 10:31 AM Cuero Bugot <mailto:cbugot@sierrawireless.com> wrote:
> > When uninative is activated (poky's default) internal datastore variables are modified (NATIVELSBSTRING and SSTATEPOSTUNPACKFUNCS) to enable uninative
> > support. This is happening after parsing is done at the beginning of the build. On the next bitbake call the recipe would be parsed if the two
> > variables above were not added to the parsing whitelist BB_HASHCONFIG_WHITELIST.
> >
> > The fix is to add these two variables to the recipe parsing whitelist BB_HASHCONFIG_WHITELIST, this is done at recipe parsing time, only when
> > uninative.bbclass is used.

> It seems you have a case where data is already parsed and then uninstive is enabled after this the reparse is happening. Or is it always happening when uninative is enabled 

It is always happening when uninative is enabled (which is poky's default). The 2 first times you build you will have a full recipe parsing.
The reason is that the data is effectively modified on reception of BuildStarted event that happens after the parsing is done. Next time you run bitbake, the datastore signature is different and thus retrigger a recipe aprsing.

^ permalink raw reply	[flat|nested] 8+ messages in thread
* [PATCH] uninative: add variables to the whitelist so that it does not re-triger recipe parsing
@ 2018-03-16 17:31 Cuero Bugot
  2018-03-16 23:00 ` Khem Raj
  0 siblings, 1 reply; 8+ messages in thread
From: Cuero Bugot @ 2018-03-16 17:31 UTC (permalink / raw)
  To: openembedded-core@lists.openembedded.org

When uninative is activated (poky's default) internal datastore variables are modified (NATIVELSBSTRING and SSTATEPOSTUNPACKFUNCS) to enable uninative
support. This is happening after parsing is done at the beginning of the build. On the next bitbake call the recipe would be parsed if the two
variables above were not added to the parsing whitelist BB_HASHCONFIG_WHITELIST.

The fix is to add these two variables to the recipe parsing whitelist BB_HASHCONFIG_WHITELIST, this is done at recipe parsing time, only when
uninative.bbclass is used.

Signed-off-by: Cuero Bugot <cbugot@sierrawireless.com>
---
 meta/classes/uninative.bbclass | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta/classes/uninative.bbclass b/meta/classes/uninative.bbclass
index 8f34483..d1fdbc8 100644
--- a/meta/classes/uninative.bbclass
+++ b/meta/classes/uninative.bbclass
@@ -8,6 +8,9 @@ UNINATIVE_TARBALL ?= "${BUILD_ARCH}-nativesdk-libc.tar.bz2"
 #UNINATIVE_CHECKSUM[x86_64] = "dead"
 UNINATIVE_DLDIR ?= "${DL_DIR}/uninative/"
 
+# Enabling uninative will change the following variables so they need to go the parsing white list to prevent multiple recipe parsing
+BB_HASHCONFIG_WHITELIST += "NATIVELSBSTRING SSTATEPOSTUNPACKFUNCS"
+
 addhandler uninative_event_fetchloader
 uninative_event_fetchloader[eventmask] = "bb.event.BuildStarted"
 
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2018-04-04 20:08 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-03-19 13:57 [PATCH] uninative: add variables to the whitelist so that it does not re-triger recipe parsing Cuero Bugot
2018-03-30 12:45 ` Cuero Bugot
2018-04-03 13:56   ` Richard Purdie
2018-04-03 14:15     ` Cuero Bugot
2018-04-04 20:08       ` Randy MacLeod
  -- strict thread matches above, loose matches on Subject: below --
2018-03-16 17:31 Cuero Bugot
2018-03-16 23:00 ` Khem Raj
2018-03-19 13:58   ` Cuero Bugot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox