Bug 1464139

Summary: Some applications listed by gnome-software cannot be installed on big-endian architectures
Product: Red Hat Enterprise Linux 7 Reporter: Martin Krajnak <mkrajnak>
Component: gnome-softwareAssignee: Richard Hughes <rhughes>
Status: CLOSED CURRENTRELEASE QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact: Petr Bokoc <pbokoc>
Priority: high    
Version: 7.4CC: jkoten, klember, mclasen, mkrajnak, rhughes, sanjay.ankur, tpelka
Target Milestone: rc   
Target Release: ---   
Hardware: ppc64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
*Application Installer* displays packages even though they can not be installed on big endian architectures When you use the *Application Installer* graphical package installer (the _gnome-software_ package) on a big-endian system such as IBM Power Systems or IBM z Systems, some of the packages listed as available will not be possible to install, and an attempt to do so results in an "installing not available" error message. This is a known issue caused by package metadata currently being generated only for 64-bit AMD and Intel-compatible (little-endian) systems, and assuming all packages are also available on big-endian architectures, which is not the case. There is no workaround to this problem; however, the error message has no consequences other than the package not being installable.
Story Points: ---
Clone Of: Environment:
Last Closed: 2019-04-09 12:30:02 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1477211, 1649362    
Attachments:
Description Flags
full log
none
erro message screenshot none

Description Martin Krajnak 2017-06-22 13:47:00 UTC
Created attachment 1290726 [details]
full log

Description of problem:
There are several applications which are listed by gnome-software but cannot be installed.
I randomly found the following list of affected applications: brasero, bluefish editor, dia diagram editor and codeblocks. The affected architectures are s390x and ppc64.

Version-Release number of selected component (if applicable):
gnome-software-3.22.7-1.el7.ppc64

How reproducible:
always on mentioned architectures.

Steps to Reproduce:
1.run gnome-software 
2.search for brasero
3.click install

Actual results:
Eror message window: installing not available

Expected results:
Should install the application or application should not be listed if it is not available.

Additional info:
output (full log including 3 install fails is uploaded above) from gnome-software --verbose from the moment in which error has occured:

...
13:19:47:0856 As  run 0xaea28680~GsPlugin::provenance-license(gs_plugin_refine)
13:19:49:0772 As  run 0x3ffe4002770~GsPlugin::packagekit(gs_plugin_app_install)
13:19:49:0772 Gs  failed to call gs_plugin_app_install on packagekit: installing not available
13:19:49:0772 Gs  saving error for system/package/rhel-7/desktop/brasero.desktop/*: installing not available
13:19:49:0772 As  run 0x3ffe4002770~GsPlugin::shell-extensions(gs_plugin_app_install)
13:19:49:0772 As  run 0x3ffe4002770~GsPlugin::flatpak(gs_plugin_app_install)
13:19:49:0772 Gs  adding system/package/rhel-7/desktop/brasero.desktop/* as nothing matched hash
13:19:49:0772 Gs  adding system/package/rhel-7/desktop/brasero.desktop/* as nothing matched hash
...

In addition I tried:
[test@ibm-z-40 ~]$ pkcon install brasero
Resolving                     [                         ] (0%)  Package not found: brasero
Command failed: This tool could not find any available package: No packages were found

Comment 1 Martin Krajnak 2017-06-22 13:51:25 UTC
Created attachment 1290729 [details]
erro message screenshot

Comment 3 Richard Hughes 2017-07-03 11:01:23 UTC
This isn't a trivial bug. GNOME Software uses the AppStream data as a way of mapping between package name and application ID. Rather than checking a thousand things at startup, it assumes that "if a desktop file exists" then the component is installed. It also assumes that "if there's an appstream entry, then the component is install-able". This works well on the all the architectures I've tested.

The fly in the ointment is that the metadata is generated against x86_64, as it was *assumed* by me that all architectures would have the same set of applications available to install. Making this assumption means the generator takes ~2 hours to run rather than ~1 day.

I guess there are multiple ways to fix this:

 * start generating per-arch metadata
 * do not include gnome-software on s390x
 * find out (and fix) why some apps are not built on s390x

I'm happy helping with either option 1 or 2.

Comment 5 Kalev Lember 2018-02-16 09:28:08 UTC
This should be mostly fixed upstream with https://gitlab.gnome.org/GNOME/gnome-software/commit/be2b5970a3e1de08d59681b9c15b88d7cc4ce53e that hides apps that are in appstream metadata, but not actually available in repos.

There's still the issue of appstream metadata not being 100% correct as it's generated on different architecture, but that's something to fix another time I think.

Comment 6 Martin Krajnak 2018-07-19 08:39:02 UTC
I've tried to check today, the brasero is not longer listed by gnome-software , overall there are notably smaller amount of applications listed in every category so I think the fix was successful but I am not able to verify this because of bug 1591270

Comment 7 Martin Krajnak 2019-04-09 12:30:02 UTC
(In reply to Martin Krajnak from comment #6)
> I've tried to check today, the brasero is not longer listed by
> gnome-software , overall there are notably smaller amount of applications
> listed in every category so I think the fix was successful but I am not able
> to verify this because of bug 1591270

I am closing this, the amount of apps on s390x is so small that I can verify manually that all them are having rpms.
gnome-software-3.28.2-3.el7.s390x