Port ubiquity to libsoup3 - ubiquity crashes if gir1.2-soup-3.0 is installed in live system
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
ubiquity (Baltix) |
Confirmed
|
Critical
|
Unassigned | ||
ubiquity (Ubuntu) |
Fix Released
|
High
|
Unassigned |
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/
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/
self.
File "/usr/lib/
raise AttributeError("%r object has no attribute %r" % (
AttributeError: 'gi.repository.
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:/
- https:/
- https:/
Related branches
- Steve Langasek: Approve
-
Diff: 126 lines (+46/-27)2 files modifieddebian/changelog (+6/-0)
ubiquity/plugins/ubi-timezone.py (+40/-27)
summary: |
- Port ubiquity to libsoup3 + Port ubiquity to libsoup3 - ubiquity crashes if gir1.2-soup-3.0 is + installed in live system |
Changed in ubiquity (Baltix): | |
importance: | Undecided → Critical |
Changed in ubiquity (Baltix): | |
status: | New → Confirmed |
description: | updated |
I'm working on this but during test time it fails with
(run:58714): libsoup-ERROR **: 08:18:44.901: libsoup2 symbols detected. Using libsoup2 and libsoup3 in the same process is not supported.
despite having changed gir1.2- soup-2. 4->gir1. 2-soup- 3.0 in debian/control and using gi.require_ version( 'Soup', '3.0'). Any idea what is the problem and how to circumvent it?
I attach what I have so far but it's completely untested.
By the way, does Ubiquity have a VCS?