Bug 1261031 - createrepo_c cannot generate DeltaRPMs even when compiled with drpm
Summary: createrepo_c cannot generate DeltaRPMs even when compiled with drpm
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Fedora
Classification: Fedora
Component: createrepo_c
Version: 22
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Tomas Mlcoch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2015-09-08 12:58 UTC by Neal Gompa
Modified: 2015-11-01 21:50 UTC (History)
2 users (show)

Fixed In Version: createrepo_c-0.9.1-1.fc22
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2015-11-01 21:50:19 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)

Description Neal Gompa 2015-09-08 12:58:17 UTC
Description of problem:
createrepo_c doesn't expose options for generating DeltaRPMs, even though it's compiled with drpm now.

Version-Release number of selected component (if applicable):
createrepo_c-0.9.0-3.fc22

How reproducible:
Always

Steps to Reproduce:
1. Install createrepo_c
2. Try to use --deltas switch in a createrepo_c call

Actual results:
--deltas switch is not recognized and nothing happens

Expected results:
--deltas switch is recognized and DeltaRPM generation works

Additional info:
The man page indicates that DeltaRPM functionality is available, but using the switches related to it returns "Argument parsing failed: Unknown option" for all of them.

Comment 1 Neal Gompa 2015-09-20 13:32:31 UTC
I've determined the root cause of this problem: DeltaRPM support isn't being properly compiled in.

Firstly, the flag CR_DELTA_RPM_SUPPORT wasn't being passed through as a compile-time definition, so the code blocks encapsulated by the definition were being skipped. I corrected this locally and submitted a pull request on GitHub for it: https://github.com/rpm-software-management/createrepo_c/pull/37

Secondly, the BuildRequire for DeltaRPM support in createrepo_c is set to drpm, rather than drpm-devel. Meaning that when the DeltaRPM support is properly enabled, it fails to build properly because it is missing the development headers and such required for incorporating DeltaRPM support. A simple adjustment to change the BuildRequire from "drpm" to "drpm-devel" will correct this.

With these two fixes, I was able to activate and use the DeltaRPM functionality in createrepo_c successfully.

Comment 3 Fedora Update System 2015-10-20 13:09:34 UTC
createrepo_c-0.9.1-1.fc22 has been submitted as an update to Fedora 22. https://bodhi.fedoraproject.org/updates/FEDORA-2015-735f979d01

Comment 4 Fedora Update System 2015-10-26 18:31:38 UTC
createrepo_c-0.9.1-1.fc22 has been pushed to the Fedora 22 testing repository. If problems still persist, please make note of it in this bug report.
If you want to test the update, you can install it with
$ su -c 'dnf --enablerepo=updates-testing update createrepo_c'
You can provide feedback for this update here: https://bodhi.fedoraproject.org/updates/FEDORA-2015-735f979d01

Comment 5 Fedora Update System 2015-11-01 21:50:10 UTC
createrepo_c-0.9.1-1.fc22 has been pushed to the Fedora 22 stable repository. If problems still persist, please make note of it in this bug report.


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