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

Denys Dmytriyenko
2017-06-12T23:23:47Z

On Mon, Jun 12, 2017 at 11:05:19PM +0200, Patrick Ohly wrote:
> 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.

FWIW, replacing it with oe.utils.conditional() doesn't help.

> I'll need to discuss this with Richard tomorrow.

Richard mentioned this on IRC, but no solution yet. Please keep me posted.

--
Denys