All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive
@ 2023-05-16 18:40 ross.burton
  2023-05-16 18:40 ` [PATCH 2/7] gobject-introspection: always DEPEND on gobject-introspection-native ross.burton
                   ` (5 more replies)
  0 siblings, 6 replies; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

autoconf-archive is a collection of m4 autoconf macros needed at
build-time, and autoconf-archive-native is a suitable provider as there
is nothing in the recipe that needs to be cross-compiled.

Also if we use DEPENDS=autoconf-archive then the recipe's -dev package
ends up RDEPENDing on autoconf-archive, which isn't correct.

Universally change any DEPENDS on autoconf-archive to the -native form,
and add any missing dependencies that were implicit before.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-connectivity/neard/neard_0.18.bb                  | 2 +-
 meta/recipes-core/dbus/dbus_1.14.6.bb                          | 2 +-
 meta/recipes-devtools/e2fsprogs/e2fsprogs.inc                  | 2 +-
 meta/recipes-extended/wget/wget.inc                            | 2 +-
 .../gobject-introspection/gobject-introspection_1.74.0.bb      | 2 +-
 meta/recipes-graphics/xorg-lib/libx11_1.8.4.bb                 | 2 +-
 meta/recipes-kernel/powertop/powertop_2.15.bb                  | 2 +-
 meta/recipes-support/icu/icu_72-1.bb                           | 3 +--
 meta/recipes-support/mpfr/mpfr_4.2.0.bb                        | 2 +-
 9 files changed, 9 insertions(+), 10 deletions(-)

diff --git a/meta/recipes-connectivity/neard/neard_0.18.bb b/meta/recipes-connectivity/neard/neard_0.18.bb
index dbd6e3841a1..362a7615b6e 100644
--- a/meta/recipes-connectivity/neard/neard_0.18.bb
+++ b/meta/recipes-connectivity/neard/neard_0.18.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
                     file://src/near.h;beginline=1;endline=20;md5=358e4deefef251a4761e1ffacc965d13 \
                    "
 
-DEPENDS = "dbus glib-2.0 libnl"
+DEPENDS = "dbus glib-2.0 libnl autoconf-archive-native"
 
 SRC_URI = "git://git.kernel.org/pub/scm/network/nfc/neard.git;protocol=https;branch=master \
            file://neard.in \
diff --git a/meta/recipes-core/dbus/dbus_1.14.6.bb b/meta/recipes-core/dbus/dbus_1.14.6.bb
index a6e18a92cbb..da25155773a 100644
--- a/meta/recipes-core/dbus/dbus_1.14.6.bb
+++ b/meta/recipes-core/dbus/dbus_1.14.6.bb
@@ -42,7 +42,7 @@ PACKAGECONFIG[verbose-mode] = "--enable-verbose-mode,,,"
 PACKAGECONFIG[audit] = "--enable-libaudit,--disable-libaudit,audit"
 PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux"
 
-DEPENDS = "expat virtual/libintl autoconf-archive glib-2.0"
+DEPENDS = "expat virtual/libintl autoconf-archive-native glib-2.0"
 RDEPENDS:${PN} += "${PN}-common ${PN}-tools"
 RDEPENDS:${PN}:class-native = ""
 
diff --git a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
index d345b914722..0cb3f0e6a6f 100644
--- a/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
+++ b/meta/recipes-devtools/e2fsprogs/e2fsprogs.inc
@@ -17,7 +17,7 @@ LIC_FILES_CHKSUM = "file://NOTICE;md5=d50be0580c0b0a7fbc7a4830bbe6c12b \
                       file://lib/et/et_name.c;beginline=1;endline=11;md5=ead236447dac7b980dbc5b4804d8c836 \
                       file://lib/ss/ss.h;beginline=1;endline=20;md5=6e89ad47da6e75fecd2b5e0e81e1d4a6"
 SECTION = "base"
-DEPENDS = "util-linux attr autoconf-archive"
+DEPENDS = "util-linux attr autoconf-archive-native"
 
 SRC_URI = "git://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git;branch=master;protocol=https"
 S = "${WORKDIR}/git"
diff --git a/meta/recipes-extended/wget/wget.inc b/meta/recipes-extended/wget/wget.inc
index 58cb5ca73d3..d31756dbc8b 100644
--- a/meta/recipes-extended/wget/wget.inc
+++ b/meta/recipes-extended/wget/wget.inc
@@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
 
 inherit autotools gettext texinfo update-alternatives pkgconfig
 
-DEPENDS += "autoconf-archive"
+DEPENDS += "autoconf-archive-native"
 
 EXTRA_OECONF = "--without-libgnutls-prefix --without-libssl-prefix \
                 --disable-rpath"
diff --git a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb
index 781ed65da37..d3a7ce2fd93 100644
--- a/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb
+++ b/meta/recipes-gnome/gobject-introspection/gobject-introspection_1.74.0.bb
@@ -27,7 +27,7 @@ GTKDOC_MESON_OPTION = "gtk_doc"
 
 MULTILIB_SCRIPTS = "${PN}:${bindir}/g-ir-annotation-tool ${PN}:${bindir}/g-ir-scanner"
 
-DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive"
+DEPENDS += " libffi zlib glib-2.0 python3 flex-native bison-native autoconf-archive-native"
 
 # target build needs qemu to run temporary introspection binaries created
 # on the fly by g-ir-scanner and a native version of itself to run
diff --git a/meta/recipes-graphics/xorg-lib/libx11_1.8.4.bb b/meta/recipes-graphics/xorg-lib/libx11_1.8.4.bb
index 1b95cfb4327..7831b4986af 100644
--- a/meta/recipes-graphics/xorg-lib/libx11_1.8.4.bb
+++ b/meta/recipes-graphics/xorg-lib/libx11_1.8.4.bb
@@ -13,7 +13,7 @@ DEPENDS += "xorgproto \
             xtrans \
             libxcb \
             xorgproto-native \
-            autoconf-archive \
+            autoconf-archive-native \
             "
 
 PROVIDES = "virtual/libx11"
diff --git a/meta/recipes-kernel/powertop/powertop_2.15.bb b/meta/recipes-kernel/powertop/powertop_2.15.bb
index 0aae4c93978..65c6d0fcd37 100644
--- a/meta/recipes-kernel/powertop/powertop_2.15.bb
+++ b/meta/recipes-kernel/powertop/powertop_2.15.bb
@@ -2,7 +2,7 @@ SUMMARY = "Power usage tool"
 DESCRIPTION = "Linux tool to diagnose issues with power consumption and power management."
 HOMEPAGE = "https://01.org/powertop/"
 BUGTRACKER = "https://app.devzing.com/powertopbugs/bugzilla"
-DEPENDS = "ncurses libnl pciutils autoconf-archive"
+DEPENDS = "ncurses libnl pciutils autoconf-archive-native"
 LICENSE = "GPL-2.0-only"
 LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
 
diff --git a/meta/recipes-support/icu/icu_72-1.bb b/meta/recipes-support/icu/icu_72-1.bb
index 2b20bdd7b23..c2eae5298fc 100644
--- a/meta/recipes-support/icu/icu_72-1.bb
+++ b/meta/recipes-support/icu/icu_72-1.bb
@@ -6,8 +6,7 @@ same results on all platforms."
 HOMEPAGE = "http://site.icu-project.org/"
 
 LICENSE = "ICU"
-DEPENDS = "icu-native autoconf-archive"
-DEPENDS:class-native = "autoconf-archive-native"
+DEPENDS = "icu-native autoconf-archive-native"
 
 CVE_PRODUCT = "international_components_for_unicode"
 
diff --git a/meta/recipes-support/mpfr/mpfr_4.2.0.bb b/meta/recipes-support/mpfr/mpfr_4.2.0.bb
index fead5c38333..31804382e0f 100644
--- a/meta/recipes-support/mpfr/mpfr_4.2.0.bb
+++ b/meta/recipes-support/mpfr/mpfr_4.2.0.bb
@@ -9,7 +9,7 @@ inherit autotools texinfo
 LIC_FILES_CHKSUM = "file://COPYING;md5=1ebbd3e34237af26da5dc08a4e440464 \
                     file://COPYING.LESSER;md5=3000208d539ec061b899bce1d9ce9404 \
                     "
-DEPENDS = "gmp autoconf-archive"
+DEPENDS = "gmp autoconf-archive-native"
 
 SRC_URI = "https://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz"
 SRC_URI[sha256sum] = "06a378df13501248c1b2db5aa977a2c8126ae849a9d9b7be2546fb4a9c26d993"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 2/7] gobject-introspection: always DEPEND on gobject-introspection-native
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
@ 2023-05-16 18:40 ` ross.burton
  2023-05-16 18:40 ` [PATCH 3/7] python3-pygobject: remove explicit gobject-introspection DEPENDS ross.burton
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

If a recipe inherits gobject-introspection then there's a good chance
that it needs the gobject-introspection-native recipe for the m4 macros
in introspection.m4, because we always autoreconf so we always need the
macros to be present.

Change the dependencies so that inheriting g-i always adds a dependency
on gobject-introspection-native, and a dependency on qemu-native and
target gobject-introspection if G-I is enabled.

Partially reverts 4e51c18.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../gobject-introspection.bbclass              | 18 +++++++-----------
 1 file changed, 7 insertions(+), 11 deletions(-)

diff --git a/meta/classes-recipe/gobject-introspection.bbclass b/meta/classes-recipe/gobject-introspection.bbclass
index 98edb93761f..65c67ddc721 100644
--- a/meta/classes-recipe/gobject-introspection.bbclass
+++ b/meta/classes-recipe/gobject-introspection.bbclass
@@ -35,23 +35,19 @@ 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 = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'gobject-introspection gobject-introspection-native qemu-native', '', d)}"
+DEPENDS:append:class-target = " ${@bb.utils.contains('GI_DATA_ENABLED', 'True', 'gobject-introspection qemu-native', '', d)}"
 
-# Even though introspection is disabled on -native, gobject-introspection package is still
-# needed for m4 macros.
-DEPENDS:append:class-native = " gobject-introspection-native"
-DEPENDS:append:class-nativesdk = " gobject-introspection-native"
+# Even when introspection is disabled, the gobject-introspection package is still needed for m4 macros.
+DEPENDS:append = " gobject-introspection-native"
 
 # This is used by introspection tools to find .gir includes
 export XDG_DATA_DIRS = "${STAGING_DATADIR}:${STAGING_LIBDIR}"
 
 do_configure:prepend:class-target () {
-    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
+    # introspection.m4 pre-packaged with upstream tarballs does not yet
+    # have our fixes
+    mkdir -p ${S}/m4
+    cp ${STAGING_DIR_NATIVE}/${datadir}/aclocal/introspection.m4 ${S}/m4
 }
 
 # .typelib files are needed at runtime and so they go to the main package (so
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 3/7] python3-pygobject: remove explicit gobject-introspection DEPENDS
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
  2023-05-16 18:40 ` [PATCH 2/7] gobject-introspection: always DEPEND on gobject-introspection-native ross.burton
@ 2023-05-16 18:40 ` ross.burton
  2023-05-16 18:40 ` [PATCH 4/7] gconf: " ross.burton
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

The gobject-introspection inherit pulls in the dependency for us.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/python/python3-pygobject_3.44.1.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
index 8bfff435609..1132e9a9ed3 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
@@ -10,7 +10,7 @@ GIR_MESON_OPTION = ""
 
 inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even
 
-DEPENDS += "python3 glib-2.0 gobject-introspection"
+DEPENDS += "python3 glib-2.0"
 
 SRCNAME="pygobject"
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
  2023-05-16 18:40 ` [PATCH 2/7] gobject-introspection: always DEPEND on gobject-introspection-native ross.burton
  2023-05-16 18:40 ` [PATCH 3/7] python3-pygobject: remove explicit gobject-introspection DEPENDS ross.burton
@ 2023-05-16 18:40 ` ross.burton
  2023-05-18 10:57   ` Petr Kubizňák - 2N
  2023-05-16 18:40 ` [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled ross.burton
                   ` (2 subsequent siblings)
  5 siblings, 1 reply; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

The gobject-introspection inherit does this for us.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index e712e4729c3..4930aeb9f03 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf"
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 
-DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"
 
 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
                   ` (2 preceding siblings ...)
  2023-05-16 18:40 ` [PATCH 4/7] gconf: " ross.burton
@ 2023-05-16 18:40 ` ross.burton
  2023-05-18 10:50   ` Petr Kubizňák - 2N
  2023-05-16 18:40 ` [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE ross.burton
  2023-05-16 18:40 ` [PATCH 7/7] gstreamer1.0-python: " ross.burton
  5 siblings, 1 reply; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

The gi-docgen tool depends, as it's name suggests, on
gobject-introspection being available.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/gi-docgen.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/gi-docgen.bbclass b/meta/classes-recipe/gi-docgen.bbclass
index 8b7eaacea3f..eb30c6011f8 100644
--- a/meta/classes-recipe/gi-docgen.bbclass
+++ b/meta/classes-recipe/gi-docgen.bbclass
@@ -10,7 +10,8 @@
 
 # This variable is set to True if api-documentation is in
 # DISTRO_FEATURES, and False otherwise.
-GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}"
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation gobject-introspection-data', 'True', 'False', d)}"
+
 # When building native recipes, disable gi-docgen, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
 GIDOCGEN_ENABLED:class-native = "False"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
                   ` (3 preceding siblings ...)
  2023-05-16 18:40 ` [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled ross.burton
@ 2023-05-16 18:40 ` ross.burton
  2023-05-18 10:49   ` Petr Kubizňák - 2N
  2023-05-16 18:40 ` [PATCH 7/7] gstreamer1.0-python: " ross.burton
  5 siblings, 1 reply; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

PyGObject needs gobject-introspection to function, so add a distro
features check.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/python/python3-pygobject_3.44.1.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
index 1132e9a9ed3..43125927cd3 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = ""
 
-inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even
+inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
 
 DEPENDS += "python3 glib-2.0"
 
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [PATCH 7/7] gstreamer1.0-python: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
                   ` (4 preceding siblings ...)
  2023-05-16 18:40 ` [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE ross.burton
@ 2023-05-16 18:40 ` ross.burton
  5 siblings, 0 replies; 14+ messages in thread
From: ross.burton @ 2023-05-16 18:40 UTC (permalink / raw)
  To: openembedded-core; +Cc: alex.kanavin, kubiznak

From: Ross Burton <ross.burton@arm.com>

This layers on top of python3-pygobject, which needs
gobject-introspection to work.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 .../gstreamer/gstreamer1.0-python_1.22.2.bb                   | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
index 52d987eee5a..ab1600db411 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-python_1.22.2.bb
@@ -23,6 +23,8 @@ EXTRA_OEMESON += "\
     -Dlibpython-dir=${libdir} \
 "
 
-inherit meson pkgconfig setuptools3-base upstream-version-is-even
+inherit meson pkgconfig setuptools3-base upstream-version-is-even features_check
 
 FILES:${PN} += "${libdir}/gstreamer-1.0"
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"
-- 
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-16 18:40 ` [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE ross.burton
@ 2023-05-18 10:49   ` Petr Kubizňák - 2N
  2023-05-22 16:11     ` Ross Burton
  0 siblings, 1 reply; 14+ messages in thread
From: Petr Kubizňák - 2N @ 2023-05-18 10:49 UTC (permalink / raw)
  To: ross.burton, openembedded-core; +Cc: alex.kanavin

With gobject-introspection in DEPENDS, PyGObject builds always, even if gobject-introspection-data is not in DISTRO_FEATURES. Is this conditional approach better?

Petr

________________________________________
From: ross.burton@arm.com <ross.burton@arm.com>
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kanavin@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE

From: Ross Burton <ross.burton@arm.com>

PyGObject needs gobject-introspection to function, so add a distro
features check.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-devtools/python/python3-pygobject_3.44.1.bb | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
index 1132e9a9ed3..43125927cd3 100644
--- a/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
+++ b/meta/recipes-devtools/python/python3-pygobject_3.44.1.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a916467b91076e631dd8edb7424769c7"
 GNOMEBASEBUILDCLASS = "meson"
 GIR_MESON_OPTION = ""

-inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even
+inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even features_check
+
+REQUIRED_DISTRO_FEATURES = "gobject-introspection-data"

 DEPENDS += "python3 glib-2.0"

--
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled
  2023-05-16 18:40 ` [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled ross.burton
@ 2023-05-18 10:50   ` Petr Kubizňák - 2N
  0 siblings, 0 replies; 14+ messages in thread
From: Petr Kubizňák - 2N @ 2023-05-18 10:50 UTC (permalink / raw)
  To: ross.burton, openembedded-core; +Cc: alex.kanavin

The comment before the modified line does not match now.

Petr

________________________________________
From: ross.burton@arm.com <ross.burton@arm.com>
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kanavin@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled

From: Ross Burton <ross.burton@arm.com>

The gi-docgen tool depends, as it's name suggests, on
gobject-introspection being available.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/classes-recipe/gi-docgen.bbclass | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/meta/classes-recipe/gi-docgen.bbclass b/meta/classes-recipe/gi-docgen.bbclass
index 8b7eaacea3f..eb30c6011f8 100644
--- a/meta/classes-recipe/gi-docgen.bbclass
+++ b/meta/classes-recipe/gi-docgen.bbclass
@@ -10,7 +10,8 @@

 # This variable is set to True if api-documentation is in
 # DISTRO_FEATURES, and False otherwise.
-GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation', 'True', 'False', d)}"
+GIDOCGEN_ENABLED ?= "${@bb.utils.contains('DISTRO_FEATURES', 'api-documentation gobject-introspection-data', 'True', 'False', d)}"
+
 # When building native recipes, disable gi-docgen, as it is not necessary,
 # pulls in additional dependencies, and makes build times longer
 GIDOCGEN_ENABLED:class-native = "False"
--
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS
  2023-05-16 18:40 ` [PATCH 4/7] gconf: " ross.burton
@ 2023-05-18 10:57   ` Petr Kubizňák - 2N
  2023-05-22 12:55     ` Ross Burton
  0 siblings, 1 reply; 14+ messages in thread
From: Petr Kubizňák - 2N @ 2023-05-18 10:57 UTC (permalink / raw)
  To: ross.burton, openembedded-core; +Cc: alex.kanavin

With the patch 2/7 applied, the gobject-introspection inherit pulls in gobject-introspection-native, not gobject-introspection dependency. Is this sufficient? Please make sure it builds with g-i disabled.

Petr

________________________________________
From: ross.burton@arm.com <ross.burton@arm.com>
Sent: Tuesday, May 16, 2023 8:40 PM
To: openembedded-core@lists.openembedded.org
Cc: alex.kanavin@gmail.com; Petr Kubizňák - 2N
Subject: [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS

From: Ross Burton <ross.burton@arm.com>

The gobject-introspection inherit does this for us.

Signed-off-by: Ross Burton <ross.burton@arm.com>
---
 meta/recipes-gnome/gnome/gconf_3.2.6.bb | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/recipes-gnome/gnome/gconf_3.2.6.bb b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
index e712e4729c3..4930aeb9f03 100644
--- a/meta/recipes-gnome/gnome/gconf_3.2.6.bb
+++ b/meta/recipes-gnome/gnome/gconf_3.2.6.bb
@@ -7,7 +7,7 @@ HOMEPAGE = "https://gitlab.gnome.org/Archive/gconf"
 LICENSE = "LGPL-2.0-or-later"
 LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"

-DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib libxml2 intltool-native"
+DEPENDS = "glib-2.0 glib-2.0-native dbus dbus-glib libxml2 intltool-native"

 inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache

--
2.34.1



^ permalink raw reply related	[flat|nested] 14+ messages in thread

* Re: [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS
  2023-05-18 10:57   ` Petr Kubizňák - 2N
@ 2023-05-22 12:55     ` Ross Burton
  0 siblings, 0 replies; 14+ messages in thread
From: Ross Burton @ 2023-05-22 12:55 UTC (permalink / raw)
  To: Petr Kubizňák - 2N; +Cc: openembedded-core, alex.kanavin

On 18 May 2023, at 11:57, Petr Kubizňák - 2N <kubiznak@2n.com> wrote:
> 
> With the patch 2/7 applied, the gobject-introspection inherit pulls in gobject-introspection-native, not gobject-introspection dependency. Is this sufficient? Please make sure it builds with g-i disabled.

It does: it _always_ needs g-i-native for the m4 macros, so that configure can run.  Target g-i is only needed if enabled.

Ross

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-18 10:49   ` Petr Kubizňák - 2N
@ 2023-05-22 16:11     ` Ross Burton
  2023-05-24 12:10       ` [OE-core] " Martin Jansa
  0 siblings, 1 reply; 14+ messages in thread
From: Ross Burton @ 2023-05-22 16:11 UTC (permalink / raw)
  To: Petr Kubizňák - 2N; +Cc: openembedded-core, alex.kanavin

On 18 May 2023, at 11:49, Petr Kubizňák - 2N <kubiznak@2n.com> wrote:
> 
> With gobject-introspection in DEPENDS, PyGObject builds always, even if gobject-introspection-data is not in DISTRO_FEATURES. Is this conditional approach better?

Builds is not the same as is useful.

PyGObject uses G-I to interface to GObject itself.

Without qemu-usermode, gobject-introspection is a stub, as can be shown by comparing gobject-introspection with and without qemu-usermode:

Changes to packages/cortexa57-poky-linux/gobject-introspection (sysroot):
  /usr/lib/girepository-1.0 was removed
  /usr/lib/girepository-1.0/Gio-2.0.typelib was removed
  /usr/lib/girepository-1.0/GIRepository-2.0.typelib was removed
…

The target gobject-introspection recipe should also refuse to build unless GI is enabled.

Ross

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-22 16:11     ` Ross Burton
@ 2023-05-24 12:10       ` Martin Jansa
  2023-05-24 17:15         ` Ross Burton
  0 siblings, 1 reply; 14+ messages in thread
From: Martin Jansa @ 2023-05-24 12:10 UTC (permalink / raw)
  To: Ross Burton; +Cc: Petr Kubizňák - 2N, openembedded-core, alex.kanavin

[-- Attachment #1: Type: text/plain, Size: 2581 bytes --]

Ross, are you going to add REQUIRED_DISTRO_FEATURES =
"gobject-introspection-data" to these as well?

ERROR: Nothing PROVIDES 'python3-pygobject' (but
meta-oe/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb
DEPENDS on or otherwise requires it)
python3-pygobject was skipped: missing required distro feature
'gobject-introspection-data' (not in DISTRO_FEATURES)

ERROR: Nothing RPROVIDES 'python3-pygobject' (but
meta-oe/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/
firewalld_1.2.0.bb,
meta-oe/meta-networking/recipes-daemons/networkd-dispatcher/
networkd-dispatcher_2.1.bb, oe-core/meta/recipes-devtools/python/
python3-dbusmock_0.28.7.bb, meta-oe/meta-python/recipes-devtools/python/
python3-pydbus_0.6.0.bb,
meta-oe/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb,
meta-oe/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb
RDEPENDS on or otherwise requires it)
python3-pygobject was skipped: missing required distro feature
'gobject-introspection-data' (not in DISTRO_FEATURES)

There are probably few more, e.g. python3-pydbus-manager which rdepends on
python3-pydbus.

Regards,

On Mon, May 22, 2023 at 6:11 PM Ross Burton <ross.burton@arm.com> wrote:

> On 18 May 2023, at 11:49, Petr Kubizňák - 2N <kubiznak@2n.com> wrote:
> >
> > With gobject-introspection in DEPENDS, PyGObject builds always, even if
> gobject-introspection-data is not in DISTRO_FEATURES. Is this conditional
> approach better?
>
> Builds is not the same as is useful.
>
> PyGObject uses G-I to interface to GObject itself.
>
> Without qemu-usermode, gobject-introspection is a stub, as can be shown by
> comparing gobject-introspection with and without qemu-usermode:
>
> Changes to packages/cortexa57-poky-linux/gobject-introspection (sysroot):
>   /usr/lib/girepository-1.0 was removed
>   /usr/lib/girepository-1.0/Gio-2.0.typelib was removed
>   /usr/lib/girepository-1.0/GIRepository-2.0.typelib was removed
> …
>
> The target gobject-introspection recipe should also refuse to build unless
> GI is enabled.
>
> Ross
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#181598):
> https://lists.openembedded.org/g/openembedded-core/message/181598
> Mute This Topic: https://lists.openembedded.org/mt/98932959/3617156
> Group Owner: openembedded-core+owner@lists.openembedded.org
> Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [
> Martin.Jansa@gmail.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>

[-- Attachment #2: Type: text/html, Size: 3834 bytes --]

^ permalink raw reply	[flat|nested] 14+ messages in thread

* Re: [OE-core] [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
  2023-05-24 12:10       ` [OE-core] " Martin Jansa
@ 2023-05-24 17:15         ` Ross Burton
  0 siblings, 0 replies; 14+ messages in thread
From: Ross Burton @ 2023-05-24 17:15 UTC (permalink / raw)
  To: Martin Jansa; +Cc: openembedded-core

On 24 May 2023, at 13:10, Martin Jansa <martin.jansa@gmail.com> wrote:
> 
> Ross, are you going to add REQUIRED_DISTRO_FEATURES = "gobject-introspection-data" to these as well?
> 
> ERROR: Nothing PROVIDES 'python3-pygobject' (but meta-oe/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb DEPENDS on or otherwise requires it)
> python3-pygobject was skipped: missing required distro feature 'gobject-introspection-data' (not in DISTRO_FEATURES)
> 
> ERROR: Nothing RPROVIDES 'python3-pygobject' (but meta-oe/meta-networking/dynamic-layers/meta-python/recipes-connectivity/firewalld/firewalld_1.2.0.bb, meta-oe/meta-networking/recipes-daemons/networkd-dispatcher/networkd-dispatcher_2.1.bb, oe-core/meta/recipes-devtools/python/python3-dbusmock_0.28.7.bb, meta-oe/meta-python/recipes-devtools/python/python3-pydbus_0.6.0.bb, meta-oe/meta-networking/recipes-connectivity/blueman/blueman_2.3.5.bb, meta-oe/meta-python/recipes-devtools/python/python3-asyncio-glib_0.1.bb RDEPENDS on or otherwise requires it)
> python3-pygobject was skipped: missing required distro feature 'gobject-introspection-data' (not in DISTRO_FEATURES)
> 
> There are probably few more, e.g. python3-pydbus-manager which rdepends on python3-pydbus.

The pydbus recipes are incredibly obsolete so I took the executive decision to propose removing those, but fixed the others.

Ross

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2023-05-24 17:16 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-05-16 18:40 [PATCH 1/7] meta: depend on autoconf-archive-native, not autoconf-archive ross.burton
2023-05-16 18:40 ` [PATCH 2/7] gobject-introspection: always DEPEND on gobject-introspection-native ross.burton
2023-05-16 18:40 ` [PATCH 3/7] python3-pygobject: remove explicit gobject-introspection DEPENDS ross.burton
2023-05-16 18:40 ` [PATCH 4/7] gconf: " ross.burton
2023-05-18 10:57   ` Petr Kubizňák - 2N
2023-05-22 12:55     ` Ross Burton
2023-05-16 18:40 ` [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled ross.burton
2023-05-18 10:50   ` Petr Kubizňák - 2N
2023-05-16 18:40 ` [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE ross.burton
2023-05-18 10:49   ` Petr Kubizňák - 2N
2023-05-22 16:11     ` Ross Burton
2023-05-24 12:10       ` [OE-core] " Martin Jansa
2023-05-24 17:15         ` Ross Burton
2023-05-16 18:40 ` [PATCH 7/7] gstreamer1.0-python: " ross.burton

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.