couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Randall Leeds (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1012) Utility to help plugin developers manage paths
Date Wed, 17 Aug 2011 19:33:27 GMT


Randall Leeds commented on COUCHDB-1012:

I'm in favor of couch-config over couchenv. *-config is the convention I'm familiar with.
I'd also like to ship a couch.m4, but that's a separate ticket and I'll work with Noah to
do that.

I wonder if it's better not to include the database, view, log directories. I'd prefer the
minimal set of things required for _developers_, and in particular things that can't be changed
through CouchDB's configuration system (because things that can possibly make the output of
couch-config wrong if they are changed). Feel free to tell me I'm crazy.

On the one hand, most people won't change these settings in their config, so they could stay
in the couch-config tool and likely not report the wrong path.
On the other hand, most people won't need to read these settings for plugin development, so
maybe they're better left out for the sake of simplicity.

I'm mostly tempted to leave out the db directory to force plugin developers to initialize
any special dbs they might need when their plugin is loaded. I think it reduces the likelihood
of certain surprises, such as a user deleting a plugin's configuration database by mistake
or a plugin author accidentally creating their plugin's config db with root permissions and
couch can't read it, etc...

Otherwise, everything being discussed above sounds reasonable. Seems like you all have it
under control. Ship it.

> 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