]> pd.if.org Git - zpackage/blobdiff - zpm-list
let newpackage set additional fields
[zpackage] / zpm-list
index 2de524b0e89c0e64c9162970deb1103b020e4b39..7ea697bf1e04ae1323dd33b373f3e9a04d561fca 100755 (executable)
--- a/zpm-list
+++ b/zpm-list
@@ -4,13 +4,17 @@
 
 verbose=0
 nameonly=0
+latestonly=1
 
-while getopts :s:f:vn opt; do
+while getopts :s:f:vnIF: opt; do
        case $opt in
                f) pkgfile="$OPTARG" ;;
                s) status="$OPTARG" ;;
+               I) status=installed ;;
                v) verbose=1 ;;
                n) nameonly=1 ;;
+               a) latestonly=0 ;;
+               F) filter="$OPTARG" ;;
        esac
 done
 shift $(( OPTIND - 1))
@@ -34,7 +38,11 @@ fi
 
 if [ -n "$status" ]; then
        status=$(zpm quote "$status")
-       where="where status = '$status'"
+       where="and status = '$status'"
+fi
+
+if [ -n "$filter" ]; then
+       where="$where and ($filter)"
 fi
 
 pkgid=$1
@@ -57,6 +65,10 @@ fi
 
 zpm shell $pkgfile <<EOS
 .separator "\t"
-select $cols from packages_pkgid $where
+select $cols from packages_pkgid where true $where
 ;
 EOS
+
+if [ $? -ne 0 ]; then
+       echo "select $cols from packages_pkgid where true $where" 1>&2
+fi