diff options
-rw-r--r-- | apps/couch/src/couch_drv.erl | 4 | ||||
-rwxr-xr-x | rel/overlay/bin/dbcore | 26 | ||||
-rw-r--r-- | rel/overlay/erts-vsn/bin/erl | 34 | ||||
-rw-r--r-- | rel/overlay/etc/local.ini | 1 |
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 |