Subject: Re: build.sh '-u' behavior problematic with new installs
To: David Laight <firstname.lastname@example.org>
From: Greg Troxel <email@example.com>
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.