Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files. =================================================================== RCS file: /ftp/cvs/cvsroot/src/build.sh,v rcsdiff: /ftp/cvs/cvsroot/src/build.sh,v: warning: Unknown phrases like `commitid ...;' are present. retrieving revision 1.104 retrieving revision 1.105 diff -u -p -r1.104 -r1.105 --- src/build.sh 2003/05/18 10:57:11 1.104 +++ src/build.sh 2003/05/25 12:34:27 1.105 @@ -1,5 +1,5 @@ #! /usr/bin/env sh -# $NetBSD: build.sh,v 1.104 2003/05/18 10:57:11 lukem Exp $ +# $NetBSD: build.sh,v 1.105 2003/05/25 12:34:27 lukem Exp $ # # Copyright (c) 2001-2003 The NetBSD Foundation, Inc. # All rights reserved. @@ -127,6 +127,7 @@ initdefaults() do_distribution=false do_release=false do_kernel=false + do_releasekernel=false do_install=false do_sets=false do_sourcesets=false @@ -342,9 +343,10 @@ Usage: ${progname} [-EnorUu] [-a arch] [ (Always done) obj Run "make obj" (default unless -o is used) tools Build and install tools - kernel=conf Build kernel with config file \`conf' install=idir Run "make installworld" to \`idir' (useful after 'distribution' or 'release') + kernel=conf Build kernel with config file \`conf' + releasekernel=conf Install kernel built by kernel=conf to RELEASEDIR sets Create binary sets in RELEASEDIR/MACHINE/binary/sets sourcesets Create source sets in RELEASEDIR/source/sets @@ -562,11 +564,11 @@ parseoptions() makewrapper|obj|tools|build|distribution|release|sets|sourcesets) ;; - kernel=*) + kernel=*|releasekernel=*) arg=${op#*=} op=${op%%=*} [ -n "${arg}" ] || - bomb "Must supply a kernel name with \`kernel=...'" + bomb "Must supply a kernel name with \`${op}=...'" ;; install=*) @@ -683,24 +685,24 @@ validatemakeparams() ${runcmd} mkdir -p "${makeobjdir}" fi - statusmsg "MACHINE: ${MACHINE}" - statusmsg "MACHINE_ARCH: ${MACHINE_ARCH}" + statusmsg "MACHINE: ${MACHINE}" + statusmsg "MACHINE_ARCH: ${MACHINE_ARCH}" # Find TOOLDIR, DESTDIR, and RELEASEDIR. # TOOLDIR=$(getmakevar TOOLDIR) - statusmsg "TOOLDIR path: ${TOOLDIR}" + statusmsg "TOOLDIR path: ${TOOLDIR}" DESTDIR=$(getmakevar DESTDIR) RELEASEDIR=$(getmakevar RELEASEDIR) if ! $do_expertmode; then - _SRCTOPOBJ_=$(getmakevar _SRC_TOP_OBJ_) - : ${DESTDIR:=${_SRCTOPOBJ_}/destdir.${MACHINE}} - : ${RELEASEDIR:=${_SRCTOPOBJ_}/releasedir} + _SRC_TOP_OBJ_=$(getmakevar _SRC_TOP_OBJ_) + : ${DESTDIR:=${_SRC_TOP_OBJ_}/destdir.${MACHINE}} + : ${RELEASEDIR:=${_SRC_TOP_OBJ_}/releasedir} makeenv="${makeenv} DESTDIR RELEASEDIR" fi export TOOLDIR DESTDIR RELEASEDIR - statusmsg "DESTDIR path: ${DESTDIR}" - statusmsg "RELEASEDIR path: ${RELEASEDIR}" + statusmsg "DESTDIR path: ${DESTDIR}" + statusmsg "RELEASEDIR path: ${RELEASEDIR}" # Check validity of TOOLDIR and DESTDIR. # @@ -735,6 +737,9 @@ validatemakeparams() bomb "-U or -E must be set for build as an unprivileged user." fi fi + if ${do_releasekernel} && [ -z "${RELEASEDIR}" ]; then + bomb "Must set RELEASEDIR with \`releasekernel=...'" + fi } @@ -783,7 +788,7 @@ createmakewrapper() eval cat < "${releasekern}" + done +} + installworld() { dir="$1" @@ -932,6 +960,11 @@ main() buildkernel "${arg}" ;; + releasekernel=*) + arg=${op#*=} + releasekernel "${arg}" + ;; + install=*) arg=${op#*=} if [ "${arg}" = "/" ] && \