Draft: Upgrade to GNOME Software 42 and related tooling
This MR is mainly aimed at sharing the progress in the GNOME Software development for Alpine/pmOS and give it some additional testing. Big thanks to @dylanvanassche and @Cogitri which probably did even more work than myself.
I do not have a preference on whether this is upgraded here once the releases are cut or it is left for GNOME 43, I will still upgrade in Alpine, though.
Known issues
- Upgrades can leave things without installing, if the system is still consistent in such circumstance: https://gitlab.alpinelinux.org/Cogitri/apk-polkit-rs/-/issues/12, https://gitlab.alpinelinux.org/Cogitri/apk-polkit-rs/-/issues/4
- As one can see in the video, things are not totally adaptive. There aren't patches from Purism for 42, but seems like there will be for 43, which also has a better mobile layout, so this is unsolvable and a waste of time. Time is better spent upgrading the plugin to 43: https://github.com/Cogitri/gnome-software-plugin-apk/issues/58
- Failed updates are not super well tested and can crash: https://github.com/Cogitri/gnome-software-plugin-apk/issues/57
- Icons are slow to load, this is because none of the icons are installed locally (contrary to what the AppStream spec says. We are lucky enough GS does not honor the spec and downloads them anyway) and have to be downloaded: #1384 (closed)
- Since regular APK gets confused with
gnome-shell
andgnome-shell-mobile
, and the people designing APK are quite smart,apk-polkit-rs
obviously also gets confused. - Progress reporting in installs, removals and upgrades does not work: https://github.com/Cogitri/gnome-software-plugin-apk/issues/56
- At times, specially at startup and during refreshing the repos, the UI can become unresponsive. This is consequence of us doing sync ops in the main thread: https://github.com/Cogitri/gnome-software-plugin-apk/issues/44
- Upgrades will most likely remove local packages. This is not a bug, but still needs to be decided on how to approach it. You have been warned.
I hope I haven't forgotten anything. This sounds like a lot, but I think it is the first time I can actually enumerate all the importnat issues that the whole stack has and potential fixes. Before, I don't think enumerating the bugs would have even be possible. So it's getting somewhere :)
How to test this
- Install
apk-polkit-rs
,gnome-software
,gnome-software-lib
, andgnome-software-plugin-apk
from this MR. Ideally, also install the dbg packages if you are interested in helping. - Stop the previous version of the APK server, if running:
$ sudo killall apk-polkit-server
- Stop the previous version of GNOME Software, if running:
$ killall gnome-software
- In a terminal with all the environment variables set, start the server:
$ sudo /usr/libexec/apk-polkit/apk-polkit-server
- In another terminal with all the environment variables set, start GNOME Software:
$ gnome-software --verbose
. If issues happen and you want to have a chance to help debugging, it helps if you can run the program under gdb:$ gdb --args gnome-software --verbose
If it is the first time starting the program after the upgrade and you have a non-perfomant phone like the PP, please be patient before starting playing around, it is slow to start. Still, the performance from previous versions is insanely improved. Like you can see in the video, big searches are possible with a bit of patience and it will not hang forever or take huge amounts of CPU to simply list 20 packages to upgrade. I hope it is useful in some more decent aarch64 hardware, it is actually starting to be pretty useful in my laptop's Alpine installation.