couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Paul Joseph Davis (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1012) Utility to help plugin developers manage paths
Date Wed, 17 Aug 2011 18:00:29 GMT


Paul Joseph Davis commented on COUCHDB-1012:

1. We don't have to alias everything.
2. You have to be kidding me that you expect people to puzzle over which of those variables
is where .couch files are stored.

There are a couple common use cases that are motivating this tool:

    * Where the hell are the config files?
    * Where the hell are my db files?
    * Where the hell is that URI file?
    * Where the hell do I put beam files?

These are answers people are looking for when they get frustrated. The last thing people should
have to do is "work out where CouchDB specific sub-directories are." I'm biblically familiar
with our build system and I can't name every combination of variables and subpaths off the
top of my head.

Bottom line: I *can* work these things out but I shouldn't have to. I want this tool so that
I don't have to recall that localstatedir where where the one things are while the other bits
are in `couch-config -n --localstatelibdir`/couchdb/erlang/couchdb-`couchdb -n --version`/ebin/.
Then again maybe I'm just slow and that's more clear than --dbdir.

Two related notes:

We should add a -n to affect the echo adding a newline (useful for script substitution as

couchebindir and couchincludedir should be replaced with --erllibdir. There's no reason for
ebin dir. The include directory is only useful for compiling other code. After install this
is setup as a proper ERL_LIBS directory structure so -include_lib("couchdb/include/couch_db.hrl").
should work with --erllibdir alone.

> Utility to help plugin developers manage paths
> ----------------------------------------------
>                 Key: COUCHDB-1012
>                 URL:
>             Project: CouchDB
>          Issue Type: New Feature
>          Components: Build System
>            Reporter: Randall Leeds
>            Assignee: Randall Leeds
>             Fix For: 1.2
>         Attachments: 0001-add-couch-config-file-used-to-ease-the-build-of-plug.patch,
0001-add-couch-config-file-used-to-ease-the-build-of-plug.patch, 0001-support-pkg-config-for-plugins-COUCHDB-1012.patch
> Developers may want to write plugins (like GeoCouch) for CouchDB. Many hooks in the configuration
system allow loading arbitrary Erlang modules to handle various internal tasks, but currently
there is no straightforward and portable way for developers of these plugins to discover the
location of the CouchDB library files.
> Two options that have been proposed are to use pkg-config or install a separate script
that could be invoked (e.g. as couch-config --erl-libs) to discover important CouchDB installation
> As far as I know the loudest argument against pkg-config is lack of support for Windows.

This message is automatically generated by JIRA.
For more information on JIRA, see:


View raw message