diff options
Diffstat (limited to 'import-layers/yocto-poky/scripts/rpm2cpio.sh')
-rwxr-xr-x | import-layers/yocto-poky/scripts/rpm2cpio.sh | 55 |
1 files changed, 0 insertions, 55 deletions
diff --git a/import-layers/yocto-poky/scripts/rpm2cpio.sh b/import-layers/yocto-poky/scripts/rpm2cpio.sh deleted file mode 100755 index cf23472ba..000000000 --- a/import-layers/yocto-poky/scripts/rpm2cpio.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/sh -efu - -# This file comes from rpm 4.x distribution - -fatal() { - echo "$*" >&2 - exit 1 -} - -pkg="$1" -[ -n "$pkg" -a -e "$pkg" ] || - fatal "No package supplied" - -_dd() { - local o="$1"; shift - dd if="$pkg" skip="$o" iflag=skip_bytes status=none $* -} - -calcsize() { - offset=$(($1 + 8)) - - local i b b0 b1 b2 b3 b4 b5 b6 b7 - - i=0 - while [ $i -lt 8 ]; do - b="$(_dd $(($offset + $i)) bs=1 count=1)" - [ -z "$b" ] && - b="0" || - b="$(exec printf '%u\n' "'$b")" - eval "b$i=\$b" - i=$(($i + 1)) - done - - rsize=$((8 + ((($b0 << 24) + ($b1 << 16) + ($b2 << 8) + $b3) << 4) + ($b4 << 24) + ($b5 << 16) + ($b6 << 8) + $b7)) - offset=$(($offset + $rsize)) -} - -case "$(_dd 0 bs=8 count=1)" in - "$(printf '\355\253\356\333')"*) ;; # '\xed\xab\xee\xdb' - *) fatal "File doesn't look like rpm: $pkg" ;; -esac - -calcsize 96 -sigsize=$rsize - -calcsize $(($offset + (8 - ($sigsize % 8)) % 8)) -hdrsize=$rsize - -case "$(_dd $offset bs=3 count=1)" in - "$(printf '\102\132')"*) _dd $offset | bunzip2 ;; # '\x42\x5a' - "$(printf '\037\213')"*) _dd $offset | gunzip ;; # '\x1f\x8b' - "$(printf '\375\067')"*) _dd $offset | xzcat ;; # '\xfd\x37' - "$(printf '\135\000')"*) _dd $offset | unlzma ;; # '\x5d\x00' - *) fatal "Unrecognized rpm file: $pkg" ;; -esac |