Hi, Jan,
I was thinking lately to join my efforts with the developers community,
but I didn't know from where to start (now, I know). I plan for the
beginning of the next year to buy some hardware on which I will have
different OS's (as my projects require them), so, I will be able to help
you building binaries on the most used platforms (MS Windows, Ubuntu,
Fedora and CentOS for the beginning). That, of course, if you will need
an extra-hand at that time. As for my part, I will do that with or
without making those binaries official because my employer likes CouchDB
and requires it for different projects.
For the moment, I have access to Ubuntu/Linario (gcc 4.5.2, i686),
CentOS 6.0 (gcc 4.4.4, x86_64) and an ancient MS Windows XP
Professional. If I can help you now, just let me know. If yes, I will
need to know for which versions of Erlang/OTP, SpiderMonkey, OpenSSL and
so on would you like me to make the binaries. Also, I will need to know
if to compile them in the standard way (using root privileges) or for a
dedicated user only.
I can also make packages which are platform quasi-independent ("quasi"
because one cannot create a package for all the platforms). Meaning,
isolating and packing all the dependencies reported by ldd and creating
a nutshell to run them. I used this technique to run my simulations on
GRID during my academic period (2-3 years ago). But such packages are
huge. Nevertheless, they can serve the users with not-so-known platforms
and less or no knowledge about system administration.
Best regards,
CGS
On 11/03/2011 12:35 PM, Jan Lehnardt wrote:
Hi all,
I think we should start considering providing binary downloads for our users.
The whole topic is a bit of a mess (see below), so I'd propose to start small.
1. This first iteration are links from couchdb.apache.org that are clearly
marked as "unofficial 3rd party binary downloads" that are not hosted on
ASF infrastructure.
2. Start with popular platforms.
3. Use the build-couchdb* script to create a fully self-contained directory with
CouchDB and all its dependencies in one place that can be rm -rf'd for
uninstalling.
* https://github.com/iriscouch/build-couchdb
The above circumvents several things that I hope we can resolve later, but that
I don't consider blocking us from getting the above started.
A. Official ASF releases. Of course, ideally, we should provide official ASF
binary releases, but I acknowledge that with a small community, we may have
trouble getting votes and testing for all popular platforms together.
The nice thing of the proposal above though is, that we can, at any time
promote an unofficial build to an official one by voting on it and changing
it's label on the downloads page.
B. There's many target platforms our users work with and we can't possibly try
to service them all at once. We can grow this operation as we get volunteers
to help out with each platform.
The nice thing here is that we can help a significant portion of users with
relatively little effort.
C. Using existing package managers. There are many advantages to use official
package managers for system installation and they should in fact be the
preferred way to set up a system, but they tend to be a little bit behind
with current releases.
I'd be super happy to also work with existing package managers to improve
the situation there, but I consider this to be outside of the scope of this
discussion.
What do you think?
Cheers
Jan