[Impact]
With Python 3.10 as default, Quod Libet 4.4.0 is completely broken for
Ubuntu 22.04 users. It fails to start with the following error:
E: 0.321: errorreport.main.errorhook: collection.py:27:: ImportError:
cannot import name 'Iterable' from 'collections'
(/usr/lib64/python3.10/collections/__init__.py)
Error in sys.excepthook:
Traceback (most recent call last):
File "/usr/lib/python3.10/site-packages/quodlibet/errorreport/main.py", line
175, in errorhook
sentry_error = sentry.capture(exc_info, fingerprint=fingerprint)
File
"/usr/lib/python3.10/site-packages/quodlibet/errorreport/sentrywrapper.py",
line 247, in capture
client = Client(
File "/usr/lib/python3.10/site-packages/quodlibet/packages/raven/base.py",
line 224, in __init__
from raven.context import Context
File "/usr/lib/python3.10/site-packages/quodlibet/_import.py", line 47, in
load_module
mod = importlib.import_module(loadname)
File "/usr/lib64/python3.10/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "/usr/lib/python3.10/site-packages/quodlibet/packages/raven/context.py",
line 10, in
from collections import Mapping, Iterable
ImportError: cannot import name 'Mapping' from 'collections'
(/usr/lib64/python3.10/collections/__init__.py)
The issue is fixed in Quod Libet 4.5.0, which made it into Debian but
not the Jammy release. It should therefore be automatically fixed once
the Debian package is autosynced into development version 22.10.
[Test Plan]
* Install quodlibet into Ubuntu Jammy: sudo apt-get install quodlibet
* Try to launch it: quodlibet
* Observe the above stack trace.
* Build and install quodlibet package version 4.5.0-1 from Debian.
* Observe that the application correctly starts and runs.
I myself have tested quodlibet 4.5.0-1 on my machine after doing a no-
change Jammy build with pbuilder.
[Where problems could occur]
Quod Libet is a GUI application and, as such, should not break any
software that could depend on it as a command line application or a
library.
The changelog between 4.4.0 and 4.5.0 consists of minor quality of life
features and bugfixes, so it is unlikely that anything will be broken. I
myself use Quod Libet as my primary music player, and so far 4.5.0-1
from Debian works correctly for me.
In the current Jammy archive, the following packages depend on
quodlibet:
|cairo-dock-musicplayer-plug-in
task-xfce-desktop
puddletag
playerctl
fvwm-crystal
All of them list quodlibet in the Recommends or Suggests section, not
Depends. fvwm-crystal specifically recommends several music player
alternatives, not necessarily quodlibet. As the MPRIS functionality did
not change in 4.5.0, it is unlikely that any applications using MPRIS to
control Quod Libet would be affected.
An alternative to updating to stable release 4.5.0 would be cherry-
picking the Python 3.10 incompatibility fix to version 4.4.0. If the SRU
for 4.5.0 is denied, I will prepare a patched 4.4.0 package instead.
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1964791
Title:
[SRU] Please sync quodlibet 4.5.0-1 from Debian unstable into jammy
(was: Quod Libet fails to start with python 3.10, the default for
Jammy)
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/quodlibet/+bug/1964791/+subscriptions
--
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs