Last change
on this file since 3882 was 3320, checked in by Bruno Cornec, 10 years ago |
- Re-add (thanks git BTW) the 2.2.9 branch which had been destroyed in
the move to 3.0
|
File size:
1.3 KB
|
Line | |
---|
1 | #!/bin/sh
|
---|
2 | #
|
---|
3 | # This should work with the GNU version of tar and gzip!
|
---|
4 | # This should work with the bash or ash shell!
|
---|
5 | # Requires the programs (ar, tar, gzip, and the pager more or less).
|
---|
6 | #
|
---|
7 | usage() {
|
---|
8 | echo "Usage: undeb -c package.deb <Print control file info>"
|
---|
9 | echo " undeb -l package.deb <List contents of deb package>"
|
---|
10 | echo " undeb -x package.deb /foo/boo <Extract deb package to this directory,"
|
---|
11 | echo " put . for current directory>"
|
---|
12 | exit
|
---|
13 | }
|
---|
14 |
|
---|
15 | deb=$2
|
---|
16 |
|
---|
17 | exist() {
|
---|
18 | if [ "$deb" = "" ]; then
|
---|
19 | usage
|
---|
20 | elif [ ! -s "$deb" ]; then
|
---|
21 | echo "Can't find $deb!"
|
---|
22 | exit
|
---|
23 | fi
|
---|
24 | }
|
---|
25 |
|
---|
26 | if [ "$1" = "" ]; then
|
---|
27 | usage
|
---|
28 | elif [ "$1" = "-l" ]; then
|
---|
29 | exist
|
---|
30 | type more >/dev/null 2>&1 && pager=more
|
---|
31 | type less >/dev/null 2>&1 && pager=less
|
---|
32 | [ "$pager" = "" ] && echo "No pager found!" && exit
|
---|
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
|
---|
34 | exit
|
---|
35 | elif [ "$1" = "-c" ]; then
|
---|
36 | exist
|
---|
37 | ar -p $deb control.tar.gz | tar -xzO *control
|
---|
38 | exit
|
---|
39 | elif [ "$1" = "-x" ]; then
|
---|
40 | exist
|
---|
41 | if [ "$3" = "" ]; then
|
---|
42 | usage
|
---|
43 | elif [ ! -d "$3" ]; then
|
---|
44 | echo "No such directory $3!"
|
---|
45 | exit
|
---|
46 | fi
|
---|
47 | ar -p $deb data.tar.gz | tar -xzvpf - -C $3 || exit
|
---|
48 | echo
|
---|
49 | echo "Extracted $deb to $3!"
|
---|
50 | exit
|
---|
51 | else
|
---|
52 | usage
|
---|
53 | fi
|
---|
Note:
See
TracBrowser
for help on using the repository browser.