This tarball includes a script and a patch to update the CouchDB source tree fairly extensively. Among the important bits:
The root directory now follows the: "src, ebin, priv, include" structure. The dependencies are pushed into a deps directory and each dependency gets the "src/ebin/include" treatement.
the main CouchDB source directory has been split into a handful of directories to start organizing the modules by related functionality. This pattern is copied from the monaco application in the stdlib.
couchspawnkillable and couchjs are now in priv/bin. couchjs still gets its /usr/local/bin script.
couch_erl_driver is in priv/lib where it should be. I think we should be able to even remove the paths when loading this, but again I'd want to double check on whether someone might have a reason for installing this elsewhere.
I started building beam files with a call to make:all() within Erlang. This actually builds stuff quite a bit faster and so far is pretty useful. That said it kind of doesn't fit into the Autotools process because it never rebuilds beam files on change because the call is never triggered because I couldn't figure out how to add the proper dependency.
Also, there's a weirdness in that I symlink deps/couch to the root directory so that ./utils/run can work with ERL_LIBS instead of four specifications of -pa.
Anyway, this is an initial layout.