From owner-freebsd-alpha Thu Apr 27 2:49: 2 2000 Delivered-To: freebsd-alpha@freebsd.org Received: from axl.ops.uunet.co.za (axl.ops.uunet.co.za [196.31.1.175]) by hub.freebsd.org (Postfix) with ESMTP id 84F3037B51F for ; Thu, 27 Apr 2000 02:48:55 -0700 (PDT) (envelope-from sheldonh@axl.ops.uunet.co.za) Received: from sheldonh (helo=axl.ops.uunet.co.za) by axl.ops.uunet.co.za with local-esmtp (Exim 3.13 #1) id 12kkui-000LPN-00 for freebsd-alpha@FreeBSD.org; Thu, 27 Apr 2000 11:48:52 +0200 From: Sheldon Hearn To: freebsd-alpha@FreeBSD.org Subject: CURRENT testers wanted Date: Thu, 27 Apr 2000 11:48:52 +0200 Message-ID: <82296.956828932@axl.ops.uunet.co.za> Sender: owner-freebsd-alpha@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org Hi folks, I have a patch associated with PR 17698 which I'd like to commit. It allows multiple kernels to be installed with the installkernel target and saves a few keystrokes. Given the following in /etc/make.conf: KERNEL= AXL AXLOPT GENERIC the installkernel target would install: AXL -> /kernel AXLOPT -> /kernel.AXLOPT GENERIC -> /kernel.GENERIC I've tested it thoroughly on the i386. I've also tested it on beast and it works. However, the only feedback I've had since my post to -hackers several weeks ago was that the patch broke the installkernel target. So now I have my own experience of it working, and the experience of one other person for whom it doesn't work. I can't reproduce the problem he saw at all. I'd really like some feedback on whether this works. Thanks, Sheldon. Index: Makefile.inc1 =================================================================== RCS file: /home/ncvs/src/Makefile.inc1,v retrieving revision 1.145 diff -u -d -r1.145 Makefile.inc1 --- Makefile.inc1 2000/04/27 09:20:18 1.145 +++ Makefile.inc1 2000/04/27 09:46:38 @@ -339,6 +339,7 @@ # properly. KERNEL?= GENERIC GENERIC98 +DESTKERNEL?= kernel # The only exotic MACHINE_ARCH/MACHINE combination valid at this # time is i386/pc98. In all other cases set MACHINE equal to @@ -357,11 +358,14 @@ BUILDKERNELS= INSTALLKERNEL= +INSTALLKERNELS= .for _kernel in ${KERNEL} .if exists(${KRNLCONFDIR}/${_kernel}) BUILDKERNELS+= ${_kernel} .if empty(INSTALLKERNEL) INSTALLKERNEL= ${_kernel} +.else +INSTALLKERNELS+= ${_kernel} .endif .endif .endfor @@ -393,12 +397,25 @@ # # installkernel # -# Install the kernel defined by INSTALLKERNEL +# Install the kernel(s) defined by INSTALLKERNEL and INSTALLKERNELS # installkernel: + @echo + @echo "--------------------------------------------------------------" + @echo ">>> Installing kernel(s)" + @echo "--------------------------------------------------------------" + @echo "===> ${INSTALLKERNEL} as ${DESTDIR}/${DESTKERNEL}" cd ${KRNLOBJDIR}/${INSTALLKERNEL}; \ ${IMAKEENV} MACHINE=${MACHINE} KERNEL=${INSTALLKERNEL} \ - ${MAKE} install + DESTKERNEL=${DESTKERNEL} ${MAKE} install +.for _kernel in ${INSTALLKERNELS} + @echo "===> ${_kernel} as ${DESTDIR}/${DESTKERNEL}.${_kernel}" + cd ${KRNLOBJDIR}/${_kernel}; \ + ${IMAKEENV} MACHINE=${MACHINE} KERNEL=${_kernel} \ + DESTKERNEL=${DESTKERNEL}.${_kernel} ${MAKE} install +.endfor + + # # update Index: sys/conf/Makefile.alpha =================================================================== RCS file: /home/ncvs/src/sys/conf/Makefile.alpha,v retrieving revision 1.50 diff -u -d -r1.50 Makefile.alpha --- sys/conf/Makefile.alpha 2000/04/08 14:16:56 1.50 +++ sys/conf/Makefile.alpha 2000/04/27 09:46:39 @@ -21,6 +21,7 @@ # Can be overridden by makeoptions or /etc/make.conf KERNEL?= kernel +DESTKERNEL?= ${KERNEL} STD8X16FONT?= iso .if !defined(S) @@ -254,16 +255,16 @@ echo "You must build a kernel first." ; \ exit 1 ; \ fi -.if exists(${DESTDIR}/${KERNEL}) - -chflags noschg ${DESTDIR}/${KERNEL} - mv ${DESTDIR}/${KERNEL} ${DESTDIR}/${KERNEL}.old +.if exists(${DESTDIR}/${DESTKERNEL}) + -chflags noschg ${DESTDIR}/${DESTKERNEL} + mv -f ${DESTDIR}/${DESTKERNEL} ${DESTDIR}/${DESTKERNEL}.old .endif install -c -m 555 -o root -g wheel -fschg \ - ${KERNEL}${.TARGET:S/install//} ${DESTDIR}/${KERNEL} + ${KERNEL}${.TARGET:S/install//} ${DESTDIR}/${DESTKERNEL} reinstall reinstall.debug: install -c -m 555 -o root -g wheel -fschg \ - ${KERNEL}${.TARGET:S/reinstall//} ${DESTDIR}/${KERNEL} + ${KERNEL}${.TARGET:S/reinstall//} ${DESTDIR}/${DESTKERNEL} config.o: ${NORMAL_C} To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-alpha" in the body of the message