+++ /dev/null
-#!/bin/sh
-
-pkgfile=${ZPM_PACKAGE_FILE:-${ZPMDB:-/var/lib/zpm/local.db}}
-
-verbose=0
-
-# newpackage -f pkgfile $pkgid
-while getopts :f:vm:s:S: opt; do
- case $opt in
- f) pkgfile="$OPTARG" ;;
- v) verbose=1 ;;
- m) message="$OPTARG" ;;
- s) status="$status -s $OPTARG" ;;
- S) exclude="$exclude -S $OPTARG" ;;
- esac
-done
-shift $(( OPTIND - 1))
-
-if [ -z "$message" ]; then
- message=null
-else
- message=$(zpm quote -q "$message")
-fi
-
-die() {
- echo $* 1>&2
- exit 1
-}
-
-warn() {
- echo $* 1>&2
-}
-
-if [ ! -f "$pkgfile" ]; then
- die $pkgfile does not exist
-fi
-
-{
- printf ".bail on\n"
- printf ".echo on\n"
- printf "begin;\n"
- for pkgstr in "$@"; do
- pkgid=$(zpm findpkg $status $exclude -f $pkgfile "$pkgstr")
- if [ -z "$pkgid" ]; then
- continue;
- fi
- if [ $verbose -gt 0 ]; then
- if [ $verbose -gt 1 ]; then
- warn "found %s -> %s\n" "$pkgstr", "$pkgid"
- fi
- fi
- pkgid=$(zpm quote "$pkgid")
- printf "delete from packages_pkgid where pkgid = '$pkgid';\n"
- printf "insert into zpmlog (action, target, info) values ('rmpackage','%s',%s);\n" "$pkgid" "$message"
- done
- printf "commit;\n"
-} | zpm shell $pkgfile