Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 19 Jul 2015 12:02:17 -0700
From:      David Wolfskill <david@catwhisker.org>
To:        current@freebsd.org
Subject:   Re: -current broken when src is on NFS
Message-ID:  <20150719190217.GG1217@albert.catwhisker.org>
In-Reply-To: <1437323496.1334.389.camel@freebsd.org>
References:  <1C5FC434-0646-40E5-83AC-A0DE486D3273@dons.net.au> <1589003792.10086361.1437048709012.JavaMail.zimbra@uoguelph.ca> <D0292F78-AE59-4E02-B24F-420129832A47@dons.net.au> <DDD4254F-FD46-4155-8644-2F274AE9AE16@kientzle.com> <BCA54145-46C0-4976-A530-5CCF8B4CAC56@dons.net.au> <6668.1437240399@chaos> <1437323496.1334.389.camel@freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--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--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150719190217.GG1217>