[oe] [meta-networking][PATCH] networkmanager: Fix many typos in DISTRO_FEATURES PACKAGECONFIG decodes
akuster808
akuster808 at gmail.com
Sat Apr 14 22:36:59 UTC 2018
On 04/13/2018 01:25 PM, Andreas Müller wrote:
> On Sat, Mar 31, 2018 at 5:04 AM, Armin Kuster <akuster808 at gmail.com> wrote:
>> fixes issues found with yocto-check-layer
>>
>> File "/home/akuster/oss/maint/openembedded-core/bitbake/lib/bb/data_smart.py", line 436, in DataSmart.expand(s="nss ifupdown netconfig dhclient dnsmasq ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', '', d)} ", varname='PACKAGECONFIG'):
>> def expand(self, s, varname = None):
>> > return self.expandWithRefs(s, varname).value
>>
>> File "/home/akuster/oss/maint/openembedded-core/bitbake/lib/bb/data_smart.py", line 426, in DataSmart.expandWithRefs(s="nss ifupdown netconfig dhclient dnsmasq ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', '', d)} ", varname='PACKAGECONFIG'):
>> except Exception as exc:
>> > raise ExpansionError(varname, s, exc) from exc
>>
>> bb.data_smart.ExpansionError: Failure expanding variable PACKAGECONFIG, expression was nss ifupdown netconfig dhclient dnsmasq ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez5', '', d)} ${@bb.utils.contains('DISTRO_FEATURES', 'wifi', '', d)} which triggered exception TypeError: contains() missing 1 required positional argument: 'd'
>>
>> Signed-off-by: Armin Kuster <akuster808 at gmail.com>
>> ---
>> .../recipes-connectivity/networkmanager/networkmanager_1.10.6.bb | 7 ++++---
>> 1 file changed, 4 insertions(+), 3 deletions(-)
>>
>> diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
>> index f201a75..d90b782 100644
>> --- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
>> +++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.10.6.bb
>> @@ -59,11 +59,12 @@ do_compile_prepend() {
>> }
>>
>> PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
>> - ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
>> - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
>> + ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
>> + ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d)} \
> ^ Whatever magic scripts wants to tell us: I think this was OK before.
>
> The patch turns the logic. Intended is:
>
> For systemd in DISTRO_FEATURES: PACKAGAGECONFIG +=systemd
> For systemd NOT in DISTRO_FEATURES *AND* x11 in DISTRO_FEATURES:
> PACKAGAGECONFIG +=consolekit
>
> By the way I did the similar mistake (+broke parsing really) in V1 of
> gobject-introspection-patch. Checking logs I found
>
> commit b55738ef8d30d6aa92e2e644a50f4b06ec541204
> Author: Jackie Huang <jackie.huang at windriver.com>
> Date: Mon Nov 13 16:04:18 2017 +0800
>
> networkmanager: add consolekit only when x11 is enabled
>
> consolekit depends on virtual/libx11 then it requires x11
> distro feature, so add consolekit option only when x11
> is in DISTRO_FEATURES.
>
> Signed-off-by: Jackie Huang <jackie.huang at windriver.com>
> Signed-off-by: Armin Kuster <akuster808 at gmail.com>
> Signed-off-by: Joe MacDonald <joe_macdonald at mentor.com>
>
> That helped me to remember what was intended.
>
> To avoid this in the future I suggest to have systemd/consolekit in
> one line. That should make it more clear.
>
> Shall I send a patch on top of master-next?
yes please.
- armin
>
> Andreas
More information about the Openembedded-devel
mailing list