FS#9634 - rpmextract 0-2 breaks compatibility with SuSE RPMs
Attached to Project:
Arch Linux
Opened by Paul Bredbury (brebs) - Wednesday, 20 February 2008, 21:13 GMT
Last edited by Dan McGee (toofishes) - Wednesday, 27 February 2008, 04:23 GMT
Opened by Paul Bredbury (brebs) - Wednesday, 20 February 2008, 21:13 GMT
Last edited by Dan McGee (toofishes) - Wednesday, 27 February 2008, 04:23 GMT
|
Details
Hi, rpmextract 0-2 was broken in
This is shown by downloading http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_10.3/i586/wine-snapshot-0.9.55.20080219-11.1.i586.rpm or whatever the latest snapshot in http://download.opensuse.org/repositories/Emulators:/Wine/openSUSE_10.3/i586/ is, then running: $ rpmextract.sh wine-snapshot-0.9.55.20080219-11.1.i586.rpm ./usr/bin/winhelp: File not open bsdtar: Error exit delayed from previous errors. But with rpmextract 0-1, it *works*, regardless of the 2 little gzip & cpio warnings: $ rpmextract.sh wine-snapshot-0.9.55.20080219-11.1.i586.rpm gzip: stdin: not in gzip format cpio: premature end of archive ./usr/bin/function_grep.pl ... ./usr/bin/winhelp 102402 blocks So, either rpmextract 0-2 is broken, or SuSE aren't making valid RPMs. |
This task depends upon
Closed by Dan McGee (toofishes)
Wednesday, 27 February 2008, 04:23 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed with libarchive 2.4.12
Wednesday, 27 February 2008, 04:23 GMT
Reason for closing: Fixed
Additional comments about closing: Fixed with libarchive 2.4.12
So, I recommend reverting back.
gzip: stdin: not in gzip format
cpio: premature end of archive
I'm sorry, but that doesn't indicate working to me- it just indicates a different kind of failure.
Can you expand on your generalization here? You file the bug as 'SuSE RPMs' and yet only tried one.
I called it "SuSE RPMs" because I assume rpmextract 0-2 was actually tested on an RPM or two before it was released. I have tried rpmextract 0-1 and 0-2 on wine-0.9.55-11.1.i586.rpm also, with identical results showing that it is only rpmextract 0-2 which fails (bad return code).
There's an obvious fix here, which is to reinstate rpmextract 0-1 as rpmextract 0-3.
In rpmextract 0-1, the 2 error messages re gzip & cpio are only shown because the first half of "dd if=$pkg ibs=$o skip=1 2>/dev/null | gunzip | cpio -idmuv || dd if=$pkg ibs=$o skip=1 2>/dev/null | bzip2 -d | cpio -idmuv" fails - therefore those 2 error messages can safely be ignored.
Ideally, there would be a command which did "gunzip || bzip2 -d, as appropriate", then the line wouldn't need 2 halves ;)
Simply upgrading from libarchive 2.4.11 to libarchive 2.4.12 (not yet in Arch, hint hint) completely fixes this bug :)
rpmextract.sh /var/abs/local/bin32-wine-suse/wine-0.9.56-14.1.i586.rpm || echo "failed"