der Mouse <mouse%Rodents-Montreal.ORG@localhost> writes: > It seems to me that it would be a serious regression if there weren't > some way to do "build the world as a regular user, then, as root, > install the resulting build over the live system". At present, the Fully agreed. I'm not trying to break that. > install part of this appears to require combining MKUNPRIVED and > DESTDIR=/, and thus would be broken by having DESTDIR=/ force > MKUNPRIVED off. Specifically, here's a quote from (4.0.1's) The partial install part requires DESTDIR="" MKUNPRIVED=no. I was proposing having MKUNPRIVED get forced to no if DESTDIR= "" or "/" only for the 'make install' target, but I didn't really say that.... > /usr/src/BUILDING which illustrates what I mean: > > 2. % ./build.sh -U distribution > > Using unprivileged mode, build a complete distribution to a DESTDIR > directory that build.sh selects (and will display). > > 3. # ./build.sh -U install=/ > > As root, install to / the distribution that was built by example 2. > Even though this is run as root, -U is required so that the permis- > sions stored in DESTDIR/METALOG are correctly applied to the files > as they're copied to /. Sure, that is putting the built distribution bits to / as a whole-system install target. I don't want to change that at all. What I wanted to do is to get the same semantics as the above operation, but for just one dir in the source tree, so that I was installing objects rather than copying destdir or sets. I think why we aren't understanding each other (besides that our build system is very complicated) is that I wanted to force MKUNPRIVED=no for 'make istall DESTDIR=/', and you thought that might break step 3 above, which is I think doing something different (copying from destdir respecting METALOG). Now that I've figured out DESTDIR="" MKUNPRIVED=no, I'm almost content. > Perhaps this desire is already addressed some other way in more recent > build systems, in which case this is a non-issue, but I don't recall > seeing anything to make me think that's so. My normal workflow is run BUILD-NetBSD which just does build.sh (with MKUNPRIVED=yes) run INSTALL-NetBSD which installs the sets built above, and selectively upgrades /etc
Attachment:
pgpgVC4Deyikp.pgp
Description: PGP signature