Bug 1978505

Summary: Gnome Software development package is missing important header files.
Product: Red Hat Enterprise Linux 8 Reporter: Julio Faracco <jcfaracco>
Component: gnome-softwareAssignee: Milan Crha <mcrha>
Status: CLOSED ERRATA QA Contact: Martin Krajnak <mkrajnak>
Severity: low Docs Contact:
Priority: unspecified    
Version: 8.4CC: bstinson, jfaracco, jwboyer, klember, mkrajnak, rhughes, tpelka, tpopela
Target Milestone: betaKeywords: Triaged
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: gnome-software-3.36.1-10.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2021-11-09 19:34:38 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:
Attachments:
Description Flags
Patch that fixes the issue with missing headers. none

Description Julio Faracco 2021-07-02 02:35:46 UTC
Created attachment 1797005 [details]
Patch that fixes the issue with missing headers.

Description of problem:

This problem is happening on both systems CentOS 8 and RHEL8 (I'm using 8.4 right now). I'm trying to generate the gnome-software-devel package to compile a gnome-software plugin. But when I try to compile, I see this error:

/usr/include/gnome-software/gnome-software.h:16:10: fatal error: gs-app-collation.h: No such file or directory
 #include <gs-app-collation.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.
In file included from ../../include/gsplugin-ibm-essentials-common.h:1,
                 from gsplugin-ibm-essentials-category.c:7:
/usr/include/gnome-software/gnome-software.h:16:10: fatal error: gs-app-collation.h: No such file or directory
 #include <gs-app-collation.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.


Version-Release number of selected component (if applicable):

RHEL 8.4 and gnome-software{-devel}-3.36.1-5


How reproducible:


Steps to Reproduce:
1. Install gnome-software-devel based on the same version I mentioned.
2. Try to compile the Example 1 from: https://developer.gnome.org/gnome-software/stable/plugins.html

Actual results:

In file included from gs-plugin-example.c:5:
/usr/include/gnome-software/gnome-software.h:16:10: fatal error: gs-app-collation.h: No such file or directory
 #include <gs-app-collation.h>
          ^~~~~~~~~~~~~~~~~~~~
compilation terminated.


Expected results:

No compilation issues related to this hello world plugin.


Additional info:

For end users, gnome-software-devel is not available. So, you need to build by your own. That's why I set as a low priority, but it is important for the ones who develop GS plugins. The fix is simple and I attached the patch.

It was already reported here for Ubuntu OSes: https://gitlab.gnome.org/GNOME/gnome-software/-/issues/1119

Comment 2 Milan Crha 2021-07-07 08:36:41 UTC
Thanks for a bug report. This had been addressed upstream with commit:
https://gitlab.gnome.org/GNOME/gnome-software/-/commit/5b0e476a17129be0d8b451467aded9c8ae861218
It installs even more files, though they are not mentioned in the gnome-software.h file.

I'd go with the upstream change, if you do not mind.

Comment 3 Milan Crha 2021-07-07 08:38:26 UTC
(In reply to Tomas Popela from comment #1)
> A sort of related question - should we ship gnome-software-devel in Code
> Ready Builder ... ?

I cannot decide here. It surely depends whether there's any need/request to allow customers to build the Software plugins easily in RHEL.

Comment 4 Julio Faracco 2021-07-07 12:57:33 UTC
(In reply to Milan Crha from comment #3)
> (In reply to Tomas Popela from comment #1)
> > A sort of related question - should we ship gnome-software-devel in Code
> > Ready Builder ... ?
> 
> I cannot decide here. It surely depends whether there's any need/request to
> allow customers to build the Software plugins easily in RHEL.

This is exactly what we are trying to do. The purpose is compile external plugins, but we need to hack the main GS header.

Comment 5 Milan Crha 2021-07-12 08:49:50 UTC
(In reply to Julio Faracco from comment #4)
> This is exactly what we are trying to do. The purpose is compile external
> plugins, but we need to hack the main GS header.

Okay, I've no problem in adding the -devel subpackage back to the available packages.

Just note that if your 3rd-party plugin will cause failures then you should investigate your plugin code first.

Comment 11 Martin Krajnak 2021-07-15 11:20:31 UTC
gnome-software-3.36.1-10.el8.x86_64
gnome-software-devel-3.36.1-10.el8.x86_64

I was able to compile Example 1. from https://developer.gnome.org/gnome-software/stable/plugins.html

Comment 16 errata-xmlrpc 2021-11-09 19:34:38 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (Moderate: GNOME security, bug fix, and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHSA-2021:4381