+++ /dev/null
-#!/bin/sh
-
-add=
-remove=
-setlist=
-quiet=0
-clearlist=0
-includelibs=1
-resolvelibs=0
-
-while getopts :f:s:a:r:qcLR opt; do
- case $opt in
- f) pkgfile="$OPTARG" ;;
- s) setlist="$setlist $OPTARG"; clearlist=1 ;;
- a) add="$add $OPTARG"; ;;
- r) remove="$remove $OPTARG" ;;
- q) quiet=1 ;;
- c) clearlist=1 ;;
- L) includelibs=0 ;;
- R) resolvelibs=1 ;;
- esac
-done
-shift $(( OPTIND - 1))
-
-: ${pkgfile:=${ZPMDB:-/var/lib/zpm/local.db}}
-
-if [ -z "$pkgfile" ]; then
- echo "must specify package file"
- exit 1
-fi
-
-pkgid=$(zpm findpkg -f $pkgfile "$1")
-if [ -z "$pkgid" ]; then
- echo "cannot find pkgid for $1"
- exit 1
-fi
-
-eval $(zpm parse -E "$pkgid")
-package=$(zpm quote -q "$name")
-version=$(zpm quote -q "$version")
-pkgselector="P.package = $package and P.version = $version and P.release = $release"
-selector="package = $package and version = $version and release = $release"
-listdeps="select requires from packagedeps P where %s;\n"
-adddep='insert or ignore into packagedeps (package,version,release,requires) values (%s,%s,%d,%s);\n'
-rmdep='delete from packagedeps where %s and requires = %s;\n'
-cleardeps='delete from packagedeps where %s;\n'
-libdeps="select distinct EN.needed from elfneeded EN join packagefiles P on P.hash = EN.file where %s;\n"
-resolvelibs="select distinct EN.needed from elfneeded EN join packagefiles PF on PF.hash = EN.file left join where %s;\n"
-
-{
- printf ".bail on\n"
- printf ".log stderr\n"
- printf "begin;\n";
-if [ $clearlist -eq 1 ]; then
- printf "$cleardeps" "$selector"
-fi
-if [ -n "$setlist" ]; then
- for dep in $setlist; do
- qdep=$(zpm quote -q "$dep")
- printf "$adddep" "$package" "$version" "$release" "$qdep"
- done
-fi
-if [ -n "$add" ]; then
- for dep in $add; do
- qdep=$(zpm quote -q "$dep")
- printf "$adddep" "$package" "$version" "$release" "$qdep"
- done
-fi
-if [ -n "$remove" ]; then
- for dep in $remove; do
- qdep=$(zpm quote -q "$dep")
- printf "$rmdep" "$selector" "$qdep"
- done
-fi
-if [ $quiet -eq 0 ]; then
- printf "$listdeps" "$pkgselector"
- if [ $includelibs -eq 1 ]; then
- printf "$libdeps" "$pkgselector"
- fi
-fi
- printf "commit;\n";
-} | zpm shell $pkgfile