[Bug 1987454] Re: Port ubiquity to libsoup3 - ubiquity crashes if gir1.2-soup-3.0 is installed in live system
COLIN Stéphane
1987454 at bugs.launchpad.net
Sun Dec 10 15:48:25 UTC 2023
This bug is completely blocking my ubuntu « OEM » image creation &
deployment...
I work every day in « OEM » mode on a computer and use it as new image
to install for new colleague hired.
I clone the current « OEM » mode on new computer then use the « Prepare
for shipping to end user » icon on desktop to reboot on the wizard for
new user...
But as of today, when executing the wizard, it hang at the timezone
selection and I can't finish the process, ending with a bricked
installation.
Do you have any workaround to be able to finish the wizard ?
--
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to ubiquity in Ubuntu.
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 ported to libsoup3 (this was done in Debian Experimental but reverted because it was "broken")
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 foundations-bugs
mailing list