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 ;;
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
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
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
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
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