[Bug 1987454] Re: Port ubiquity to libsoup3 - ubiquity crashes if gir1.2-soup-3.0 is installed in live system
Ubuntu Foundations Team Bug Bot
1987454 at bugs.launchpad.net
Thu Sep 21 12:16:42 UTC 2023
The attachment "ubiquity-soup.diff" seems to be a debdiff. The ubuntu-
sponsors team has been subscribed to the bug report so that they can
review and hopefully sponsor the debdiff. If the attachment isn't a
patch, please remove the "patch" flag from the attachment, remove the
"patch" tag, and if you are member of the ~ubuntu-sponsors, unsubscribe
the team.
[This is an automated message performed by a Launchpad user owned by
~brian-murray, for any issue please contact him.]
** Tags added: patch
--
You received this bug notification because you are a member of Ubuntu
Sponsors, which is subscribed to the bug report.
https://bugs.launchpad.net/bugs/1987454
Title:
Port ubiquity to libsoup3 - ubiquity crashes if gir1.2-soup-3.0 is
installed in live system
Status in ubiquity package in Ubuntu:
Triaged
Status in ubiquity package in Baltix:
Confirmed
Bug description:
libsoup3 is a new major API-incompatible release of libsoup. We want
to remove libsoup2.4 from main. Even if we drop ubiquity from main, we
want to remove libsoup2.4 from Ubuntu completely (Fedora for instance
hopes to do this by late 2023.)
Therefore, ubiquity needs to switch to the newer library.
Prerequisites
-------------
You'll need libtimezonemap 0.4.6-4 or newer - already in Ubuntu 23.10 (Mantic).
Update debian/control to require that version.
Update debian/control and ubiquity/frontend/gtk_ui.py to use the 4.1 API of webkit2gtk instead of 4.0. Fortunately, there are no other changes required: the 4.1 API is the same as 4.0 except we're using libsoup3.
And update debian/control to use gir1.2-soup-3.0 instead of 2.4
There's another file d-i/update-control which should have its package versions updated too.
Error
-----
libsoup is only directly used briefly in ubi-timezone.py.
Traceback (most recent call last):
File "/usr/lib/ubiquity/plugins/ubi-timezone.py", line 112, in changed
self.geoname_session = Soup.SessionAsync()
File "/usr/lib/python3/dist-packages/gi/module.py", line 123, in __getattr__
raise AttributeError("%r object has no attribute %r" % (
AttributeError: 'gi.repository.Soup' object has no attribute 'SessionAsync'
libsoup3 has dropped the SessionAsync methods. The documentation
suggests that we should use GLib.MainLoop instead. Some of the
examples I've seen also use dbus.mainloop.glib to help with using the
glib loop.
Documentation
-------------
- https://libsoup.org/libsoup-3.0/client-basic.html
- https://libsoup.org/libsoup-3.0/migrating-from-libsoup-2.html
- https://gitlab.gnome.org/GNOME/libsoup/-/issues/218
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ubiquity/+bug/1987454/+subscriptions
More information about the Ubuntu-sponsors
mailing list