X-Git-Url: https://pd.if.org/git/?p=zpackage;a=blobdiff_plain;f=zpm-update;h=5ee5008c55430d80d9cdc7c28f04b947d7f5e5ff;hp=80258b8308a34835fb5ccda80062f28aca6db74d;hb=09c80a1f8918d888063f4d1a75921a99fe5f0b5c;hpb=4ee9eb3faab6f30a89d07d9f80aeca456af05d80 diff --git a/zpm-update b/zpm-update index 80258b8..5ee5008 100755 --- a/zpm-update +++ b/zpm-update @@ -109,7 +109,7 @@ 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:nSCvAObBLUz opt; do +while getopts f:d:R:nSCvAObBLUzpl opt; do case $opt in f) pkgfile="$OPTARG" ;; d) localdb="$OPTARG" ;; @@ -128,13 +128,26 @@ while getopts f:d:R:nSCvAObBLUz opt; do 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 @@ -224,7 +237,6 @@ for mergepkg in $merge; do nlist="$nlist $pkgid:$zpmfile" continue else - echo downloading $zpmfile zpm repo fetch $reponame $pkgid if [ -f "$zpmfile" ]; then nlist="$nlist $pkgid:$zpmfile" @@ -245,6 +257,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%:*} @@ -261,7 +279,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 @@ -274,7 +292,7 @@ for mergepkg in $merge; do # TODO check for symlinks? if [ $pkgfile != $ZPMDB ]; then echo merging $pkgfile $pkgid - zpm merge -Fuv -f "$pkgfile" $pkgid + zpm merge -Fu -f "$pkgfile" $pkgid if [ $? -ne 0 ]; then die "unable to merge $pkgfile" fi @@ -284,7 +302,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 @@ -314,12 +334,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" @@ -327,10 +341,11 @@ fi if [ $verbose -gt 0 ]; then syncopts="${syncopts} -v" -else - # force -v during development - syncopts="${syncopts} -v" fi +#else + # force -v during development + #syncopts="${syncopts} -v" +#fi if [ $dryrun -eq 0 ] && [ $backup -eq 1 ]; then true