[OE-core] subtle weirdness when you combine "_append" with "+="?

Ulf Magnusson ulfalizer at gmail.com
Tue Aug 16 14:46:14 UTC 2016


On Tue, Aug 16, 2016 at 4:02 PM, Robert P. J. Day <rpjday at crashcourse.ca> wrote:
>
>   was about to submit a small number of patches to clean up redundancy
> when people combine "_append" with "+=" (because it offends my
> delicate sensibilities), and ran across this in oe-core,
> unfs3_0.9.22.r497.bb:
>
>   DEPENDS_append_class-nativesdk += "flex-nativesdk"
>
> uh, what?
>
>   most of the time, i assume the above doesn't hurt, it's just ...
> silly. but normally, with "_append", you *need* to add the leading
> space explicitly, and that's not being done above. so does that mean
> that combining "_append" with "+=" *does* generate a leading space?
> that just makes my head hurt -- the possibility that "_append" is
> being used in a way that normally makes it fail, only to have "+="
> step in and save the day. at which point "_append" saves processing
> that until the end of parsing? yeesh.
>
>   thoughts?

By the point the += is handled, the override won't have been interpreted
yet. My guess is that += fetches the value of the variable
"DEPENDS_append_class-nativesdk", gets back the empty string, and
adds a space followed by "flex-nativesdk" to that.

The resulting " flex-nativesdk" is then interpreted as usual when the
overrides are handled.

You might like the note I added to
https://www.yoctoproject.org/docs/2.2/bitbake-user-manual/bitbake-user-manual.html#override-style-operation-advantages
by the way. :)

Cheers,
Ulf



More information about the Openembedded-core mailing list