--- /dev/null
+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