Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils to packaging in codegen
On Thu, Mar 7, 2024 at 4:48 PM Peter Kjellerstedt wrote: > > We have a lot of recipes that use gdbus-codegen and are now facing this > problem. To solve it, I have added a gdbus-codegen.bbclass that does: > > DEPENDS:append = " glib-2.0-native python3-packaging-native" > > inherit python3native > > This adds the dependencies needed to use gdbus-codegen, and is similar > in spirit to pkgconfig.bbclass, which adds the dependencies needed to use > pkg-config. > > I can send a patch to add it to either meta or meta-oe if it sounds > like this is something that would be useful to others. I was wondering about the same while changing this, there is already CODEGEN_PYTHON_RDEPENDS = "python3 python3-packaging python3-xml" CODEGEN_PYTHON_RDEPENDS:mingw32 = "" RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" but that won't apply the python3native inherit, unless moving this to some gdbus-codegen.bbclass as you suggested. I've already fixed all recipes in meta-oe and our internal layers so I don't need this anymore, but agree it would be useful. Regards, -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196808): https://lists.openembedded.org/g/openembedded-core/message/196808 Mute This Topic: https://lists.openembedded.org/mt/104560766/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] glib-2.0: backport a switch from distutils to packaging in codegen
> -Original Message- > From: openembedded-core@lists.openembedded.org c...@lists.openembedded.org> On Behalf Of Alexander Kanavin > Sent: den 7 mars 2024 17:11 > To: Peter Kjellerstedt > Cc: Khem Raj ; Martin Jansa ; > openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils > to packaging in codegen > > On Thu, 7 Mar 2024 at 16:49, Peter Kjellerstedt > wrote: > > > We have a lot of recipes that use gdbus-codegen and are now facing this > > problem. To solve it, I have added a gdbus-codegen.bbclass that does: > > > > DEPENDS:append = " glib-2.0-native python3-packaging-native" > > > > inherit python3native > > > > This adds the dependencies needed to use gdbus-codegen, and is similar > > in spirit to pkgconfig.bbclass, which adds the dependencies needed to use > > pkg-config. > > > > I can send a patch to add it to either meta or meta-oe if it sounds > > like this is something that would be useful to others. > > I wonder if instead of a class, this can be solved by tweaking > RDEPENDS of glib recipe (perhaps with a class-native override), so > that python3-packaging is pulled in through that, and no special > dependencies are needed, other than glib-2.0-native. > > Alex The problem is the need to inherit python3native. Without it, the host packages are used... //Peter -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196807): https://lists.openembedded.org/g/openembedded-core/message/196807 Mute This Topic: https://lists.openembedded.org/mt/104560766/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] glib-2.0: backport a switch from distutils to packaging in codegen
On Thu, 7 Mar 2024 at 16:49, Peter Kjellerstedt wrote: > We have a lot of recipes that use gdbus-codegen and are now facing this > problem. To solve it, I have added a gdbus-codegen.bbclass that does: > > DEPENDS:append = " glib-2.0-native python3-packaging-native" > > inherit python3native > > This adds the dependencies needed to use gdbus-codegen, and is similar > in spirit to pkgconfig.bbclass, which adds the dependencies needed to use > pkg-config. > > I can send a patch to add it to either meta or meta-oe if it sounds > like this is something that would be useful to others. I wonder if instead of a class, this can be solved by tweaking RDEPENDS of glib recipe (perhaps with a class-native override), so that python3-packaging is pulled in through that, and no special dependencies are needed, other than glib-2.0-native. Alex -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196803): https://lists.openembedded.org/g/openembedded-core/message/196803 Mute This Topic: https://lists.openembedded.org/mt/104560766/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] glib-2.0: backport a switch from distutils to packaging in codegen
> -Original Message- > From: openembedded-core@lists.openembedded.org c...@lists.openembedded.org> On Behalf Of Khem Raj > Sent: den 28 februari 2024 19:30 > To: Martin Jansa > Cc: openembedded-core@lists.openembedded.org > Subject: Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils > to packaging in codegen > > some more failures in meta-openembedded layers ( meta-xfce) > > https://errors.yoctoproject.org/Errors/Details/754995/ > https://errors.yoctoproject.org/Errors/Details/754996/ > > On Tue, Feb 27, 2024 at 3:39 AM Martin Jansa > wrote: > > > > Yes, it was reproducible on my host gentoo after removing distutils > > with dev-python/setuptools (and for updated glib-2.0-native after > > removing dev-python/packaging) > > > > Fixes sent: > > https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-1-martin.ja...@gmail.com/ > > https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-2-martin.ja...@gmail.com/ > > > > Cheers, > > > > On Tue, Feb 27, 2024 at 12:58 AM Martin Jansa via > > lists.openembedded.org > > wrote: > > > > > > Thanks Khem, will try to reproduce tomorrow. Maybe these don't use > > > CODEGEN_PYTHON_RDEPENDS. > > > > > > With this patch backported to kirkstone I've seen glib-2.0-native > > > failing with the same issue as python3native there doesn't include > > > python3-packaging. > > > > > > Maybe these recipes aren't using python3native and were depending on > > > packaging from host, will debug tomorrow. > > > > > > On Tue, Feb 27, 2024 at 12:16 AM Khem Raj wrote: > > > > > > > > I am seeing some build failures which seems to be related to this > > > > patch > > > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3657/steps/15/logs/stdio > > > > > > > > | File > > > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/gattlib/0.2+git/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > > > line 22, in > > > > | import packaging.version > > > > | ModuleNotFoundError: No module named 'packaging' > > > > > > > > > > > > > > > > | File > > > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > > > line 22, in > > > > | import packaging.version > > > > | ModuleNotFoundError: No module named 'packaging' > > > > | make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] > > > > Error 1 We have a lot of recipes that use gdbus-codegen and are now facing this problem. To solve it, I have added a gdbus-codegen.bbclass that does: DEPENDS:append = " glib-2.0-native python3-packaging-native" inherit python3native This adds the dependencies needed to use gdbus-codegen, and is similar in spirit to pkgconfig.bbclass, which adds the dependencies needed to use pkg-config. I can send a patch to add it to either meta or meta-oe if it sounds like this is something that would be useful to others. //Peter -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196801): https://lists.openembedded.org/g/openembedded-core/message/196801 Mute This Topic: https://lists.openembedded.org/mt/104560766/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] glib-2.0: backport a switch from distutils to packaging in codegen
some more failures in meta-openembedded layers ( meta-xfce) https://errors.yoctoproject.org/Errors/Details/754995/ https://errors.yoctoproject.org/Errors/Details/754996/ On Tue, Feb 27, 2024 at 3:39 AM Martin Jansa wrote: > > Yes, it was reproducible on my host gentoo after removing distutils > with dev-python/setuptools (and for updated glib-2.0-native after > removing dev-python/packaging) > > Fixes sent: > https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-1-martin.ja...@gmail.com/ > https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-2-martin.ja...@gmail.com/ > > Cheers, > > On Tue, Feb 27, 2024 at 12:58 AM Martin Jansa via > lists.openembedded.org > wrote: > > > > Thanks Khem, will try to reproduce tomorrow. Maybe these don't use > > CODEGEN_PYTHON_RDEPENDS. > > > > With this patch backported to kirkstone I've seen glib-2.0-native > > failing with the same issue as python3native there doesn't include > > python3-packaging. > > > > Maybe these recipes aren't using python3native and were depending on > > packaging from host, will debug tomorrow. > > > > On Tue, Feb 27, 2024 at 12:16 AM Khem Raj wrote: > > > > > > I am seeing some build failures which seems to be related to this patch > > > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3657/steps/15/logs/stdio > > > > > > | File > > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/gattlib/0.2+git/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > > line 22, in > > > | import packaging.version > > > | ModuleNotFoundError: No module named 'packaging' > > > > > > > > > > > > | File > > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > > line 22, in > > > | import packaging.version > > > | ModuleNotFoundError: No module named 'packaging' > > > | make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] > > > Error 1 > > > > > > > > > On Sun, Feb 25, 2024 at 1:37 AM Martin Jansa > > > wrote: > > > > > > > > * to fix build on hosts with python-3.12, now it fails with: > > > > > > > > Traceback (most recent call last): > > > > File "recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in > > > > > > > > from codegen import codegen_main > > > > File > > > > "recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", > > > > line 29, in > > > > from . import dbustypes > > > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", > > > > line 22, in > > > > from . import utils > > > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > > > line 22, in > > > > import distutils.version > > > > ModuleNotFoundError: No module named 'distutils' > > > > CMake Error at CMakeLists.txt:90 (message): > > > > Error in generating code for connman interface using gdbus-codegen > > > > > > > > Signed-off-by: Martin Jansa > > > > --- > > > > ...deprecated-distutils-module-to-the-p.patch | 34 +++ > > > > meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb | 1 + > > > > meta/recipes-core/glib-2.0/glib.inc | 4 +-- > > > > 3 files changed, 36 insertions(+), 3 deletions(-) > > > > create mode 100644 > > > > meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > > > > > diff --git > > > > a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > > > > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > new file mode 100644 > > > > index 00..50368ed22c > > > > --- /dev/null > > > > +++ > > > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > @@ -0,0 +1,34 @@ > > > > +From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001 > > > > +From: Jordan Williams > > > > +Date: Fri, 1 Dec 2023 09:53:50 -0600 > > > > +Subject: [PATCH] Switch from the deprecated distutils module to the > > > > packaging > > > > + module > > > > + > > > > +The distutils module was removed in Python 3.12. > > > > + > > > > +Upstream-Status: Backport > > > > [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > > > > + > > > > +Signed-off-by: Martin Jansa > > > > +--- > > > > + gio/gdbus-2.0/codegen/utils.py | 4 ++-- > > > > + 1 file changed, 2 insertions(+), 2 deletions(-) > > > > + > > > > +diff --git a/gio/gdbus-2.0/codegen/utils.py > > > > b/gio/gdbus-2.0/codegen/utils.py > > > > +index 0204610..08f1ba9 100644 > > > > +--- a/gio/gdbus-2.0/codegen/utils.py > > > > b/gio/gdbus-2.0/codegen/utils.py > > > > +@@ -19,7 +19,7 @@ > > > > + # > > > > + # Author: David Zeuthen > > > > + > > > > +-import distutils.version > > > >
Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils to packaging in codegen
Yes, it was reproducible on my host gentoo after removing distutils with dev-python/setuptools (and for updated glib-2.0-native after removing dev-python/packaging) Fixes sent: https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-1-martin.ja...@gmail.com/ https://patchwork.yoctoproject.org/project/oe/patch/20240227113711.834767-2-martin.ja...@gmail.com/ Cheers, On Tue, Feb 27, 2024 at 12:58 AM Martin Jansa via lists.openembedded.org wrote: > > Thanks Khem, will try to reproduce tomorrow. Maybe these don't use > CODEGEN_PYTHON_RDEPENDS. > > With this patch backported to kirkstone I've seen glib-2.0-native > failing with the same issue as python3native there doesn't include > python3-packaging. > > Maybe these recipes aren't using python3native and were depending on > packaging from host, will debug tomorrow. > > On Tue, Feb 27, 2024 at 12:16 AM Khem Raj wrote: > > > > I am seeing some build failures which seems to be related to this patch > > > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3657/steps/15/logs/stdio > > > > | File > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/gattlib/0.2+git/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > line 22, in > > | import packaging.version > > | ModuleNotFoundError: No module named 'packaging' > > > > > > > > | File > > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > > line 22, in > > | import packaging.version > > | ModuleNotFoundError: No module named 'packaging' > > | make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] > > Error 1 > > > > > > On Sun, Feb 25, 2024 at 1:37 AM Martin Jansa wrote: > > > > > > * to fix build on hosts with python-3.12, now it fails with: > > > > > > Traceback (most recent call last): > > > File "recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in > > > from codegen import codegen_main > > > File > > > "recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", line > > > 29, in > > > from . import dbustypes > > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", > > > line 22, in > > > from . import utils > > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line > > > 22, in > > > import distutils.version > > > ModuleNotFoundError: No module named 'distutils' > > > CMake Error at CMakeLists.txt:90 (message): > > > Error in generating code for connman interface using gdbus-codegen > > > > > > Signed-off-by: Martin Jansa > > > --- > > > ...deprecated-distutils-module-to-the-p.patch | 34 +++ > > > meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb | 1 + > > > meta/recipes-core/glib-2.0/glib.inc | 4 +-- > > > 3 files changed, 36 insertions(+), 3 deletions(-) > > > create mode 100644 > > > meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > > > diff --git > > > a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > new file mode 100644 > > > index 00..50368ed22c > > > --- /dev/null > > > +++ > > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > @@ -0,0 +1,34 @@ > > > +From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001 > > > +From: Jordan Williams > > > +Date: Fri, 1 Dec 2023 09:53:50 -0600 > > > +Subject: [PATCH] Switch from the deprecated distutils module to the > > > packaging > > > + module > > > + > > > +The distutils module was removed in Python 3.12. > > > + > > > +Upstream-Status: Backport > > > [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > > > + > > > +Signed-off-by: Martin Jansa > > > +--- > > > + gio/gdbus-2.0/codegen/utils.py | 4 ++-- > > > + 1 file changed, 2 insertions(+), 2 deletions(-) > > > + > > > +diff --git a/gio/gdbus-2.0/codegen/utils.py > > > b/gio/gdbus-2.0/codegen/utils.py > > > +index 0204610..08f1ba9 100644 > > > +--- a/gio/gdbus-2.0/codegen/utils.py > > > b/gio/gdbus-2.0/codegen/utils.py > > > +@@ -19,7 +19,7 @@ > > > + # > > > + # Author: David Zeuthen > > > + > > > +-import distutils.version > > > ++import packaging.version > > > + import os > > > + import sys > > > + > > > +@@ -166,4 +166,4 @@ def version_cmp_key(key): > > > + v = str(key[0]) > > > + else: > > > + v = "0" > > > +-return (distutils.version.LooseVersion(v), key[1]) > > > ++return (packaging.version.Version(v), key[1]) > > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > > b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > > index
Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils to packaging in codegen
Thanks Khem, will try to reproduce tomorrow. Maybe these don't use CODEGEN_PYTHON_RDEPENDS. With this patch backported to kirkstone I've seen glib-2.0-native failing with the same issue as python3native there doesn't include python3-packaging. Maybe these recipes aren't using python3native and were depending on packaging from host, will debug tomorrow. On Tue, Feb 27, 2024 at 12:16 AM Khem Raj wrote: > > I am seeing some build failures which seems to be related to this patch > > https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3657/steps/15/logs/stdio > > | File > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/gattlib/0.2+git/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > line 22, in > | import packaging.version > | ModuleNotFoundError: No module named 'packaging' > > > > | File > "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", > line 22, in > | import packaging.version > | ModuleNotFoundError: No module named 'packaging' > | make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] Error > 1 > > > On Sun, Feb 25, 2024 at 1:37 AM Martin Jansa wrote: > > > > * to fix build on hosts with python-3.12, now it fails with: > > > > Traceback (most recent call last): > > File "recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in > > from codegen import codegen_main > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", > > line 29, in > > from . import dbustypes > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", > > line 22, in > > from . import utils > > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line > > 22, in > > import distutils.version > > ModuleNotFoundError: No module named 'distutils' > > CMake Error at CMakeLists.txt:90 (message): > > Error in generating code for connman interface using gdbus-codegen > > > > Signed-off-by: Martin Jansa > > --- > > ...deprecated-distutils-module-to-the-p.patch | 34 +++ > > meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb | 1 + > > meta/recipes-core/glib-2.0/glib.inc | 4 +-- > > 3 files changed, 36 insertions(+), 3 deletions(-) > > create mode 100644 > > meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > diff --git > > a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > new file mode 100644 > > index 00..50368ed22c > > --- /dev/null > > +++ > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > @@ -0,0 +1,34 @@ > > +From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001 > > +From: Jordan Williams > > +Date: Fri, 1 Dec 2023 09:53:50 -0600 > > +Subject: [PATCH] Switch from the deprecated distutils module to the > > packaging > > + module > > + > > +The distutils module was removed in Python 3.12. > > + > > +Upstream-Status: Backport > > [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > > + > > +Signed-off-by: Martin Jansa > > +--- > > + gio/gdbus-2.0/codegen/utils.py | 4 ++-- > > + 1 file changed, 2 insertions(+), 2 deletions(-) > > + > > +diff --git a/gio/gdbus-2.0/codegen/utils.py > > b/gio/gdbus-2.0/codegen/utils.py > > +index 0204610..08f1ba9 100644 > > +--- a/gio/gdbus-2.0/codegen/utils.py > > b/gio/gdbus-2.0/codegen/utils.py > > +@@ -19,7 +19,7 @@ > > + # > > + # Author: David Zeuthen > > + > > +-import distutils.version > > ++import packaging.version > > + import os > > + import sys > > + > > +@@ -166,4 +166,4 @@ def version_cmp_key(key): > > + v = str(key[0]) > > + else: > > + v = "0" > > +-return (distutils.version.LooseVersion(v), key[1]) > > ++return (packaging.version.Version(v), key[1]) > > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > index 42814ba544..6c3e99c641 100644 > > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > > @@ -14,6 +14,7 @@ SRC_URI = > > "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ > > file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ > > file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ > > > > file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ > > + > > file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ > > file://memory-monitor.patch \ > > file://native-gtkdoc.patch \ > > " > > diff --git
Re: [OE-core] [PATCH] glib-2.0: backport a switch from distutils to packaging in codegen
I am seeing some build failures which seems to be related to this patch https://autobuilder.yoctoproject.org/typhoon/#/builders/88/builds/3657/steps/15/logs/stdio | File "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/gattlib/0.2+git/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, in | import packaging.version | ModuleNotFoundError: No module named 'packaging' | File "/home/pokybuild/yocto-worker/meta-oe/build/build/tmp/work/core2-64-poky-linux/networkmanager-fortisslvpn/1.4.0/recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, in | import packaging.version | ModuleNotFoundError: No module named 'packaging' | make: *** [Makefile:2081: src/nm-fortisslvpn-pppd-service-dbus.h] Error 1 On Sun, Feb 25, 2024 at 1:37 AM Martin Jansa wrote: > > * to fix build on hosts with python-3.12, now it fails with: > > Traceback (most recent call last): > File "recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in > from codegen import codegen_main > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", > line 29, in > from . import dbustypes > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", line > 22, in > from . import utils > File "recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, > in > import distutils.version > ModuleNotFoundError: No module named 'distutils' > CMake Error at CMakeLists.txt:90 (message): > Error in generating code for connman interface using gdbus-codegen > > Signed-off-by: Martin Jansa > --- > ...deprecated-distutils-module-to-the-p.patch | 34 +++ > meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb | 1 + > meta/recipes-core/glib-2.0/glib.inc | 4 +-- > 3 files changed, 36 insertions(+), 3 deletions(-) > create mode 100644 > meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > diff --git > a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > new file mode 100644 > index 00..50368ed22c > --- /dev/null > +++ > b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch > @@ -0,0 +1,34 @@ > +From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001 > +From: Jordan Williams > +Date: Fri, 1 Dec 2023 09:53:50 -0600 > +Subject: [PATCH] Switch from the deprecated distutils module to the packaging > + module > + > +The distutils module was removed in Python 3.12. > + > +Upstream-Status: Backport > [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] > + > +Signed-off-by: Martin Jansa > +--- > + gio/gdbus-2.0/codegen/utils.py | 4 ++-- > + 1 file changed, 2 insertions(+), 2 deletions(-) > + > +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py > +index 0204610..08f1ba9 100644 > +--- a/gio/gdbus-2.0/codegen/utils.py > b/gio/gdbus-2.0/codegen/utils.py > +@@ -19,7 +19,7 @@ > + # > + # Author: David Zeuthen > + > +-import distutils.version > ++import packaging.version > + import os > + import sys > + > +@@ -166,4 +166,4 @@ def version_cmp_key(key): > + v = str(key[0]) > + else: > + v = "0" > +-return (distutils.version.LooseVersion(v), key[1]) > ++return (packaging.version.Version(v), key[1]) > diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > index 42814ba544..6c3e99c641 100644 > --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb > @@ -14,6 +14,7 @@ SRC_URI = > "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ > file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ > file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ > > file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ > + > file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ > file://memory-monitor.patch \ > file://native-gtkdoc.patch \ > " > diff --git a/meta/recipes-core/glib-2.0/glib.inc > b/meta/recipes-core/glib-2.0/glib.inc > index 5a57549d85..fac8875d84 100644 > --- a/meta/recipes-core/glib-2.0/glib.inc > +++ b/meta/recipes-core/glib-2.0/glib.inc > @@ -144,9 +144,7 @@ do_install:append:mingw32() { > rm -f ${D}${bindir}/gtester-report > } > > -# remove setuptools dependency when usage of distutils is dropped in > -# > https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/gdbus-2.0/codegen/utils.py > -CODEGEN_PYTHON_RDEPENDS = "python3 python3-setuptools python3-xml" > +CODEGEN_PYTHON_RDEPENDS = "python3 python3-packaging python3-xml" > CODEGEN_PYTHON_RDEPENDS:mingw32 = "" > >
[OE-core] [PATCH] glib-2.0: backport a switch from distutils to packaging in codegen
* to fix build on hosts with python-3.12, now it fails with: Traceback (most recent call last): File "recipe-sysroot-native/usr/bin/gdbus-codegen", line 53, in from codegen import codegen_main File "recipe-sysroot-native/usr/share/glib-2.0/codegen/codegen_main.py", line 29, in from . import dbustypes File "recipe-sysroot-native/usr/share/glib-2.0/codegen/dbustypes.py", line 22, in from . import utils File "recipe-sysroot-native/usr/share/glib-2.0/codegen/utils.py", line 22, in import distutils.version ModuleNotFoundError: No module named 'distutils' CMake Error at CMakeLists.txt:90 (message): Error in generating code for connman interface using gdbus-codegen Signed-off-by: Martin Jansa --- ...deprecated-distutils-module-to-the-p.patch | 34 +++ meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb | 1 + meta/recipes-core/glib-2.0/glib.inc | 4 +-- 3 files changed, 36 insertions(+), 3 deletions(-) create mode 100644 meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch diff --git a/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch new file mode 100644 index 00..50368ed22c --- /dev/null +++ b/meta/recipes-core/glib-2.0/glib-2.0/0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch @@ -0,0 +1,34 @@ +From 05f0674c93d94fe6b29c1b707980aac469ddcd72 Mon Sep 17 00:00:00 2001 +From: Jordan Williams +Date: Fri, 1 Dec 2023 09:53:50 -0600 +Subject: [PATCH] Switch from the deprecated distutils module to the packaging + module + +The distutils module was removed in Python 3.12. + +Upstream-Status: Backport [https://gitlab.gnome.org/GNOME/glib/-/commit/6ef967a0f930ce37a8c9b5aff969693b34714291] + +Signed-off-by: Martin Jansa +--- + gio/gdbus-2.0/codegen/utils.py | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +index 0204610..08f1ba9 100644 +--- a/gio/gdbus-2.0/codegen/utils.py b/gio/gdbus-2.0/codegen/utils.py +@@ -19,7 +19,7 @@ + # + # Author: David Zeuthen + +-import distutils.version ++import packaging.version + import os + import sys + +@@ -166,4 +166,4 @@ def version_cmp_key(key): + v = str(key[0]) + else: + v = "0" +-return (distutils.version.LooseVersion(v), key[1]) ++return (packaging.version.Version(v), key[1]) diff --git a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb index 42814ba544..6c3e99c641 100644 --- a/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb +++ b/meta/recipes-core/glib-2.0/glib-2.0_2.78.3.bb @@ -14,6 +14,7 @@ SRC_URI = "${GNOME_MIRROR}/glib/${SHRT_VER}/glib-${PV}.tar.xz \ file://0001-Do-not-write-bindir-into-pkg-config-files.patch \ file://0001-meson-Run-atomics-test-on-clang-as-well.patch \ file://0001-gio-tests-resources.c-comment-out-a-build-host-only-.patch \ + file://0001-Switch-from-the-deprecated-distutils-module-to-the-p.patch \ file://memory-monitor.patch \ file://native-gtkdoc.patch \ " diff --git a/meta/recipes-core/glib-2.0/glib.inc b/meta/recipes-core/glib-2.0/glib.inc index 5a57549d85..fac8875d84 100644 --- a/meta/recipes-core/glib-2.0/glib.inc +++ b/meta/recipes-core/glib-2.0/glib.inc @@ -144,9 +144,7 @@ do_install:append:mingw32() { rm -f ${D}${bindir}/gtester-report } -# remove setuptools dependency when usage of distutils is dropped in -# https://gitlab.gnome.org/GNOME/glib/-/blob/main/gio/gdbus-2.0/codegen/utils.py -CODEGEN_PYTHON_RDEPENDS = "python3 python3-setuptools python3-xml" +CODEGEN_PYTHON_RDEPENDS = "python3 python3-packaging python3-xml" CODEGEN_PYTHON_RDEPENDS:mingw32 = "" RDEPENDS:${PN}-codegen += "${CODEGEN_PYTHON_RDEPENDS}" -- 2.43.2 -=-=-=-=-=-=-=-=-=-=-=- Links: You receive all messages sent to this group. View/Reply Online (#196136): https://lists.openembedded.org/g/openembedded-core/message/196136 Mute This Topic: https://lists.openembedded.org/mt/104560766/21656 Group Owner: openembedded-core+ow...@lists.openembedded.org Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub [arch...@mail-archive.com] -=-=-=-=-=-=-=-=-=-=-=-