couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Noah Slater <nsla...@apache.org>
Subject Re: make couchdb more otpish
Date Tue, 21 Jun 2011 16:38:24 GMT

On 21 Jun 2011, at 17:17, Benoit Chesneau wrote:

> I don't buy this argument. CouchDB is an erlang application. It's true
> that it target different kind of population and not only the
> developer. If we consider that couchdb is an erlang application (and
> it is really) we could just use the tools provided by this environment
> to create release. And reltools are answering to that.

I am sorry to labour the point here, but you are wrong. CouchDB isn't even a proper Erlang
application at the moment. Isn't that what this whole effort is about? Converting it to be
usable as one? I appreciate that some people want to focus on CouchDB qua an Erlang application,
but the whole project is bigger than this. That does not mean that those people are wrong
to focus on that, but we should not let this myopic view of the project start to dictate the
overall build or system integration.

> Building a
> release you handle the filesystem layout depending on the target
> (system or usage), you can also handle crontab files & such. On top of
> that you can put eventually rebar, autotools or any other packaging
> system (like waf, scons, cmake, ...) . Have a look in the overlay
> folder in that github repository I linked for an example.

You are trivialising the effort that goes into integrating CouchDB into a full operating system,
and the work that is required to build a proper packaging and build system which works across
platforms.

>>> Splitting in different
>>> folders just make it harder any build we do (eg we keep forgetting
>>> from time to time to add a file to Makefile.am)
>> 
>> I do not understand this argument.
> 
> In short, current system is complicated.

The current system is complicated because it turns out that integrating an Erlang application
into an operating system in a way that works across many different types of systems is actually
a pretty hard thing to do. Build systems in general are extremely hard to get right. And none
of them work across as many platforms as GNU Autotools. Love it or hate it (and I'm pretty
sure we all hate it) you cannot deny that. You cannot just wish all of these problems away
by saying that it's too complex, so lets switch to something with less features, that works
for less people.

> I know. Things could be a little more easier if we would generate
> PLIST like in BSD world though.

I don't understand what a PLIST is in this context.

> Yes. Again the intention was to make the source code more friendly for
> any erlang devs. Nothing stopyou to put in src/ if you need that and
> i'm not against that.

We are in violent agreement then.

> What you does the current build system with config templates and
> makefiles could also be done with rebar. Nothing stop you to have a
> rebar.config file that will generated from a rebar.config.in template
> on configure step.

I agree. If we can build the Erlang application using Erlang tools, in a way that makes THAT
subcomponent of the project easy and familiar for Erlang developers, I am absolutely behind
this effort. But I want this to sit within Autotools, so that this responsibility is "off-loaded"
to rebar.

>> I do not understand these proposals.
> 
> I can't help on that.

Well, you could explain them some more. :P

>> I have been told many times that CouchDB is very easy to install. So much so, in
fact, that I have prided myself on that achievement. Perhaps, in another thread, you could
expand on this point.
> 
> Well reading mails on the ml, irc, and feedback from users that's not
> entirely true. And we speak about doing distribution for embedded
> world current build isn't really easy to handle.

Of course, we're generally only going to hear from people on the mailing list or IRC if there
has been a problem. Users don't generally post to say what an easy time they had with the
install. "Well done chaps!" But from people's blog posts about it, or in other situations
that are not focused on supporting people running in to issues, I thought that the install
system worked unusually well for this kind of project. If that is no longer the case, then
I am disappointed, and I would love to know how I can help out.

> Have  alook around and you won't see any configure use in different
> forks of couchdb.

Are these forks targeting full operating system integration?


Mime
View raw message