* [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.