| Message ID | 20260427130846.96013-2-joaomarcos.costa@bootlin.com |
|---|---|
| State | Accepted, archived |
| Commit | f38320c9646a90aca88e119e692136594f75230c |
| Headers | show |
| Series | Simplify conditional operations with bb.utils.filter | expand |
Hi João, On 4/27/26 3:08 PM, João Marcos Costa wrote: > Some recipes use bb.utils.contains to check for a string inside a > variable, and return the exact same string if true. > > This can be simplified by a call to bb.utils.filter, since the result is > the same, and the inline is shorter. > > Replace "bb.utils.contains(A, 'a', 'a', '', d)" by "bb.utils.filter(A, 'a', d)". > > Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> > --- > meta/recipes-connectivity/connman/connman_2.0.bb | 2 +- > meta/recipes-core/coreutils/coreutils_9.10.bb | 2 +- > meta/recipes-core/ovmf/ovmf_git.bb | 2 +- > meta/recipes-extended/at/at_3.2.5.bb | 2 +- > meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb | 2 +- > meta/recipes-graphics/waffle/waffle_1.8.1.bb | 2 +- > .../gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb | 2 +- > 7 files changed, 7 insertions(+), 7 deletions(-) > > diff --git a/meta/recipes-connectivity/connman/connman_2.0.bb b/meta/recipes-connectivity/connman/connman_2.0.bb > index 6f7093301b..e9873f3163 100644 > --- a/meta/recipes-connectivity/connman/connman_2.0.bb > +++ b/meta/recipes-connectivity/connman/connman_2.0.bb > @@ -169,7 +169,7 @@ FILES:${PN}-tools = "${bindir}/wispr" > RDEPENDS:${PN}-tools = "${PN}" > > FILES:${PN}-tests = "${bindir}/*-test" > -RDEPENDS:${PN}-tests = "${@bb.utils.contains('PACKAGECONFIG', 'iptables', 'iptables', '', d)}" > +RDEPENDS:${PN}-tests = "${@bb.utils.filter('PACKAGECONFIG', 'iptables', d)}" > > FILES:${PN}-client = "${bindir}/connmanctl" > RDEPENDS:${PN}-client = "${PN}" > diff --git a/meta/recipes-core/coreutils/coreutils_9.10.bb b/meta/recipes-core/coreutils/coreutils_9.10.bb > index 984c5b5292..744d930272 100644 > --- a/meta/recipes-core/coreutils/coreutils_9.10.bb > +++ b/meta/recipes-core/coreutils/coreutils_9.10.bb > @@ -222,6 +222,6 @@ do_install_ptest:append:libc-musl () { > } > > RDEPENDS:${PN}-ptest += "xz \ > - ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'acl', '', d)} \ > + ${@bb.utils.filter('PACKAGECONFIG', 'acl', d)} \ > ${@bb.utils.contains('PACKAGECONFIG', 'xattr', 'attr', '', d)}" > FILES:${PN}-ptest += "${bindir}/getlimits" > diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb > index d731bca7f2..38d5d090b4 100644 > --- a/meta/recipes-core/ovmf/ovmf_git.bb > +++ b/meta/recipes-core/ovmf/ovmf_git.bb > @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776 > # compiling OVMF twice, so it is disabled by default. Distros > # may change that default. > PACKAGECONFIG ??= "" > -PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}" > +PACKAGECONFIG += "${@bb.utils.filter('MACHINE_FEATURES', 'tpm', d)}" > PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}" I believe we could actually use bb.utils.contains_any('MACHINE_FEATURES', 'tpm tpm2', 'tpm', '', d) to merge the two tpm MACHINE_FEATURES that enable the same PACKAGECONFIG. It also irks me that we're using += here instead of PACKAGECONFIG ?= "${@bb.utils.contains_any('MACHINE_FEATURES', 'tpm tpm2', 'tpm', '', d)}" (or ??=), but maybe that's fine (or in a separate commit anyway). Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> Thanks! Quentin
diff --git a/meta/recipes-connectivity/connman/connman_2.0.bb b/meta/recipes-connectivity/connman/connman_2.0.bb index 6f7093301b..e9873f3163 100644 --- a/meta/recipes-connectivity/connman/connman_2.0.bb +++ b/meta/recipes-connectivity/connman/connman_2.0.bb @@ -169,7 +169,7 @@ FILES:${PN}-tools = "${bindir}/wispr" RDEPENDS:${PN}-tools = "${PN}" FILES:${PN}-tests = "${bindir}/*-test" -RDEPENDS:${PN}-tests = "${@bb.utils.contains('PACKAGECONFIG', 'iptables', 'iptables', '', d)}" +RDEPENDS:${PN}-tests = "${@bb.utils.filter('PACKAGECONFIG', 'iptables', d)}" FILES:${PN}-client = "${bindir}/connmanctl" RDEPENDS:${PN}-client = "${PN}" diff --git a/meta/recipes-core/coreutils/coreutils_9.10.bb b/meta/recipes-core/coreutils/coreutils_9.10.bb index 984c5b5292..744d930272 100644 --- a/meta/recipes-core/coreutils/coreutils_9.10.bb +++ b/meta/recipes-core/coreutils/coreutils_9.10.bb @@ -222,6 +222,6 @@ do_install_ptest:append:libc-musl () { } RDEPENDS:${PN}-ptest += "xz \ - ${@bb.utils.contains('PACKAGECONFIG', 'acl', 'acl', '', d)} \ + ${@bb.utils.filter('PACKAGECONFIG', 'acl', d)} \ ${@bb.utils.contains('PACKAGECONFIG', 'xattr', 'attr', '', d)}" FILES:${PN}-ptest += "${bindir}/getlimits" diff --git a/meta/recipes-core/ovmf/ovmf_git.bb b/meta/recipes-core/ovmf/ovmf_git.bb index d731bca7f2..38d5d090b4 100644 --- a/meta/recipes-core/ovmf/ovmf_git.bb +++ b/meta/recipes-core/ovmf/ovmf_git.bb @@ -10,7 +10,7 @@ LIC_FILES_CHKSUM = "file://OvmfPkg/License.txt;md5=06357ddc23f46577c2aeaeaf7b776 # compiling OVMF twice, so it is disabled by default. Distros # may change that default. PACKAGECONFIG ??= "" -PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm', 'tpm', '', d)}" +PACKAGECONFIG += "${@bb.utils.filter('MACHINE_FEATURES', 'tpm', d)}" PACKAGECONFIG += "${@bb.utils.contains('MACHINE_FEATURES', 'tpm2', 'tpm', '', d)}" PACKAGECONFIG[debug] = ",,," PACKAGECONFIG[secureboot] = ",,," diff --git a/meta/recipes-extended/at/at_3.2.5.bb b/meta/recipes-extended/at/at_3.2.5.bb index 112d1c4adc..ee485f67ec 100644 --- a/meta/recipes-extended/at/at_3.2.5.bb +++ b/meta/recipes-extended/at/at_3.2.5.bb @@ -9,7 +9,7 @@ DEPENDS = "flex flex-native bison-native \ ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}" PACKAGECONFIG ?= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'selinux', d)} \ " PACKAGECONFIG[selinux] = "--with-selinux,--without-selinux,libselinux," diff --git a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb index 18eeaa5523..c76763f811 100644 --- a/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb +++ b/meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb @@ -14,7 +14,7 @@ REQUIRED_DISTRO_FEATURES = "opengl glvnd" inherit meson pkgconfig features_check PACKAGECONFIG ?= "\ - ${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'egl gles1 gles2', '', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl x11', 'glx', '', d)} \ " diff --git a/meta/recipes-graphics/waffle/waffle_1.8.1.bb b/meta/recipes-graphics/waffle/waffle_1.8.1.bb index aefa0069cf..5d993cf254 100644 --- a/meta/recipes-graphics/waffle/waffle_1.8.1.bb +++ b/meta/recipes-graphics/waffle/waffle_1.8.1.bb @@ -21,7 +21,7 @@ DEPENDS:append = " python3" # This should be overridden per-machine to reflect the capabilities of the GL # stack. PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'x11', 'glx x11-egl', '', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gbm surfaceless-egl', '', d)} \ " diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb index cdf3a20dff..9945e79bf7 100644 --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb @@ -25,7 +25,7 @@ PACKAGECONFIG ??= " \ ${GSTREAMER_ORC} \ ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez', '', d)} \ ${@bb.utils.filter('DISTRO_FEATURES', 'directfb vulkan x11', d)} \ - ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', '', d)} \ + ${@bb.utils.filter('DISTRO_FEATURES', 'wayland', d)} \ ${@bb.utils.contains('DISTRO_FEATURES', 'opengl', 'gl', '', d)} \ bz2 closedcaption curl dash dtls hls openssl sbc smoothstreaming \ sndfile ttml uvch264 webp analytics \
Some recipes use bb.utils.contains to check for a string inside a variable, and return the exact same string if true. This can be simplified by a call to bb.utils.filter, since the result is the same, and the inline is shorter. Replace "bb.utils.contains(A, 'a', 'a', '', d)" by "bb.utils.filter(A, 'a', d)". Signed-off-by: João Marcos Costa <joaomarcos.costa@bootlin.com> --- meta/recipes-connectivity/connman/connman_2.0.bb | 2 +- meta/recipes-core/coreutils/coreutils_9.10.bb | 2 +- meta/recipes-core/ovmf/ovmf_git.bb | 2 +- meta/recipes-extended/at/at_3.2.5.bb | 2 +- meta/recipes-graphics/libglvnd/libglvnd_1.7.0.bb | 2 +- meta/recipes-graphics/waffle/waffle_1.8.1.bb | 2 +- .../gstreamer/gstreamer1.0-plugins-bad_1.28.2.bb | 2 +- 7 files changed, 7 insertions(+), 7 deletions(-)