From owner-freebsd-current@FreeBSD.ORG Fri Nov 30 17:47:20 2012 Return-Path: Delivered-To: freebsd-current@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 65384684; Fri, 30 Nov 2012 17:47:20 +0000 (UTC) (envelope-from sjg@juniper.net) Received: from exprod7og127.obsmtp.com (exprod7og127.obsmtp.com [64.18.2.210]) by mx1.freebsd.org (Postfix) with ESMTP id A90A28FC12; Fri, 30 Nov 2012 17:47:19 +0000 (UTC) Received: from P-EMHUB03-HQ.jnpr.net ([66.129.224.36]) (using TLSv1) by exprod7ob127.postini.com ([64.18.6.12]) with SMTP ID DSNKULjxIRpJMuuc0NF2DwDALEqHwx+iH0Sf@postini.com; Fri, 30 Nov 2012 09:47:19 PST Received: from magenta.juniper.net (172.17.27.123) by P-EMHUB03-HQ.jnpr.net (172.24.192.33) with Microsoft SMTP Server (TLS) id 8.3.213.0; Fri, 30 Nov 2012 09:36:57 -0800 Received: from chaos.jnpr.net (chaos.jnpr.net [172.24.29.229]) by magenta.juniper.net (8.11.3/8.11.3) with ESMTP id qAUHau306838; Fri, 30 Nov 2012 09:36:56 -0800 (PST) (envelope-from sjg@juniper.net) Received: from chaos.jnpr.net (localhost [127.0.0.1]) by chaos.jnpr.net (Postfix) with ESMTP id 9A9BE58094; Fri, 30 Nov 2012 09:36:56 -0800 (PST) To: Ian Lepore Subject: Re: Is cross-world building broken? In-Reply-To: <1354288503.69940.410.camel@revolution.hippie.lan> References: <6961B0D9-F823-415C-A105-7DAC8339CB30@gmail.com> <3EB9F7EB-D9C8-40CB-BF28-21B7BE59C94C@gmail.com> <20121128071252.7AC1958094@chaos.jnpr.net> <20121128231538.8AB6758094@chaos.jnpr.net> <20121129000106.540ED58094@chaos.jnpr.net> <1354288503.69940.410.camel@revolution.hippie.lan> Comments: In-reply-to: Ian Lepore message dated "Fri, 30 Nov 2012 08:15:03 -0700." From: "Simon J. Gerraty" X-Mailer: MH-E 7.82+cvs; nmh 1.3; GNU Emacs 22.3.1 Date: Fri, 30 Nov 2012 09:36:56 -0800 Message-ID: <20121130173656.9A9BE58094@chaos.jnpr.net> MIME-Version: 1.0 Content-Type: text/plain X-Mailman-Approved-At: Fri, 30 Nov 2012 18:15:35 +0000 Cc: Garrett Cooper , Andrew Turner , Adrian Chadd , FreeBSD Current , sjg@juniper.net X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Discussions about the use of FreeBSD-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 30 Nov 2012 17:47:20 -0000 On Fri, 30 Nov 2012 08:15:03 -0700, Ian Lepore writes: >So when did this break, and why can't it be fixed? I've been using Sorry I missed the begining of this thread, is anything broken? >Also, how about "make DESTDIR=foo buildkernel installkernel" which is >something I've been doing for years, you're saying that now that won't >work because DESTDIR will be there during the build part? It will be set - but that doesn't mean it would have any effect/impact. Oh and contrary to what I told Adrian earlier, buildworld's manipulation of DESTDIR would generally be unaffected, because the makefiles do not actually attempt to set it (vs simply passing a new value to a submake). An demo might help. In the following BINDIR is affected by a value set in either environment or on commandline LIBDIR is only affected by a value set on commandline The DESTDIR seen by install run by child is unaffected by anything, even though the values for LIBDIR and BINDIR are. --------------------8<-------------------- BINDIR?= /bin LIBDIR= /lib all: install child install: @echo DESTDIR=${DESTDIR} @echo install stuff to ${DESTDIR}${BINDIR} @echo install stuff to ${DESTDIR}${LIBDIR} child: ${MAKE} -f ${MAKEFILE} DESTDIR=/tmp/childest install demo: all envset cmdset envset: BINDIR=/sbin LIBDIR=/usr/lib DESTDIR=$@ ${MAKE} -f ${MAKEFILE} cmdset: ${MAKE} -f ${MAKEFILE} BINDIR=/sbin LIBDIR=/usr/lib DESTDIR=$@ --------------------8<-------------------- $ make -r -f /homes/sjg/make-tests/destdir demo DESTDIR= install stuff to /bin install stuff to /lib make -f /homes/sjg/make-tests/destdir DESTDIR=/tmp/childest install DESTDIR=/tmp/childest install stuff to /tmp/childest/bin install stuff to /tmp/childest/lib BINDIR=/sbin LIBDIR=/usr/lib DESTDIR=envset make -f /homes/sjg/make-tests/destdir DESTDIR=envset install stuff to envset/sbin install stuff to envset/lib make -f /homes/sjg/make-tests/destdir DESTDIR=/tmp/childest install DESTDIR=/tmp/childest install stuff to /tmp/childest/sbin install stuff to /tmp/childest/lib make -f /homes/sjg/make-tests/destdir BINDIR=/sbin LIBDIR=/usr/lib DESTDIR=cmdset DESTDIR=cmdset install stuff to cmdset/sbin install stuff to cmdset/usr/lib make -f /homes/sjg/make-tests/destdir DESTDIR=/tmp/childest install DESTDIR=/tmp/childest install stuff to /tmp/childest/sbin install stuff to /tmp/childest/lib $