Date: Thu, 27 Apr 2000 11:48:52 +0200 From: Sheldon Hearn <sheldonh@uunet.co.za> To: freebsd-alpha@FreeBSD.org Subject: CURRENT testers wanted Message-ID: <82296.956828932@axl.ops.uunet.co.za>
next in thread | raw e-mail | index | archive | help
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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?82296.956828932>
