From ebe9c40ec57c8f2277a4026f01dc3ccee8a1355c Mon Sep 17 00:00:00 2001
From: Ethan Buchman <ethan@coinculture.info>
Date: Sat, 4 Jul 2015 03:03:42 +0000
Subject: [PATCH] ecm cleanup, back to bash

---
 DOCKER/Dockerfile       | 11 +++++++----
 DOCKER/chain_install.sh |  6 ++++--
 DOCKER/chain_new.sh     |  5 ++++-
 DOCKER/chain_run.sh     | 17 +----------------
 DOCKER/start.sh         | 14 +++++++-------
 5 files changed, 23 insertions(+), 30 deletions(-)

diff --git a/DOCKER/Dockerfile b/DOCKER/Dockerfile
index c9bae4ce..139fccb1 100644
--- a/DOCKER/Dockerfile
+++ b/DOCKER/Dockerfile
@@ -34,9 +34,11 @@ WORKDIR $REPO
 RUN go build -o /usr/local/bin/erisdb ./cmd/erisdb && \
   go build -o /usr/local/bin/erisdbss ./cmd/erisdbss
 
-# install chain manager scripts
-COPY ./DOCKER/chain_* /usr/local/bin/
-ENV ECM_PATH /usr/local/bin
+# install chain manager scripts and default mint config
+ENV ECM_PATH /usr/local/lib/ecm/
+RUN mkdir -p $ECM_PATH
+COPY ./DOCKER/chain_* $ECM_PATH
+COPY ./DOCKER/config.toml  $ECM_PATH
 
 # set the repo and install mint-client
 ENV REPO github.com/eris-ltd/mint-client
@@ -62,4 +64,5 @@ RUN mkdir --parents /home/$USER/.eris/blockchains/tendermint
 ENV TMROOT /home/$USER/.eris/blockchains/tendermint
 
 # run tendermint
-ENTRYPOINT ["erisdb-wrapper"]
+# really should be entrypoint but broken in API 1.19
+CMD ["erisdb-wrapper"]
diff --git a/DOCKER/chain_install.sh b/DOCKER/chain_install.sh
index cd0878a7..d3048ccb 100755
--- a/DOCKER/chain_install.sh
+++ b/DOCKER/chain_install.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 #-----------------------------------------------------------------------
 # get genesis, seed, copy config
@@ -8,9 +8,11 @@ REFS_CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id)
 ifExit "Error fetching default chain id from $NODE_ADDR"
 REFS_CHAIN_ID=$(echo "$REFS_CHAIN_ID" | tr -d '"') # remove surrounding quotes
 
+echo "etcb chain: $REFS_CHAIN_ID"
+
 # get the genesis.json for a refs chain from the /genesis rpc endpoint
 # for a different chain, use etcb (ie namereg on the ref chain)
-if [ "$CHAIN_ID" = "$REF_CHAIN_ID"    ] ; then
+if [ "$CHAIN_ID" = "$REFS_CHAIN_ID" ] ; then
 	# grab genesis.json and config
 	mintinfo --node-addr $NODE_ADDR genesis > "${CHAIN_DIR}/genesis.json"
 	ifExit "Error fetching genesis.json from $NODE_ADDR"
diff --git a/DOCKER/chain_new.sh b/DOCKER/chain_new.sh
index 6babaf97..3efb66ea 100755
--- a/DOCKER/chain_new.sh
+++ b/DOCKER/chain_new.sh
@@ -1,14 +1,17 @@
-#! /bin/sh
+#! /bin/bash
 
 echo "new chain: $CHAIN_ID"
 
 if [ "$GENERATE_GENESIS" = "true" ]; then
 	mintgen --single $CHAIN_DIR
+	ifExit "Error creating genesis file"
 fi
 
 if [ "$RUN" = "true" ]; then
 	tendermint node	
+	ifExit "Error starting tendermint"
 else
 	# this will just run for a second and quit
 	tendermint node & last_pid=$! && sleep 1 && kill -KILL $last_pid
+	ifExit "Error starting tendermint"
 fi
diff --git a/DOCKER/chain_run.sh b/DOCKER/chain_run.sh
index 64fa3111..7734f65e 100755
--- a/DOCKER/chain_run.sh
+++ b/DOCKER/chain_run.sh
@@ -1,19 +1,4 @@
-#! /bin/sh
-
-# if no CHAIN_ID, get that off the main test net
-if [[ ! $CHAIN_ID ]]; then
-	# get the chain id 
-	CHAIN_ID=$(mintinfo --node-addr $NODE_ADDR genesis chain_id)
-	ifExit "Error fetching default chain id from $NODE_ADDR"
-	CHAIN_ID=$(echo "$CHAIN_ID" | tr -d '"') # remove surrounding quotes
-fi
-
-CHAIN_DIR="${ROOT_DIR}/$CHAIN_ID"
-
-if [[ ! -d  $CHAIN_DIR ]]; then
-	echo "Unknown chain ($CHAIN_ID)"
-	exit 1
-fi
+#! /bin/bash
 
 echo Running chain $CHAIN_ID
 tendermint node
diff --git a/DOCKER/start.sh b/DOCKER/start.sh
index 0a3ffb5f..f3dddd7a 100755
--- a/DOCKER/start.sh
+++ b/DOCKER/start.sh
@@ -1,4 +1,4 @@
-#! /bin/sh
+#! /bin/bash
 
 ifExit(){
 	if [ $? -ne 0 ]; then
@@ -7,15 +7,15 @@ ifExit(){
 	fi
 }
 
+export -f ifExit
+
 #------------------------------------------------
 # set and export directories
 
-#############################################
-# We expect the following env vars to be set
-# $CHAIN_ID
-#
-# one day we'll make it more flexible
-# for now the only consumer is eris-cli
+if [ "$CHAIN_ID" = "" ]; then
+	echo "ecm requires CHAIN_ID be set"
+	exit 1
+fi
 
 
 # TODO: deal with chain numbers
-- 
GitLab