backup=0
ignorelibdeps=0
justlist=0
+pullrepos=1
# 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:nSCvAObBLU opt; do
+while getopts f:d:R:nSCvAObBLUz opt; do
case $opt in
f) pkgfile="$OPTARG" ;;
d) localdb="$OPTARG" ;;
L) ignorelibdeps=1 ;;
l) justlist=1 ;;
U) uninstall=1 ;;
+ z) pullrepos=0 ;;
*) die "usage ..." ;;
esac
done
ebail=0
+if [ $pullrepos -eq 1 ]; then
+ echo pulling repos
+ zpm repo pull
+fi
+
if [ $ignorelibdeps -eq 1 ]; then
merge=$(zpm search -iIO $search)
else
for pkgid in $to_remove; do
printf 'remove %s\n' $pkgid
done
+ exit 0
fi
if [ -z "$merge" ] && [ -z "$to_remove" ]; then
exit 0
fi
-echo "merge: $merge"
+test -n "$merge" && echo "install: $merge"
+test -n "$to_remove" && echo "remove: $to_remove"
# finally, merge everything
for mergepkg in $merge; do
if [ $pkgfile != $ZPMDB ]; then
echo merging $pkgfile $pkgid
zpm merge -Fuv -f "$pkgfile" $pkgid
+ if [ $? -ne 0 ]; then
+ die "unable to merge $pkgfile"
+ fi
fi
to_install="$to_install $pkgid"
done