Yesterday, I checked out all of the current source for Haiku and the kernel did not successfully build. I just wanted to be able to create a kernel image and run it in Bochs before digging into the code more. I understand that there is a precompiled set of binaries out there that I could just extract and it contains a kernel that I could run to just see what I was interested in for the first step. But, in general, after a subsystem has gotten to the point of passing an initial basic unit test (e.g., basic unit test that nothing is broken to the point where you can no longer generate a binary library or executable), shouldn’t that be a precondition before checking in any modified source?
To put it another way, is there a way in CVS for the maintainers of each kit to be able to create development version snapshots that are at least guaranteed to compile with the noted exception that any changes past that freeze are not necessarily going to compile? That is, if I check out a source “snapshot”, the kit will at least compile but if I check out “current”, all bets are off.
How does the Linux development effort, all of the large GNU projects, etc. handle a distributed development life and at least have current builds able to pass a simple compilation phase more times than not?
Even though I know nothing of the Haiku from an internal perspective yet, shouldn’t it be easy for any new developer to pull down the source and, at a minimum, request from CVS the exact version of sources that built the binaries from the one available in the download section?