[ 
https://issues.apache.org/jira/browse/COUCHDB-1012?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13086483#comment-13086483
 ] 

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 above).

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: https://issues.apache.org/jira/browse/COUCHDB-1012
>             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 paths.
> 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: http://www.atlassian.com/software/jira

        

Reply via email to