tech-toolchain archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: updating a piece of the running system from build.sh is too hard



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



Home | Main Index | Thread Index | Old Index