[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