Bug 1261031 - createrepo_c cannot generate DeltaRPMs even when compiled with drpm
createrepo_c cannot generate DeltaRPMs even when compiled with drpm
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: createrepo_c (Show other bugs)
22
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Tomas Mlcoch
Fedora Extras Quality Assurance
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2015-09-08 08:58 EDT by Neal Gompa
Modified: 2015-11-01 16:50 EST (History)
2 users (show)

See Also:
Fixed In Version: createrepo_c-0.9.1-1.fc22
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2015-11-01 16:50:19 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Neal Gompa 2015-09-08 08:58:17 EDT
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 09:32:31 EDT
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 09:09:34 EDT
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 14:31:38 EDT
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 16:50:10 EST
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.