couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Tristan Sloughter <tristan.slough...@gmail.com>
Subject Re: CouchDB OTP
Date Thu, 04 Nov 2010 00:41:04 GMT
P.S. Glad you enjoyed ErlangCamp :). Sucks you didn't make the night events,
they were great. Maybe next time!

On Wed, Nov 3, 2010 at 7:39 PM, Tristan Sloughter <
tristan.sloughter@gmail.com> wrote:

> 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.
>
> Tristan
>
> On Wed, Nov 3, 2010 at 7:33 PM, Tristan Sloughter <
> tristan.sloughter@gmail.com> 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 <nslater@apache.org> 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 <
>>> > tristan.sloughter@gmail.com> wrote:
>>> >
>>> >> Hi everyone, I have a github fork from apache/couchdb
>>> >> https://github.com/tsloughter/couchdb that I modified to be more OTP
>>> >> compliant and now builds with sinan (from http://erlware.org). 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 http://erlware.org) 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
>>> >>
>>>
>>>
>>
>

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