summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apps/couch/src/couch_drv.erl4
-rwxr-xr-xrel/overlay/bin/dbcore26
-rw-r--r--rel/overlay/erts-vsn/bin/erl34
-rw-r--r--rel/overlay/etc/local.ini1
4 files changed, 63 insertions, 2 deletions
diff --git a/apps/couch/src/couch_drv.erl b/apps/couch/src/couch_drv.erl
index 70028659..9f4cfac1 100644
--- a/apps/couch/src/couch_drv.erl
+++ b/apps/couch/src/couch_drv.erl
@@ -1,6 +1,6 @@
-module(couch_drv).
-behaviour(gen_server).
--export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2,
+-export([init/1, handle_call/3, handle_cast/2, handle_info/2, terminate/2,
code_change/3]).
-export([start_link/0]).
@@ -11,7 +11,7 @@ start_link() ->
gen_server:start_link({local, ?MODULE}, ?MODULE, [], []).
init([]) ->
- case erl_ddll:load(code:priv_dir(couch), "couch_erl_driver") of
+ case erl_ddll:load(code:priv_dir(couch), "couch_icu_driver") of
ok ->
{ok, nil};
{error, already_loaded} ->
diff --git a/rel/overlay/bin/dbcore b/rel/overlay/bin/dbcore
new file mode 100755
index 00000000..003544c2
--- /dev/null
+++ b/rel/overlay/bin/dbcore
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+# cloudant dbcore start script
+
+ERTS_BIN_DIR=$(cd ${0%/*} && pwd)
+
+ROOTDIR=${ERTS_BIN_DIR%/*/*}/dbcore
+
+START_ERL=`cat $ROOTDIR/releases/start_erl.data`
+ERTS_VSN=${START_ERL% *}
+APP_VSN=${START_ERL#* }
+
+BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin
+EMU=beam
+PROGNAME=`echo $0 | sed 's/.*\///'`
+CMD="$BINDIR/erlexec"
+
+export EMU
+export ROOTDIR
+export BINDIR
+export PROGNAME
+
+exec $CMD -boot $ROOTDIR/releases/$APP_VSN/dbcore \
+ +Bd -noinput -sasl errlog_type error \
+ +A 16 +K true \
+ -name dbcore
diff --git a/rel/overlay/erts-vsn/bin/erl b/rel/overlay/erts-vsn/bin/erl
new file mode 100644
index 00000000..1ddbd431
--- /dev/null
+++ b/rel/overlay/erts-vsn/bin/erl
@@ -0,0 +1,34 @@
+#!/bin/bash
+
+## This script replaces the default "erl" in erts-VSN/bin. This is necessary
+## as escript depends on erl and in turn, erl depends on having access to a
+## bootscript (start.boot). Note that this script is ONLY invoked as a side-effect
+## of running escript -- the embedded node bypasses erl and uses erlexec directly
+## (as it should).
+##
+## Note that this script makes the assumption that there is a start_clean.boot
+## file available in $ROOTDIR/release/VSN.
+
+# Determine the abspath of where this script is executing from.
+ERTS_BIN_DIR=$(cd ${0%/*} && pwd)
+
+# Now determine the root directory -- this script runs from erts-VSN/bin,
+# so we simply need to strip off two dirs from the end of the ERTS_BIN_DIR
+# path.
+ROOTDIR=${ERTS_BIN_DIR%/*/*}
+
+# Parse out release and erts info
+START_ERL=`cat $ROOTDIR/releases/start_erl.data`
+ERTS_VSN=${START_ERL% *}
+APP_VSN=${START_ERL#* }
+
+BINDIR=$ROOTDIR/erts-$ERTS_VSN/bin
+EMU=beam
+PROGNAME=`echo $0 | sed 's/.*\///'`
+CMD="$BINDIR/erlexec"
+export EMU
+export ROOTDIR
+export BINDIR
+export PROGNAME
+
+exec $CMD -boot $ROOTDIR/releases/$APP_VSN/start_clean ${1+"$@"}
diff --git a/rel/overlay/etc/local.ini b/rel/overlay/etc/local.ini
new file mode 100644
index 00000000..3146ea25
--- /dev/null
+++ b/rel/overlay/etc/local.ini
@@ -0,0 +1 @@
+; local customizations are stored here