I want to second BillW's suggestion. A few years ago I had a situation where a vendor had written code for us and given us the source, but when we needed to build it, he couldn't remember exactly which version of the toolchain he used (this was VHDL). There was a bug where it would only function properly when compiled with exactly a certain toolset - some optimization difference on other versions was breaking something in the logic. Of course, this meant that something was structured in a very fragile way and needed to be fixed, but it would have helped immensely to be able to at least replicate the binary file from the source to make sure that we were indeed starting with the correct source. To make matters worse, the toolset downloaded periodic updates and its exact state could not be captured by a single version number. You had to also know the version numbers of all the subcomponents. It would have been so much better if a history of all of the upgrades which were applied was kept, which could have been done easily because each update was a self-extracting file which had to be manually run. These files could have been checked in along with the source to keep source+binaries+toolset versioned. Sean On Fri, Mar 4, 2011 at 7:51 PM, William "Chops" Westfield wrote: > > On Mar 4, 2011, at 4:55 AM, Isaac Marino Bavaresco wrote: > >> The repository must contain *everything* necessary to build the final >> product, except the build tools themselves. > > That "except the build tools themselves" is a huge hole in your > philosophy, and a big part of what I was talking about. =A0Our "tools" > binary directory contains over 4000 items (including things like > versioned copies of the C compiler for several targets and several > versions.) (and SCV software sucks at binary files.) =A0God help you if > your makefile uses some feature that you thought was a standard part > of some /usr/bin utility that "the community" decides Must Be Changed. > > You can get an unpleasant glimpse of some of the issues if you try to > install open source software of any complexity from the linux > community on a (theoretically) slightly different unix system like a > Mac, FreeBSD, or netBSD system... > > BillW > > -- > http://www.piclist.com PIC/SX FAQ & list archive > View/change your membership options at > http://mailman.mit.edu/mailman/listinfo/piclist > --=20 http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist .