X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=bin%2Fzpm-installed;fp=bin%2Fzpm-installed;h=fe8487427125b3a72666cad5604e29a9813f4f2e;hp=0000000000000000000000000000000000000000;hb=0419c62f964b259df1c1816f5870ef62eb97ed7c;hpb=0c2216d1e0dc8565a6bf61c9572e47bb1ae1c1fb diff --git a/bin/zpm-installed b/bin/zpm-installed new file mode 100755 index 0000000..fe84874 --- /dev/null +++ b/bin/zpm-installed @@ -0,0 +1,52 @@ +#!/bin/sh + +# show the installed version for each package if no arguments are given, all +# installed packages are displayed. + +chroot=1 +pkgroot= + +while getopts :R:CNXf:d:Dt:T:u:g: opt; do + case $opt in + R) pkgroot="$OPTARG" ;; + d) ZPMDB="$OPTARG" ;; + esac +done + +shift $((OPTIND - 1)) + +for cf in /etc/zpmrc ~/.zpmrc ./.zpmrc; do + test -r $cf && . $cf +done + +: ${ZPMDB:=/var/lib/zpm/db.zpm} + +export ZPMDB + +die() { + printf 'zpm-installed:' 1>&2 + printf ' %s' $* 1>&2 + printf '\n' 1>&2 + exit 1 +} + +db=$pkgroot$ZPMDB + +set -e +zpm test -v $db + +{ + + printf '.separator "\\t"\n' + printf 'select package,version,release from packages\n' +if [ $# -gt 0 ]; then + printf 'where package in\n(' + printf "'%s'" "$1" + shift + for pkg in "$@"; do + printf ",'%s'" "$pkg" + done + printf ')\n' +fi +printf ';\n' +} | zpm shell $db