couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Adam Kocoloski <>
Subject Re: Using rebar to install couchdb
Date Thu, 14 Oct 2010 23:16:03 GMT
On Oct 14, 2010, at 2:54 PM, Paul Davis wrote:

> On Wed, Oct 13, 2010 at 5:23 PM, Benoit Chesneau <> wrote:
>> In an attempt to start some merging with cloudant I would like to
>> start by using rebar in our install process.
>> Like i see it, we could continue to use autotools to create the
>> rebar.config files and other templates an then rebar for the final
>> build and dependencies management. This changes as noticed by @davisp
>> also imply we make our tree a little more OTP compliant. I would like
>> to start this work asap.
>> Thoughts ?
>> - benoit
> So there's a couple issues at hand here which seem to be motivated by
> the desire to start using tools like rebar.
> Our current source tree is not compliant with some of the basic
> Erlang/OTP conventions. This is both bad technically and socially.
> Technically, it prevents us from easily integrating tools like rebar
> that would help advanced users with things like making Erlang reltools
> packages. Socially, it doesn't reflect well on us to members of the
> Erlang community that may have otherwise become contributors. All
> languages have a standard package layout and Erlang is no different.
> The current CouchDB Erlang app has grown considerably. There's been
> general consensus that we need to start splitting it up into smaller
> applications that encompass specific functionality. There's been a bit
> of effort in this direction, but its such a major change to source
> file location it needs to have a community consensus to really start
> working on seriously.
> I don't think we should focus directly on the issue of integrating
> rebar. It should definitely be a goal, but not at the cost of our
> current situation. Noah Slater has maintained an excellent build
> system for us as is shown by the number of people building CouchDB
> from source and the number of packages available. While I have argued
> with him on numerous occasions about details, I have come to the
> conclusion that it is not possible for him to be wrong. I personally
> attribute this to the fact that he's most likely an advanced robot
> from the future. That said, Noah has voiced concerns to various ideas
> and we should make sure that any of his concerns are fully addressed.
> We should attempt to make sure that any tool support doesn't morph
> into tool requirement. For instance, I think we should make sure that
> its possible to keep compiling CouchDB without rebar and not come to
> rely on it.

It should come as no surprise that I'm a big fan of rebar.  I don't think we should avoid
making it a requirement, because then we still have to do all the grunt work associated with
keeping the pure autotools way of building our OTP applications working.  Oh, and rebar supposedly
does work with 12B-5, if we do still care about that.  Assuming we can get a Windows-compatible
rebar, I see no reason not to require it.

I think Benoit is on the right track here - we keep autotools on top of everything, organizing
the overall build and doing all the Apache-specific stuff.  Rebar handles the low level details
for the OTP apps.

Definitely agree that the work should start in earnest shortly after 1.1.0.  Best,

View raw message