Re: [PATCH v2 1/2] bitbake.conf: DISTRO_FEATURES as overrides

Patrick Ohly
2017-06-12T21:05:22Z

On Mon, 2017-06-12 at 15:46 -0400, Denys Dmytriyenko wrote:
> This now breaks parsing my distro config on these lines:
>
> ENABLE_SYSVINIT ?= "0"
> DISTRO_FEATURES_append = "${@base_conditional("ENABLE_SYSVINIT", "1", "", " systemd", d)}"
>
>
> Here's the log:
>
> ERROR: Unable to parse /OE/arago-master/sources/bitbake/lib/bb/data_smart.py
> Traceback (most recent call last):
> File "/OE/arago-master/sources/bitbake/lib/bb/data_smart.py", line 426, in DataSmart.expandWithRefs(s='${@base_conditional("ENABLE_SYSVINIT", "1", "", " systemd", d)}', varname='DISTRO_FEATURES_append'):
> except Exception as exc:
> > raise ExpansionError(varname, s, exc) from exc
>
> bb.data_smart.ExpansionError: Failure expanding variable DISTRO_FEATURES_append, expression was ${@base_conditional("ENABLE_SYSVINIT", "1", "", " systemd", d)} which triggered exception NameError: name 'base_conditional' is not defined

base_conditional() seems to come from utils.bbclass, which gets
inherited by base.bbclass. Looks like DISTRO_FEATURES and thus this
DISTRO_FEATURES_append end up getting expanded before these classes are
fully parsed.

I'll need to discuss this with Richard tomorrow.

--
Best Regards, Patrick Ohly

The content of this message is my personal opinion only and although
I am an employee of Intel, the statements I make here in no way
represent Intel's position on the issue, nor am I authorized to speak
on behalf of Intel on this matter.