summaryrefslogtreecommitdiff
path: root/bin
diff options
context:
space:
mode:
Diffstat (limited to 'bin')
-rw-r--r--bin/Makefile.am52
-rw-r--r--bin/couch-config.tpl.in130
2 files changed, 180 insertions, 2 deletions
diff --git a/bin/Makefile.am b/bin/Makefile.am
index b8b818cb8..5737e0aa4 100644
--- a/bin/Makefile.am
+++ b/bin/Makefile.am
@@ -13,10 +13,10 @@
if WINDOWS
bin_SCRIPTS = couchdb.bat
else
-bin_SCRIPTS = couchdb couchjs
+bin_SCRIPTS = couchdb couchjs couch-config
endif
-noinst_SCRIPTS = couchjs_dev
+noinst_SCRIPTS = couchjs_dev couch-config_dev
if HELP2MAN
dist_man1_MANS = couchdb.1 couchjs.1
@@ -75,6 +75,54 @@ couchdb.bat: couchdb.bat.tpl
-e "s|%version%|@version@|g" \
$< > $@
+couch-config: couch-config.tpl
+ sed -e "s|%ERL%|$(ERL)|g" \
+ -e "s|%bindir%|@bindir@|g" \
+ -e "s|%localerlanglibdir%|@localerlanglibdir@|g" \
+ -e "s|%localconfdir%|@localconfdir@|g" \
+ -e "s|%localdatadir%|$(localdatadir)|g" \
+ -e "s|%localbuilddatadir%|$(localdatadir)|g" \
+ -e "s|%localstatelogdir%|@localstatelogdir@|g" \
+ -e "s|%localstatelibdir%|@localstatelibdir@|g" \
+ -e "s|%localstatedir%|@localstatedir@|g" \
+ -e "s|%localstaterundir%|@localstaterundir@|g" \
+ -e "s|%couchlibdir%|@localerlanglibdir@/couch-%version%|g"\
+ -e "s|%couchincludedir%|@localerlanglibdir@/include|g"\
+ -e "s|%couchebindir%|@localerlanglibdir@/ebin|g"\
+ -e "s|%couchprivlibdir%|@localerlanglibdir@/couch-%version%/priv/lib|g"\
+ -e "s|%bug_uri%|@bug_uri@|g" \
+ -e "s|%package_author_address%|@package_author_address@|g" \
+ -e "s|%package_author_name%|@package_author_name@|g" \
+ -e "s|%package_name%|@package_name@|g" \
+ -e "s|%version%|@version@|g" \
+ -e "s|%couchdb_command_name%|$(couchdb_command_name)|g" > \
+ $@ < $<
+ chmod +x $@
+
+couch-config_dev: couch-config.tpl
+ sed -e "s|%ERL%|$(ERL)|g" \
+ -e "s|%bindir%|$(abs_top_builddir)/bin|g" \
+ -e "s|%localerlanglibdir%|$(abs_top_builddir)\/src\/couchdb|g" \
+ -e "s|%couchlibdir%|$(abs_top_builddir)\/src\/couchdb|g"\
+ -e "s|%couchincludedir%|$(abs_top_builddir)\/src\/couchdb|g"\
+ -e "s|%couchebindir%|$(abs_top_builddir)\/src\/couchdb|g"\
+ -e "s|%couchprivlibdir%|$(abs_top_builddir)/src/couchdb/priv/.libs|g"\
+ -e "s|%localdatadir%|$(abs_top_srcdir)/share|g" \
+ -e "s|%localbuilddatadir%|$(abs_top_builddir)/share|g" \
+ -e "s|%localstatelibdir%|$(abs_top_builddir)/tmp/lib|g" \
+ -e "s|%localstatelogdir%|$(abs_top_builddir)/tmp/log|g" \
+ -e "s|%localstatedir%|$(abs_top_builddir)/tmp|g" \
+ -e "s|%localstaterundir%|$(abs_top_builddir)/tmp/run|g" \
+ -e "s|%bug_uri%|@bug_uri@|g" \
+ -e "s|%package_author_address%|@package_author_address@|g" \
+ -e "s|%package_author_name%|@package_author_name@|g" \
+ -e "s|%package_name%|@package_name@|g" \
+ -e "s|%version%|@version@|g" \
+ -e "s|%couchdb_command_name%|$(abs_top_builddir)/utils/run|g" > \
+ $@ < $<
+ chmod +x $@
+
+
HELP2MAN_OPTION=--no-info --help-option="-h" --version-option="-V"
# XXX: Because the scripts are made at build time for the user we need to
diff --git a/bin/couch-config.tpl.in b/bin/couch-config.tpl.in
new file mode 100644
index 000000000..22ae54832
--- /dev/null
+++ b/bin/couch-config.tpl.in
@@ -0,0 +1,130 @@
+#! /bin/sh -e
+
+# Licensed under the Apache License, Version 2.0 (the "License"); you
+# may not use this file except in compliance with the License. You may
+# obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+# implied. See the License for the specific language governing
+# permissions and limitations under the License.
+
+basename=`basename "$0"`
+
+staticdir="%localbuilddatadir%"
+erlanglibdir="%localerlanglibdir%"
+couchversion="%version%"
+dbdir="%localstatelibdir%"
+viewdir="%localstatelibdir%"
+confdir="%localconfdir%"
+urifile="%localstaterundir%/couch.uri"
+logdir="%localstatelogdir%"
+
+version () {
+ cat << EOF
+$basename - %package_name% configuration helper %version%
+
+Licensed under the Apache License, Version 2.0 (the "License"); you may not use
+this file except in compliance with the License. You may obtain a copy of the
+License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software distributed
+under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
+CONDITIONS OF ANY KIND, either express or implied. See the License for the
+specific language governing permissions and limitations under the License.
+
+EOF
+}
+
+usage()
+{
+ cat << EOF
+Usage: $basename [OPTION]
+
+The $basename command runs the %package_name% configuration helper
+script.
+
+Options:
+
+ --erl-libs-dir Erlang library directory
+ --config-dir configuration directory
+ --db-dir database dirrectory
+ --view-dir view index directory
+ --static-dir static asset directory
+ --doc-dir documentation directory
+ --log-dir log directory
+ --uri-file daemon sockets file
+ --couch-version version of Apache CouchDB
+ --version version of $basename
+ --help Print usage
+
+If you want to add an option in couch-config or report bugs please do it
+at <%bug_uri%>.
+EOF
+}
+
+
+if [ $# -lt 1 ]; then
+ usage
+ exit 1
+fi
+
+
+while [ $# -gt 0 ];
+do
+ arg="$1"
+ var=`echo $arg | sed -e 's/^[^=]*=//'`
+
+ case "$arg" in
+ --erl-libs-dir)
+ echo $erlanglibdir
+ ;;
+ --config-dir)
+ echo $confdir
+ ;;
+ --db-dir)
+ echo $dbdir
+ ;;
+ --view-dir)
+ echo $viewdir
+ ;;
+ --static-dir)
+ echo $staticdir
+ ;;
+ --doc-dir)
+ echo $staticdir
+ ;;
+ --log-dir)
+ echo $logdir
+ ;;
+ --uri-file)
+ echo $urifile
+ ;;
+ --couch-version)
+ echo $couchversion
+ ;;
+ --version)
+ version
+ exit 0
+ ;;
+ --help)
+ usage
+ exit 0
+ ;;
+ *|-*)
+ echo $basename: ERROR Unknown Option $arg 1>&2
+ echo 1>&2
+ usage 1>&2
+ echo "### $basename: Exitting." 1>&2
+ exit 1;
+ ;;
+ esac
+ shift
+done
+
+exit 0