Teach rpm2cpio.sh about xz compression (RhBug:674348 & others)
authorPanu Matilainen <pmatilai@redhat.com>
Mon, 12 Mar 2012 13:25:12 +0000 (15:25 +0200)
committerPanu Matilainen <pmatilai@redhat.com>
Mon, 12 Mar 2012 13:26:01 +0000 (15:26 +0200)
scripts/rpm2cpio.sh

index b03ee36..e77be84 100755 (executable)
@@ -28,9 +28,11 @@ comp=`dd if="$pkg" ibs=$o skip=1 count=1 2>/dev/null \
 
 gz="`echo . | awk '{ printf("%c%c", 0x1f, 0x8b); }'`"
 lzma="`echo . | awk '{ printf("%cLZ", 0xff); }'`"
+xz="`echo . | awk '{ printf("%c7z", 0xfd); }'`"
 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 ;;
+    "$xz"*)   dd if="$pkg" ibs=$o skip=1 2>/dev/null | xzcat ;;
     "$lzma"*) dd if="$pkg" ibs=$o skip=1 2>/dev/null | unlzma ;;
     *)        echo "Unrecognized rpm file: $pkg"; return 1 ;;
 esac