X-Git-Url: https://pd.if.org/git/?a=blobdiff_plain;f=zpm-install;h=0d2055af5b0ff82ae726f9a67e7af8c6c19695d4;hb=339988d64465820bfce614d4939cdf6a03cd3c51;hp=1fb470e4810d50c568b3b28a3534c22e9b87c48b;hpb=8b9f4039ae111b7c6cfb10b447fbb579e4e53146;p=zpackage diff --git a/zpm-install b/zpm-install index 1fb470e..0d2055a 100755 --- a/zpm-install +++ b/zpm-install @@ -18,11 +18,13 @@ absorb=0 overwrite=0 syncopts='' installall=0 +mergefiles=0 # zpm-install [-SCn] [ -d localdb ] [ -f pkgfile ] [ -R installroot ] pkgstr ... -while getopts f:d:R:nSCvAOa opt; do +while getopts f:d:R:nSCvAOaF opt; do case $opt in f) pkgfile="$OPTARG" ;; + F) mergefiles=1 ;; d) localdb="$OPTARG" ;; R) rootdir="$OPTARG" ;; S) runscripts=0 ;; @@ -137,7 +139,7 @@ for pkgid in $pkglist; do fi else if zpm script -f $pkgfile -Fql -p pre-install $pkgid; then - zpm note -p $pkgid -m 'pre-install script not run' + zpm note -e -p $pkgid -m 'pre-install script not run' fi fi @@ -154,7 +156,11 @@ for pkgid in $pkglist; do if [ $verbose -gt 0 ]; then echo merging $pkgid fi - zpm merge -u -F -f $pkgfile -s installing $pkgid + if [ $mergefiles -eq 1 ]; then + zpm merge -u -F -f $pkgfile -s installing $pkgid + else + zpm merge -u -f $pkgfile -s installing $pkgid + fi if [ $? -ne 0 ]; then die "merging $pkgid failed" fi @@ -174,13 +180,19 @@ if [ $verbose -gt 0 ]; then syncopts="$syncopts -v" fi +if [ "$pkgfile" != "$ZPMDB" ]; then + syncopts="$syncopts -f $pkgfile" +fi + zpm syncfs $syncopts syncrv=$? -for pkgid in $pkglist; do - zpm pkg $pkgid status=dryrun -done +if [ $dryrun -gt 0 ]; then + for pkgid in $pkglist; do + zpm pkg $pkgid status=dryrun + done +fi if [ $syncrv -ne 0 ]; then zpm pkg $pkgid status=failed @@ -207,7 +219,7 @@ for pkgid in $pkglist; do zpm script -f $pkgfile -p post-install $pkgid $current else if zpm script -f $pkgfile -Fql -p post-install $pkgid; then - zpm note -p $pkgid -m 'post-install script not run' + zpm note -e -p $pkgid -m 'post-install script not run' fi fi @@ -223,7 +235,7 @@ for pkgid in $pkglist; do zpm script -f $pkgfile -p configure $pkgid else if zpm script -f $pkgfile -Fql -p configure $pkgid; then - zpm note -p $pkgid -m 'configure script not run' + zpm note -e -p $pkgid -m 'configure script not run' fi fi