]> pd.if.org Git - zpackage/blob - zpm-rmpackage
fix stray comma in rmpackage
[zpackage] / zpm-rmpackage
1 #!/bin/sh
2
3 pkgfile=${ZPM_PACKAGE_FILE:-${ZPMDB:-/var/lib/zpm/local.db}}
4
5 verbose=0
6
7 # newpackage -f pkgfile $pkgid
8 while getopts :f:vm: opt; do
9         case $opt in
10                 f) pkgfile="$OPTARG" ;;
11                 v) verbose=1 ;;
12                 m) message=$(zpm quote "$OPTARG") ;;
13         esac
14 done
15 shift $(( OPTIND - 1))
16
17 if [ -z "$message" ]; then
18         message=null
19 fi
20
21 die() {
22         echo $* 1>&2
23         exit 1
24 }
25
26 warn() {
27         echo $* 1>&2
28 }
29
30 if [ ! -f "$pkgfile" ]; then
31         die $pkgfile does not exist
32 fi
33
34 {
35         printf ".bail on\n"
36         printf "begin;\n"
37         for pkgstr in "$@"; do
38                 pkgid=$(zpm findpkg -f $pkgfile "$pkgstr")
39                 if [ $verbose -gt 0 ]; then
40                         if [ -z "$pkgid" ]; then
41                                 warn "$pkgstr not found"
42                                 continue;
43                         fi
44                         if [ $verbose -gt 1 ]; then
45                                 warn "found %s -> %s\n" "$pkgstr", "$pkgid"
46                         fi
47                 fi
48                 pkgid=$(zpm quote "$pkgid")
49                 printf "delete from packages_pkgid where pkgid = '$pkgid';\n"
50                 printf "insert into zpmlog (action, target, info) values (%s,'%s',%s);\n" 'rmpackage' "$pkgid" "$message"
51         done
52         printf "commit;\n"
53 } | zpm shell $pkgfile