Index: release/scripts/pkg-stage.sh =================================================================== --- release/scripts/pkg-stage.sh +++ release/scripts/pkg-stage.sh @@ -4,12 +4,13 @@ set -e +unset NO_ROOT + export ASSUME_ALWAYS_YES="YES" export PKG_DBDIR="/tmp/pkg" export PERMISSIVE="YES" export REPO_AUTOUPDATE="NO" export ROOTDIR="$PWD/dvd" -export PKGCMD="/usr/sbin/pkg -d --rootdir ${ROOTDIR}" export PORTSDIR="${PORTSDIR:-/usr/ports}" _DVD_PACKAGES="devel/git@lite @@ -43,6 +44,25 @@ exit 0 fi +usage() +{ + echo "usage: $0 [-N]" + exit 0 +} + +while getopts N opt; do + case "$opt" in + N) NO_ROOT=1 ;; + *) usage ;; + esac +done + +PKG_ARGS="-d --rootdir ${ROOTDIR}" +if [ $NO_ROOT ]; then + PKG_ARGS="$PKG_ARGS -o INSTALL_AS_USER=1" +fi +PKGCMD="/usr/sbin/pkg ${PKG_ARGS}" + if [ ! -x /usr/local/sbin/pkg ]; then /etc/rc.d/ldconfig restart /usr/bin/make -C ${PORTSDIR}/ports-mgmt/pkg install clean @@ -56,6 +76,7 @@ if [ -n "${PKG_ALTABI}" ]; then ln -sf ${PKG_ABI} ${ROOTDIR}/packages/${PKG_ALTABI} fi +(cd ../../share/keys/pkg/trusted && make INSTALL="install -U" DESTDIR=${ROOTDIR} install) # Ensure the ports listed in _DVD_PACKAGES exist to sanitize the # final list. @@ -90,5 +111,9 @@ ${PKGCMD} repo ${PKG_REPODIR} +if [ $NO_ROOT ]; then + # Create METALOG entries here +fi + # Always exit '0', even if pkg(8) complains about conflicts. exit 0