Pretty much ever since I upgraded to Ubuntu 22.04 (yeah, long term support), the software updater has been crashing. At first I worried, then a search mentioned that it was a known problem and in line for fixing, so I just ran the updates by hand. Then I went down a rabbit hole because there are several other programs that update software (and snaps, and flatpaks for those so inclined) and apparently all of them have problems on 22.04.
I assumed that the problem was something arcane and well beyond my abilities, so I just messed along waiting for someone else to fix things.
Then last week, in a moment of boredom I checked the Details tab of the error window. It’s a python import error: can’t import Sequence from the collections package, on some random line of the python wrapper for talking to the Linux dbus. A couple more searches, and yeah, in Python 3.10, for reasons no doubt clear and sufficient to the developers, Sequence got moved from the collections module to the collections.abc submodule. The folks working on the python dbus wrapper are apparently aware of this and have fixed it in a new release.
Which won’t install on my machine using PIP because I haven’t downloaded all of the necessary development tools to compile and build the dbus code that the python wrapper wraps itself around.
The heck with it. I fired up jmacs (the vaguely emacs-keybinding version of Joe, which I prefer to nano) and opened /usr/local/lib/python3.10/distpackages/dbus/service.py. On line 35 I changed “from collections import Sequence” to “from collections.abc import Sequence.”
This is no doubt extremely ill-advised and will eventually brick my entire desktop. But for the moment I don’t care.