couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Benoit Chesneau <bchesn...@gmail.com>
Subject Re: Binary Downloads
Date Sat, 05 Nov 2011 00:06:18 GMT
On Fri, Nov 4, 2011 at 1:52 AM, Jason Smith <jhs@iriscouch.com> wrote:
> On Thu, Nov 3, 2011 at 11:08 PM, Benoit Chesneau <bchesneau@gmail.com> wrote:
>> I'm +1 on the idea to have "official binaries" but I really dislike
>> the idea to have to use build-couchdb for that. Or any system that use
>> rakes, ruby, python .... where we could just use erlang and unix
>> tools. It does the job but it's petty ugly (Jason, no offense,
>> build-couchdb does its job quite well).
>
> Discussing the tooling may be premature and encourage bike shedding.
> (I'll clarify in a subsequent email.)
>
> Benoit: No offense taken. But, FYI, a small technical note: Build
> CouchDB adds build-time dependencies, but no run-time dependencies. To
> run it, all you need is libc (maybe zlib and openssl) shared
> libraries.
>
That's not totally true, since you don't build the things statically
you still need to provide the shared things ... Or I don't see where
you are providing static icu build & couchjs. They are installed in
/opt ....

> Build CouchDB is basically my experience (quickly becoming community
> institutional experience) building for each platform: every gotcha,
> every workaround, that is known. It happens to be "encoded" as Rake,
> but in principle it could be a shell script, emakefile, etc.
>
> Examples of knowledge "encoded" in the Rake "codec":
>
> * The packages each OS needs.
> * When you build on OSX, you have to modify the runtime search path
> with `install_name_tool -change ...`
> * The procedure for building and including GeoCouch
> * In CouchDB prior to 1.2, you don't need to build the os_mon Erlang application
> * On OSX Lion, you must use gcc -O0 because Lion replaced `gcc` with llvm.
>
> etc. So in principle, we could "transcode" this executable knowledge
> for any reason.
>

I agree but that isn't what I proposed ;) What I propose is to make
proper erlang releases using the reltools, and start to implement a
mecanism that would help any packager to customize the build while
letting the apache couchdb project propose binaries. It would also
help us to have automatic testing on different platforms too.

- benoit

Mime
View raw message