Bug 2135289 - RPM packaged applications are presented in GNOME Software and preferred over Flatpaks on Silverblue
Summary: RPM packaged applications are presented in GNOME Software and preferred over ...
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: gnome-software
Version: 37
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Milan Crha
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard: AcceptedFreezeException
Depends On:
Blocks: F37FinalFreezeException
TreeView+ depends on / blocked
 
Reported: 2022-10-17 08:25 UTC by Tomas Popela
Modified: 2022-11-10 22:23 UTC (History)
7 users (show)

Fixed In Version: gnome-software-43.1-1.fc37
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2022-10-25 12:36:17 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
.spec file patch (12.42 KB, text/plain)
2022-10-18 06:12 UTC, Milan Crha
no flags Details

Description Tomas Popela 2022-10-17 08:25:54 UTC
In the current Silverblue 37 GNOME Software presents RPM packaged applications to the userm which is highly discouraged on Silverblue (as the application will be overlayed on top the base OS). Also if user decides to install any application that is packaged as RPM and also available as Flatpak the RPM one will be preferred over the Flatpak one which is again discouraged on Silverblue - please see https://github.com/fedora-silverblue/issue-tracker/issues/354 for more information.

To fix this we have to backport MRs from these upstream issues (that will be part of GNOME 43.1, but that one will be released by the end of this week - probably too late for F37 final):

https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1941 - preferring Flatpaks over rpm-ostree layered applications (technically not needed, but just to be sure)
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1940 - fix the plugin priority when deduplicating the applications
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1932 - filter out invalid applications (i.e. the RPM packaged applications on Silverblue)

Comment 1 Fedora Blocker Bugs Application 2022-10-17 08:26:52 UTC
Proposed as a Freeze Exception for 37-final by Fedora user tpopela using the blocker tracking app because:

 In the current Silverblue 37 GNOME Software presents RPM packaged applications to the userm which is highly discouraged on Silverblue (as the application will be overlayed on top the base OS). Also if user decides to install any application that is packaged as RPM and also available as Flatpak the RPM one will be preferred over the Flatpak one which is again discouraged on Silverblue.

Comment 2 Kamil Páral 2022-10-17 08:52:58 UTC
The freeze exception voting ticket is here:
https://pagure.io/fedora-qa/blocker-review/issue/975

Comment 3 Fedora Update System 2022-10-17 08:56:58 UTC
FEDORA-2022-314294d0d0 has been submitted as an update to Fedora 37. https://bodhi.fedoraproject.org/updates/FEDORA-2022-314294d0d0

Comment 4 Kamil Páral 2022-10-17 16:21:45 UTC
I believe this causes a regression in the regular Workstation. When I display an app details page for an app which exists as Fedora RPM and in Flathub at the same time (and doesn't exist as a Fedora Flatpak), gnome-software 43.0-4 now selects the Flathub version to be installed by default. That approach has been specifically rejected by FESCo this cycle, I believe [1]. In the previous version 43.0-3 I see the Fedora RPM version selected by default. So it seems there is a bug somewhere.

How to reproduce:
1. Install gnome-software-43.0-4.fc37.x86_64
2. Use only default Workstation repos (RPM and Fedora Flatpaks)
3. Enable Flathub [2] (I downloaded the repo file and double-clicked it, then installed with gnome-software).
4. Reboot (just to rule out any transient issues)
5. Search for Drawing, Cozy or Secrets and open their page. See that Flathub is selected as the default source.
6. Repeat the same with gnome-software-43.0-3.fc37.x86_64. See that Fedora RPM is selected as the default source.

Note: If an app has all three Flathub, Fedora RPM and Fedora Flatpak versions, either Fedora RPM or Fedora Flatpak gets selected by default, even with gnome-software-43.0-4. It seems to happen a bit randomly (e.g. when I open Evolution from the search page, I get Fedora RPM as default, while when I open Evolution from the main Explore tab, I get Fedora Flatpak as default), but at least it always prefers Fedora as the source.

[1] https://fedoraproject.org/wiki/Changes/UnfilteredFlathub
[2] https://flatpak.org/setup/Fedora

@mcrha Should I provide some debug logs or can you reproduce the problem? Thanks.

Comment 5 Geoffrey Marr 2022-10-17 19:32:54 UTC
Discussed during the 2022-10-17 blocker review meeting: [0]

The decision to classify this bug as a "RejectedFreezeException (Final)" was made as there is support for this in principle, but testing indicates the current update has a severe problem, and that indicates it's probably too late to be poking this code even if a quick fix is found for that specific problem. We may re-consider this if the problem kparal identified is addressed and the release slips.

[0] https://meetbot.fedoraproject.org/fedora-blocker-review/2022-10-17/f37-blocker-review.2022-10-17-16.01.txt

Comment 6 Milan Crha 2022-10-18 06:12:54 UTC
Created attachment 1918715 [details]
.spec file patch

> In the previous version 43.0-3 I see the Fedora RPM version selected by default. So it seems there is a bug somewhere.

It's not a bug, it's the way it works. The Flatpak is preferred in all variants, as it used to be before 42.0. To have this working you'd need to use also [1], with certain setup for the default value. 

The attached is my take on it. If it makes sense, I will commit it. Or Tom can commit it.

[1] https://gitlab.gnome.org/GNOME/gnome-software/-/merge_requests/1511

Comment 7 Kamil Páral 2022-10-18 09:11:20 UTC
> It's not a bug, it's the way it works. The Flatpak is preferred in all variants, as it used to be before 42.0.

As already mentioned, I believe that has been explicitly rejected by FESCo this cycle:
https://pagure.io/fesco/issue/2828
https://meetbot.fedoraproject.org/fedora-meeting/2022-07-12/fesco.2022-07-12-17.00.log.html
"""
18:19:47 <decathorpe> #agree REJECTED: Proposal is rejected as-is, but Change owners will - of course - be able to submit and updated Change proposal. (+0, 4, -4)
18:20:27 <sgallagh> #info Primary objection was due to the overriding of Fedora-packaged software by third-party flatpaks
"""

So I think this requires a local patch or an upstream feature which we can populate with Fedora-specific settings (as linked above). Or somebody can re-raise it with FESCo and ask again, because that ticket was related to also enabling unfiltered Flathub by default, and this is just one specific problem of the whole set.

How was this solved in Fedora 36 (GNOME 42)? I just tested it on F36 Workstation, Fedora RPMs seem always preferred. And Silverblue also worked as expected, I assume.

Comment 8 Milan Crha 2022-10-18 09:36:35 UTC
> How was this solved in Fedora 36 (GNOME 42)? I just tested it on F36 Workstation, Fedora RPMs seem always preferred.

It was not solved there, the bug is still present there, but it behaves in the way "nobody" objects in Fedora ;) The "nobody" is in double quotes, because the change of preferring RPM was noticed and considered a regression.

> And Silverblue also worked as expected, I assume.

I do not have it installed here, I've only f37 Silverblue now, but I donot think it worked properly there, there had been more things to be fixed (see comment #0).

Comment 9 Fedora Update System 2022-10-18 12:41:06 UTC
FEDORA-2022-314294d0d0 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-314294d0d0`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-314294d0d0

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 10 Owen Taylor 2022-10-18 13:34:17 UTC
> As already mentioned, I believe that has been explicitly rejected by FESCo this cycle:

What was rejected was the *combination* of enabling unfiltered Flathub by default and having Flatpaks preferred over RPMs.

Flatpaks have been preferred over RPMs in GNOME Software for a number of releases, and there was no plan to change that for the current release. If the user installs full Flathub by themselves, that's something they are responsible for and different than if it's there out of the box.

> Note: If an app has all three Flathub, Fedora RPM and Fedora Flatpak versions, either Fedora RPM or Fedora Flatpak gets selected by default, even with gnome-software-43.0-4. It seems to happ a bit randomly (e.g. when I open Evolution from the search page, I get Fedora RPM as default, while when I open Evolution from the main Explore tab, I get Fedora Flatpak as default), but at least it always prefers Fedora as the source

I don't really understand this. I'd expect a Flatpak to be preferred when going from the search, since deduplication should happen basically the same way as on the other pages.

Comment 11 Kamil Páral 2022-10-18 13:46:53 UTC
> Flatpaks have been preferred over RPMs in GNOME Software for a number of releases, and there was no plan to change that for the current release.

I quickly tested that earlier today and gnome-software in Fedora 36 always seemed to prefer RPM, even when Flathub version was also available.

Comment 12 Owen Taylor 2022-10-18 15:43:28 UTC
At the request of kparal and adamw, filed fesco ticket: https://pagure.io/fesco/issue/2880

Comment 13 Kamil Páral 2022-10-21 07:17:57 UTC
The FESCo ticket will probably get approved, and we've slipped a week, re-proposing as a freeze exception.

Comment 14 Kamil Páral 2022-10-21 14:18:34 UTC
(In reply to Kamil Páral from comment #4)
> when I open Evolution from the search page, I get Fedora RPM as default, while when
> I open Evolution from the main Explore tab, I get Fedora Flatpak as default

Reported separately here:
https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1946

Comment 15 Adam Williamson 2022-10-21 21:39:40 UTC
I wonder if the issue with Evolution is that there is only an F35 Fedora flatpak for it. There is no F36 Fedora flatpak for it.

Is the code set to consider the runtime in deciding the prioritization, and prefer apps with a runtime that matches the base system?

Comment 16 Adam Williamson 2022-10-21 22:26:26 UTC
Oh, wait, that's just F36 already being broken, hah. Anyhow: I tested and confirmed that F35 behaved exactly as described in comment #4.

Comment 17 Adam Williamson 2022-10-21 22:49:24 UTC
OK, confirmed that updated F37 does seem to behave the same as F35. Flathub is preferred over Fedora RPM, but no flathub is installed by default unless you click "Enable 3rd Party Repositories" during initial setup, and then only filtered flathub. You only get full Flathub by manually enabling it. With full flathub enabled, Fedora flatpaks are still preferred over flathub where both exist.

Comment 18 Adam Williamson 2022-10-22 15:43:25 UTC
+4 FE (again) in https://pagure.io/fedora-qa/blocker-review/issue/975 , marking accepted (again). Sorry for the trouble. This will be in RC3.

Comment 19 Fedora Update System 2022-10-24 11:14:31 UTC
FEDORA-2022-674f1c9f38 has been pushed to the Fedora 37 testing repository.
Soon you'll be able to install the update with the following command:
`sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2022-674f1c9f38`
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2022-674f1c9f38

See also https://fedoraproject.org/wiki/QA:Updates_Testing for more information on how to test updates.

Comment 20 Kamil Páral 2022-10-25 12:36:17 UTC
gnome-software-43.0-4.fc37 was pushed to F37 stable manually, I believe we can close this bug now.

Comment 21 Fedora Update System 2022-11-10 22:23:42 UTC
FEDORA-2022-674f1c9f38 has been pushed to the Fedora 37 stable repository.
If problem still persists, please make note of it in this bug report.


Note You need to log in before you can comment on or make changes to this bug.