Context on this issue can be found here:
https://ask.fedoraproject.org/t/fedora-34-extensions-installed-from-dnf-disabled-after-upgrade-to-fedora-35/18017/24
There are (at least) 27 Gnome Shell extension packages in the Fedora repository. Of the 27, I was able to quickly identify that there were 13 packages which have issues with Gnome 41. There may be more, but I checked with the upstream of all 27 to see if they declare support for gnome 41 as part of extension metadata.json file.
metadata.json
Specific issues I found include:
For example, the version of gnome-shell-extension-pidgin in the fedora repos is 3 years old, or 6 releases behind upstream. This makes me think that we have a gap in package maintainers and/or a process gap.
gnome-shell-extension-pidgin
At very least, I believe we should remove the extensions which have been superseded by features which have been added to Gnome-Shell itself.
Next, We need to pull in the most recent versions of all Gnome Extensions before a release otherwise they simply will not work with latest Gnome due to the metadata check. I don't know how to enforce or encourage this update or improve the workflow. Maybe some sort of release checklist item?
Beyond that I don't want to be prescriptive in a solution, but the ask fedora thread posted above had some good ideas to improve the upgrade experience.
From Mathew Miller:
I guess would possibility would be: make RPM extract compatibility from metadata.json in each extension, for example "shell-version": [ "3.32", "3.34", "3.36", "3.38", "40" ], for gnome-shell-extension-sound-output-device-chooser, and generate automatic dependencies on the gnome-shell version. Then, on upgrade, if these packages are installed but > not updated, you’d get transaction errors and could decide to remove them with --allow-erasing — or decide to delay upgrading. This would allow a user to put off the upgrade if an essential extension wasn't ready with the latest Gnome build, or decide to upgrade knowing that the extension won't work. This way a user isn't blindsided by missing extensions after an upgrade.
I guess would possibility would be: make RPM extract compatibility from metadata.json in each extension, for example
"shell-version": [ "3.32", "3.34", "3.36", "3.38", "40" ],
for gnome-shell-extension-sound-output-device-chooser, and generate automatic dependencies on the gnome-shell version. Then, on upgrade, if these packages are installed but > not updated, you’d get transaction errors and could decide to remove them with --allow-erasing — or decide to delay upgrading.
This would allow a user to put off the upgrade if an essential extension wasn't ready with the latest Gnome build, or decide to upgrade knowing that the extension won't work. This way a user isn't blindsided by missing extensions after an upgrade.
There may be a better approach, but in general this is an area that needs some attention and polish.
The following is not exhaustive. It's mostly based on a quick dnf repoquery:
dnf -q repoquery -s $(dnf -q --latest-limit=1 repoquery gnome-shell-extension\*)
Known problem packages with notes:
gnome-shell-extension-argos-3-7.20211027git2eb03a7.fc35.src.rpm -- PR open but stuck in review gnome-shell-extension-disconnect-wifi-17-9.fc35.src.rpm -- has open issue gnome-shell-extension-emoji-selector-20-3.fc35.src.rpm -- has open issue(s) gnome-shell-extension-freon-44-2.fc35.src.rpm -- has open issue gnome-shell-extension-ibus-font-0.20210510-2.fc35.src.rpm -- Does not work? not a normal git repo: https://pwu.fedorapeople.org/ibus/ibus-font-setting/ gnome-shell-extension-openweather-1-0.49.20210509gitd714eb1.fc35.src.rpm -- has open issue gnome-shell-extension-pidgin-1.0.3-9.fc35.src.rpm -- I opened an issue, did some testing, and opened a PR (version in repos is 3 years and 6 releases behind upstream) gnome-shell-extension-refresh-wifi-6.0-9.fc35.src.rpm -- Open issue gnome-shell-extension-sound-output-device-chooser-39^1.8c90ed0-1.fc35.src.rpm -- actually broken with 41 issue is open gnome-shell-extension-suspend-button-19-9.20171024gita812520.fc35.src.rpm -- gnome now has this -- probably no longer useful gnome-shell-extension-remove-bluetooth-icon-0.5.1-15.fc35.src.rpm -- delcared as no longer maintained (no longer useful) gnome-shell-extension-remove-volume-icon-0.5.1-15.fc35.src.rpm -- declared as no longer maintained (no longer useful) gnome-shell-extension-gamemode-1-6.fc35.src.rpm -- Open issue, broken
Packages which have an upstream that has declared support for Gnome 41. Since the Fedora repos may not be on latest, this does not mean they're working or actually up to date. It simply means that if we were using upstream, they have indicated some degree of compatibility.
gnome-shell-extension-appindicator-41-1.fc35.src.rpm gnome-shell-extension-netspeed-3.30-0.15.20210621git1598dc3.fc35.src.rpm gnome-shell-extension-background-logo-41.0-1.fc35.src.rpm gnome-shell-extension-bubblemail-14-2.fc35.src.rpm gnome-shell-extension-caffeine-39-1.fc35.src.rpm gnome-shell-extension-dash-to-dock-71-1.fc35.src.rpm gnome-shell-extension-material-shell-12-3.fc35.src.rpm gnome-shell-extension-mediacontrols-17-1.fc35.src.rpm gnome-shell-extension-gsconnect-48-1.fc35.src.rpm gnome-shell-extension-no-overview-8-4.fc35.src.rpm gnome-shell-extension-pop-shell-1.2.0^4.1fddaa8-1.fc35.src.rpm gnome-shell-extension-system-monitor-applet-38-15.20211103git11d43a8.fc35.src.rpm gnome-shell-extension-unite-8-10.fc35.src.rpm gnome-shell-extension-vertical-overview-8-1.fc35.src.rpm
Context on this issue can be found here: https://ask.fedoraproject.org/t/fedora-34-extensions-installed-from-dnf-disabled-after-upgrade-to-fedora-35/18017/24
There was a short discussion about this on the packaging mailing list, as well.
[1]: https://lists.fedoraproject.org/archives/list/packaging@lists.fedoraproject.org/thread/JBJSIMDTVLZJIA57UD42M6KN3PNTEEMF/
Thanks for this awesome ticket, @jkomoroski . It's really useful and some of your suggestions make obvious sense.
We'll discuss this at the next workstation working group meeting. Feel free to join us if you're able to make it. Either way, it would be great to have your help resolving these issues.
Metadata Update from @aday: - Issue tagged with: meeting
@jkomoroski can you provide links to each of the issues for the packages you've listed?
What we could really do with is a comprehensive list of packages - those which are obviously obsolete, those with metadata issues, those that are broken.
@aday I missed the meeting this morning by about 20 minutes I think. I had the timezone wrong :cry:
The issues I referred to in my previous comments were open issues with the upstream (usually github) with reference to a request for Gnome 41 support.
I provided a list of known broken packages (hard to say if it's exhaustive) and a note about why each one is broken already. The notes are with reference to the state of the upstream. I'll repeat it here:
I'll repeat the remaining packages I looked into here. The following packages have declared support upstream, but I haven't checked them in the fedora repos to see if fedora is current with upstream (the fact that I have to mention this indicates a possible maintenance process issue with these packages).
gnome-shell-extension-netspeed-3.30-0.15.20210621git1598dc3.fc35.src.rpm gnome-shell-extension-background-logo-41.0-1.fc35.src.rpm gnome-shell-extension-bubblemail-14-2.fc35.src.rpm gnome-shell-extension-caffeine-39-1.fc35.src.rpm gnome-shell-extension-dash-to-dock-71-1.fc35.src.rpm gnome-shell-extension-material-shell-12-3.fc35.src.rpm gnome-shell-extension-mediacontrols-17-1.fc35.src.rpm gnome-shell-extension-gsconnect-48-1.fc35.src.rpm gnome-shell-extension-no-overview-8-4.fc35.src.rpm gnome-shell-extension-pop-shell-1.2.0^4.1fddaa8-1.fc35.src.rpm gnome-shell-extension-system-monitor-applet-38-15.20211103git11d43a8.fc35.src.rpm gnome-shell-extension-unite-8-10.fc35.src.rpm gnome-shell-extension-vertical-overview-8-1.fc35.src.rpm
@jkomoroski Sorry to hear about your timezone mix up! It would have been great to have had you at the meeting.
Do you have links to the issues you mention for each extension?
@aday I do not have the links nor do I have a current state of things. Just this summary from when I started my ask fedora thread. My goal wasn't to fix it, I was simply trying to provide an accurate summary of the current the state of things to see if policy/procedure changes could be implemented.I thought that if some procedure change was adopted, simply notifying the fedora package maintainers would get the ball rolling for the next fedora version.
@jkomoroski OK. It's a bit unclear from you summary what "has open issue" means or what the state of those extensions is. I was hoping to get more information.
@tpopela you mentioned that you'd we willing to ping the maintainers of obsolete extension packages. I've tried the three extensions that @jkomoroski has identified as being obsolete, and agree with that verdict. They are:
Getting these three removed might be a good start.
I have some time today. I'll gather the links.
An open issue in this case meant that the project does not declare support for Gnome 41, but this has already been reported to the upstream. Nothing more.
If we do clean up extensions and get them into a better state, what is going to changes will be made to keep things from slipping back into this state?
If we have a dependency generator, then unmaintained extensions would become uninstallable pretty quickly.
I don't think the WG should take responsibility for packages that it doesn't maintain. Ultimately, extension packages are maintained by individuals, and those individuals are responsible for keeping them updated.
Here are my findings as of today:
gnome-shell-extension-argos
gnome-shell-extension-disconnect-wifi
gnome-shell-extension-emoji-selector
gnome-shell-extension-freon
gnome-shell-extension-ibus-font
gnome-shell-extension-openweather
gnome-shell-extension-refresh-wifi
gnome-shell-extension-sound-output-device-chooser
gnome-shell-extension-gamemode
I've omitted the three packages you already commented on.
On the flip side, it is a poor user experience if people are installing packages that don't work, and these packages are only really relevant on workstation. Not saying we need to make this our responsibility, but helping to join the dots of any cleanup effort seems useful...
The distro is in a bit of a pickle, isn't it.
Extensions will not work by default in any release that includes a major gnome version change. If we want to package these extensions, every extension in the fedora repos must be updated during the beta period to retain functionality (even if it's just incrementing a number in a metadata file). .
There is an upgrade treadmill here. There is no good way around that, unless the distro decides to run with scissors and turn of the gnome version check (bad).
We're left with mitigating the issue. We can try to get package maintainers more involved during the release window, but ultimately what will we do when an extension actually is broken and not updated in time for the fedora release?
If we had an RPM dependency generator, then GNOME Software would inform the user that incompatible packages will be uninstalled before starting the distro upgrade.
@tpopela you mentioned that you'd we willing to ping the maintainers of obsolete extension packages.
Emails were sent.
Thanks @tpopela ! Any response yet?
I've opened #257 to track the dependency generator issue specifically.
No response from @fab or @besser82 yet.
Metadata Update from @aday: - Issue untagged with: meeting
Metadata Update from @aday: - Issue tagged with: qa
Metadata Update from @tpopela: - Issue assigned to tpopela
I will try to get in touch with @fab and @besser82 again.
Sent the emails again and I've also created bugs as suggested by Jens:
gnome-shell-extension-suspend-button - https://bugzilla.redhat.com/show_bug.cgi?id=2093864 gnome-shell-extension-remove-bluetooth-icon - https://bugzilla.redhat.com/show_bug.cgi?id=2093863 gnome-shell-extension-remove-volume-icon - https://bugzilla.redhat.com/show_bug.cgi?id=2093862
gnome-shell-extension-remove-bluetooth-icon - https://bugzilla.redhat.com/show_bug.cgi?id=2093863 gnome-shell-extension-remove-volume-icon - https://bugzilla.redhat.com/show_bug.cgi?id=2093862
These are now retired in rawhide.
FWIW, gnome-shell-extension-refresh-wifi.noarch is probably also ready for orphaning.
It's broken since at least Fedora 35 and upstream doesn't see a use case for it, anymore:
https://bugzilla.redhat.com/show_bug.cgi?id=2021047#c1
@besser82 could you respond to the concern regarding gnome-shell-extension-refresh-wifi please? Sure looks like that package should be retired.
@jkomoroski @tpopela can you provide another status update here, please? Is it OK to close this issue now?
@catanzaro we're waiting on the response from @besser82 on https://bugzilla.redhat.com/show_bug.cgi?id=2093864 and https://bugzilla.redhat.com/show_bug.cgi?id=2021047#c1 - I thought about initiating the unresponsive maintainer process, but when I look at https://src.fedoraproject.org/user/besser82 he's active.
I heard back from besser82 and he will look into this over the weekend.
OK, great, thanks!
I'm going to go ahead and close this issue, since it seems the general problems here are resolved, and the remaining problems are limited to two specific broken packages that are not part of Workstation.
Metadata Update from @catanzaro: - Issue close_status updated to: Fixed - Issue status updated to: Closed (was: Open)
Log in to comment on this ticket.