Re: [opensuse] How to unpack an RPM without installing?



On 2008-11-05 13:56, Joachim Schrod wrote:
Hi,

I try to unpack postgresql-server-8.3.4-1.9.i586.rpm from factory without installing it. (I want to look if an error in the 10.3 init.d script is still there.) No problem, I think:

rpm2cpio postgresql-server-8.3.4-1.9.i586.rpm >p.cpio

Well, just, except: No error message, but the produced file is no cpio file either. (file p.cpio outputs just "data".) I'm rather sure that the RPM file is OK: rpm -ql on that file produces no error, and I downloaded it twice to make sure that I don't got an error on a mirror.

Can anybody give me a hint, either why rpm2cpio is not working or how one can unpack a RPM file in other ways?
In case you want to try it yourself:
http://download.opensuse.org/factory/repo/oss/suse/i586/postgresql-server-8.3.4-1.9.i586.rpm


I called rpm2cpio both on a 10.0 and a 10.3 system with identical results; I don't have 11.0 running at the moment.

Thanks in advance for any answer,

Joachim



If i remember correctly, this is because of the change to the lzma payload in newer rpm versions. You need a version of rpm2cpio which is aware of that to extract the contents, and that is also why you cannot install rpms build for opensuse 11 with the rpm version provided in 10.3.

Here is what you can do to extract it on 10.3:
Save http://rpm.org/gitweb?p=rpm.git;a=blob_plain;f=scripts/rpm2cpio.sh;hb=HEAD
as rpm2cpio.sh
and do:
sh rpm2cpio.sh <rpm-package> | cpio -id

Best regards
Sylvester Lykkehus
--
To unsubscribe, e-mail: opensuse+unsubscribe@xxxxxxxxxxxx
For additional commands, e-mail: opensuse+help@xxxxxxxxxxxx