couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tristan Sloughter <>
Subject Re: CouchDB OTP
Date Thu, 04 Nov 2010 00:39:57 GMT
I see it was already discussed about breaking CouchDB into apps:

    couch_core: The core Erlang modules for storing docs and managing
"internal infrastructure"
    couch_view: The view engine as well as the holder for managing OS processes.
    couch_rep: couch_rep*.erl
    couch_externals: couch_external*.erl
    couch_httpd: couch_http*.erl

I was going to also start on that after getting the build stable. Now I see
the work of deciding what goes where was already done :).

This is great. I hope my work on this can be helpful for the move in 1.1.x
you guys want to make.


On Wed, Nov 3, 2010 at 7:33 PM, Tristan Sloughter <> wrote:

> Hmm, ok. I have replaced the build system. I am using sinan but it should
> be buildable now with any Erlang/OTP build tool, like rebar. I am just
> running it as a release from a script that erl-execs the boot file.
> What complex stuff is the build system dealing with? I'm separating the
> config file (and similar files) problem and the icu and couch_js problem. I
> was hoping building those few C files wouldn't be bad, but I guess that is
> not true from what you are saying?
> I'd still say it should be autotools, or whatever, inside an Erlang build
> system.
> Tristan
> On Wed, Nov 3, 2010 at 7:28 PM, Noah Slater <> wrote:
>> Have you wholesale replaced the existing build system?
>> If you have, it's going to be a tad more complex than knocking up a few
>> makefiles to compile C. There's lots of very complex stuff our build system
>> copes with at the moment. I'm not convinced it can be replaced by an Erlang
>> build system and a few shell scripts. We've had chats about improving the
>> build system before, and I think the consensus is that we wrap an Erlang
>> build system WITHIN the Autotools system.
>> What are you thoughts?
>> On 4 Nov 2010, at 00:04, Tristan Sloughter wrote:
>> > If anyone by chance has or can easily create some simplistic make files
>> or
>> > something for compiling the C code that would be AWESOME. I haven't had
>> time
>> > to dig around what is needed to compile the different pieces but its the
>> > last major piece to complete.
>> >
>> > Tristan
>> >
>> > On Wed, Nov 3, 2010 at 10:52 AM, Tristan Sloughter <
>> >> wrote:
>> >
>> >> Hi everyone, I have a github fork from apache/couchdb
>> >> that I modified to be more OTP
>> >> compliant and now builds with sinan (from There
>> >> wasn't much that I've done so far. I moved the CouchDB app under
>> >> lib/couchdb. I removed the other apps from the source tree, they can
>> easily
>> >> be installed with faxien (from and versions can be
>> >> declared if necessary. I changed the _app.erl file to not start
>> applications
>> >> and added those applications instead to the applications list in the
>> .app
>> >> file. They will be started properly by the release's boot script.
>> >>
>> >> I moved all non-Erlang stuff to lib/couchdb/priv.
>> >>
>> >> I still have a number of things to do that I hope to get to tonight.
>> First,
>> >> fix up the two scripts under bin/. Fix the configuration file locations
>> >> (some stuff is hardcoded for my environment). Add a hook to sinan to
>> compile
>> >> the icu driver -- right now I just copied the library over from a build
>> of
>> >> CouchDB I did separately.
>> >>
>> >> There are probably a few other things.. But I was able to do an
>> >> application:start(couchdb) last night and see it working :).
>> >>
>> >> There were a few things I thought of changing within the code as I dug
>> >> around but those are a separate issue that I'll bring up in discussion
>> after
>> >> all this is complete.
>> >>
>> >> Tristan
>> >>

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message