* [Buildroot] [PATCH v4 1/4] package/python-gobject: bump version to 3.52.3
@ 2025-04-14 16:15 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13 Fiona Klute via buildroot
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Fiona Klute via buildroot @ 2025-04-14 16:15 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Upstream changelog:
https://gitlab.gnome.org/GNOME/pygobject/-/blob/3.52.3/NEWS?ref_type=tags
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
package/python-gobject/python-gobject.hash | 4 ++--
package/python-gobject/python-gobject.mk | 6 +++---
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/package/python-gobject/python-gobject.hash b/package/python-gobject/python-gobject.hash
index 1dbd40d038..e49c7ddd08 100644
--- a/package/python-gobject/python-gobject.hash
+++ b/package/python-gobject/python-gobject.hash
@@ -1,3 +1,3 @@
-# from https://download.gnome.org/sources/pygobject/3.50/pygobject-3.50.0.sha256sum
-sha256 8d836e75b5a881d457ee1622cae4a32bcdba28a0ba562193adb3bbb472472212 pygobject-3.50.0.tar.xz
+# from https://download.gnome.org/sources/pygobject/3.52/pygobject-3.52.3.sha256sum
+sha256 00e427d291e957462a8fad659a9f9c8be776ff82a8b76bdf402f1eaeec086d82 pygobject-3.52.3.tar.gz
sha256 32434afcc8666ba060e111d715bfdb6c2d5dd8a35fa4d3ab8ad67d8f850d2f2b COPYING
diff --git a/package/python-gobject/python-gobject.mk b/package/python-gobject/python-gobject.mk
index 001f355844..3021937887 100644
--- a/package/python-gobject/python-gobject.mk
+++ b/package/python-gobject/python-gobject.mk
@@ -4,9 +4,9 @@
#
################################################################################
-PYTHON_GOBJECT_VERSION_MAJOR = 3.50
-PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).0
-PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.xz
+PYTHON_GOBJECT_VERSION_MAJOR = 3.52
+PYTHON_GOBJECT_VERSION = $(PYTHON_GOBJECT_VERSION_MAJOR).3
+PYTHON_GOBJECT_SOURCE = pygobject-$(PYTHON_GOBJECT_VERSION).tar.gz
PYTHON_GOBJECT_SITE = https://download.gnome.org/sources/pygobject/$(PYTHON_GOBJECT_VERSION_MAJOR)
PYTHON_GOBJECT_LICENSE = LGPL-2.1+
PYTHON_GOBJECT_LICENSE_FILES = COPYING
--
2.49.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13
2025-04-14 16:15 [Buildroot] [PATCH v4 1/4] package/python-gobject: bump version to 3.52.3 Fiona Klute via buildroot
@ 2025-04-14 16:15 ` Fiona Klute via buildroot
2025-05-17 15:27 ` Thomas Petazzoni via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 3/4] package/gobject-introspection: bump version to 1.84.0 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 4/4] package/libglib2: bump version to 2.84.1 Fiona Klute via buildroot
2 siblings, 1 reply; 6+ messages in thread
From: Fiona Klute via buildroot @ 2025-04-14 16:15 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Since Python 3.13 BaseSelectorEventLoop.add_reader() and
BaseSelectorEventLoop.add_writer() use the mapping returned by
selector.get_map() to detect if a file object is already
registered. This fails with the implementation in gi.events._Selector
if some calls use a file object, and others the raw file descriptor.
Full upstream bug report:
https://gitlab.gnome.org/GNOME/pygobject/-/issues/689
This bug breaks package/python-aiomqtt, because its client object uses
file objects in some places for the connection socket, and the file
descriptor in others. The result is that the connection attempt times
out because source registration fails, and the Future that marks
successful connection never resolves.
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
The bug fixed by this patch is present in 3.50.0 and 3.52.3 alike, the
reason for applying the update first is simply that the patch doesn't
apply with 3.50.0, and backporting would be unnecessary effort when
the update is due anyway.
Change v1 -> v2: Patch has been merged, switch upstream URL from MR to
commit on main branch.
...tor.get_map-look-up-file-objects-by-.patch | 164 ++++++++++++++++++
1 file changed, 164 insertions(+)
create mode 100644 package/python-gobject/0001-gi.events._Selector.get_map-look-up-file-objects-by-.patch
diff --git a/package/python-gobject/0001-gi.events._Selector.get_map-look-up-file-objects-by-.patch b/package/python-gobject/0001-gi.events._Selector.get_map-look-up-file-objects-by-.patch
new file mode 100644
index 0000000000..a275abd9c7
--- /dev/null
+++ b/package/python-gobject/0001-gi.events._Selector.get_map-look-up-file-objects-by-.patch
@@ -0,0 +1,164 @@
+From 4b97688d527276fc1e835fed71dbb73bbd09ac11 Mon Sep 17 00:00:00 2001
+From: Fiona Klute <fiona.klute@gmx.de>
+Date: Tue, 25 Mar 2025 13:29:04 +0100
+Subject: [PATCH] gi.events._Selector.get_map(): look up file objects by file
+ descriptor
+
+File objects and their underlying file descriptors must be treated as
+equivalent for lookup, or one may incorrectly be treated as not
+registered when the other was used for the registration, leading to
+bugs.
+
+Fixes: #689
+Signed-off-by: Fiona Klute <fiona.klute@gmx.de>
+Upstream: https://gitlab.gnome.org/GNOME/pygobject/-/commit/4b97688d527276fc1e835fed71dbb73bbd09ac11
+---
+ gi/events.py | 36 +++++++++++++++++++++-----
+ tests/test_events.py | 61 ++++++++++++++++++++++++++++++++++++++++++++
+ 2 files changed, 90 insertions(+), 7 deletions(-)
+
+diff --git a/gi/events.py b/gi/events.py
+index da4775dc..9eba1629 100644
+--- a/gi/events.py
++++ b/gi/events.py
+@@ -28,6 +28,7 @@ import threading
+ import selectors
+ import weakref
+ import warnings
++from collections.abc import Mapping
+ from contextlib import contextmanager
+ from . import _ossighelper
+
+@@ -508,9 +509,33 @@ if sys.platform != 'win32':
+ # Subclass to attach _tag
+ pass
+
++ class _FileObjectMapping(Mapping):
++ def __init__(self, fd_dict):
++ self.fd_dict = fd_dict
++
++ def __len__(self):
++ return len(self.fd_dict)
++
++ def get(self, fileobj, default=None):
++ fd = _fileobj_to_fd(fileobj)
++ return self.fd_dict.get(fd, default)
++
++ def __getitem__(self, fileobj):
++ value = self.get(fileobj)
++ if value is None:
++ raise KeyError("{!r} is not registered".format(fileobj))
++ return value
++
++ def __iter__(self):
++ return iter(self.fd_dict)
++
+ class _Selector(_SelectorMixin, selectors.BaseSelector):
+ """A Selector for gi.events.GLibEventLoop registering python IO with GLib."""
+
++ def __init__(self, context, loop):
++ super().__init__(context, loop)
++ self._map = _FileObjectMapping(self._fd_to_key)
++
+ def attach(self):
+ self._source.attach(self._loop._context)
+
+@@ -559,15 +584,12 @@ if sys.platform != 'win32':
+ # We could override modify, but it is only slightly when the "events" change.
+
+ def get_key(self, fileobj):
+- fd = _fileobj_to_fd(fileobj)
+- return self._fd_to_key[fd]
++ return self._map[fileobj]
+
+ def get_map(self):
+- """Return a mapping of file objects to selector keys."""
+- # Horribly inefficient
+- # It should never be called and exists just to prevent issues if e.g.
+- # python decides to use it for debug purposes.
+- return {k.fileobj: k for k in self._fd_to_key.values()}
++ """Return a mapping of file objects or file descriptors to
++ selector keys."""
++ return self._map
+
+
+ else:
+diff --git a/tests/test_events.py b/tests/test_events.py
+index a6585468..9dbf3827 100644
+--- a/tests/test_events.py
++++ b/tests/test_events.py
+@@ -46,6 +46,7 @@ import sys
+ import gi
+ import gi.events
+ import asyncio
++import socket
+ import threading
+ from gi.repository import GLib, Gio
+
+@@ -344,3 +345,63 @@ class GLibEventLoopPolicyTests(unittest.TestCase):
+ self.assertEqual(order, [GLib.PRIORITY_HIGH] * 3 +
+ [GLib.PRIORITY_DEFAULT] * 3 +
+ [GLib.PRIORITY_DEFAULT_IDLE] * 3)
++
++ @unittest.skipIf(sys.platform == 'win32', 'add reader/writer not implemented')
++ def test_source_fileobj_fd(self):
++ """Regression test for
++ https://gitlab.gnome.org/GNOME/pygobject/-/issues/689
++ """
++ class Echo:
++ def __init__(self, sock, expect_bytes):
++ self.sock = sock
++ self.sent_bytes = 0
++ self.expect_bytes = expect_bytes
++ self.done = asyncio.Future()
++ self.data = bytes()
++
++ def send(self):
++ if self.done.done():
++ return
++ if self.sent_bytes < len(self.data):
++ self.sent_bytes += self.sock.send(
++ self.data[self.sent_bytes:])
++ print('sent', self.data)
++ if self.sent_bytes >= self.expect_bytes:
++ self.done.set_result(None)
++ self.sock.shutdown(socket.SHUT_WR)
++
++ def recv(self):
++ if self.done.done():
++ return
++ self.data += self.sock.recv(self.expect_bytes)
++ print('received', self.data)
++ if len(self.data) >= self.expect_bytes:
++ self.sock.shutdown(socket.SHUT_RD)
++
++ async def run():
++ loop = asyncio.get_running_loop()
++ s1, s2 = socket.socketpair()
++ sample = b'Hello!'
++ e = Echo(s1, len(sample))
++ # register using file object and file descriptor
++ loop.add_reader(s1, e.recv)
++ loop.add_writer(s1.fileno(), e.send)
++ s2.sendall(sample)
++ await asyncio.wait_for(e.done, timeout=2.0)
++ echo = bytes()
++ for _ in range(len(sample)):
++ echo += s2.recv(len(sample))
++ if len(echo) == len(sample):
++ break
++ # remove using file object and file descriptor
++ loop.remove_reader(s1)
++ loop.remove_writer(s1.fileno())
++ s1.close()
++ s2.close()
++ # check if the data was echoed correctly
++ self.assertEqual(sample, echo)
++
++ policy = self.create_policy()
++ loop = policy.get_event_loop()
++ loop.run_until_complete(run())
++ loop.close()
+--
+2.49.0
+
--
2.49.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v4 3/4] package/gobject-introspection: bump version to 1.84.0
2025-04-14 16:15 [Buildroot] [PATCH v4 1/4] package/python-gobject: bump version to 3.52.3 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13 Fiona Klute via buildroot
@ 2025-04-14 16:15 ` Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 4/4] package/libglib2: bump version to 2.84.1 Fiona Klute via buildroot
2 siblings, 0 replies; 6+ messages in thread
From: Fiona Klute via buildroot @ 2025-04-14 16:15 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
GOI now has a build option to disable tests [1], so use that and drop
the "disable tests" patch.
Meson now checks LD_LIBRARY_PATH during configure and sets the result
when calling g-ir-scanner [2]. This means overriding it in _NINJA_ENV
does not work any more, set LD_LIBRARY_PATH in _CONF_ENV instead.
The hash for giscanner/scannerlexer.l changed due to small code
additions.
Upstream changelog:
https://gitlab.gnome.org/GNOME/gobject-introspection/-/blob/1.84.0/NEWS?ref_type=tags
[1] https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/3e41addbd0f22024f63cc9c3fbef04ca16f05364
[2] https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/d3f684559facd0edc368e3ac6db95b16e28ed743
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
Changes v3 -> v4:
* Fix LD_LIBRARY_PATH for g-ir-scanner
.checkpackageignore | 3 +-
...> 0001-Add-rpath-links-to-ccompiler.patch} | 0
.../0001-disable-tests.patch | 34 -------------------
.../gobject-introspection.hash | 6 ++--
.../gobject-introspection.mk | 13 ++++---
5 files changed, 13 insertions(+), 43 deletions(-)
rename package/gobject-introspection/{0002-Add-rpath-links-to-ccompiler.patch => 0001-Add-rpath-links-to-ccompiler.patch} (100%)
delete mode 100644 package/gobject-introspection/0001-disable-tests.patch
diff --git a/.checkpackageignore b/.checkpackageignore
index 4c7834f20f..2f9c65c8a3 100644
--- a/.checkpackageignore
+++ b/.checkpackageignore
@@ -523,8 +523,7 @@ package/gnupg/0001-build-Always-use-EXTERN_UNLESS_MAIN_MODULE-pattern.patch lib_
package/gnuplot/0001-configure-add-without-demo-option.patch lib_patch.Upstream
package/go/go-src/0001-build.go-explicit-option-for-crosscompilation.patch lib_patch.Upstream
package/gob2/0001-dont-include-from-prefix.patch lib_patch.Upstream
-package/gobject-introspection/0001-disable-tests.patch lib_patch.Upstream
-package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
+package/gobject-introspection/0001-Add-rpath-links-to-ccompiler.patch lib_patch.Upstream
package/gpsd/S50gpsd Shellcheck lib_sysv.Indent lib_sysv.Variables
package/gptfdisk/0001-gptcurses-partially-revert-Tweaks-for-building-on-th.patch lib_patch.Upstream
package/graphite2/0001-don-t-install-a-libtool-file-with-static-library.patch lib_patch.Upstream
diff --git a/package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch b/package/gobject-introspection/0001-Add-rpath-links-to-ccompiler.patch
similarity index 100%
rename from package/gobject-introspection/0002-Add-rpath-links-to-ccompiler.patch
rename to package/gobject-introspection/0001-Add-rpath-links-to-ccompiler.patch
diff --git a/package/gobject-introspection/0001-disable-tests.patch b/package/gobject-introspection/0001-disable-tests.patch
deleted file mode 100644
index a39f51617b..0000000000
--- a/package/gobject-introspection/0001-disable-tests.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From c87faf380ddf44da9d624dabd28178c9065f0f76 Mon Sep 17 00:00:00 2001
-From: Adam Duskett <aduskett@gmail.com>
-Date: Mon, 3 Feb 2020 10:07:15 -0800
-Subject: [PATCH] disable tests
-
-If introspection data on the host is not built, meson throws the error:
-"Unknown variable "typelibs". Because tests are not required, removing
-the subdir tests altogether fixes this issue.
-
-Signed-off-by: Adam Duskett <aduskett@gmail.com>
----
- meson.build | 6 ------
- 1 file changed, 6 deletions(-)
-
-diff --git a/meson.build b/meson.build
-index c2cb577f..65ce7adf 100644
---- a/meson.build
-+++ b/meson.build
-@@ -237,12 +237,6 @@ else
- endif
- subdir('docs')
-
--# The tests will also run, which is not possible if they
--# were built for a different architecture.
--if not meson.is_cross_build()
-- subdir('tests')
--endif
--
- install_data('Makefile.introspection', install_dir: join_paths(get_option('datadir'), 'gobject-introspection-1.0'))
- install_data('m4/introspection.m4', install_dir: join_paths(get_option('datadir'), 'aclocal'))
-
---
-2.25.1
-
diff --git a/package/gobject-introspection/gobject-introspection.hash b/package/gobject-introspection/gobject-introspection.hash
index c39c06d102..044216c65f 100644
--- a/package/gobject-introspection/gobject-introspection.hash
+++ b/package/gobject-introspection/gobject-introspection.hash
@@ -1,5 +1,5 @@
-# From https://download.gnome.org/sources/gobject-introspection/1.82/gobject-introspection-1.82.0.sha256sum
-sha256 0f5a4c1908424bf26bc41e9361168c363685080fbdb87a196c891c8401ca2f09 gobject-introspection-1.82.0.tar.xz
+# From https://download.gnome.org/sources/gobject-introspection/1.84/gobject-introspection-1.84.0.sha256sum
+sha256 945b57da7ec262e5c266b89e091d14be800cc424277d82a02872b7d794a84779 gobject-introspection-1.84.0.tar.xz
sha256 faa2e414bd5f91d2d2c39e85c7cc3f2ccde05c3306f96b404f8ed8cf0266c279 COPYING.LGPL
sha256 4c1cedcbb4a12ea964f1160dbbf36099e5a59b96129a99a1a1a61f2cb09271fb COPYING.GPL
-sha256 fb538e24d22de4f8dab6b48b862be84469bcc089e1cf98f6f46d6f74f6f44655 giscanner/scannerlexer.l
+sha256 60cf20b6532aa2f5622f753a55672630b789c04174acca361033e6f1ad29f8ab giscanner/scannerlexer.l
diff --git a/package/gobject-introspection/gobject-introspection.mk b/package/gobject-introspection/gobject-introspection.mk
index eb46fb61c1..dbf0ee3fa8 100644
--- a/package/gobject-introspection/gobject-introspection.mk
+++ b/package/gobject-introspection/gobject-introspection.mk
@@ -4,7 +4,7 @@
#
################################################################################
-GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.82
+GOBJECT_INTROSPECTION_VERSION_MAJOR = 1.84
GOBJECT_INTROSPECTION_VERSION = $(GOBJECT_INTROSPECTION_VERSION_MAJOR).0
GOBJECT_INTROSPECTION_SITE = https://download.gnome.org/sources/gobject-introspection/$(GOBJECT_INTROSPECTION_VERSION_MAJOR)
GOBJECT_INTROSPECTION_SOURCE = gobject-introspection-$(GOBJECT_INTROSPECTION_VERSION).tar.xz
@@ -40,7 +40,9 @@ GOBJECT_INTROSPECTION_NINJA_ENV += \
# .gir and .typelib files. g-ir-scanner does not use LDFLAGS, and by default,
# links to the system-installed libglib2 path. To remedy this issue, defining
# LD_LIBRARY_PATH forces g-ir-scanner to use our host installed libglib2 files.
-HOST_GOBJECT_INTROSPECTION_NINJA_ENV += \
+# As of gobject-introspection version 1.84.0, Meson records the
+# LD_LIBRARY_PATH set during config and passes it to g-ir-scanner.
+HOST_GOBJECT_INTROSPECTION_CONF_ENV = \
LD_LIBRARY_PATH="$(if $(LD_LIBRARY_PATH),$(LD_LIBRARY_PATH):)$(HOST_DIR)/lib"
# Use the host gi-scanner to prevent the scanner from generating incorrect
@@ -51,13 +53,16 @@ GOBJECT_INTROSPECTION_CONF_OPTS = \
-Dgi_cross_ldd_wrapper="$(STAGING_DIR)/usr/bin/g-ir-scanner-lddwrapper" \
-Dbuild_introspection_data=true \
-Ddoctool=disabled \
- -Dcairo=disabled
+ -Dcairo=disabled \
+ -Dtests=false
+
+HOST_GOBJECT_INTROSPECTION_CONF_OPTS = -Dtests=false
# GI_SCANNER_DISABLE_CACHE=1 prevents g-ir-scanner from writing cache data to ${HOME}
GOBJECT_INTROSPECTION_CONF_ENV = \
GI_SCANNER_DISABLE_CACHE=1
-HOST_GOBJECT_INTROSPECTION_CONF_ENV = \
+HOST_GOBJECT_INTROSPECTION_CONF_ENV += \
GI_SCANNER_DISABLE_CACHE=1
# Make sure g-ir-tool-template uses the host python.
--
2.49.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [Buildroot] [PATCH v4 4/4] package/libglib2: bump version to 2.84.1
2025-04-14 16:15 [Buildroot] [PATCH v4 1/4] package/python-gobject: bump version to 3.52.3 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 3/4] package/gobject-introspection: bump version to 1.84.0 Fiona Klute via buildroot
@ 2025-04-14 16:15 ` Fiona Klute via buildroot
2 siblings, 0 replies; 6+ messages in thread
From: Fiona Klute via buildroot @ 2025-04-14 16:15 UTC (permalink / raw)
To: buildroot; +Cc: James Hilliard, Fabrice Fontaine, Fiona Klute (WIWA)
From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
Bug fix release, upstream changelog:
https://gitlab.gnome.org/GNOME/glib/-/blob/2.84.1/NEWS?ref_type=tags
Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
---
Patch added in v3 (new upstream release).
package/libglib2/libglib2.hash | 4 ++--
package/libglib2/libglib2.mk | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/package/libglib2/libglib2.hash b/package/libglib2/libglib2.hash
index 9bc244ff22..5985c82d8a 100644
--- a/package/libglib2/libglib2.hash
+++ b/package/libglib2/libglib2.hash
@@ -1,4 +1,4 @@
-# https://download.gnome.org/sources/glib/2.84/glib-2.84.0.sha256sum
-sha256 f8823600cb85425e2815cfad82ea20fdaa538482ab74e7293d58b3f64a5aff6a glib-2.84.0.tar.xz
+# https://download.gnome.org/sources/glib/2.84/glib-2.84.1.sha256sum
+sha256 2b4bc2ec49611a5fc35f86aca855f2ed0196e69e53092bab6bb73396bf30789a glib-2.84.1.tar.xz
# License files, locally calculated
sha256 fa6f36630bb1e0c571d34b2bbdf188d08495c9dbf58f28cac112f303fc1f58fb COPYING
diff --git a/package/libglib2/libglib2.mk b/package/libglib2/libglib2.mk
index a1a3954914..baa75fd10b 100644
--- a/package/libglib2/libglib2.mk
+++ b/package/libglib2/libglib2.mk
@@ -5,7 +5,7 @@
################################################################################
LIBGLIB2_VERSION_MAJOR = 2.84
-LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).0
+LIBGLIB2_VERSION = $(LIBGLIB2_VERSION_MAJOR).1
LIBGLIB2_SOURCE = glib-$(LIBGLIB2_VERSION).tar.xz
LIBGLIB2_SITE = https://download.gnome.org/sources/glib/$(LIBGLIB2_VERSION_MAJOR)
LIBGLIB2_LICENSE = LGPL-2.1+
--
2.49.0
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13
2025-04-14 16:15 ` [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13 Fiona Klute via buildroot
@ 2025-05-17 15:27 ` Thomas Petazzoni via buildroot
2025-05-19 12:20 ` Fiona Klute via buildroot
0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni via buildroot @ 2025-05-17 15:27 UTC (permalink / raw)
To: Fiona Klute via buildroot; +Cc: Fiona Klute, James Hilliard, Fabrice Fontaine
Hello Fiona,
Thanks for working on this (which we know is a complex topic). However,
while the series looks good and I was about to apply it, there's one
fairly significant concern below.
On Mon, 14 Apr 2025 18:15:43 +0200
Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
> From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
>
> Since Python 3.13 BaseSelectorEventLoop.add_reader() and
> BaseSelectorEventLoop.add_writer() use the mapping returned by
> selector.get_map() to detect if a file object is already
> registered. This fails with the implementation in gi.events._Selector
> if some calls use a file object, and others the raw file descriptor.
>
> Full upstream bug report:
> https://gitlab.gnome.org/GNOME/pygobject/-/issues/689
>
> This bug breaks package/python-aiomqtt, because its client object uses
> file objects in some places for the connection socket, and the file
> descriptor in others. The result is that the connection attempt times
> out because source registration fails, and the Future that marks
> successful connection never resolves.
>
> Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
> ---
> The bug fixed by this patch is present in 3.50.0 and 3.52.3 alike, the
> reason for applying the update first is simply that the patch doesn't
> apply with 3.50.0, and backporting would be unnecessary effort when
> the update is due anyway.
And actually that doesn't work, and we want exactly the opposite: the
fix before the bump. Indeed, the fix is needed for our 2025.02.x LTS
branch, which has python-gobject 3.50.0. So we definitely want the fix
on 3.50.0 (so that we can backport it to 2025.02.x) and *then* the bump
(which would be only on the master branch).
Do you think you could rework your series with this change?
Thanks a lot for all your work!
Thomas
--
Thomas Petazzoni, co-owner and CEO, Bootlin
Embedded Linux and Kernel engineering and training
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13
2025-05-17 15:27 ` Thomas Petazzoni via buildroot
@ 2025-05-19 12:20 ` Fiona Klute via buildroot
0 siblings, 0 replies; 6+ messages in thread
From: Fiona Klute via buildroot @ 2025-05-19 12:20 UTC (permalink / raw)
To: Thomas Petazzoni, Fiona Klute via buildroot
Cc: James Hilliard, Fabrice Fontaine
Hi Thomas!
Am 17.05.25 um 17:27 schrieb Thomas Petazzoni:
> Hello Fiona,
>
> Thanks for working on this (which we know is a complex topic). However,
> while the series looks good and I was about to apply it, there's one
> fairly significant concern below.
>
> On Mon, 14 Apr 2025 18:15:43 +0200
> Fiona Klute via buildroot <buildroot@buildroot.org> wrote:
>
>> From: "Fiona Klute (WIWA)" <fiona.klute@gmx.de>
>>
>> Since Python 3.13 BaseSelectorEventLoop.add_reader() and
>> BaseSelectorEventLoop.add_writer() use the mapping returned by
>> selector.get_map() to detect if a file object is already
>> registered. This fails with the implementation in gi.events._Selector
>> if some calls use a file object, and others the raw file descriptor.
>>
>> Full upstream bug report:
>> https://gitlab.gnome.org/GNOME/pygobject/-/issues/689
>>
>> This bug breaks package/python-aiomqtt, because its client object uses
>> file objects in some places for the connection socket, and the file
>> descriptor in others. The result is that the connection attempt times
>> out because source registration fails, and the Future that marks
>> successful connection never resolves.
>>
>> Signed-off-by: Fiona Klute (WIWA) <fiona.klute@gmx.de>
>> ---
>> The bug fixed by this patch is present in 3.50.0 and 3.52.3 alike, the
>> reason for applying the update first is simply that the patch doesn't
>> apply with 3.50.0, and backporting would be unnecessary effort when
>> the update is due anyway.
>
> And actually that doesn't work, and we want exactly the opposite: the
> fix before the bump. Indeed, the fix is needed for our 2025.02.x LTS
> branch, which has python-gobject 3.50.0. So we definitely want the fix
> on 3.50.0 (so that we can backport it to 2025.02.x) and *then* the bump
> (which would be only on the master branch).
>
> Do you think you could rework your series with this change?
I've just sent a new version:
https://patchwork.ozlabs.org/project/buildroot/list/?series=457457
The kind pygobject people backported the patch to their 3.50 branch, so
at this point was just a matter of applying that first. :-)
Best regards,
Fiona
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-05-19 12:20 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-14 16:15 [Buildroot] [PATCH v4 1/4] package/python-gobject: bump version to 3.52.3 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 2/4] package/python-gobject: fix event source registration with Python 3.13 Fiona Klute via buildroot
2025-05-17 15:27 ` Thomas Petazzoni via buildroot
2025-05-19 12:20 ` Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 3/4] package/gobject-introspection: bump version to 1.84.0 Fiona Klute via buildroot
2025-04-14 16:15 ` [Buildroot] [PATCH v4 4/4] package/libglib2: bump version to 2.84.1 Fiona Klute via buildroot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox