[oe] [meta-networking][PATCH] networkmanager: Fix many typos in DISTRO_FEATURES PACKAGECONFIG decodes

Andreas Müller schnitzeltony at gmail.com
Fri Apr 13 20:25:45 UTC 2018


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?

Andreas



More information about the Openembedded-devel mailing list