| Summary: | Fedora 15 - Failed to produce delta RPM using presto-utils | ||
|---|---|---|---|
| Product: | [Fedora] Fedora | Reporter: | rwhalb <rwhalb> |
| Component: | presto-utils | Assignee: | Jonathan Dieter <jdieter> |
| Status: | CLOSED WONTFIX | QA Contact: | Fedora Extras Quality Assurance <extras-qa> |
| Severity: | high | Docs Contact: | |
| Priority: | unspecified | ||
| Version: | 15 | CC: | jdieter |
| Target Milestone: | --- | ||
| Target Release: | --- | ||
| Hardware: | All | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Fixed In Version: | Doc Type: | Bug Fix | |
| Doc Text: | Story Points: | --- | |
| Clone Of: | Environment: | ||
| Last Closed: | 2011-06-29 18:13:57 UTC | Type: | --- |
| Regression: | --- | Mount Type: | --- |
| Documentation: | --- | CRM: | |
| Verified Versions: | Category: | --- | |
| oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
| Cloudforms Team: | --- | Target Upstream Version: | |
The best way to generate deltarpms for a Fedora repository is to use createrepo with the -d flag. Presto-utils should have been retired a long time ago, and no longer works with xz-compressed rpms. As it is, presto-utils will no longer be in Fedora from 16 onwards, and I won't be fixing any of the bugs in it. I apologize for any inconvenience. |
Description of problem: With Fedora 15 I can not produce a delta RPM using presto-utils. Both the "deltarpmd.py" and the "packagelist.py" are missing the '-z gzip' parameter to the makedeltarpm command. When creating the delata RPM using 'makedeltarpm' I have observed that the archive was not gziped. According to the 'makedeltarpm' man page: The -z option can be used to specify a different compression method, the default is to use the same compression method as used in the new rpm. I have also observed that RPMs created using 'rpmbuild' do not gzip the archive. Therefore my conclusion is that 'makedeltarpm' by default wil not gzip the delta RPM archive. The solution I have use is to add the '-z gzip' parameter to the 'makedeltarpm' command in both the "deltarpmd.py" and the "packagelist.py" files. Once applied drpms are correctly produced. As an example the following output is produced for creating delta RPMs for noarch packages: createdeltarpms -v "/root/repo/yum/repo/noarch" "/root/repo/yum/repo/drpm"; Using base dir: /root/repo/yum/repo/noarch Using destination dir: /root/repo/yum/repo/drpm Traceback (most recent call last): File "/usr/lib64/python2.7/runpy.py", line 162, in _run_module_as_main "__main__", fname, loader, pkg_name) File "/usr/lib64/python2.7/runpy.py", line 72, in _run_code exec code in run_globals File "/usr/lib/python2.7/site-packages/presto-utils/gendeltarpms.py", line 320, in <module> if createPrestoRepo(directories[0], directories[1], None, cmds['count'], cmds['do-first']): File "/usr/lib/python2.7/site-packages/presto-utils/gendeltarpms.py", line 213, in createPrestoRepo (sn, se, sv, sr) = getDeltaNevr(f) File "/usr/lib/python2.7/site-packages/presto-utils/gendeltarpms.py", line 106, in getDeltaNevr if compobj.read(4)[:3] != "DLT": File "/usr/lib64/python2.7/gzip.py", line 252, in read self._read(readsize) File "/usr/lib64/python2.7/gzip.py", line 287, in _read self._read_gzip_header() File "/usr/lib64/python2.7/gzip.py", line 181, in _read_gzip_header raise IOError, 'Not a gzipped file' IOError: Not a gzipped file Version-Release number of selected component (if applicable): [root@dev15-64 yum]# uname -a Linux dev15-64 2.6.38.6-26.rc1.fc15.x86_64 #1 SMP Mon May 9 20:45:15 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux [root@dev15-64 yum]# rpm -q presto-utils presto-utils-0.3.4-5.fc15.noarch How reproducible: See above... Steps to Reproduce: See above... Actual results: See above... Expected results: delta RPMs are produced. Additional info: When doing this using a previous presto-utils version: presto-utils-0.3.4-3.fc12.noarch there was no issue and the '-z gzip' was used. Apparently it has been removed now. ---RWH