Subject: Re: objdirs and readonly /usr/src
To: NetBSD Current <current-users@NetBSD.org>
From: Valeriy E. Ushakov <uwe@ptc.spbu.ru>
List: current-users
Date: 02/21/2004 17:12:59
On Sat, Feb 21, 2004 at 14:36:22 +0100, Johnny Billquist wrote:
> > What you describe is only one way to use objdirs, that indeed requires
> > write permissions to create obj symlinks in the src tree. But the
> > build process can use a method, that doesn't require obj symlinks at
> > all.
>
> Certainly, there are always ways around this problem. Like I said, there
> is no one right solution to the problem. But the problem he have is
> exactly that the build process tries to create symlinks in his readonly
> /usr/src tree.
Ugh. It does not. bsd.obj.mk has both modes of operation - with obj
symlinks in the src dir, and without those symlinks - and for readonly
src tree you just use the latter.
> And the easiest way (in my opinion) is just to create the darn obj
> symlinks, and then he'll be happy.
The easiest way is not use those symlinks. bsd.obj.mk can do that.
> Your solution, by the way, isn't related to OBJDIR, unless I'm
> totally mistaken, but actually solves the problem by having a union
> fs.
No. The union mount is tangential - there was a bug in FreeBSD null
mount, and the workaround was to use union, I think that bug is fixed
and I just never bothered to change my fstab. That union/null mount
is there to workaround another FreeBSD limitation - a very short
ARG_MAX, that some of gnu makefiles in the NetBSD tree overflow
easily. So I mount the source tree at a shorter path and mount it
*read-only*, while at it. I've been building out of read-only source
tree for several years now.
> OBJDIR just tells *where* the obj symlinks should point. They
> are still created in the /usr/src tree.
Again, I just refer to bsd.README, to the part that documents
bsd.obj.mk. There *is* a mode of operation without symlinks.
You are trying to solve a problem that doesn't exist.
SY, Uwe
--
uwe@ptc.spbu.ru | Zu Grunde kommen
http://www.ptc.spbu.ru/~uwe/ | Ist zu Grunde gehen