Bug 1373317

Summary: RFE: Add "type=rpm-md" and "repo_gpgcheck=0" to Fedora repo files
Product: [Fedora] Fedora Reporter: Neal Gompa <ngompa13>
Component: fedora-reposAssignee: Dennis Gilmore <dennis>
Status: CLOSED NEXTRELEASE QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 25CC: dennis, kevin, klember, mboddu, mkolman, pbrobinson, stefan
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2017-03-10 13:41:04 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: 1427185    

Description Neal Gompa 2016-09-06 01:32:11 UTC
Description of problem:
I'm working on packaging Zypper for Fedora. For now, it sits in a COPR repository[1] and requires manual effort to configure properly. However, I'd like to set up Zypper to use the repo files in /etc/yum.repos.d when I'm ready to submit it for review.

For that to work, two values are missing from each repository specified in the .repo files in /etc/yum.repos.d: the repo type and whether to verify the signature of the repository metadata.

The repository type is set by adding "type=rpm-md" under each section in the .repo files. This is necessary because Zypper supports three types: rpm-md, yast2, and plaindir. This is noted in zypper(8).

As for verifying the signature of repository metadata, Fedora currently does not sign repository metadata (with the exception of the Cisco OpenH264 repository). For the repositories where it does not sign the repository metadata, "repo_gpgcheck=0" needs to be added so that Zypper will not refuse to load repository metadata that isn't signed. By default, it expects them to be signed.

The addition of these values has no effect on DNF, as it simply ignores "type=" and it already defaults to "repo_gpgcheck=0" if not specified in the .repo file.

[1]: https://copr.fedorainfracloud.org/coprs/ngompa/zypper/

Version-Release number of selected component (if applicable):
All current versions are affected for Fedora 24, 25, and Rawhide (F26)

Comment 1 Neal Gompa 2016-09-06 02:53:35 UTC
Also, changes to COPR have already been merged in to generate .repo files that include this new data: https://github.com/fedora-copr/copr/pull/12

Comment 2 Kevin Fenzi 2016-09-06 22:45:30 UTC
Do we know how this interacts with gnome-software/PackageKit? We will want to make sure it doesn't run into any problems with it.

Comment 3 Kalev Lember 2016-09-07 07:57:33 UTC
I think these should both be fine for PackageKit. It has support for parsing the "repo_gpgcheck" key and just ignores the "type" key.

Comment 4 Dennis Gilmore 2016-09-07 17:32:16 UTC
I have no problems adding repo_gpgcheck however the type is kinda messy and strange

Comment 5 Neal Gompa 2016-09-08 20:26:01 UTC
How is it strange? It just declares what type of repodata it is.

Comment 6 Dennis Gilmore 2016-09-09 22:04:07 UTC
what is rpm-md?  and why do we need a type anyway?

Comment 7 Dennis Gilmore 2016-09-09 23:50:47 UTC
loking further I found https://en.opensuse.org/openSUSE:Standards_Rpm_Metadata which makes me sad, it does not use the sqlitedbs we produce to make things work faster. suse has also added its own non standard data.

Comment 8 Dennis Gilmore 2016-09-10 00:59:21 UTC
I have filed https://github.com/openSUSE/zypper/issues/100 upstream as rpm-md really makes no sense

Comment 9 Neal Gompa 2016-09-10 20:04:37 UTC
The nonstandard parts are the "susetags"/"yast2" format, which is rpm-md with extra suse stuff.

The SQLite database information isn't used by DNF either. libsolv constructs a solver cache from the rpm-md XML data and uses that for quickly identifying things in repositories. The SQLite metadata form is essentially deprecated, and as far as I'm aware, the only tool that actually handled that data was Yum.

Comment 10 Neal Gompa 2016-09-14 19:51:33 UTC
So now libzypp supports "rpm" as an alias for "rpm-md". Would you now be willing to add it to the repo files in fedora-repos?

Comment 11 Dennis Gilmore 2016-09-14 22:56:17 UTC
added in https://pagure.io/fedora-repos/pull-request/14

Comment 12 Neal Gompa 2016-09-16 04:00:03 UTC
Could you also add it to F25 (and maaaybe even F24)?

Comment 13 Neal Gompa 2017-03-10 13:41:04 UTC
This is coming with F26...