Subject: Re: build.sh '-u' behavior problematic with new installs
To: David Laight <david@l8s.co.uk>
From: Greg Troxel <gdt@ir.bbn.com>
List: netbsd-users
Date: 09/25/2003 11:35:21
> > The problem was that /usr/include/net/pfkeyv2.h was not installed, not
> > that anything wasn't built.
> 
> I realised that just after I'd sent the previous comment :-(
> Actually you need to build with DESTDIR != / and then copy everything
> that got built from DESTDIR to /.  I use a rather nasty shell script
> that parses METALOG to find out what has been built recently.

I do that, and then when that build works, I run another without the
-D.  Because all the actual binaries are new (from the first build)
relative to the fs, there are no problems with them.  So I copied
/usr/share/mk and /usr/include.

Probably I should simply run with -u, and set NOCLEANDIR separately.

> > Reflecting on all the comments, I favor changing the conditional
> > install to install if timestamps differ or if content differs.
> > But, it isn't clear that this is worth the effort.
> 
> Does it even work?  IIRC install strips binaries.

Good point.  But, install sets the mtime of the installed file to
match the 'source'.  So perhaps a check for identical modtimes would
be a good answer.  As I understand it, -u is only supposed to avoid
unnecessary work, and that will be generally the situation of running
a build a few days after another one.