diff options
author | Eric Andersen | 2000-11-29 21:39:02 +0000 |
---|---|---|
committer | Eric Andersen | 2000-11-29 21:39:02 +0000 |
commit | 4bfb6b7b67ff4238fde52e4019efe2284b9f99ef (patch) | |
tree | e9e09f6d93fc8e16b2fd13844b07beede33176d8 /scripts/unrpm | |
parent | e500d2083560b2988e7e48e00ba836ce0450c656 (diff) | |
download | busybox-4bfb6b7b67ff4238fde52e4019efe2284b9f99ef.zip busybox-4bfb6b7b67ff4238fde52e4019efe2284b9f99ef.tar.gz |
Finish commit of rpmunpack and add in scripts for undeb and unrpm
Diffstat (limited to 'scripts/unrpm')
-rw-r--r-- | scripts/unrpm | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/scripts/unrpm b/scripts/unrpm new file mode 100644 index 0000000..2cd1aa9 --- /dev/null +++ b/scripts/unrpm @@ -0,0 +1,43 @@ +#!/bin/sh +# +usage() { +echo "Usage: unrpm -l package.rpm <List contents of rpm package>" +echo " unrpm -x package.rpm /foo/boo <Extract rpm package to this directory," +echo " put . for current directory>" +exit +} + +rpm=$2 + +exist() { +if [ "$rpm" = "" ]; then +usage +elif [ ! -s "$rpm" ]; then +echo "Can't find $rpm!" +exit +fi +} + +if [ "$1" = "" ]; then +usage +elif [ "$1" = "-l" ]; then +exist +type more >/dev/null 2>&1 && pager=more +type less >/dev/null 2>&1 && pager=less +(echo -e "\nPress enter to scroll, q to Quit!\n" ; rpmunpack < $rpm | gunzip -c | cpio -tvf --quiet) | $pager +exit +elif [ "$1" = "-x" ]; then +exist +if [ "$3" = "" ]; then +usage +elif [ ! -d "$3" ]; then +echo "No such directory $3!" +exit +fi +rpmunpack < $rpm | gunzip | (cd $3 ; cpio -idmuv) || exit +echo +echo "Extracted $rpm to $3!" +exit +else +usage +fi |