--- /usr/share/mc/extfs/rpm.orig 2010-08-17 19:10:50.000000000 +0200 +++ /usr/share/mc/extfs/rpm 2010-08-17 19:09:53.000000000 +0200 @@ -131,7 +131,14 @@ echo "$FILEPREF 0 $DATE INFO/CHANGELOG" fi - echo "$FILEPREF 0 $DATE CONTENTS.cpio" + RPMCOMPRESSOR=$($RPM -qp --qf "%{PAYLOADCOMPRESSOR}" "$f") + case "$RPMCOMPRESSOR" in + (bzip2) echo "$FILEPREF 0 $DATE CONTENTS.cpio.bz2";; + (gzip) echo "$FILEPREF 0 $DATE CONTENTS.cpio.gz";; + (lzma) echo "$FILEPREF 0 $DATE CONTENTS.cpio.lzma";; + (xz) echo "$FILEPREF 0 $DATE CONTENTS.cpio.xz";; + (cpio|*) echo "$FILEPREF 0 $DATE CONTENTS.cpio";; + esac } mcrpmfs_copyout () @@ -172,6 +179,9 @@ INFO/SIZE) $RPM -qp --qf "%{SIZE} bytes\n" "$f" > "$3"; exit 0;; INFO/OBSOLETES) $RPM -qp --qf "[%{OBSOLETENAME} %|OBSOLETEFLAGS?{%{OBSOLETEFLAGS:depflags} %{OBSOLETEVERSION}}:{}|\n]" "$f" > "$3"; exit 0;; CONTENTS.cpio) $RPM2CPIO "$1" > "$3"; exit 0;; + CONTENTS.cpio.bz2) $RPM2CPIO "$1" > "$3"; exit 0;; + CONTENTS.cpio.gz) $RPM2CPIO "$1" > "$3"; exit 0;; + CONTENTS.cpio.xz) $RPM2CPIO "$1" | unxz > "$3"; exit 0;; *) ;; esac