Bug 1313100

Summary: [RFE] eliminate groups in Fedora
Product: [Fedora] Fedora Reporter: Neal Gompa <ngompa13>
Component: dnfAssignee: rpm-software-management
Status: CLOSED CANTFIX QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: low    
Version: rawhideCC: jmracek, mluscon, packaging-team-maint, pnemade, vmukhame
Target Milestone: ---Keywords: FutureFeature, Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-07-24 19:18:06 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:

Description Neal Gompa 2016-03-01 00:02:03 UTC
Description of problem:
In Mageia, we do not use the comps data for groups, instead we use metapackages with the naming convention "task-<something>" and some other properties. Consequently, the subcommands related to groups are useless.

Since we don't comps data and we don't currently plan to make comps data available, it would be great if the commands related to comps could be disabled and hidden at run-time if no comps.xml data was detected for download.


Additional info:
It has been discussed on IRC that it might be worth working out a strategy for comps to migrate to using metapackages. If that's something worth pursuing, it might be worth working out a common spec between both distributions for using metapackages as a substitute for comps.xml data.

Comment 1 Honza Silhan 2016-03-07 12:39:19 UTC
I don't like hiding the command, as you have suggested, based on availability of `comps.xml`. At first there is no `comps.xml` file and it's has to be downloaded.

Option one is to separate group command into a subpackage providing `dnf-command(group)`.

Or add a cmake switch to not include group.py file

I would prefer to use this report to eliminate comps in Fedora and use metapackages instead.

Comment 2 Neal Gompa 2016-03-09 04:07:16 UTC
@Jan:

My understanding is that repomd.xml includes a reference to comps.xml. DNF does download this file and process it, so it could very well hide groups if repomd.xml of any repository lacks a reference to a comps.xml.

If you don't want to do that, though, could you add a CMake switch for removing the group support as a short-term solution?

Comment 3 Kevin Kofler 2016-06-29 01:29:51 UTC
Eliminating groups in Fedora is entirely impractical. Package selection GUIs need this information.

Comment 4 Neal Gompa 2016-07-05 02:34:50 UTC
(In reply to Kevin Kofler from comment #3)
> Eliminating groups in Fedora is entirely impractical. Package selection GUIs
> need this information.

Note I did not ask for groups to be eliminated in Fedora. 

However, it's not true that there aren't other ways to do this. If metapackages were used (like we use in Mageia, and SUSE uses), you could identify them by some qualifier (Metapackage group tag in SUSE, package name prefixed with task- in Mageia) and read the Requires, Recommends, and Suggests to generate a list. After all, the information *is* in the metadata. 

For Mageia, we're developing a GUI for DNF[0] that uses the RPM Group tag for that purpose. We have a well-defined set of groups[1] that we can use to organize packages visually. I know that Fedora doesn't currently use them anymore, but both SUSE and Mageia do, and DNF does afford us the ability to access that information programmatically.

[0]: https://github.com/anaselli/dnfdragora
[1]: https://wiki.mageia.org/en/RPM_groups_policy

Comment 5 Fedora Admin XMLRPC Client 2016-07-08 09:25:35 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 6 Jaroslav Mracek 2017-07-24 19:18:06 UTC
According to my knowledge there is no plan to remove comps support.

Anyway the first step would be to replace comps with something, then DNF have to support comps due to compatibility, then ... And if that time appears, and the support of comps will be not needed for any reason and any user, then it disappears. But for that we don't need to keep the bug report open. Anyway removal of functionality is not RFE.