aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Frysinger <vapier@gentoo.org>2016-04-04 01:35:34 -0400
committerMike Frysinger <vapier@gentoo.org>2016-04-04 01:35:34 -0400
commitee22fe8793679e0f366a5501e3c7b576a9eb46c9 (patch)
tree0c16b56890277c94eaf93f38ccad0ee2f1189390
parentea1b44412a5802f507880ae8b705d58360e387c0 (diff)
downloadbusybox-w32-ee22fe8793679e0f366a5501e3c7b576a9eb46c9.tar.gz
busybox-w32-ee22fe8793679e0f366a5501e3c7b576a9eb46c9.tar.bz2
busybox-w32-ee22fe8793679e0f366a5501e3c7b576a9eb46c9.zip
undeb: clean up
Signed-off-by: Mike Frysinger <vapier@gentoo.org>
-rwxr-xr-xexamples/undeb74
1 files changed, 40 insertions, 34 deletions
diff --git a/examples/undeb b/examples/undeb
index 37104e9d8..c30baf31b 100755
--- a/examples/undeb
+++ b/examples/undeb
@@ -5,49 +5,55 @@
5# Requires the programs (ar, tar, gzip, and the pager more or less). 5# Requires the programs (ar, tar, gzip, and the pager more or less).
6# 6#
7usage() { 7usage() {
8echo "Usage: undeb -c package.deb <Print control file info>" 8 cat <<EOF
9echo " undeb -l package.deb <List contents of deb package>" 9Usage: undeb -c package.deb <Print control file info>
10echo " undeb -x package.deb /foo/boo <Extract deb package to this directory," 10 undeb -l package.deb <List contents of deb package>
11echo " put . for current directory>" 11 undeb -x package.deb /foo/boo <Extract deb package to this directory,
12exit 12 put . for current directory>
13EOF
14 exit
13} 15}
14 16
15deb=$2 17deb=$2
16 18
17exist() { 19exist() {
18if [ "$deb" = "" ]; then 20 if [ -z "${deb}" ]; then
19usage 21 usage
20elif [ ! -s "$deb" ]; then 22 elif [ ! -s "${deb}" ]; then
21echo "Can't find $deb!" 23 echo "Can't find ${deb}!"
22exit 24 exit 1
23fi 25 fi
24} 26}
25 27
26if [ "$1" = "" ]; then 28if [ -z "$1" ]; then
27usage 29 usage
28elif [ "$1" = "-l" ]; then 30elif [ "$1" = "-l" ]; then
29exist 31 exist
30type more >/dev/null 2>&1 && pager=more 32 type more >/dev/null 2>&1 && pager=more
31type less >/dev/null 2>&1 && pager=less 33 type less >/dev/null 2>&1 && pager=less
32[ "$pager" = "" ] && echo "No pager found!" && exit 34 [ -z "${pager}" ] && echo "No pager found!" && exit 1
33(ar -p $deb control.tar.gz | tar -xzO *control ; echo -e "\nPress enter to scroll, q to Quit!\n" ; ar -p $deb data.tar.gz | tar -tzv) | $pager 35 (
34exit 36 ar -p "${deb}" control.tar.gz | tar -xzO *control
37 printf "\nPress enter to scroll, q to Quit!\n\n"
38 ar -p "${deb}" data.tar.gz | tar -tzv
39 ) | ${pager}
40 exit
35elif [ "$1" = "-c" ]; then 41elif [ "$1" = "-c" ]; then
36exist 42 exist
37ar -p $deb control.tar.gz | tar -xzO *control 43 ar -p "${deb}" control.tar.gz | tar -xzO *control
38exit 44 exit
39elif [ "$1" = "-x" ]; then 45elif [ "$1" = "-x" ]; then
40exist 46 exist
41if [ "$3" = "" ]; then 47 if [ -z "$3" ]; then
42usage 48 usage
43elif [ ! -d "$3" ]; then 49 elif [ ! -d "$3" ]; then
44echo "No such directory $3!" 50 echo "No such directory $3!"
45exit 51 exit 1
46fi 52 fi
47ar -p $deb data.tar.gz | tar -xzvpf - -C $3 || exit 53 ar -p "${deb}" data.tar.gz | tar -xzvpf - -C "$3" || exit
48echo 54 echo
49echo "Extracted $deb to $3!" 55 echo "Extracted ${deb} to $3!"
50exit 56 exit
51else 57else
52usage 58 usage
53fi 59fi