Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies

Richard Purdie
2023-04-03T20:14:37Z

On Fri, 2023-03-31 at 13:46 +0200, Petr Kubizňák wrote:
> When GI_DATA_ENABLED is 'False' (e.g. because
> 'gobject-introspection-data' is not in DISTRO_FEATURES),
> gobject-introspection, gobject-introspection-native and qemu-native
> should not be added to DEPENDS. This is to reduce dependency chain
> when g-i is disabled.
>
> Signed-off-by: Petr Kubizňák <kubiznak@2n.com>
> ---
> meta/classes-recipe/gobject-introspection.bbclass | 12 +++++++-----
> 1 file changed, 7 insertions(+), 5 deletions(-)
>
> diff --git a/meta/classes-recipe/gobject-introspection.bbclass b/meta/classes-recipe/gobject-introspection.bbclass
> index 0c7b7d200a..98edb93761 100644
> --- a/meta/classes-recipe/gobject-introspection.bbclass
> +++ b/meta/classes-recipe/gobject-introspection.bbclass
> @@ -35,7 +35,7 @@ EXTRA_OEMESON:prepend:class-nativesdk = "${@['', '${GIRMESONBUILD}'][d.getVar('G
>
> # Generating introspection data depends on a combination of native and target
> # introspection tools, and qemu to run the target tools.
> -DEPENDS:append:class-target = " gobject-introspection gobject-introspection-native qemu-native"
> +DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'gobject-introspection gobject-introspection-native qemu-native', '', d)}"
>
> # Even though introspection is disabled on -native, gobject-introspection package is still
> # needed for m4 macros.
> @@ -46,10 +46,12 @@ DEPENDS:append:class-nativesdk = " gobject-introspection-native"
> export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
>
> do_configure:prepend:class-target () {
> - # introspection.m4 pre-packaged with upstream tarballs does not yet
> - # have our fixes
> - mkdir -p ${S}/m4
> - cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> + if [ "${@bb.utils.contains('GI_DATA_ENABLED', 'True', '1', '0', d)}" = "1" ] ; then
> + # introspection.m4 pre-packaged with upstream tarballs does not yet
> + # have our fixes
> + mkdir -p ${S}/m4
> + cp ${STAGING_DIR_TARGET}/${datadir}/aclocal/introspection.m4 ${S}/m4
> + fi
> }

Automated testing picked up this issue:

https://autobuilder.yoctoproject.org/typhoon/#/builders/57/builds/6802

which looks like a missing glib2.0-native dependency for vte?

Cheers,

Richard