Bug 674348

Summary: rpm2cpio.sh isn't able to extract files from rhel6 rpms (payload format change) ; FC12-FC15 too
Product: Red Hat Enterprise Linux 6 Reporter: Thierry Vignaud <thierry.vignaud>
Component: rpmAssignee: Panu Matilainen <pmatilai>
Status: CLOSED ERRATA QA Contact: BaseOS QE Security Team <qe-baseos-security>
Severity: medium Docs Contact:
Priority: medium    
Version: 6.0CC: ffesti, herrold, mvadkert
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 18:18:20 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Attachments:
Description Flags
fix rpm2cpio.sh on RHEL6 none

Description Thierry Vignaud 2011-02-01 15:24:31 UTC
Created attachment 476415 [details]
fix rpm2cpio.sh on RHEL6

Description of problem:
/usr/lib/rpm/rpm2cpio.sh isn't able to extract files from rhel6 rpms due to the payload change (gzip compressed cpio archive -> xz compressed one)

Attached patch fixes it

Version-Release number of selected component (if applicable):
rpm-4.8.0-12.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1. run that script on any package:
2.
3.
  
Actual results:
Error message:
/usr/lib/rpm/rpm2cpio.sh libudev-147-2.29.el6.x86_64.rpm 
/usr/lib/rpm/rpm2cpio.sh: line 35: return: can only `return' from a function or 

Expected results:
It should output a cpio archive like in the old days.

Additional info:
This is due to the payload format change between RHEL5 & RHEL6

Comment 1 Thierry Vignaud 2011-02-01 15:28:06 UTC
For the record, it affects rpm-4.8 & 4.9 too
See http://rpm.org/gitweb?p=rpm.git;a=blob;f=scripts/rpm2cpio.sh;h=b03ee361f7f6948c979195eefc50295aa8fa0cf7;hb=HEAD

So it affects RHEL6 as well as FC12 to FC15, which is why I put it there and not in RHN.

So a fix should be pushed to FC14 & FC15 too

Comment 3 Panu Matilainen 2011-02-04 13:44:53 UTC
Too late for 6.1, and in any case hardly critical as the "real" rpm2cpio can read packages with XZ payload just fine.

Comment 4 Thierry Vignaud 2011-02-04 13:59:33 UTC
Well I never said it was critical :-)

Still it's usefull when rpm is broken (shouldn't happen on RHEL but I've see usefull cases of rpm2cpio.{sh,pl} on desktop distros.

It's also usefull when trying to rebuild a newer SRPM on RHEL5.x

It can go as it into trunk and rpm-4.9.
It wouldn't hurt backporting it into the 4.6 branch, waiting for next security and/or fixes release.

I won't cry about it not being in RHEL just now (else I would have filled RHN instead :-))

Btw, I saw yesterday it's fixed in rpm-5.3 (not that I care about jbj stuff but it has slightly better logic that mine for handling xz/lzma). On the other hand, I did test my patch whereas I didn't test the "other" one.

See you

Comment 11 errata-xmlrpc 2011-12-06 18:18:20 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2011-1737.html