Created attachment 1623177 [details]
Description of problem:
The "Installed" tab on latest Fedora 31 Beta contains a lot of entries including system packages such as GNOME Shell, Mutter, parts of GNOME Control Center etc. and allows uninstalling them! This is a huge issue because a user can easily broke his system by uninstalling Mutter or GNOME Shell in a few clicks.
Some entries are also duplicated (displayed two or more times). There is also a "Install to Hard Drive" app displayed although the system is already installed.
See the attached screenshots.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. Use latest, fully updated clean installation of Fedora 31 Beta.
2. Open GNOME Software and switch to the "Installed" tab.
3. Look at the installed applications.
Some core system applications are displayed and removable.
Core system applications are not displayed at all or displayed as not removable.
I have also tried reproducing this on Fedora 31 Silverblue Beta and Mutter and other system parts are not displayed there, however the duplicated entries are.
Created attachment 1623178 [details]
Installed applications 2
Created attachment 1623179 [details]
Installed applications 3
I don't remember seeing this issue ~two weeks ago, so it looks like that this regression was most likely caused by some recent update.
I think this is a regression from latest appstream-glib update that added automatic desktop file parsing (https://github.com/hughsie/appstream-glib/pull/325). Richard?
Any chance this regression can be fixed before F31 is released? Would it need a freeze exception?
Yes, this needs to be fixed before F31. Can someone request an exception please. I'll work on this bug this afternoon.
Proposed as a Freeze Exception for 31-final by Fedora user asciiwolf using the blocker tracking app because:
The "Installed" tab in GNOME Software on latest Fedora 31 Beta contains system packages such as GNOME Shell, Mutter, parts of GNOME Control Center etc. because of a regression in appsteam-glib and allows uninstalling them. This is a huge issue because a user can easily broke their system by uninstalling Mutter, GNOME Shell or other system package in a few clicks.
+1 FE for sure.
There's a fix for this upstream: https://gitlab.gnome.org/GNOME/gnome-software/merge_requests/335 -- I really think this should be fixed for F31.
FEDORA-2019-01e9c34ed3 has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-01e9c34ed3
gnome-software-3.34.1-2.fc31 has been pushed to the Fedora 31 testing repository. If problems still persist, please make note of it in this bug report.
See https://fedoraproject.org/wiki/QA:Updates_Testing for
instructions on how to install test updates.
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2019-01e9c34ed3
As discussed on IRC, it seems that the fix unfortunately created another regression. There are now almost no installed rpm apps displayed on the Installed tab of GNOME Software and when I right click some installed app in Shell Overview and click "Show Details", I get either "Sorry! There are no details for that application." or a details page for a Flatpak version (Flatpaks seem to work fine) instead of the rpm one. It also seems that if the application is already installed, it cannot be found in GS anymore - I tried installing calibre, it installed fine and was displayed on the "Installed" tab, then I tried killing and restarting gnome-software; after this, calibre isn't on the Installed tab anymore and searching for "calibre" in GS finds nothing (or only the Flatpak result if I have Flathub repo added). I tried this on fully updated clean installation of Fedora 31 Beta and fully updated Fedora Silverblue Rawhide and there was the same issue with rpm apps on both of them.
I am including logs of "gnome-software --verbose --mode=installed" and screenshots from both classic Fedora 31 Beta and Fedora Silverblue Rawhide.
Created attachment 1624409 [details]
Installed tab with the new gnome-software build on Fedora 31 Beta
Created attachment 1624410 [details]
Installed tab with the new gnome-software build on Fedora Silverblue Rawhide
Created attachment 1624411 [details]
GS verbose log from Fedora 31 Beta
Created attachment 1624412 [details]
GS verbose log from Fedora Silverblue Rawhide
Let's discuss this as a blocker, because both comment 0 and comment 12 might be argued to violate expected basic functionality of gnome-software (plus the specific criterion for package managers).
well, #c12 is a consequence of an attempted fix for this bug, it is not the actual bug reported here. Unless we push the bad fix stable we're not going to have to worry about #c12.
I feel like calling this 'basic functionality' is a bit of a stretch too far...I mean, gnome-packagekit used to let you uninstall anything you wanted, and we shipped that for years. dnf lets you uninstall anything you want (except protected packages), and that's the criteria equivalent of Software for non-graphical installs. I think the 'release blocking' package managers for KDE and Xfce also let you uninstall any package. So, to me it would seem odd to block the release on Software behaving the same way.
As far as I know, GNOME Software is not targeted just at power users, but also at regular users that do not necessary have deeper knowledge of Linux desktop internals. Also, GNOME Software makes it easy to uninstall packages compared to gnome-packagekit where a user had to find the exact package they wanted to uninstall etc. Comparing this issue to KDE (by the way, as far as I know, Discover won't let you uninstall system packages) or Xfce package management GUIs doesn't seem fair to me since the official Fedora Workstation uses GNOME.
GNOME, KDE and Xfce are the release blocking desktops for Fedora; so far as release criteria / blocker process stuff goes they're effectively equally important.
That's at least enough votes to accept this as an FE.
FEDORA-2019-9424d60d3d has been submitted as an update to Fedora 31. https://bodhi.fedoraproject.org/updates/FEDORA-2019-9424d60d3d
gnome-software-3.34.1-4.fc31 has been pushed to the Fedora 31 stable repository. If problems still persist, please make note of it in this bug report.
Daniel, since the update was pushed stable, can you please file a new bug regarding the issues from comment 12 and link it here? Please re-verify whether you can reproduce it, and whenever you want to kill gnome-software to test something, please rather do a full reboot instead. Thanks.
I already tested if the new build fixes regression from the #c12, including a full reboot and was discussing this with Richard via IRC. I just tried it again and can confirm that I cannot reproduce the issue anymore.
For the record, I've also installed the latest gnome-software update (gnome-software-3.34.1-4.fc31.x86_64) and the installed applications tab looks fine, there are no system applications there and the expected apps (installed as RPM) are there and clicking on them works properly as far as I can see. So I can't reproduce comment 12, either.
Awesome, thanks Daniel and Jonathan.