aboutsummaryrefslogtreecommitdiff
path: root/ports-mgmt/pkg_jail
diff options
context:
space:
mode:
Diffstat (limited to 'ports-mgmt/pkg_jail')
-rw-r--r--ports-mgmt/pkg_jail/Makefile2
-rw-r--r--ports-mgmt/pkg_jail/files/pkg_update31
2 files changed, 26 insertions, 7 deletions
diff --git a/ports-mgmt/pkg_jail/Makefile b/ports-mgmt/pkg_jail/Makefile
index 1f5d54d285fc..3797974fdb04 100644
--- a/ports-mgmt/pkg_jail/Makefile
+++ b/ports-mgmt/pkg_jail/Makefile
@@ -1,7 +1,7 @@
# $FreeBSD$
PORTNAME= pkg_jail
-PORTVERSION= 1.72
+PORTVERSION= 1.73
CATEGORIES= ports-mgmt
MASTER_SITES= # empty
DISTFILES= # empty
diff --git a/ports-mgmt/pkg_jail/files/pkg_update b/ports-mgmt/pkg_jail/files/pkg_update
index 2798196cf877..489257cf0635 100644
--- a/ports-mgmt/pkg_jail/files/pkg_update
+++ b/ports-mgmt/pkg_jail/files/pkg_update
@@ -346,12 +346,31 @@ port_uptodate() {
yes|YES)
;;
*)
- echo "=====================================" >&2
- echo "=== package ${pkgname} was not installed" >&2
- echo "=====================================" >&2
- echo "=== package ${pkgname} was not installed" \
- >> ${logdir}/err,${log}
- return 2
+ nostage=`cd "${base}" && make -V NO_STAGE`
+ case "${nostage}" in
+ yes|YES)
+ echo "=====================================" >&2
+ echo "=== package ${pkgname} was not installed" >&2
+ echo "=====================================" >&2
+ echo "=== package ${pkgname} was not installed" \
+ >> ${logdir}/err,${log}
+ return 2
+ ;;
+ *)
+ # install staged package
+ pkgfile=`cd "${base}" && make -V PKGFILE`
+ ${local_env} pkg_add ${pkgfile}
+ if test ! -e ${pkg_dbdir}/${pkgname}/+CONTENTS
+ then
+ echo "=====================================" >&2
+ echo "pkg_add ${pkgfile} failed, no ${pkgname}!" >&2
+ echo "=====================================" >&2
+ echo "=== package ${pkgname} can not be installed" \
+ >> ${logdir}/err,${log}
+ fi
+ ;;
+ esac
+ ;;
esac
fi
pkgfile=`cd "${base}" && make -V PKGFILE`