From owner-freebsd-stable@freebsd.org Tue Dec 13 17:15:01 2016 Return-Path: Delivered-To: freebsd-stable@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id B0202C76106 for ; Tue, 13 Dec 2016 17:15:01 +0000 (UTC) (envelope-from ian@freebsd.org) Received: from pmta2.delivery6.ore.mailhop.org (pmta2.delivery6.ore.mailhop.org [54.200.129.228]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 943D01FC4 for ; Tue, 13 Dec 2016 17:15:01 +0000 (UTC) (envelope-from ian@freebsd.org) X-MHO-User: 80782cde-c157-11e6-9ec7-5d8fa496b077 X-Report-Abuse-To: https://support.duocircle.com/support/solutions/articles/5000540958-duocircle-standard-smtp-abuse-information X-Originating-IP: 73.78.92.27 X-Mail-Handler: DuoCircle Outbound SMTP Received: from ilsoft.org (unknown [73.78.92.27]) by outbound2.ore.mailhop.org (Halon) with ESMTPSA id 80782cde-c157-11e6-9ec7-5d8fa496b077; Tue, 13 Dec 2016 17:13:44 +0000 (UTC) Received: from rev (rev [172.22.42.240]) by ilsoft.org (8.15.2/8.15.2) with ESMTP id uBDHDrMO001473; Tue, 13 Dec 2016 10:13:53 -0700 (MST) (envelope-from ian@freebsd.org) Message-ID: <1481649233.1889.337.camel@freebsd.org> Subject: Re: make buildkernel does not respect KERNCONF or JOBS in /etc/make.conf From: Ian Lepore To: tech-lists , freebsd-stable@freebsd.org Date: Tue, 13 Dec 2016 10:13:53 -0700 In-Reply-To: <8f66557b-cf51-f140-eb49-03e806fb73ca@zyxst.net> References: <127a9164-9ad2-47c4-9ec4-e9f59cbe94f2@zyxst.net> <8637hu76pm.wl-herbert@mailbox.org> <86shpspvgx.wl-herbert@mailbox.org> <8f66557b-cf51-f140-eb49-03e806fb73ca@zyxst.net> Content-Type: text/plain; charset="ISO-8859-1" X-Mailer: Evolution 3.18.5.1 FreeBSD GNOME Team Port Mime-Version: 1.0 Content-Transfer-Encoding: 8bit X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Dec 2016 17:15:01 -0000 On Tue, 2016-12-13 at 10:00 +0000, tech-lists wrote: > On 12/12/2016 23:40, Herbert J. Skuhra wrote: > > > > PORTS_MODULES does not work if KERNCONF contains multiple kernels: > > > > The problem is obviously in /usr/src/sys/conf/kern.post.mk (line > > 66): > > > > WRKDIRPREFIX?=  ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF} > hmm! I didn't know that. > > I can't confirm exactly when the old way stopped working and when I  > started defining modules in src.conf. > > If I wanted to install a known, good kernel as /boot/workingkernel > with  > all of its modules, so that I can avoid kernel.old being a bad > kernel  > and kernel being non-bootable, how would I go about doing it? > > many thanks, > I think the problem might have started with some changes to the kernel build infrastructure that result in reading make.conf and/or src.conf when they didn't used to, so now KERNCONF with multiple entries is defined differently in kern.post.mk than it used to be. I wonder if this patch might fix it (I'm not in a position to test it myself right now -- this is purely a shot in the dark)... iIndex: sys/conf/kern.post.mk =================================================================== --- sys/conf/kern.post.mk (revision 302505) +++ sys/conf/kern.post.mk (working copy) @@ -63,7 +63,7 @@ OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_v       ${MAKEOBJDIRPREFIX}${SRC_BASE}/include/osreldate.h  .endif  # Keep the related ports builds in the obj directory so that they are only rebuilt once per kernel build -WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${KERNCONF} +WRKDIRPREFIX?= ${MAKEOBJDIRPREFIX}${SRC_BASE}/sys/${.OBJDIR}  PORTSMODULESENV=\   PATH=${PATH}:${LOCALBASE}/bin:${LOCALBASE}/sbin \   SRC_BASE=${SRC_BASE} \ -- Ian