Skip site navigation (1)Skip section navigation (2)
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>