From owner-freebsd-hackers@FreeBSD.ORG Tue Aug 16 12:37:33 2011 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id EE983106564A for ; Tue, 16 Aug 2011 12:37:33 +0000 (UTC) (envelope-from mattblists@icritical.com) Received: from mail1.icritical.com (mail1.icritical.com [93.95.13.41]) by mx1.freebsd.org (Postfix) with SMTP id 4D79E8FC14 for ; Tue, 16 Aug 2011 12:37:32 +0000 (UTC) Received: (qmail 31396 invoked from network); 16 Aug 2011 12:10:50 -0000 Received: from localhost (127.0.0.1) by mail1.icritical.com with SMTP; 16 Aug 2011 12:10:50 -0000 Received: (qmail 31388 invoked by uid 599); 16 Aug 2011 12:10:50 -0000 Received: from unknown (HELO icritical.com) (212.57.254.146) by mail1.icritical.com (qpsmtpd/0.28) with ESMTP; Tue, 16 Aug 2011 13:10:50 +0100 Message-ID: <4E4A5DFC.7010807@icritical.com> Date: Tue, 16 Aug 2011 13:09:32 +0100 From: Matt Burke User-Agent: Mozilla/5.0 (X11; U; FreeBSD amd64; en-US; rv:1.9.2.15) Gecko/20110403 Thunderbird/3.1.9 MIME-Version: 1.0 To: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-OriginalArrivalTime: 16 Aug 2011 12:10:47.0575 (UTC) FILETIME=[882AFA70:01CC5C0D] X-Virus-Scanned: by iCritical at mail1.icritical.com Subject: Alternate source trees X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Aug 2011 12:37:34 -0000 I'm trying to setup a box to do automated FreeBSD builds for other hosts from multiple source trees. I have a couple of source trees mounted - for legibility's sake let's say /build/stable and /build/current. I also have a few obj dirs for different targets. The current obj tree is symlinked to /usr/obj, and this works fine. The problem comes when I symlink /usr/src: when I buildworld, I get /usr/obj/build/current/[...] instead of the desired /usr/obj/usr/src/[...] This is presumably fine when installing on the same machine, but it breaks when using it on another host with /usr/src and /usr/obj mounted over nfs. The only way I can see around this is a hack using a nullfs mount of /usr/src instead of a symlink. Am I missing something? An environment variable perhaps? How does the build process know about the non-symlinked path anyway? I can't see where (or understand why) it uses "pwd -P" Thanks.