couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Alexander Chekmarev <>
Subject proposal draft
Date Thu, 02 Apr 2009 17:54:35 GMT
This is my proposal draft. It would be nice if you read it and help to write
more correct one.

Apache CouchDB Windows distribution
Complete Windows support by Couch DB.
Adaptation of current POSIX-compliant build system for Windows environment.
Managing installation of packages on which Couch DB depends(e.g. erlang,
icu, openssl, &c.)
Script turning trunk and releases to a binary distribution.
Modifying platform-dependent sources.
Generating the Couch DB configuration files based on installation

*Title/Summary: Apache CouchDB Windows distribution

*Student: Chekmarev Alexander

*Student e-mail: chekmarev.alex at

*Student Major: Informational technologies and programming *

*Student Degree: Undergraduate B.D.

*Student Graduation: 3rd year of Computer Science Faculty, Voronezh State
University, Russia*.

*Organization:  Apache Software Foundation

*Assigned Mentor: Jan Lehnardt, Noah Slater*

*Abstract: Full fledged windows support. Adaptation of configuration and
compilation process from UNIX native tools to Windows environment. Couch DB
dependencies management and installing it if necessary. Updating
configuration files as required for new Couch living environment. Script
that would generate a binary distribution from the trunk. Changing windows
incompatible parts of code where it presented.

*Detailed Description: Many parts of Couch DB are platform-independent, such
as Erlang language, Mozilla Spidermonkey JS Engine. But others have to be
modified accordingly to system running on. Current build system created for
UNIX-like systems and successfully runs on them. Since, Windows systems have
not POSIX-compliant structure, we would have to use libraries allowing to
call standart POSIX functions, such as Cygwin. Some components of Couch DB
initially developed on Linux and its work on Windows with Cygwin recommended
by its developers, e.g. OpenSSL. Configuration *.ini files for CouchDB
contains paths and parameters by default, it would be changed to Windows
paths, since installation be running on, and all application components
should properly use this. Because of Windows environment supports batch
files as native script files, main script will be implemented as a batch
file producing installation script. Installation script then would be
compiled and compressed into an executable.

*Known problem is versioning support, since Couch DB is actively developing
there is reasonably need in versioning support. When updating from trunk,
the new code can contain using some new features of components which should
be downloaded (automatically - is better). There also need to generate
links, place it in common menus and destkop. And eventually compile all the
components and CouchDB itself in package that can be redistributed on WIn32

*Additional Information:*

*Compiling from scratch to distibution tool.

*Graphical installator distributive containing all needed components to get
Couch working on a user platform.*

Updating components accordingly to sources updating or versioning support,
at least(which means disagree install system if a distribution/ or its part
is out of date).

Documentation on installing(wiki pages also, probably, after all other work
is done)



  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message