Date: Wed, 9 Aug 2017 19:16:54 +0000 (UTC) From: Glen Barber <gjb@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r322327 - in head: . release/packages Message-ID: <201708091916.v79JGsL4057398@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gjb Date: Wed Aug 9 19:16:54 2017 New Revision: 322327 URL: https://svnweb.freebsd.org/changeset/base/322327 Log: Add a dependency on the kernel package for the runtime package. The idea here is that, provided upstream pkg(8) maintainers accept the proposed change, the kernel.ucl will contain a post-install script causing pkg(8) to emit a message informing to reboot the system after the kernel is upgraded using 'pkg upgrade', so the new userland is installed on the running new kernel. At present, this functionality does not exist in pkg(8), but will help ensure the upgrade path follows that from UPDATING. To work around this for now, evaluate ASSUME_ALWAYS_YES, and prompt the user if they wish to proceed if not set to true. Since there is a kernel dependency, and a non-GENERIC kernel may be in use, update Makefile.inc1 to replace '%KERNCONF%' in the runtime.ucl with the first-built kernel set either via command line or in make.conf(5). MFC after: 5 days Sponsored by: The FreeBSD Foundation Modified: head/Makefile.inc1 head/release/packages/kernel.ucl head/release/packages/runtime.ucl Modified: head/Makefile.inc1 ============================================================================== --- head/Makefile.inc1 Wed Aug 9 19:09:23 2017 (r322326) +++ head/Makefile.inc1 Wed Aug 9 19:16:54 2017 (r322327) @@ -1618,7 +1618,10 @@ create-world-package-${pkgname}: .PHONY @awk -F\" ' \ /^name/ { printf("===> Creating %s-", $$2); next } \ /^version/ { print $$2; next } \ - ' ${WSTAGEDIR}/${pkgname}.ucl ; \ + ' ${WSTAGEDIR}/${pkgname}.ucl ; + @if [ "${pkgname}" == "runtime" ]; then \ + sed -i '' -e "s/%KERNCONF%/${INSTALLKERNEL:tl}/" ${WSTAGEDIR}/${pkgname}.ucl ; \ + fi ${PKG_CMD} -o ABI_FILE=${WSTAGEDIR}/bin/sh -o ALLOW_BASE_SHLIBS=yes \ create -M ${WSTAGEDIR}/${pkgname}.ucl \ -p ${WSTAGEDIR}/${pkgname}.plist \ Modified: head/release/packages/kernel.ucl ============================================================================== --- head/release/packages/kernel.ucl Wed Aug 9 19:09:23 2017 (r322326) +++ head/release/packages/kernel.ucl Wed Aug 9 19:16:54 2017 (r322327) @@ -16,6 +16,39 @@ desc = <<EOD %DESC% EOD scripts: { + pre-install = <<EOD + case ${ASSUME_ALWAYS_YES} in + [Yy][Ee][Ss]|[Tt][Rr][Uu][Ee]) + exit 0 + ;; + *) + continue + ;; + esac + echo "****************************************************************" + echo "It is recommended to install the FreeBSD-%PKGNAME% package" + echo "with:" + echo + echo " pkg install FreeBSD-%PKGNAME%" + echo + echo "and rebooting the system into the new kernel before upgrading" + echo "with:" + echo + echo " pkg upgrade" + echo + echo "****************************************************************" + echo + echo "Do you want to continue anyway?" + echo "[Enter] to continue, ^C to cancel." + echo + read ANSWER + case ${ANSWER} in + *) + continue + ;; + esac +EOD + post-install = <<EOD /usr/sbin/kldxref ${PKG_ROOTDIR}/boot/kernel EOD Modified: head/release/packages/runtime.ucl ============================================================================== --- head/release/packages/runtime.ucl Wed Aug 9 19:09:23 2017 (r322326) +++ head/release/packages/runtime.ucl Wed Aug 9 19:16:54 2017 (r322327) @@ -27,6 +27,10 @@ deps: { "FreeBSD-clibs": { origin: "base" version: "%VERSION%" + }, + "FreeBSD-kernel-%KERNCONF%": { + origin: "base" + version: "%VERSION%" } } directories {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201708091916.v79JGsL4057398>