--- /usr/share/mc/extfs/rpm.orig 2010-07-30 17:12:59.000000000 +0200 +++ /usr/share/mc/extfs/rpm 2010-07-30 17:14:16.000000000 +0200 @@ -131,7 +131,17 @@ echo "$FILEPREF 0 $DATE INFO/CHANGELOG" fi - echo "$FILEPREF 0 $DATE CONTENTS.cpio" + RPMVERSION=$($RPM -qp --qf "%{RPMVERSION}" "$f") + RPMMAJOR=${RPMVERSION%%.*} + RPMMINOR=${RPMVERSION#*.} + RPMMINOR=${RPMMINOR%%.*} + if [ $RPMMAJOR -lt 4 ]; then + echo "$FILEPREF 0 $DATE CONTENTS.cpio" + elif [ $RPMMAJOR -eq 4 -a $RPMMINOR -le 7 ]; then + echo "$FILEPREF 0 $DATE CONTENTS.cpio" + else + echo "$FILEPREF 0 $DATE CONTENTS.cpio.xz" + fi } mcrpmfs_copyout () @@ -171,7 +181,9 @@ INFO/CHANGELOG) $RPM -qp --qf "[* %{CHANGELOGTIME:date} %{CHANGELOGNAME}\n%{CHANGELOGTEXT}\n\n]\n" "$f" > "$3"; exit 0;; 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.xz) $RPM2CPIO "$1" | xz -d > "$3"; exit 0;; CONTENTS.cpio) $RPM2CPIO "$1" > "$3"; exit 0;; + *) ;; esac