From owner-freebsd-current@freebsd.org Sun Jul 19 19:02:19 2015 Return-Path: Delivered-To: freebsd-current@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 315259A6F9A for ; Sun, 19 Jul 2015 19:02:19 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from mailman.ysv.freebsd.org (mailman.ysv.freebsd.org [IPv6:2001:1900:2254:206a::50:5]) by mx1.freebsd.org (Postfix) with ESMTP id 137131CA6 for ; Sun, 19 Jul 2015 19:02:19 +0000 (UTC) (envelope-from david@catwhisker.org) Received: by mailman.ysv.freebsd.org (Postfix) id 127579A6F99; Sun, 19 Jul 2015 19:02:19 +0000 (UTC) Delivered-To: current@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 11F849A6F98 for ; Sun, 19 Jul 2015 19:02:19 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (mx.catwhisker.org [198.144.209.73]) (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 BDF3A1CA5 for ; Sun, 19 Jul 2015 19:02:18 +0000 (UTC) (envelope-from david@catwhisker.org) Received: from albert.catwhisker.org (localhost [127.0.0.1]) by albert.catwhisker.org (8.15.2/8.15.2) with ESMTP id t6JJ2Hn5004253 for ; Sun, 19 Jul 2015 12:02:17 -0700 (PDT) (envelope-from david@albert.catwhisker.org) Received: (from david@localhost) by albert.catwhisker.org (8.15.2/8.15.2/Submit) id t6JJ2HuN004252 for current@freebsd.org; Sun, 19 Jul 2015 12:02:17 -0700 (PDT) (envelope-from david) Date: Sun, 19 Jul 2015 12:02:17 -0700 From: David Wolfskill To: current@freebsd.org Subject: Re: -current broken when src is on NFS Message-ID: <20150719190217.GG1217@albert.catwhisker.org> Mail-Followup-To: David Wolfskill , current@freebsd.org References: <1C5FC434-0646-40E5-83AC-A0DE486D3273@dons.net.au> <1589003792.10086361.1437048709012.JavaMail.zimbra@uoguelph.ca> <6668.1437240399@chaos> <1437323496.1334.389.camel@freebsd.org> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="gvF4niNJ+uBMJnEh" Content-Disposition: inline In-Reply-To: <1437323496.1334.389.camel@freebsd.org> User-Agent: Mutt/1.5.23 (2014-03-12) X-BeenThere: freebsd-current@freebsd.org X-Mailman-Version: 2.1.20 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: Sun, 19 Jul 2015 19:02:19 -0000 --gvF4niNJ+uBMJnEh Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Jul 19, 2015 at 10:31:36AM -0600, Ian Lepore wrote: > .... > I've been following this saga (on irc and here) as much as I have time > for, and I can't escape the feeling that it is the directory structure > at fault somehow, but I can't quite put my finger on it. >=20 > I never (ever) build from /usr/src or use /usr/obj as an object dir > (they're both empty dirs on all my machines). But one thing that is > always true for me is that the source dir and its related object dir are > siblings in the same parent dir. That is, it's always > =20 > /any/path/here > obj/ > src/ Well, as counterpoint.... The systems where I do FreeBSD builds are usually set up (and have been since about 1999) so that: * The sources reside in /usr/src. * The file system layput is such that: + /usr is on a different file system from /, but these reside in partitions 4 and 1 (respectively) of the same slice. + /var is a file system that resides on a partition on slice 4. + swap is on slice 4, partition 2. + /tmp is a swap-backed tmpfs. (Well, the implementation of that has changed over the years -- used to be mfs.) + My home directory resides in a file system on a partition in slice 4 mounted on /common -- along with quite a few other things that do not need to physically be on the same slice that I booted from. + /usr/ports is a symlink to an SVN working copy (was a CVS working directory once upon a time) that's in the same file system as my home directory. + Historically, /usr/local was also a symlink to a hierarchy in that same file system. (I only built ports under stable, but used them under both stable and head.) + /usr/obj is also a symlink to a hierarchy in that same file system (/common) -- I had one for each slice (/common/S{1,2,3,4}). * Each of slices 1, 2, and 3 has a / and a /usr file system (as described above); slice 4 has those, as well as swap, /var, /common, and (often) a few others (e.g., /repo or /bkp). * If I'm merely booting to single-user mode, each of the 4 slices is independent of the others, and I can boot any of them. As soon as I start setting up swap, I become dependent on slice 4 (if I wasn't already booted from it). It is not at all uncommon for me to "clone" one slice to another using a 'dump | restore' pipeline; by having the actual contents of /usr/obj in a separate file system, it is easy to make copying that optional -- and if my intent is to move it (vs. copy), renaming a directory is pretty fast and cheap. > Given that we have (or at least had at one time) some of those magical > "..." paths that cause bmake to search up the hierarchy for its .mk > files, I wonder if an odd relationship between src and obj dir confuses > it, or if it somehow wanders into a wrong src tree while searching? > ... Well, I suspect that if that were an issue, I'd likely have encountered it (while muttering further deprecation against realpath all the while). :-} Peace, david --=20 David H. Wolfskill david@catwhisker.org Those who murder in the name of God or prophet are blasphemous cowards. See http://www.catwhisker.org/~david/publickey.gpg for my public key. --gvF4niNJ+uBMJnEh Content-Type: application/pgp-signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJVq/Q5XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ4RThEMDY4QTIxMjc1MDZFRDIzODYzRTc4 QTY3RjlDOERFRjQxOTNCAAoJEIpn+cje9Bk7o44P/27QlOwVRWW0ALDKJF4/9AZZ mxzYIGTbu7Dpa2/eCnIqlPumyGZMNU/Kasb2mDxhagE8NCY6ktkhqqGMiYnfZM9y hvmRR9gbzUKPPTXMNsfINBvL4cAdkxXuxNRWJ/7cpevuWuLcS6yAvP7XUEdYfBPt uHNlExqEN+nhnhTZcmVxnStm5Y5gUGNuz0W63ukFSk0Se2SBO8eZSZJv3Pvxyohs ENFFiw2DRIaEvZgvXLUY7bT/+9KUwT50MZ4yeC8N2FBXgmeuIxGUEvAgKq8LlUac MknGDTwdMoOEaSYRLYwdEFTXRnMWiVO86w1v4RSHIh3qP40tZf+yNlWBojQLsSSd fgOtcX2GeloU/2U+dl0mkQczX6kAjRCByCAQXl+Trn6L8+sDhfsFM1Lor19mVwUR U0nOWeZtDa3hSkJnxfIfGAYXKh7n7tdEygqkq1zvbyXVghBM8b+ruK+uokrANNfF eHg43o+XVK7NxzB59UNDQiBvVwJOzXuDq0vM+4S769D2TCwLzLZ4VNJXXiejWYkO TegouGxlo1LADMkFfv74j0enA+/ObTCqrpnGU59Bq1FG8MeNldjqa88n5bBqczPA sIUXkcIb9YNMRaAsmNP29CUFvHQ48h2REuiGfR/lBbu5weJ9Y2eCgKyK7ldKIpU7 5/haltoBV2062P45V4Ls =6f1Y -----END PGP SIGNATURE----- --gvF4niNJ+uBMJnEh--