Re: [docs] [PATCH 1/1] doc: bitbake-user-manual-metadata: fix inherit_defer documentation
Dawid Bijak <[email protected]>
| Newsgroups | org.openembedded.lists.bitbake-devel,org.yoctoproject.lists.docs |
|---|---|
| Message-ID | <ljbjkwt32h72aziah2gepb6k5rfxygfrhkfysmulj5scnca5pu@o4vikz4hfmh3> |
On Mon, Apr 27, 2026 at 02:35:45PM +0200, Quentin Schulz wrote: > Hi Dawid, > > On 4/24/26 8:23 AM, Dawid Bijak via lists.yoctoproject.org wrote: > > [You don't often get email from [email protected]. Learn why this is important at https://aka.ms/LearnAboutSenderIdentification ] > > > > The documentation for inherit_defer contained the claim > > > > "If VARNAME is going to be set, it needs to be set before the > > inherit_defer statement is parsed" > > > > which is incorrect and contradicts the purpose of inherit_defer. > > The wrong claim is replaced with an example which demonstrates > > the contrast between a plain defer statement and the inherit_defer > > statement by using an override assignment placed after inherit_defer > > > > Additionally the inline python expression examples have been > > moved from the inherit_defer section up to the inherit section, since > > they apply to both directives > > > > I'm pretty sure the whole inherit_defer thing started because an inline > Python expression didn't work. I vaguely remember a bbappend either adding > this new inherit based on PACKAGECONFIG containing a value, or having the > main recipe with this inherit <PACKAGECONFIG.contains> and a bbappend modify > PACKAGECONFIG. See commit 5c2e840eafeb ("ast/BBHandler: Add inherit_defer > support") in BitBake. > > So I'm very skeptical this is correct. Hi Quentin, Thanks for your response. I'm afraid I don't quite follow your point about PACKAGECONFIG.contains. I'm not sure what you're referring to exactly. But, as far as I can tell, the inherit statement works fine with inline python expressions. I think, it evaluates the expression in place, much like := would. For example, on current master I tried the following: COND = "" COND:append = " x" inherit ${@bb.utils.contains('COND', 'x', 'foo', 'bar', d)} This inherits foo. However, if I move the :append below the inherit directive: COND = "" inherit ${@bb.utils.contains('COND', 'x', 'foo', 'bar', d)} COND:append = " x" it inherits bar. Greets, Dawid