Re: [OE-core] [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS
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.bur...@arm.com Sent: Tuesday, May 16, 2023 8:40 PM To: openembedded-core@lists.openembedded.org Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N Subject: [PATCH 4/7] gconf: remove explicit gobject-introspection DEPENDS From: Ross Burton The gobject-introspection inherit does this for us. Signed-off-by: Ross Burton --- 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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181519): https://lists.openembedded.org/g/openembedded-core/message/181519 Mute This Topic: https://lists.openembedded.org/mt/98932956/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled
The comment before the modified line does not match now. Petr From: ross.bur...@arm.com Sent: Tuesday, May 16, 2023 8:40 PM To: openembedded-core@lists.openembedded.org Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N Subject: [PATCH 5/7] gi-docgen.bbclass: depends on gobject-introspection-data being enabled From: Ross Burton The gi-docgen tool depends, as it's name suggests, on gobject-introspection being available. Signed-off-by: Ross Burton --- 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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181518): https://lists.openembedded.org/g/openembedded-core/message/181518 Mute This Topic: https://lists.openembedded.org/mt/98932958/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core] [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE
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.bur...@arm.com Sent: Tuesday, May 16, 2023 8:40 PM To: openembedded-core@lists.openembedded.org Cc: alex.kana...@gmail.com; Petr Kubizňák - 2N Subject: [PATCH 6/7] python3-pygobject: mandate gobject-introspection-data DISTRO_FEATURE From: Ross Burton PyGObject needs gobject-introspection to function, so add a distro features check. Signed-off-by: Ross Burton --- 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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181517): https://lists.openembedded.org/g/openembedded-core/message/181517 Mute This Topic: https://lists.openembedded.org/mt/98932959/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies
Hi Martin and Ross, My original intention was to only condition the dependency on gobject-introspection but the reviewers were convinced the -native packages should be handled the same, see https://lists.openembedded.org/g/openembedded-core/message/175475 . That triggered a set of patches like https://lists.openembedded.org/g/openembedded-core/message/179620 . The result is passing the builds but honestly I'm not surprised about side-effects, sorry for that. The key question is whether the problematic packages have intrinsic dependency on g-i-native, which can (and should) be fixed by adding the package in DEPENDS directly, or g-i-native is always needed as Ross says, which would imply g-i-native should not be conditioned by GI_DATA_ENABLED in the class. I'm not an expert on g-i so I didn't have strong arguments but feel free to convince Alex that g-i-native should be always in DEPENDS. Petr From: Ross Burton Sent: Monday, May 15, 2023 3:58 PM To: martin.ja...@gmail.com Cc: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies On 15 May 2023, at 12:40, Martin Jansa via lists.openembedded.org wrote: > 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 > > Was this extra .m4 file causing issues in builds without > gobject-introspection-data in DISTRO_FEATURES? > > I've noticed some maybe unexpected side-effects from this change, see: > libblockdev: > https://lists.openembedded.org/g/openembedded-devel/message/102599 > glade: https://lists.openembedded.org/g/openembedded-devel/message/102601 That would be from: -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)}” As the comment below explains: # Even though introspection is disabled on -native, gobject-introspection package is still # needed for m4 macros. g-i-native will *always* be needed as a build dependency, because packages built from git may not have any m4 macros in. Ross -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#181263): https://lists.openembedded.org/g/openembedded-core/message/181263 Mute This Topic: https://lists.openembedded.org/mt/98032505/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts files to build
Hi Richard, Thanks for accepting the patch. I can for sure send a doc patch, just want to make sure it is desired since the glossary does not list any DT_* variable at the moment, and the devicetree class section in this respect only refers to the class sources. So I think both DT_FILES and DT_FILES_PATH variables should be documented at least, right? Cheers, Petr From: Richard Purdie Sent: Thursday, May 4, 2023 1:38 PM To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Cc: Michael Opdenacker Subject: Re: [OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts files to build On Wed, 2023-04-26 at 09:22 +0200, Petr Kubizňák wrote: > Add DT_FILES variable to allow the user of the class to select specific > dts files to build. This is useful for packages featuring dts files > for multiple machines. > > To make DT_FILES consistent with KERNEL_DEVICETREE, the list works > with both dts and dtb files. > > Signed-off-by: Petr Kubizňák > --- > meta/classes-recipe/devicetree.bbclass | 9 +++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/meta/classes-recipe/devicetree.bbclass > b/meta/classes-recipe/devicetree.bbclass > index ed2a92e447..bd50d7fa1d 100644 > --- a/meta/classes-recipe/devicetree.bbclass > +++ b/meta/classes-recipe/devicetree.bbclass > @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ > > DT_INCLUDE[doc] = "Search paths to be made available to both the device tree > compiler and preprocessor for inclusion." > DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" > -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select > dts files that are not in source (e.g. generated)." > +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. > Defaults to source directory." > DT_FILES_PATH ?= "${S}" > +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to > DT_FILES_PATH) to build. If empty, all dts files are built." > +DT_FILES ?= "" > > DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as > extra space typically for additional properties during boot." > DT_PADDING_SIZE ??= "0x3000" > @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d): > subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, > stderr=subprocess.STDOUT) > > python devicetree_do_compile() { > +import re > includes = expand_includes("DT_INCLUDE", d) > +dtfiles = d.getVar("DT_FILES").split() > +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ] > listpath = d.getVar("DT_FILES_PATH") > -for dts in os.listdir(listpath): > +for dts in dtfiles or os.listdir(listpath): > dtspath = os.path.join(listpath, dts) > try: > if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or > devicetree_source_is_overlay(dtspath)): I've taken this but could you send a patch to the documentation to add this variable to the glossary and to the devicetree class section please? Thanks, Richard -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180908): https://lists.openembedded.org/g/openembedded-core/message/180908 Mute This Topic: https://lists.openembedded.org/mt/98510103/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4] devicetree.bbclass: Allow selection of dts files to build
Add DT_FILES variable to allow the user of the class to select specific dts files to build. This is useful for packages featuring dts files for multiple machines. To make DT_FILES consistent with KERNEL_DEVICETREE, the list works with both dts and dtb files. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/devicetree.bbclass | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/classes-recipe/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass index ed2a92e447..bd50d7fa1d 100644 --- a/meta/classes-recipe/devicetree.bbclass +++ b/meta/classes-recipe/devicetree.bbclass @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ DT_INCLUDE[doc] = "Search paths to be made available to both the device tree compiler and preprocessor for inclusion." DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts files that are not in source (e.g. generated)." +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. Defaults to source directory." DT_FILES_PATH ?= "${S}" +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to DT_FILES_PATH) to build. If empty, all dts files are built." +DT_FILES ?= "" DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra space typically for additional properties during boot." DT_PADDING_SIZE ??= "0x3000" @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d): subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { +import re includes = expand_includes("DT_INCLUDE", d) +dtfiles = d.getVar("DT_FILES").split() +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ] listpath = d.getVar("DT_FILES_PATH") -for dts in os.listdir(listpath): +for dts in dtfiles or os.listdir(listpath): dtspath = os.path.join(listpath, dts) try: if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)): -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180407): https://lists.openembedded.org/g/openembedded-core/message/180407 Mute This Topic: https://lists.openembedded.org/mt/98510103/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts files to build
Hi Denys, > Any examples of this being used? Not really clear from the description what's > this really used for... I'm not sure what is unclear to you - just the commit message, or the patch itself? An example could be beaglebone-yocto.conf. If someone decides to move the device tree files from kernel to a standalone repository, then it is enough (e.g.) to rename KERNEL_DEVICETREE to EXTERNAL_DEVICETREE in the machine conf, and make an assignment DT_FILES = "${EXTERNAL_DEVICETREE}" in the devicetree recipe. So how about to replace the unclear sentence by: To make DT_FILES consistent with KERNEL_DEVICETREE, the list works with both dts and dtb files. Would that make more sense to you? Or do you think the example should be part of that commit message, too? Cheers, Petr From: Denys Dmytriyenko Sent: Sunday, April 23, 2023 12:07 AM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts files to build On Fri, Apr 21, 2023 at 05:23:25PM +0200, Petr Kubizňák wrote: > Add DT_FILES variable to allow the user of the class to select specific > dts files to build. This is useful for packages featuring dts files > for multiple machines. > > Since many machine configs contain a list of dtb files > (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. Any examples of this being used? Not really clear from the description what's this really used for... > Signed-off-by: Petr Kubizňák > --- > meta/classes-recipe/devicetree.bbclass | 9 +++-- > 1 file changed, 7 insertions(+), 2 deletions(-) > > diff --git a/meta/classes-recipe/devicetree.bbclass > b/meta/classes-recipe/devicetree.bbclass > index ed2a92e447..bd50d7fa1d 100644 > --- a/meta/classes-recipe/devicetree.bbclass > +++ b/meta/classes-recipe/devicetree.bbclass > @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ > > DT_INCLUDE[doc] = "Search paths to be made available to both the device tree > compiler and preprocessor for inclusion." > DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" > -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select > dts files that are not in source (e.g. generated)." > +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. > Defaults to source directory." > DT_FILES_PATH ?= "${S}" > +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to > DT_FILES_PATH) to build. If empty, all dts files are built." > +DT_FILES ?= "" > > DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as > extra space typically for additional properties during boot." > DT_PADDING_SIZE ??= "0x3000" > @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d): > subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, > stderr=subprocess.STDOUT) > > python devicetree_do_compile() { > +import re > includes = expand_includes("DT_INCLUDE", d) > +dtfiles = d.getVar("DT_FILES").split() > +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ] > listpath = d.getVar("DT_FILES_PATH") > -for dts in os.listdir(listpath): > +for dts in dtfiles or os.listdir(listpath): > dtspath = os.path.join(listpath, dts) > try: > if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or > devicetree_source_is_overlay(dtspath)): > -- > 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180344): https://lists.openembedded.org/g/openembedded-core/message/180344 Mute This Topic: https://lists.openembedded.org/mt/98413143/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3] devicetree.bbclass: Allow selection of dts files to build
Add DT_FILES variable to allow the user of the class to select specific dts files to build. This is useful for packages featuring dts files for multiple machines. Since many machine configs contain a list of dtb files (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/devicetree.bbclass | 9 +++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/meta/classes-recipe/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass index ed2a92e447..bd50d7fa1d 100644 --- a/meta/classes-recipe/devicetree.bbclass +++ b/meta/classes-recipe/devicetree.bbclass @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ DT_INCLUDE[doc] = "Search paths to be made available to both the device tree compiler and preprocessor for inclusion." DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts files that are not in source (e.g. generated)." +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. Defaults to source directory." DT_FILES_PATH ?= "${S}" +DT_FILES[doc] = "Space-separated list of dts or dtb files (relative to DT_FILES_PATH) to build. If empty, all dts files are built." +DT_FILES ?= "" DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra space typically for additional properties during boot." DT_PADDING_SIZE ??= "0x3000" @@ -125,9 +127,12 @@ def devicetree_compile(dtspath, includes, d): subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { +import re includes = expand_includes("DT_INCLUDE", d) +dtfiles = d.getVar("DT_FILES").split() +dtfiles = [ re.sub(r"\.dtbo?$", ".dts", dtfile) for dtfile in dtfiles ] listpath = d.getVar("DT_FILES_PATH") -for dts in os.listdir(listpath): +for dts in dtfiles or os.listdir(listpath): dtspath = os.path.join(listpath, dts) try: if not(os.path.isfile(dtspath)) or not(dts.endswith(".dts") or devicetree_source_is_overlay(dtspath)): -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180288): https://lists.openembedded.org/g/openembedded-core/message/180288 Mute This Topic: https://lists.openembedded.org/mt/98413143/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build
> kernel-devicetree.bbclass does the same translation dtb->dts I mean dts->dtb, of course. The point is dtb's are expected on the input. Petr ____ From: Petr Kubizňák - 2N Sent: Friday, April 21, 2023 2:30 PM To: Nathan Rossi Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build Hi Nathan, Thank you for great suggestions. All of them are valid and I will update the patch once we discuss the .dtb -> .dts mapping. > I am also curious why you need to handle this mapping of .dtb -> .dts. > Do you have an example recipe that is using this class in this way? > Because the ".dtb" in KERNEL_DEVICETREE is specifically because the > KERNEL_DEVICETREE variable is pointing at kernel makefile targets. I don't have an example of a particular recipe, but how about EXTERNAL_KERNEL_DEVICETREE variable, used in kernel-fitimage.bbclass? Albeit I don't use this variable in my recipes, I believe it could be used for both classes now with simple assignment DT_FILES = EXTERNAL_KERNEL_DEVICETREE. And if for whatever reason someone uses a custom variable (like me), they would still expect dtb's rather than dts's. I didn't find any example of using lists of dts files. Contrary, kernel-devicetree.bbclass does the same translation dtb->dts and it even warns about dts being provided (see normalize_dtb()). I didn't want to be that strict here (if someone has a list of dts files, while not to use it directly) but in general, I expect a list of dtb files will be much more common. Kind Regards, Petr From: Nathan Rossi Sent: Friday, April 21, 2023 1:44 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build On Fri, 21 Apr 2023 at 18:41, Petr Kubizňák wrote: > > Add DT_FILES variable to allow the user of the class to select specific > dts files to build. This is useful for packages featuring dts files > for multiple machines. > > Since many machine configs contain a list of dtb files > (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. > > Signed-off-by: Petr Kubizňák > --- > meta/classes-recipe/devicetree.bbclass | 10 +- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/meta/classes-recipe/devicetree.bbclass > b/meta/classes-recipe/devicetree.bbclass > index ed2a92e447..8f348f1370 100644 > --- a/meta/classes-recipe/devicetree.bbclass > +++ b/meta/classes-recipe/devicetree.bbclass > @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ > > DT_INCLUDE[doc] = "Search paths to be made available to both the device tree > compiler and preprocessor for inclusion." > DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" > -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select > dts files that are not in source (e.g. generated)." > +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. > Defaults to source directory." > DT_FILES_PATH ?= "${S}" > +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If > empty, all dts files are built." Worth noting in the doc string that DT_FILES paths are relative to DT_FILES_PATH. > +DT_FILES ?= "" > > DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as > extra space typically for additional properties during boot." > DT_PADDING_SIZE ??= "0x3000" > @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d): > subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, > stderr=subprocess.STDOUT) > > python devicetree_do_compile() { > +import re > includes = expand_includes("DT_INCLUDE", d) > +dtfiles = d.getVar("DT_FILES") If this populates the variable dtfiles with DT_FILES already split it can fall back to os.listdir if empty, this avoids the need for the "if filter..." logic within the loop: dtfiles = d.getVar("DT_FILES").split() dtfiles = [ for dtfiles in dtfiles] for dts in dtfiles or os.listdir(listpath): > +filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ] This regex is a bit problematic, it will substitute any part of the filename and not just the extension suffix. E.g. "test-dtbo.dts" -> "test-dts.dts". The expression might need to be something similar to "\.dtbo?$". I am also curious why you need to handle this mapping of .dtb -> .dts. Do you have an example recipe that is using this class in this way? Because the ".dtb" in KERNEL_DEVICETREE is specifically b
Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build
Hi Nathan, Thank you for great suggestions. All of them are valid and I will update the patch once we discuss the .dtb -> .dts mapping. > I am also curious why you need to handle this mapping of .dtb -> .dts. > Do you have an example recipe that is using this class in this way? > Because the ".dtb" in KERNEL_DEVICETREE is specifically because the > KERNEL_DEVICETREE variable is pointing at kernel makefile targets. I don't have an example of a particular recipe, but how about EXTERNAL_KERNEL_DEVICETREE variable, used in kernel-fitimage.bbclass? Albeit I don't use this variable in my recipes, I believe it could be used for both classes now with simple assignment DT_FILES = EXTERNAL_KERNEL_DEVICETREE. And if for whatever reason someone uses a custom variable (like me), they would still expect dtb's rather than dts's. I didn't find any example of using lists of dts files. Contrary, kernel-devicetree.bbclass does the same translation dtb->dts and it even warns about dts being provided (see normalize_dtb()). I didn't want to be that strict here (if someone has a list of dts files, while not to use it directly) but in general, I expect a list of dtb files will be much more common. Kind Regards, Petr From: Nathan Rossi Sent: Friday, April 21, 2023 1:44 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build On Fri, 21 Apr 2023 at 18:41, Petr Kubizňák wrote: > > Add DT_FILES variable to allow the user of the class to select specific > dts files to build. This is useful for packages featuring dts files > for multiple machines. > > Since many machine configs contain a list of dtb files > (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. > > Signed-off-by: Petr Kubizňák > --- > meta/classes-recipe/devicetree.bbclass | 10 +- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/meta/classes-recipe/devicetree.bbclass > b/meta/classes-recipe/devicetree.bbclass > index ed2a92e447..8f348f1370 100644 > --- a/meta/classes-recipe/devicetree.bbclass > +++ b/meta/classes-recipe/devicetree.bbclass > @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ > > DT_INCLUDE[doc] = "Search paths to be made available to both the device tree > compiler and preprocessor for inclusion." > DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" > -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select > dts files that are not in source (e.g. generated)." > +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. > Defaults to source directory." > DT_FILES_PATH ?= "${S}" > +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If > empty, all dts files are built." Worth noting in the doc string that DT_FILES paths are relative to DT_FILES_PATH. > +DT_FILES ?= "" > > DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as > extra space typically for additional properties during boot." > DT_PADDING_SIZE ??= "0x3000" > @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d): > subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, > stderr=subprocess.STDOUT) > > python devicetree_do_compile() { > +import re > includes = expand_includes("DT_INCLUDE", d) > +dtfiles = d.getVar("DT_FILES") If this populates the variable dtfiles with DT_FILES already split it can fall back to os.listdir if empty, this avoids the need for the "if filter..." logic within the loop: dtfiles = d.getVar("DT_FILES").split() dtfiles = [ for dtfiles in dtfiles] for dts in dtfiles or os.listdir(listpath): > +filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ] This regex is a bit problematic, it will substitute any part of the filename and not just the extension suffix. E.g. "test-dtbo.dts" -> "test-dts.dts". The expression might need to be something similar to "\.dtbo?$". I am also curious why you need to handle this mapping of .dtb -> .dts. Do you have an example recipe that is using this class in this way? Because the ".dtb" in KERNEL_DEVICETREE is specifically because the KERNEL_DEVICETREE variable is pointing at kernel makefile targets. Regards, Nathan > listpath = d.getVar("DT_FILES_PATH") > for dts in os.listdir(listpath): > dtspath = os.path.join(listpath, dts) > @@ -134,6 +139,9 @@ python devicetree_do_compile() { > continue # skip non-.dts files and non-overlay files > except: >
[OE-core][PATCH v2] devicetree.bbclass: Allow selection of dts files to build
Add DT_FILES variable to allow the user of the class to select specific dts files to build. This is useful for packages featuring dts files for multiple machines. Since many machine configs contain a list of dtb files (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/devicetree.bbclass | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass index ed2a92e447..8f348f1370 100644 --- a/meta/classes-recipe/devicetree.bbclass +++ b/meta/classes-recipe/devicetree.bbclass @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ DT_INCLUDE[doc] = "Search paths to be made available to both the device tree compiler and preprocessor for inclusion." DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts files that are not in source (e.g. generated)." +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. Defaults to source directory." DT_FILES_PATH ?= "${S}" +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If empty, all dts files are built." +DT_FILES ?= "" DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra space typically for additional properties during boot." DT_PADDING_SIZE ??= "0x3000" @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d): subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { +import re includes = expand_includes("DT_INCLUDE", d) +dtfiles = d.getVar("DT_FILES") +filter = [ re.sub("dtbo?", "dts", dtfile) for dtfile in dtfiles.split() ] listpath = d.getVar("DT_FILES_PATH") for dts in os.listdir(listpath): dtspath = os.path.join(listpath, dts) @@ -134,6 +139,9 @@ python devicetree_do_compile() { continue # skip non-.dts files and non-overlay files except: continue # skip if can't determine if overlay +if filter: +if not(dts in filter): +continue # skip if dts not in defined filter devicetree_compile(dtspath, includes, d) } -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180281): https://lists.openembedded.org/g/openembedded-core/message/180281 Mute This Topic: https://lists.openembedded.org/mt/98406619/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH] devicetree.bbclass: Allow selection of dts files to build
Add DT_FILES variable to allow the user of the class to select specific dts files to build. This is useful for packages featuring dts files for multiple machines. Since many machine configs contain a list of dtb files (e.g. KERNEL_DEVICETREE), DT_FILES works with both dts and dtb files. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/devicetree.bbclass | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/meta/classes-recipe/devicetree.bbclass b/meta/classes-recipe/devicetree.bbclass index ed2a92e447..fb73c44e22 100644 --- a/meta/classes-recipe/devicetree.bbclass +++ b/meta/classes-recipe/devicetree.bbclass @@ -53,8 +53,10 @@ KERNEL_INCLUDE ??= " \ DT_INCLUDE[doc] = "Search paths to be made available to both the device tree compiler and preprocessor for inclusion." DT_INCLUDE ?= "${DT_FILES_PATH} ${KERNEL_INCLUDE}" -DT_FILES_PATH[doc] = "Defaults to source directory, can be used to select dts files that are not in source (e.g. generated)." +DT_FILES_PATH[doc] = "Path to the directory containing dts files to build. Defaults to source directory." DT_FILES_PATH ?= "${S}" +DT_FILES[doc] = "Space-separated list of dts or dtb files to build. If empty, all dts files are built." +DT_FILES ?= "" DT_PADDING_SIZE[doc] = "Size of padding on the device tree blob, used as extra space typically for additional properties during boot." DT_PADDING_SIZE ??= "0x3000" @@ -125,7 +127,10 @@ def devicetree_compile(dtspath, includes, d): subprocess.run(dtcargs, check = True, stdout=subprocess.PIPE, stderr=subprocess.STDOUT) python devicetree_do_compile() { +import re includes = expand_includes("DT_INCLUDE", d) +dtfiles = d.getVar("DT_FILES") +filter = [ re.sub('dtb[o]?', 'dts', dtfile) for dtfile in dtfiles.split() ] listpath = d.getVar("DT_FILES_PATH") for dts in os.listdir(listpath): dtspath = os.path.join(listpath, dts) @@ -134,6 +139,9 @@ python devicetree_do_compile() { continue # skip non-.dts files and non-overlay files except: continue # skip if can't determine if overlay +if filter: +if not(dts in filter): +continue # skip if dts not in defined filter devicetree_compile(dtspath, includes, d) } -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#180248): https://lists.openembedded.org/g/openembedded-core/message/180248 Mute This Topic: https://lists.openembedded.org/mt/98386654/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies
Hi Richard, Thanks for merging the vte patch. I'd like to confirm that the build succeeded on my side yesterday so that should be all prerequisites needed for the "gobject-introspection: reduce dependencies" which has not been merged yet. I've seen that patch was already in master-next but was removed from there. So I just want to make sure it is still somewhere in the queue, not being forgotten. Thanks, Petr ____ From: Petr Kubizňák - 2N Sent: Tuesday, April 4, 2023 9:07 AM To: Richard Purdie; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies Yes, that's the problem. I realized `bitbake -k world` cannot succeed for the x32 architecture so I didn't know how to test it. Now I see I should have executed `bitbake core-image-minimal core-image-sato -k`. I will send the patch once this command passes on my side. Best Regards, Petr From: Richard Purdie Sent: Monday, April 3, 2023 10:14 PM To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies 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 > --- > 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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179724): https://lists.openembedded.org/g/openembedded-core/message/179724 Mute This Topic: https://lists.openembedded.org/mt/97971464/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH] vte: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but vte has a hard dependency on it (do_configure fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-support/vte/vte_0.72.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-support/vte/vte_0.72.0.bb b/meta/recipes-support/vte/vte_0.72.0.bb index c08ac879e1..5eaff99159 100644 --- a/meta/recipes-support/vte/vte_0.72.0.bb +++ b/meta/recipes-support/vte/vte_0.72.0.bb @@ -11,7 +11,7 @@ LIC_FILES_CHKSUM = " \ file://COPYING.XTERM;md5=d7fc3a23c16c039afafe2e042030f057 \ " -DEPENDS = "glib-2.0 gtk+3 libpcre2 libxml2-native gperf-native icu" +DEPENDS = "glib-2.0 glib-2.0-native gtk+3 libpcre2 libxml2-native gperf-native icu" GNOMEBASEBUILDCLASS = "meson" GIR_MESON_OPTION = 'gir' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179684): https://lists.openembedded.org/g/openembedded-core/message/179684 Mute This Topic: https://lists.openembedded.org/mt/98057145/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies
Yes, that's the problem. I realized `bitbake -k world` cannot succeed for the x32 architecture so I didn't know how to test it. Now I see I should have executed `bitbake core-image-minimal core-image-sato -k`. I will send the patch once this command passes on my side. Best Regards, Petr From: Richard Purdie Sent: Monday, April 3, 2023 10:14 PM To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies 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 > --- > 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 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179673): https://lists.openembedded.org/g/openembedded-core/message/179673 Mute This Topic: https://lists.openembedded.org/mt/97971464/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 6/6] libnotify: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but libnotify has a hard dependency on it (do_configure fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-gnome/libnotify/libnotify_0.8.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb b/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb index bbfc217df1..b1656fe0fe 100644 --- a/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb +++ b/meta/recipes-gnome/libnotify/libnotify_0.8.2.bb @@ -9,7 +9,7 @@ SECTION = "libs" LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -DEPENDS = "dbus glib-2.0 gdk-pixbuf" +DEPENDS = "dbus glib-2.0 glib-2.0-native gdk-pixbuf" PACKAGECONFIG ?= "" PACKAGECONFIG[tests] = "-Dtests=true,-Dtests=false,gtk+3" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179622): https://lists.openembedded.org/g/openembedded-core/message/179622 Mute This Topic: https://lists.openembedded.org/mt/98032510/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 2/6] graphene: add gobject-types PACKAGECONFIG
Add an option to enable/disable build of graphene-gobject. When enabled, add glib dependency (not pulled in implicitly if the gobject-introspection feature is disabled). Default is to enable gobject-types so that graphene-gobject is built (dependency of gtk4). Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 120ee80b17..9f5b4d0e2d 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3 # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG[gobject-types] = "-Dgobject_types=true,-Dgobject_types=false,glib-2.0" PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," GIR_MESON_ENABLE_FLAG = 'enabled' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179619): https://lists.openembedded.org/g/openembedded-core/message/179619 Mute This Topic: https://lists.openembedded.org/mt/98032507/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 3/6] python3-pygobject: depend on gobject-introspection
When g-i feature is disabled, the gobject-introspection package dependency is not pulled in but pygobject has a hard dependency on it. Signed-off-by: Petr Kubizňák --- meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb index cc7b07e804..f54f4ce784 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb @@ -10,7 +10,7 @@ GIR_MESON_OPTION = "" inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even -DEPENDS += "python3 glib-2.0" +DEPENDS += "python3 glib-2.0 gobject-introspection" SRCNAME="pygobject" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179618): https://lists.openembedded.org/g/openembedded-core/message/179618 Mute This Topic: https://lists.openembedded.org/mt/98032506/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 5/6] webkitgtk: add missing dependencies
When gobject-introspection feature is disabled, gettext-native and glib-2.0-native dependencies are not pulled in, which causes failures in do_compile due to missing xgettext and gdbus-codegen. Signed-off-by: Petr Kubizňák --- meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb index 832c8327dd..36c6233b33 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb @@ -38,6 +38,8 @@ DEPENDS += " \ libnotify \ gstreamer1.0 \ gstreamer1.0-plugins-base \ + glib-2.0-native \ + gettext-native \ " PACKAGECONFIG_SOUP ?= "soup3" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179621): https://lists.openembedded.org/g/openembedded-core/message/179621 Mute This Topic: https://lists.openembedded.org/mt/98032509/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 1/6] gobject-introspection: reduce dependencies
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 --- 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 } # .typelib files are needed at runtime and so they go to the main package (so -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179617): https://lists.openembedded.org/g/openembedded-core/message/179617 Mute This Topic: https://lists.openembedded.org/mt/98032505/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v5 4/6] gconf: add missing dependencies
When gobject-introspection feature is disabled, glib-2.0-native and gobject-introspection package dependencies are not pulled in but gconf has a hard dependency on them (do_configure fails due to missing introspection.m4 file and glib-gettextize). Signed-off-by: Petr Kubizňák --- 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 776f6091aa..e712e4729c 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 dbus dbus-glib libxml2 intltool-native" +DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib libxml2 intltool-native" inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179620): https://lists.openembedded.org/g/openembedded-core/message/179620 Mute This Topic: https://lists.openembedded.org/mt/98032508/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies
Hi Richard, Yes, that is sufficient. I've prepared an updated patch. In the meantime, I've noticed some of the patches from the series had been merged into master-next, but not to the master yet. Should I now resend the whole series, or filter out these patches, i.e. rebase to master or master-next? Thanks, Petr From: Richard Purdie Sent: Friday, March 31, 2023 2:06 PM To: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies On Fri, 2023-03-31 at 13:46 +0200, Petr Kubizňák wrote: > When gobject-introspection feature is disabled, gettext and > glib-2.0-native dependencies are not pulled in, which causes failures > in do_compile due to missing xgettext and gdbus-codegen. > > Signed-off-by: Petr Kubizňák > --- > meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb > b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb > index e52920883a..b49ecf2a31 100644 > --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb > +++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb > @@ -17,7 +17,7 @@ SRC_URI = > "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ > " > SRC_URI[sha256sum] = > "40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7" > > -inherit cmake pkgconfig gobject-introspection perlnative features_check > upstream-version-is-even gi-docgen > +inherit cmake pkgconfig gobject-introspection perlnative features_check > upstream-version-is-even gi-docgen gettext > > ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" > REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', > 'wayland', 'opengl', '', d)}" > @@ -38,6 +38,7 @@ DEPENDS += " \ >libnotify \ >gstreamer1.0 \ >gstreamer1.0-plugins-base \ > + glib-2.0-native \ >" > > PACKAGECONFIG_SOUP ?= "soup3" If the dependency is just xgettext then it may just be a DEPENDS += "gettext-native" which is a lower requirement than the full gettext target code? Cheers, Richard -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179606): https://lists.openembedded.org/g/openembedded-core/message/179606 Mute This Topic: https://lists.openembedded.org/mt/97971478/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 07/10] harfbuzz: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but harfbuzz has a hard dependency on it (do_configure fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb | 2 ++ 1 file changed, 2 insertions(+) diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb index 4406e15df4..71c92c64ef 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_7.1.0.bb @@ -11,6 +11,8 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=b98429b8e8e3c2a67cfef01e99e4893d \ SRC_URI = "${GITHUB_BASE_URI}/download/${PV}/${BPN}-${PV}.tar.xz" SRC_URI[sha256sum] = "f135a61cd464c9ed6bc9823764c188f276c3850a8dc904628de2a87966b7077b" +DEPENDS += "glib-2.0-native" + inherit meson pkgconfig lib_package gtk-doc gobject-introspection github-releases GIR_MESON_ENABLE_FLAG = 'enabled' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179438): https://lists.openembedded.org/g/openembedded-core/message/179438 Mute This Topic: https://lists.openembedded.org/mt/97971483/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 09/10] libgudev: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but libgudev has a hard dependency on it (do_configure fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-gnome/libgudev/libgudev_237.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-gnome/libgudev/libgudev_237.bb b/meta/recipes-gnome/libgudev/libgudev_237.bb index 9ce43ce34b..5aa94e58f5 100644 --- a/meta/recipes-gnome/libgudev/libgudev_237.bb +++ b/meta/recipes-gnome/libgudev/libgudev_237.bb @@ -7,7 +7,7 @@ HOMEPAGE = "https://wiki.gnome.org/Projects/libgudev; BUGTRACKER = "https://gitlab.gnome.org/GNOME/libgudev/issues; SRC_URI[archive.sha256sum] = "0d06b21170d20c93e4f0534dbb9b0a8b4f1119ffb00b4031aaeb5b9148b686aa" -DEPENDS = "glib-2.0 udev" +DEPENDS = "glib-2.0 glib-2.0-native udev" RCONFLICTS:${PN} = "systemd (<= 220)" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179436): https://lists.openembedded.org/g/openembedded-core/message/179436 Mute This Topic: https://lists.openembedded.org/mt/97971481/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 10/10] at-spi2-core: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but at-spi2-core has a hard dependency on it (do_configure fails due to missing glib-genmarshal). Signed-off-by: Petr Kubizňák --- meta/recipes-support/atk/at-spi2-core_2.46.0.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-support/atk/at-spi2-core_2.46.0.bb b/meta/recipes-support/atk/at-spi2-core_2.46.0.bb index d9161e1acb..90313467d0 100644 --- a/meta/recipes-support/atk/at-spi2-core_2.46.0.bb +++ b/meta/recipes-support/atk/at-spi2-core_2.46.0.bb @@ -13,7 +13,7 @@ SRC_URI = "${GNOME_MIRROR}/${BPN}/${MAJ_VER}/${BPN}-${PV}.tar.xz" SRC_URI[sha256sum] = "aa0c86c79f7a8d67bae49a5b7a5ab08430c608cffe6e33bf47a72f41ab03c3d0" -DEPENDS = "dbus glib-2.0 libxml2" +DEPENDS = "dbus glib-2.0 glib-2.0-native libxml2" # For backwards compatibility PROVIDES += "atk at-spi2-atk" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179437): https://lists.openembedded.org/g/openembedded-core/message/179437 Mute This Topic: https://lists.openembedded.org/mt/97971482/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 05/10] avahi: add missing dependencies
When gobject-introspection feature is disabled, glib-2.0-native and gobject-introspection package dependencies are not pulled in but avahi has a hard dependency on them (do_configure fails due to missing introspection.m4 file, do_compile fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-connectivity/avahi/avahi_0.8.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index a830385352..bf6835e0d6 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -35,7 +35,7 @@ SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79 # Issue only affects Debian/SUSE, not us CVE_CHECK_IGNORE += "CVE-2021-26720" -DEPENDS = "expat libcap libdaemon glib-2.0" +DEPENDS = "expat libcap libdaemon glib-2.0 glib-2.0-native gobject-introspection" # For gtk related PACKAGECONFIGs: gtk, gtk3 AVAHI_GTK ?= "" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179435): https://lists.openembedded.org/g/openembedded-core/message/179435 Mute This Topic: https://lists.openembedded.org/mt/97971480/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 04/10] gconf: add missing dependencies
When gobject-introspection feature is disabled, glib-2.0-native and gobject-introspection package dependencies are not pulled in but gconf has a hard dependency on them (do_configure fails due to missing introspection.m4 file and glib-gettextize). Signed-off-by: Petr Kubizňák --- 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 776f6091aa..e712e4729c 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 dbus dbus-glib libxml2 intltool-native" +DEPENDS = "glib-2.0 glib-2.0-native gobject-introspection dbus dbus-glib libxml2 intltool-native" inherit gnomebase gtk-doc gettext gobject-introspection gio-module-cache -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179432): https://lists.openembedded.org/g/openembedded-core/message/179432 Mute This Topic: https://lists.openembedded.org/mt/97971477/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 03/10] python3-pygobject: depend on gobject-introspection
When g-i feature is disabled, the gobject-introspection package dependency is not pulled in but pygobject has a hard dependency on it. Signed-off-by: Petr Kubizňák --- meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb index cc7b07e804..f54f4ce784 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb @@ -10,7 +10,7 @@ GIR_MESON_OPTION = "" inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even -DEPENDS += "python3 glib-2.0" +DEPENDS += "python3 glib-2.0 gobject-introspection" SRCNAME="pygobject" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179431): https://lists.openembedded.org/g/openembedded-core/message/179431 Mute This Topic: https://lists.openembedded.org/mt/97971476/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 06/10] webkitgtk: add missing dependencies
When gobject-introspection feature is disabled, gettext and glib-2.0-native dependencies are not pulled in, which causes failures in do_compile due to missing xgettext and gdbus-codegen. Signed-off-by: Petr Kubizňák --- meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb index e52920883a..b49ecf2a31 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb @@ -17,7 +17,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ " SRC_URI[sha256sum] = "40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7" -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen gettext ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" @@ -38,6 +38,7 @@ DEPENDS += " \ libnotify \ gstreamer1.0 \ gstreamer1.0-plugins-base \ + glib-2.0-native \ " PACKAGECONFIG_SOUP ?= "soup3" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179433): https://lists.openembedded.org/g/openembedded-core/message/179433 Mute This Topic: https://lists.openembedded.org/mt/97971478/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 08/10] json-glib: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in but json-glib has a hard dependency on it (do_configure fails due to missing glib-mkenums). Signed-off-by: Petr Kubizňák --- meta/recipes-gnome/json-glib/json-glib_1.6.6.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb index 627f389536..9c34fb7f40 100644 --- a/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb +++ b/meta/recipes-gnome/json-glib/json-glib_1.6.6.bb @@ -9,7 +9,7 @@ BUGTRACKER = "https://gitlab.gnome.org/GNOME/json-glib/issues; LICENSE = "LGPL-2.1-only" LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" -DEPENDS = "glib-2.0" +DEPENDS = "glib-2.0 glib-2.0-native" GNOMEBASEBUILDCLASS = "meson" inherit gnomebase lib_package gobject-introspection gi-docgen gettext ptest-gnome manpages upstream-version-is-even -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179434): https://lists.openembedded.org/g/openembedded-core/message/179434 Mute This Topic: https://lists.openembedded.org/mt/97971479/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 02/10] graphene: add gobject-types PACKAGECONFIG
Add an option to enable/disable build of graphene-gobject. When enabled, add glib dependency (not pulled in implicitly if the gobject-introspection feature is disabled). Default is to enable gobject-types so that graphene-gobject is built (dependency of gtk4). Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 120ee80b17..9f5b4d0e2d 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3 # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG[gobject-types] = "-Dgobject_types=true,-Dgobject_types=false,glib-2.0" PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," GIR_MESON_ENABLE_FLAG = 'enabled' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179430): https://lists.openembedded.org/g/openembedded-core/message/179430 Mute This Topic: https://lists.openembedded.org/mt/97971474/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v4 01/10] gobject-introspection: reduce dependencies
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 --- 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 } # .typelib files are needed at runtime and so they go to the main package (so -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179429): https://lists.openembedded.org/g/openembedded-core/message/179429 Mute This Topic: https://lists.openembedded.org/mt/97971464/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 3/6] python3-pygobject: depend on gobject-introspection
When g-i feature is disabled, the gobject-introspection package dependency is not pulled in but pygobject has a hard dependency on it. Signed-off-by: Petr Kubizňák --- meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb index cc7b07e804..f54f4ce784 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb @@ -10,7 +10,7 @@ GIR_MESON_OPTION = "" inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even -DEPENDS += "python3 glib-2.0" +DEPENDS += "python3 glib-2.0 gobject-introspection" SRCNAME="pygobject" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179064): https://lists.openembedded.org/g/openembedded-core/message/179064 Mute This Topic: https://lists.openembedded.org/mt/97825895/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 6/6] webkitgtk: add missing dependencies
When gobject-introspection feature is disabled, gettext and glib-2.0-native dependencies are not pulled in, which causes failures in do_compile due to missing xgettext and gdbus-codegen. Signed-off-by: Petr Kubizňák --- meta/recipes-sato/webkit/webkitgtk_2.38.5.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb index e52920883a..b49ecf2a31 100644 --- a/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb +++ b/meta/recipes-sato/webkit/webkitgtk_2.38.5.bb @@ -17,7 +17,7 @@ SRC_URI = "https://www.webkitgtk.org/releases/${BPN}-${PV}.tar.xz \ " SRC_URI[sha256sum] = "40c20c43022274df5893f22b1054fa894c3eea057389bb08aee08c5b0bb0c1a7" -inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen +inherit cmake pkgconfig gobject-introspection perlnative features_check upstream-version-is-even gi-docgen gettext ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}" REQUIRED_DISTRO_FEATURES = "${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'opengl', '', d)}" @@ -38,6 +38,7 @@ DEPENDS += " \ libnotify \ gstreamer1.0 \ gstreamer1.0-plugins-base \ + glib-2.0-native \ " PACKAGECONFIG_SOUP ?= "soup3" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179067): https://lists.openembedded.org/g/openembedded-core/message/179067 Mute This Topic: https://lists.openembedded.org/mt/97825898/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 4/6] gconf: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in, which causes a failure in do_configure due to missing glib-gettextize. Signed-off-by: Petr Kubizňák --- 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 776f6091aa..4930aeb9f0 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 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.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179065): https://lists.openembedded.org/g/openembedded-core/message/179065 Mute This Topic: https://lists.openembedded.org/mt/97825896/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 5/6] avahi: depend on glib-2.0-native
When gobject-introspection feature is disabled, glib-2.0-native package dependency is not pulled in, which causes a failure in do_compile due to missing glib-mkenums. Signed-off-by: Petr Kubizňák --- meta/recipes-connectivity/avahi/avahi_0.8.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-connectivity/avahi/avahi_0.8.bb b/meta/recipes-connectivity/avahi/avahi_0.8.bb index a830385352..e8aebe500e 100644 --- a/meta/recipes-connectivity/avahi/avahi_0.8.bb +++ b/meta/recipes-connectivity/avahi/avahi_0.8.bb @@ -35,7 +35,7 @@ SRC_URI[sha256sum] = "060309d7a333d38d951bc27598c677af1796934dbd98e1024e7ad8de79 # Issue only affects Debian/SUSE, not us CVE_CHECK_IGNORE += "CVE-2021-26720" -DEPENDS = "expat libcap libdaemon glib-2.0" +DEPENDS = "expat libcap libdaemon glib-2.0 glib-2.0-native" # For gtk related PACKAGECONFIGs: gtk, gtk3 AVAHI_GTK ?= "" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179066): https://lists.openembedded.org/g/openembedded-core/message/179066 Mute This Topic: https://lists.openembedded.org/mt/97825897/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 2/6] graphene: add gobject-types PACKAGECONFIG
Add an option to enable/disable build of graphene-gobject. When enabled, add glib dependency (not pulled in implicitly if the gobject-introspection feature is disabled). Default is to enable gobject-types so that graphene-gobject is built (dependency of gtk4). Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 120ee80b17..9f5b4d0e2d 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3 # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "gobject-types ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG[gobject-types] = "-Dgobject_types=true,-Dgobject_types=false,glib-2.0" PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," GIR_MESON_ENABLE_FLAG = 'enabled' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179063): https://lists.openembedded.org/g/openembedded-core/message/179063 Mute This Topic: https://lists.openembedded.org/mt/97825894/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v3 1/6] gobject-introspection: reduce dependencies
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 --- 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 } # .typelib files are needed at runtime and so they go to the main package (so -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179062): https://lists.openembedded.org/g/openembedded-core/message/179062 Mute This Topic: https://lists.openembedded.org/mt/97825893/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v2 3/3] python3-pygobject: depend on gobject-introspection
When g-i feature is disabled, the gobject-introspection package dependency is not pulled in but pygobject has a hard dependency on it. Signed-off-by: Petr Kubizňák --- meta/recipes-devtools/python/python3-pygobject_3.42.2.bb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb index cc7b07e804..f54f4ce784 100644 --- a/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb +++ b/meta/recipes-devtools/python/python3-pygobject_3.42.2.bb @@ -10,7 +10,7 @@ GIR_MESON_OPTION = "" inherit gnomebase setuptools3-base gobject-introspection upstream-version-is-even -DEPENDS += "python3 glib-2.0" +DEPENDS += "python3 glib-2.0 gobject-introspection" SRCNAME="pygobject" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179025): https://lists.openembedded.org/g/openembedded-core/message/179025 Mute This Topic: https://lists.openembedded.org/mt/97820023/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v2 2/3] graphene: add glib PACKAGECONFIG
When gobject-introspection is enabled, glib dependency is pulled in automatically. When it is disabled, glib dependency should be optional via PACKAGECONFIG. Default is to enable glib so that graphene-gobject is built (dependency of gtk4). Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 120ee80b17..5c870147d0 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -11,8 +11,9 @@ SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da3 # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "glib ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG[glib] = ",,glib-2.0" PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," GIR_MESON_ENABLE_FLAG = 'enabled' -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179024): https://lists.openembedded.org/g/openembedded-core/message/179024 Mute This Topic: https://lists.openembedded.org/mt/97820022/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH v2 1/3] gobject-introspection: check for GI_DATA_ENABLED
When GI_DATA_ENABLED is 'False' (e.g. because 'gobject-introspection-data' is not in DISTRO_FEATURES), gobject-introspection and gobject-introspection-native should not be added to DEPENDS. This is to reduce dependency chain when g-i is disabled. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/gobject-introspection.bbclass | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/meta/classes-recipe/gobject-introspection.bbclass b/meta/classes-recipe/gobject-introspection.bbclass index 0c7b7d200a..eb55e7c5e8 100644 --- a/meta/classes-recipe/gobject-introspection.bbclass +++ b/meta/classes-recipe/gobject-introspection.bbclass @@ -35,7 +35,8 @@ 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', '', d)}" +DEPENDS:append:class-target = " qemu-native" # Even though introspection is disabled on -native, gobject-introspection package is still # needed for m4 macros. @@ -46,10 +47,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 } # .typelib files are needed at runtime and so they go to the main package (so -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179023): https://lists.openembedded.org/g/openembedded-core/message/179023 Mute This Topic: https://lists.openembedded.org/mt/97820019/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core] Reduce dependency chain when gobject-introspection disabled
I have extended the patch reducing the dependency chain when g-i is disabled. It was possible to also condition the dependency on gobject-introspection-native. I did not manage to condition the dependency on qemu-native, as that leads to too many failures that I did not manage to resolve. Anyway, I believe that removing a part of dependencies is better than nothing. The main goal of this patch is to remove undesired packages from the target image, which is accomplished. I don't think qemu-native affects the image at all. -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#179022): https://lists.openembedded.org/g/openembedded-core/message/179022 Mute This Topic: https://lists.openembedded.org/mt/97820018/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG
I see, sorry. I expected some kind of "merged" response in this thread. Cheers, Petr From: Alexander Kanavin Sent: Tuesday, March 7, 2023 10:31 AM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG Has been merged long time ago. Pls rebase to master, then ask. Alex On Tue, 7 Mar 2023 at 10:23, Petr Kubizňák wrote: > > Could anyone have a look at this patch, please? > > Thank you, > Petr > > > From: openembedded-core@lists.openembedded.org > on behalf of Petr Kubizňák - 2N > > Sent: Friday, February 17, 2023 8:47 AM > To: openembedded-core@lists.openembedded.org > Cc: Petr Kubizňák - 2N > Subject: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG > > Assignment of "introspection" as default PACKAGECONFIG value does not > reflect gobject-introspection being globally enabled or disabled. > As a result, graphene compilation used to fail when g-i was disabled. > > Use standard means to enable or disable introspection based on machine > and distro features, as implemented by gobject-introspection class. > > Signed-off-by: Petr Kubizňák > --- > meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 --- > 1 file changed, 4 insertions(+), 3 deletions(-) > > diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb > b/meta/recipes-graphics/graphene/graphene_1.10.8.bb > index 75c8258d99..120ee80b17 100644 > --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb > +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb > @@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc > > SRC_URI[archive.sha256sum] = > "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a" > > -# gtk4 & mutter 41.0 requires graphene build with introspection > # Disable neon support by default on ARM-32 platforms because of the > # following upstream bug: https://github.com/ebassi/graphene/issues/215 > -PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', > 'aarch64', 'neon', '', d)}" > +PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', > '', d)}" > > -PACKAGECONFIG[introspection] = > "-Dintrospection=enabled,-Dintrospection=disabled," > PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," > > +GIR_MESON_ENABLE_FLAG = 'enabled' > +GIR_MESON_DISABLE_FLAG = 'disabled' > + > GTKDOC_MESON_OPTION = "gtk_doc" > > EXTRA_OEMESON = "-Dinstalled_tests=false" > -- > 2.30.2 > > > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#178098): https://lists.openembedded.org/g/openembedded-core/message/178098 Mute This Topic: https://lists.openembedded.org/mt/97024165/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG
Could anyone have a look at this patch, please? Thank you, Petr From: openembedded-core@lists.openembedded.org on behalf of Petr Kubizňák - 2N Sent: Friday, February 17, 2023 8:47 AM To: openembedded-core@lists.openembedded.org Cc: Petr Kubizňák - 2N Subject: [OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG Assignment of "introspection" as default PACKAGECONFIG value does not reflect gobject-introspection being globally enabled or disabled. As a result, graphene compilation used to fail when g-i was disabled. Use standard means to enable or disable introspection based on machine and distro features, as implemented by gobject-introspection class. Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 75c8258d99..120ee80b17 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a" -# gtk4 & mutter 41.0 requires graphene build with introspection # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" -PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + GTKDOC_MESON_OPTION = "gtk_doc" EXTRA_OEMESON = "-Dinstalled_tests=false" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#178095): https://lists.openembedded.org/g/openembedded-core/message/178095 Mute This Topic: https://lists.openembedded.org/mt/97024165/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH] graphene: remove introspection from PACKAGECONFIG
Assignment of "introspection" as default PACKAGECONFIG value does not reflect gobject-introspection being globally enabled or disabled. As a result, graphene compilation used to fail when g-i was disabled. Use standard means to enable or disable introspection based on machine and distro features, as implemented by gobject-introspection class. Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/graphene/graphene_1.10.8.bb | 7 --- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 75c8258d99..120ee80b17 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -9,14 +9,15 @@ inherit gnomebase gobject-introspection gtk-doc SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a" -# gtk4 & mutter 41.0 requires graphene build with introspection # Disable neon support by default on ARM-32 platforms because of the # following upstream bug: https://github.com/ebassi/graphene/issues/215 -PACKAGECONFIG ?= "introspection ${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" +PACKAGECONFIG ?= "${@bb.utils.contains('TUNE_FEATURES', 'aarch64', 'neon', '', d)}" -PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," PACKAGECONFIG[neon] = "-Darm_neon=true,-Darm_neon=false," +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' + GTKDOC_MESON_OPTION = "gtk_doc" EXTRA_OEMESON = "-Dinstalled_tests=false" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#177305): https://lists.openembedded.org/g/openembedded-core/message/177305 Mute This Topic: https://lists.openembedded.org/mt/97024165/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
Hi Alex, May I kindly ask you for your opinion? Thank you, Petr From: openembedded-core@lists.openembedded.org on behalf of Petr Kubizňák - 2N Sent: Wednesday, February 1, 2023 5:04 PM To: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED From: Alexander Kanavin Sent: Tuesday, January 17, 2023 5:50 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED > The way I read gtk4 and graphene source code, what the recipe claims > is not true: you can disable introspection in graphene, and it would > still build and install graphene-gobject.pc which is what gtk4 is > looking for. If the needed piece is not installed, then you need to > get to the bottom of why, e.g. specific source code lines where that > decision is made. That's not really true. If no patches are applied and g-i is disabled, graphene fails in do_compile: [75/75] /home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper src/Graphene-1.0.gir --output src/Graphene-1.0.typelib --includedir=/usr/share/gir-1.0 FAILED: src/Graphene-1.0.typelib /home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper src/Graphene-1.0.gir --output src/Graphene-1.0.typelib --includedir=/usr/share/gir-1.0 Could not find GIR file 'GObject-2.0.gir'; check XDG_DATA_DIRS or use --includedir error parsing file src/Graphene-1.0.gir: Failed to parse included gir GObject-2.0 If the attached patch is applied, graphene builds and yes, graphene-gobject-1.0.pc is then created, too. (Maybe this is the first patch to send individually?) In that case, gtk4 builds fine. Anyway, webkitgtk fails in do_compile, with a failure which I worry I'm not able to resolve (see the attached tail of the log, full log is ~50MiB). Petr -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#177182): https://lists.openembedded.org/g/openembedded-core/message/177182 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
From: Alexander Kanavin Sent: Tuesday, January 17, 2023 5:50 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED > The way I read gtk4 and graphene source code, what the recipe claims > is not true: you can disable introspection in graphene, and it would > still build and install graphene-gobject.pc which is what gtk4 is > looking for. If the needed piece is not installed, then you need to > get to the bottom of why, e.g. specific source code lines where that > decision is made. That's not really true. If no patches are applied and g-i is disabled, graphene fails in do_compile: [75/75] /home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper src/Graphene-1.0.gir --output src/Graphene-1.0.typelib --includedir=/usr/share/gir-1.0 FAILED: src/Graphene-1.0.typelib /home/kubiznak/projects/poky2/build/tmp/work/core2-64-poky-linux/graphene/1.10.8-r0/recipe-sysroot/usr/bin/g-ir-compiler-wrapper src/Graphene-1.0.gir --output src/Graphene-1.0.typelib --includedir=/usr/share/gir-1.0 Could not find GIR file 'GObject-2.0.gir'; check XDG_DATA_DIRS or use --includedir error parsing file src/Graphene-1.0.gir: Failed to parse included gir GObject-2.0 If the attached patch is applied, graphene builds and yes, graphene-gobject-1.0.pc is then created, too. (Maybe this is the first patch to send individually?) In that case, gtk4 builds fine. Anyway, webkitgtk fails in do_compile, with a failure which I worry I'm not able to resolve (see the attached tail of the log, full log is ~50MiB). Petrdiff --git a/meta/recipes-graphics/graphene/graphene_1.10.8.bb b/meta/recipes-graphics/graphene/graphene_1.10.8.bb index 813ff74adf..7fc9765309 100644 --- a/meta/recipes-graphics/graphene/graphene_1.10.8.bb +++ b/meta/recipes-graphics/graphene/graphene_1.10.8.bb @@ -9,9 +9,8 @@ inherit gnomebase gobject-introspection gtk-doc SRC_URI[archive.sha256sum] = "a37bb0e78a419dcbeaa9c7027bcff52f5ec2367c25ec859da31dfde2928f279a" -# gtk4 & mutter 41.0 requires graphene build with introspection -PACKAGECONFIG ?= "introspection" -PACKAGECONFIG[introspection] = "-Dintrospection=enabled,-Dintrospection=disabled," +GIR_MESON_ENABLE_FLAG = 'enabled' +GIR_MESON_DISABLE_FLAG = 'disabled' GTKDOC_MESON_OPTION = "gtk_doc" webkitgtk_log.do_compile Description: webkitgtk_log.do_compile -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176558): https://lists.openembedded.org/g/openembedded-core/message/176558 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
This issue was actually caused by missing host dependencies. Shame on me... From: Alex Kiernan Sent: Tuesday, January 17, 2023 1:52 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED On Thu, Jan 5, 2023 at 2:13 PM Petr Kubizňák wrote: > > Is the `bitbake world` command guaranteed to succeed for every commit in the > repository? In my case, I end up with failures even with _default_ setup. My > point is whether this has to be an issue on my machine (e.g. native tools?), > or I should just try a different commit. > > > Build Configuration: > BB_VERSION = "2.2.0" > BUILD_SYS= "x86_64-linux" > NATIVELSBSTRING = "universal" > TARGET_SYS = "x86_64-poky-linux" > MACHINE = "qemux86-64" > DISTRO = "poky" > DISTRO_VERSION = "4.1" > TUNE_FEATURES= "m64 core2" > TARGET_FPU = "" > meta > meta-poky > meta-yocto-bsp = "HEAD:2c6f0b9228b47459dd1b67d578792cd017006128" > ... > ERROR: rust-1.66.0-r0 do_compile: > ExecutionError('/home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/run.do_compile.1080378', > 1, None, None) > ERROR: Logfile of failure stored in: > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/log.do_compile.1080378 > NOTE: recipe rust-1.66.0-r0: task do_compile: Failed > ERROR: Task > (/home/kubiznak/projects/poky/meta/recipes-devtools/rust/rust_1.66.0.bb:do_compile) > failed with exit code '1' > > The first error in rust log: > > error: > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/libunic_langid_macros_impl-09018f99e8b09dcb.so: > undefined symbol: _Ungind_Resume > --> > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/vendor/unic-langid-macros/src/lib.rs:5:9 > | > 5 | pub use unic_langid_macros_impl::langid; > | ^^^ > Are you building with `DEBUG_BUILD = "1"`? There seem to be a number of tickets out there for this failure if the optimiser isn't running. > Full logs attached. > > > Petr > > > From: Alexander Kanavin > Sent: Wednesday, January 4, 2023 1:36:27 PM > To: Petr Kubizňák - 2N > Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for > GI_DATA_ENABLED > > On Wed, 4 Jan 2023 at 13:24, Petr Kubizňák wrote: > > Yes, that's exactly the reason. I'm particularly concerned about dependency > > on glib, but other dependencies are unnecessary, too. > > > > > > This change was sufficient to remove the dependency from the target. I am > > not aware of potential consequences of removing the -native dependencies, > > but if you think it should also be done, I'm happy to update the patch. > > Please let me know. > > I'd suggest that you remove all three, then set up a plain poky master > build with gobject-introspection-data disabled, and issue bitbake > world. > > Component upstreams generally only test the gi-enabled configuration, > so this may reveal incorrect upstream logic when g-i is disabled. > > Alex > > > -- Alex Kiernan -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176036): https://lists.openembedded.org/g/openembedded-core/message/176036 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
If you have a bit of time, I'd suggest that you check the failures one by one. Some of it, like missing glib-* executables seems like a trivial missing dependency which was previously pulled in indirectly. Others, like python3-pygobject probably have a hard dependency on g-i. I'm slowly progressing with the patch but always end up at the principal issue of hard dependency on g-i being enabled. For example, graphene recipe does not reflect on "gobject-introspection-data" being/not being in distro features, claiming gtk4 requires build with introspection. Graphene can be patched to be buildable under both circumstances but gtk4 then (unsurprisingly) fails in do_configure step due to missing graphene-gobject-1.0 if g-i is disabled. I don't think gtk4 can be patched to build with g-i disabled, do you? If you agree with me, how can we proceed with the fact that some packages (namely gtk4) basically cannot be built without the feature, while still allowing to disable that feature? Is it really necessary to have everything buildable with g-i disabled? Apparently, it's not buildable now. Petr From: openembedded-core@lists.openembedded.org on behalf of Alexander Kanavin Sent: Monday, January 9, 2023 10:20 AM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED On Fri, 6 Jan 2023 at 19:52, Petr Kubizňák wrote: > When the patch is _applied_ and g-i is _disabled_, graphene does build, but > some other packages don't: ... > This shows that these packages depend on gobject-introspection and/or its > dependencies no matter whether introspection is enabled or disabled. I don't > know these packages so I don't think I'm able to patch them properly. On the > other hand, I still believe it is incorrect to pull in the unnecessary > dependencies when g-i is disabled. What do you think? > This is what I was worried about. It uncovers a whole list of failures, and creates a new maintenance burden going forward, as fixing them will be an ongoing activity in the absence of an unconditional g-i dependecy.. If you have a bit of time, I'd suggest that you check the failures one by one. Some of it, like missing glib-* executables seems like a trivial missing dependency which was previously pulled in indirectly. Others, like python3-pygobject probably have a hard dependency on g-i. It does require navigating your way around unfamiliar source code, which is a useful skill in yocto regardless. Alex -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#176030): https://lists.openembedded.org/g/openembedded-core/message/176030 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
rust_1.66.0 and webkitgtk_2.38.2 keep failing to build in any setup (including g-i enabled and no patch applied) on my side. What's more interesting, with no patch applied and g-i disabled, graphene_1.10.8 fails to build ("Failed to parse included gir GObject-2.0"). When the patch is _applied_ and g-i is _disabled_, graphene does build, but some other packages don't: gconf_3.2.6.bb:do_configure: /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/gconf/3.2.6-r0/temp/run.do_configure.2180034: 225: glib-gettextize: not found python3-pygobject_3.42.2.bb:do_configure: Run-time dependency gobject-introspection-1.0 found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency gobject-introspection-1.0 ../pygobject-3.42.2/meson.build:29:0: ERROR: Automatic wrap-based subproject downloading is disabled avahi_0.8.bb:do_compile: /bin/bash: line 2: glib-mkenums: command not found gtk4_4.8.2.bb:do_configure: Run-time dependency graphene-gobject-1.0 found: NO (tried pkgconfig and cmake) Looking for a fallback subproject for the dependency graphene-gobject-1.0 ../gtk-4.8.2/meson.build:440:0: ERROR: Automatic wrap-based subproject downloading is disabled This shows that these packages depend on gobject-introspection and/or its dependencies no matter whether introspection is enabled or disabled. I don't know these packages so I don't think I'm able to patch them properly. On the other hand, I still believe it is incorrect to pull in the unnecessary dependencies when g-i is disabled. What do you think? Petr From: Alexander Kanavin Sent: Thursday, January 5, 2023 3:17:16 PM To: Petr Kubizňák - 2N Cc: openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED We do run world on every master tip, so yes it should succeed. It doesn't seem to be related to disabling introspection, but you might want to retry with it enabled to be sure. If target rust continues to fail no matter what you try, then 'bitbake -k world' will continue building what it can when fails occur. Alex On Thu, 5 Jan 2023 at 15:13, Petr Kubizňák wrote: > > Is the `bitbake world` command guaranteed to succeed for every commit in the > repository? In my case, I end up with failures even with _default_ setup. My > point is whether this has to be an issue on my machine (e.g. native tools?), > or I should just try a different commit. > > > Build Configuration: > BB_VERSION = "2.2.0" > BUILD_SYS= "x86_64-linux" > NATIVELSBSTRING = "universal" > TARGET_SYS = "x86_64-poky-linux" > MACHINE = "qemux86-64" > DISTRO = "poky" > DISTRO_VERSION = "4.1" > TUNE_FEATURES= "m64 core2" > TARGET_FPU = "" > meta > meta-poky > meta-yocto-bsp = "HEAD:2c6f0b9228b47459dd1b67d578792cd017006128" > ... > ERROR: rust-1.66.0-r0 do_compile: > ExecutionError('/home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/run.do_compile.1080378', > 1, None, None) > ERROR: Logfile of failure stored in: > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/temp/log.do_compile.1080378 > NOTE: recipe rust-1.66.0-r0: task do_compile: Failed > ERROR: Task > (/home/kubiznak/projects/poky/meta/recipes-devtools/rust/rust_1.66.0.bb:do_compile) > failed with exit code '1' > > The first error in rust log: > > error: > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/build/x86_64-unknown-linux-gnu/stage1-rustc/release/deps/libunic_langid_macros_impl-09018f99e8b09dcb.so: > undefined symbol: _Ungind_Resume > --> > /home/kubiznak/projects/poky/builds/test-gi/tmp/work/core2-64-poky-linux/rust/1.66.0-r0/rustc-1.66.0-src/vendor/unic-langid-macros/src/lib.rs:5:9 > | > 5 | pub use unic_langid_macros_impl::langid; > | ^^^ > > Full logs attached. > > > Petr > > > From: Alexander Kanavin > Sent: Wednesday, January 4, 2023 1:36:27 PM > To: Petr Kubizňák - 2N > Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for > GI_DATA_ENABLED > > On Wed, 4 Jan 2023 at 13:24, Petr Kubizňák wrote: > > Yes, that's exactly the reason. I'm particularly concerned about dependency > > on glib, but other dependencies are unnecessary, too. > > > > > > This change was sufficient to remove the dependency from the target. I am > > not aware of potential consequences of removing the -native d
Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
Hi Alex, Yes, that's exactly the reason. I'm particularly concerned about dependency on glib, but other dependencies are unnecessary, too. This change was sufficient to remove the dependency from the target. I am not aware of potential consequences of removing the -native dependencies, but if you think it should also be done, I'm happy to update the patch. Please let me know. Petr From: Alexander Kanavin Sent: Wednesday, January 4, 2023 12:59:58 PM To: alex.kana...@gmail.com Cc: Petr Kubizňák - 2N; openembedded-core@lists.openembedded.org Subject: Re: [OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED I mean, if you want to do this to reduce dependency chains, then depending on qemu-native and g-i-native isn't necessary either. But the patch as it is seems like going halfway. Alex On Wed, 4 Jan 2023 at 12:54, Alexander Kanavin via lists.openembedded.org wrote: > > On Wed, 4 Jan 2023 at 12:46, Petr Kubizňák wrote: > > When GI_DATA_ENABLED is 'False' (e.g. because > > 'gobject-introspection-data' is not in DISTRO_FEATURES), > > gobject-introspection should not be added to DEPENDS. > > Why? > > Alex > > > -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#175472): https://lists.openembedded.org/g/openembedded-core/message/175472 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH 2/2] harfbuzz: remove bindir only if it exists
In some scenarios (e.g. when "glib" removed from PACKAGECONFIG), "${D}${bindir}" might not exist which caused `rmdir` to fail. Signed-off-by: Petr Kubizňák --- meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb index f56403d428..26692d4e13 100644 --- a/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb +++ b/meta/recipes-graphics/harfbuzz/harfbuzz_5.3.1.bb @@ -30,9 +30,9 @@ PACKAGES =+ "${PN}-icu ${PN}-icu-dev ${PN}-subset" LEAD_SONAME = "libharfbuzz.so" do_install:append() { -# If no tools are installed due to PACKAGECONFIG then this directory is -#still installed, so remove it to stop packaging wanings. -rmdir --ignore-fail-on-non-empty ${D}${bindir} +# If no tools are installed due to PACKAGECONFIG then this directory might +# still be installed, so remove it to stop packaging warnings. +[ ! -d ${D}${bindir} ] || rmdir --ignore-fail-on-non-empty ${D}${bindir} } FILES:${PN}-icu = "${libdir}/libharfbuzz-icu.so.*" -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#175466): https://lists.openembedded.org/g/openembedded-core/message/175466 Mute This Topic: https://lists.openembedded.org/mt/96048411/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-
[OE-core][PATCH 1/2] gobject-introspection: check for GI_DATA_ENABLED
From: Petr Kubizňák - 2N When GI_DATA_ENABLED is 'False' (e.g. because 'gobject-introspection-data' is not in DISTRO_FEATURES), gobject-introspection should not be added to DEPENDS. Signed-off-by: Petr Kubizňák --- meta/classes-recipe/gobject-introspection.bbclass | 13 - 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/meta/classes-recipe/gobject-introspection.bbclass b/meta/classes-recipe/gobject-introspection.bbclass index 0c7b7d200a..10cf79508f 100644 --- a/meta/classes-recipe/gobject-introspection.bbclass +++ b/meta/classes-recipe/gobject-introspection.bbclass @@ -35,7 +35,8 @@ 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', '', d)}" +DEPENDS:append:class-target = " gobject-introspection-native qemu-native" # Even though introspection is disabled on -native, gobject-introspection package is still # needed for m4 macros. @@ -46,10 +47,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 } # .typelib files are needed at runtime and so they go to the main package (so -- 2.30.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#175465): https://lists.openembedded.org/g/openembedded-core/message/175465 Mute This Topic: https://lists.openembedded.org/mt/96048399/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-