Return-Path: X-Original-To: apmail-couchdb-dev-archive@www.apache.org Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E7675975F for ; Sat, 5 Nov 2011 00:06:44 +0000 (UTC) Received: (qmail 69082 invoked by uid 500); 5 Nov 2011 00:06:44 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 69040 invoked by uid 500); 5 Nov 2011 00:06:44 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 69032 invoked by uid 99); 5 Nov 2011 00:06:44 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Nov 2011 00:06:44 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of bchesneau@gmail.com designates 209.85.215.180 as permitted sender) Received: from [209.85.215.180] (HELO mail-ey0-f180.google.com) (209.85.215.180) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 05 Nov 2011 00:06:39 +0000 Received: by eyg5 with SMTP id 5so3257719eyg.11 for ; Fri, 04 Nov 2011 17:06:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type; bh=SHIjpmwEVQdzk1NHmpA+5i4mXwshXgA2GjQ3KLI5nF8=; b=YT/2xJQjVlcYv1TTpiO2s7XRy1Ph8KpVcsmEcYksRB4pGYlm8X2xCcUcdNkz1rPJDH ws8U992wE+F/2xejm4bnUF20hREZWG+NlDJa6ekRlk/ekhCZ+t2V4h/h8but0f5ecBXa sHenUlmNFRZLK/zAkiQ4kaxlMczrdBn1fHZDw= MIME-Version: 1.0 Received: by 10.14.5.137 with SMTP id 9mr1588866eel.222.1320451578220; Fri, 04 Nov 2011 17:06:18 -0700 (PDT) Received: by 10.14.37.193 with HTTP; Fri, 4 Nov 2011 17:06:18 -0700 (PDT) In-Reply-To: References: <785FABDB-2EF0-409A-A6C5-E9C8D498241B@apache.org> Date: Sat, 5 Nov 2011 01:06:18 +0100 Message-ID: Subject: Re: Binary Downloads From: Benoit Chesneau To: dev@couchdb.apache.org Content-Type: text/plain; charset=ISO-8859-1 On Fri, Nov 4, 2011 at 1:52 AM, Jason Smith wrote: > On Thu, Nov 3, 2011 at 11:08 PM, Benoit Chesneau 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