On 5/06/2010, at 8:14 PM, Marc Espie wrote: > On Sat, Jun 05, 2010 at 06:48:18PM +1200, Richard Toohey wrote: >> But I don't understand what he's doing differently to me. A new release is >> out, you want to upgrade from the previous release to the new one, and >> then you want to apply the errata patches. > > Look, there are several flaws to the way make works. > > Those flaws are *totally integral* to the way make works. > > In most cases, you get lucky, sometimes you don't. > > Basically, the flaw is that make needs a list of dependencies to work. > It can either be hardcoded in makefiles, or regenerated through .depend. > > For anything but the most trivial projects, it is regenerated dynamically > through "make depend". But if that information changes too much > (especially when files get removed), then it fails. > > It fails HARD. > > As in, you get a make error because it can no longer find a dependency it > used to find. > > If you're even less lucky, it fails silently. As in, it forgets to register > a dependency/recompile a file even though things have changed. > > Make doesn't know about every dependency. Especially tweaks to compile flags, > changes in defines, too deep changes don't get noticed. > > Oh yeah, you *could* add more meta-junk that says that whenever you change > THAT file, then you have to recompile this and this. More often than not, > GNU-hell projects (as known as autoshit, as known as automake/autoconf/libtool) > err in the other direction. So you make a wee little tweak to a file in there, > and suddenly, it recompiles the WHOLE WORLD. And assumes you have every > crappy development tool the FSF ever shat on the world. Very offensive if > you ask me (that's the whole point of the REORDER_DEPENDENCIES in ports land, > btw. This allows up to sneak out of that problem every time we do a small > patch to a Makefile.in in GNUlalaland). > > > It's all about process. You got a process you can follow to rebuild OpenBSD. > Follow it to the letter. If you take shortcuts, you will get bitten > eventually. > > If you're smart enough, you will recover. But it is complicated. > > > Hint: if the guy who's actually in charge of the OS, and the guy who's > actually maintaining make are BOTH telling you it's complicated, then it > probably is. Do you think you're smarter than Theo and I combined ? > Go ahead, prove us wrong... > No way!!! I certainly wasn't saying it wasn't complicated, or that I had a better way, it was more that I thought I *was* following the right process.
I appreciate OpenBSD and all the work you guys do. Especially taking the time to explain - the cluesticks have been applied (just leave off with the thumbscrews, please.) I got into a pattern of clear src, get new src from CD, apply patch, follow *literal* patch instructions (without thinking/reading about the patch *context*, or how I might actually need to do a little more work.) Apart from RTFMing, we learn from mistakes, and this has been one of mine. Thanks.