zpm log -i -a 'aborted install' -t "$pkgid" "$*"
changeall installing
changeall removing installed
+ changeall updating installed
exit 1
}
ignorelibdeps=0
justlist=0
+# treat un-adorned packages as uninstalls
+uninstall=0
+
# TODO option to attempt to resume an ongoing install
# zpm-install [-SCn] [ -d localdb ] [ -f pkgfile ] [ -R installroot ] pkgstr ...
-while getopts f:d:R:nSCvAObBL opt; do
+while getopts f:d:R:nSCvAObBLU opt; do
case $opt in
f) pkgfile="$OPTARG" ;;
d) localdb="$OPTARG" ;;
B) backup=0 ;;
L) ignorelibdeps=1 ;;
l) justlist=1 ;;
+ U) uninstall=1 ;;
*) die "usage ..." ;;
esac
done
-*) pkgid=$(zpm findpkg -I "${op#-}")
if [ -n "$pkgid" ]; then
to_remove="$to_remove $pkgid"
+ else
+ die "$op not installed"
fi
- # else warn not installed
;;
+*) pkg=${op#+}
search="$search $pkg"
die "can't find $pkg in $file"
fi
;;
- *) search="$search $op"
+ *)
+ if [ $uninstall -eq 0 ]; then
+ search="$search $op"
+ else
+ pkgid=$(zpm findpkg -I "${op}")
+ if [ -n "$pkgid" ]; then
+ to_remove="$to_remove $pkgid"
+ else
+ die "$op not installed"
+ fi
+ fi
;;
esac
done
for pkgid in $to_install; do
zpm pkg $pkgid status=installing
done
+ zpm shell "$ZPMDB" "update packages set status='updating' where status='installed' and package in (select package from packages where status = 'installing')"
fi
if [ -n "$to_remove" ]; then
fi
changeall removing removed
+changeall updating updated
echo running ldconfig
run_ldconfig $rootdir