X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=zpm-update;h=39c111a2f17f6e7274bac7f298f09834b8e427ea;hp=fdfa1f6e3987cb4fa62c15a65da8f6736c753fe0;hb=62f6ff407bc4f2cf03d1fa7cf3dc9a3f4026624a;hpb=3178018143a7ffcef6746e802f58fe1c4725c0dd diff --git a/zpm-update b/zpm-update index fdfa1f6..39c111a 100755 --- a/zpm-update +++ b/zpm-update @@ -102,13 +102,14 @@ install_for_libs='' 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:nSCvAObBLUzp opt; do case $opt in f) pkgfile="$OPTARG" ;; d) localdb="$OPTARG" ;; @@ -126,13 +127,27 @@ while getopts f:d:R:nSCvAObBLU opt; do L) ignorelibdeps=1 ;; l) justlist=1 ;; U) uninstall=1 ;; + z) pullrepos=0 ;; + p) syncopts="$syncopts -p" ;; *) die "usage ..." ;; esac done -shift $(( OPTIND - 1)) +shift $(( OPTIND - 1 )) + +if [ -n "$rootdir" ]; then + : rootdir=${rootdir%%/} + ZPM_ROOT_DIR=$rootdir + export ZPM_ROOT_DIR +fi + +if [ -n "$localdb" ]; then + ZPMDB=$localdb +elif [ -z "$ZPMDB" ]; then + ZPMDB="$ZPM_ROOT_DIR/var/lib/zpm/local.db" +fi -ZPMDB=${localdb:-${ZPMDB:-/var/lib/zpm/local.db}} export ZPMDB + # create the localdb if needed zpm init $ZPMDB @@ -180,6 +195,11 @@ search=$(echo $search) 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 @@ -238,6 +258,12 @@ if [ -n "$baddl" ]; then die fi +for package in $merge; do + pkgid=${package%:*} + installlist="$installlist $pkgid" +done +installlist=${installlist#' '} + if [ $justlist -eq 1 ]; then for package in $merge; do pkgid=${package%:*} @@ -254,7 +280,7 @@ if [ -z "$merge" ] && [ -z "$to_remove" ]; then exit 0 fi -test -n "$merge" && echo "install: $merge" +test -n "$merge" && echo "install: $installlist" test -n "$to_remove" && echo "remove: $to_remove" # finally, merge everything @@ -277,7 +303,9 @@ done to_install=${to_install#' '} -echo "installing: $to_install" +if [ -n "$to_install" ]; then + echo "installing: $to_install" +fi # absorb anything we're updating or removing, if absorb flag set @@ -307,12 +335,6 @@ if [ -n "$to_remove" ]; then done fi -if [ -n "$rootdir" ]; then - ZPM_ROOT_DIR=$rootdir - export ZPM_ROOT_DIR - : rootdir=${rootdir%%/} -fi - if [ $dryrun -gt 0 ]; then runscripts=0 # we don't want to run post scripts on a dry-run syncopts="$syncopts -n"