Bug 1120215 - YUM repositories using deltainfo don't get delta RPMs published
Summary: YUM repositories using deltainfo don't get delta RPMs published
Alias: None
Product: Pulp
Classification: Retired
Component: rpm-support
Version: 2.4 Beta
Hardware: All
OS: Linux
Target Milestone: ---
: ---
Assignee: pulp-bugs
QA Contact: pulp-qe-list
Depends On:
TreeView+ depends on / blocked
Reported: 2014-07-16 12:59 UTC by Michael Moll
Modified: 2015-02-28 23:42 UTC (History)
3 users (show)

Fixed In Version:
Doc Type: Enhancement
Doc Text:
Clone Of:
Last Closed: 2015-02-19 01:18:34 UTC

Attachments (Terms of Use)

System ID Priority Status Summary Last Updated
Pulp Redmine 240 None None None Never

Description Michael Moll 2014-07-16 12:59:55 UTC
Description of problem:
YUM repositories using deltainfo instead of prestodelta don't get their Delta-RPMs synced into the published repo.

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

How reproducible:

Steps to Reproduce:
1. Patch pulp with https://github.com/pulp/pulp_rpm/pull/525 to work around missing name element im collection of SUSE repos.
2. Import and publish attached test repo.
3. Try a zypper update on the client.

Actual results:
Delta RPMs are missing

Expected results:
Delta RPMs are in the published repo

Comment 1 Michael Hrivnak 2014-07-16 16:30:58 UTC
Thank you for finding both of these incompatibilities between pulp and SUSE content. We want to support SUSE content, and this will be very helpful in making that happen.

A diligent investigation of the schema for the deltainfo file vs. the prestodelta file will be required before we can implement this. Any additional help with that would be quite welcome.

Comment 2 Michael Moll 2014-07-16 21:57:35 UTC
http://en.opensuse.org/openSUSE:Standards_Rpm_Metadata says:
deltainfo.xml used to support delta rpms. Format is the same as yum-presto
A glance at those deltainfo.xml files is also confirming that, so it shouldn't be hard to fix.

Unfortunately I don't have a clue how to handle that in the importer, as PRESTO_DELTA_FILE_NAME = 'prestodelta.xml.gz' doesn't leave much room for or-clauses. ;)

It would probably make sense to publish the contents of a generated prestodelta.xml also as deltainfo.xml so zypper/yast can consume it.

Comment 3 Michael Moll 2014-07-18 11:03:45 UTC
Workaround at https://github.com/pulp/pulp_rpm/pull/527

Comment 4 Barnaby Court 2015-01-12 17:15:27 UTC
Michael Moll,  With some browsing & testing I did, it appeared that zypper will read the presto-delta.xml.gz file if it is in the repository.  Can you confirm whether or not the file must be named deltainfo if zypper will use a presto-delta file if it is found instead.  

There is another patch at https://github.com/pulp/pulp_rpm/pull/629 that will ensure that all the information is synced into a pulp repository.  It's just a matter of how it is published.  In this case it is vastly simpler if we can always use presto-delta as the name of the output file.

Comment 5 Michael Moll 2015-01-16 13:58:44 UTC
After changing employers, I don't have a pulp instance around to test at the moment, sorry... If your tests are positive with zypper from SLES 11 SP3 (that's the oldest still supported, I think), I'd say just go ahead. If real testing is needed, ping me again and I'll setup something.
Thanks for following up on that!

Comment 6 Brian Bouterse 2015-02-19 01:18:34 UTC
Moved to https://pulp.plan.io/issues/240

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