From: Arkadiusz Miƛkiewicz Date: Sun, 10 Jun 2007 11:47:41 +0000 (+0000) Subject: - detect payload and use correct tool (supports lzma, bzip2) X-Git-Tag: auto/th/rpm-4_4_9-1~2 X-Git-Url: http://git.pld-linux.org/?p=packages%2Frpm.git;a=commitdiff_plain;h=f7a548566a83723e4a40f48ad8b0d750a57ee3bf - detect payload and use correct tool (supports lzma, bzip2) Changed files: rpm-rpm2cpio-payload.patch -> 1.1 --- diff --git a/rpm-rpm2cpio-payload.patch b/rpm-rpm2cpio-payload.patch new file mode 100644 index 0000000..84418fa --- /dev/null +++ b/rpm-rpm2cpio-payload.patch @@ -0,0 +1,24 @@ +Index: rpm2cpio +=================================================================== +RCS file: /v/rpm/cvs/rpm/scripts/rpm2cpio,v +retrieving revision 1.2 +retrieving revision 1.2.2.1 +diff -u -u -r1.2 -r1.2.2.1 +--- rpm/scripts/rpm2cpio 25 May 2007 18:34:16 -0000 1.2 ++++ rpm/scripts/rpm2cpio 10 Jun 2007 11:43:39 -0000 1.2.2.1 +@@ -23,4 +23,14 @@ + hdrsize=`expr 8 + 16 \* $il + $dl` + o=`expr $o + $hdrsize` + +-dd if=$pkg ibs=$o skip=1 2>/dev/null | gunzip ++comp=$(dd if="$pkg" ibs=$o skip=1 count=1 2>/dev/null \ ++ | dd bs=3 count=1 2> /dev/null) ++ ++gz="$(echo -en '\037\0213')" ++case "$comp" in ++ BZh) dd if="$pkg" ibs=$o skip=1 2>/dev/null | bunzip2 ;; ++ "$gz"*) dd if="$pkg" ibs=$o skip=1 2>/dev/null | gunzip ;; ++ # no magic in old lzma format, if unknown we assume that's lzma for now ++ *) dd if="$pkg" ibs=$o skip=1 2>/dev/null | lzma d -si -so ;; ++ #*) echo "Unrecognized rpm file: $pkg"; return 1 ;; ++esac