~ salmonella-environment-setup (master) 13954aaa9554fe3172ba1a8755d284d05c0b8064
commit 13954aaa9554fe3172ba1a8755d284d05c0b8064
Author: Mario Domenech Goulart <mario@parenteses.org>
AuthorDate: Sat Jul 20 15:45:23 2019 +0200
Commit: Mario Domenech Goulart <mario@parenteses.org>
CommitDate: Sat Jul 20 15:52:58 2019 +0200
run-salmonella: read config files from ~/.salmonella-run-publish
These are supposed to be local-specific configuration files (i.e.,
local tweaks that are not supposed to be merged into this repository).
The local config files are loaded _after_ the config files in this
repository.
diff --git a/run-salmonella.sh b/run-salmonella.sh
index 4b37a6d..9cb65af 100755
--- a/run-salmonella.sh
+++ b/run-salmonella.sh
@@ -1,18 +1,26 @@
#! /bin/sh
+SRC_CONF_DIR=$(readlink -f "$(dirname "$0")")/conf
+LOCAL_CONF_DIR=$HOME/.salmonella-run-publish
+WORK_DIR=$HOME/salmonella/build
+LOG_DIR=$HOME/salmonella
+
usage() {
cat <<EOF
Usage: $(basename "$0") <confs>
<confs>: configuration filenames without the ".conf" extension. E.g.,
if you have chicken-5.conf, use "chicken-5" as argument.
+
+Configuration files will be read from:
+
+* $SRC_CONF_DIR
+* $LOCAL_CONF_DIR
+
+in that order.
EOF
}
-SRC_DIR=$(readlink -f "$(dirname "$0")")
-WORK_DIR=$HOME/salmonella/build
-LOG_DIR=$HOME/salmonella
-
# Conf files use these environment variables
export CHICKEN_4_PREFIX=$HOME/local/chicken
export CHICKEN_5_PREFIX=$HOME/local/chicken-5
@@ -24,8 +32,10 @@ ARCH=$($CHICKEN_4_PREFIX/bin/csi -p '(machine-type)')
# FIXME: make it an array
settings_files="\
- $SRC_DIR/conf/shell-settings/${OS}/settings.sh
- $SRC_DIR/conf/shell-settings/${OS}-${ARCH}/settings.sh
+ $SRC_CONF_DIR/shell-settings/${OS}/settings.sh
+ $SRC_CONF_DIR/shell-settings/${OS}-${ARCH}/settings.sh
+ $LOCAL_CONF_DIR/shell-settings/${OS}/settings.sh
+ $LOCAL_CONF_DIR/shell-settings/${OS}-${ARCH}/settings.sh
"
for settings_file in $settings_files; do
@@ -41,7 +51,7 @@ main() {
# Check if all conf files exist
for conf in $confs; do
- if [ ! -e "$SRC_DIR/conf/${conf}.conf" ]; then
+ if [ ! -e "$SRC_CONF_DIR/${conf}.conf" ]; then
echo "No configuration file found for '$conf'. Aborting." >&2
exit 1
fi
@@ -79,8 +89,16 @@ main() {
debugbuild=
fi
- conf_path=$SRC_DIR/conf/${conf}.conf
- DEBUGBUILD=$debugbuild "$CHICKEN_4_PREFIX/bin/salmonella-run-publish" "$conf_path"
+ conf_path=$SRC_CONF_DIR/${conf}.conf
+ local_conf_path=$LOCAL_CONF_DIR/${conf}.conf
+ if [ -e "$local_conf_path" ]; then
+ echo "Loading $conf_path"
+ echo "Loading $local_conf_path"
+ DEBUGBUILD=$debugbuild "$CHICKEN_4_PREFIX/bin/salmonella-run-publish" "$conf_path" "$local_conf_path"
+ else
+ echo "Loading $conf_path"
+ DEBUGBUILD=$debugbuild "$CHICKEN_4_PREFIX/bin/salmonella-run-publish" "$conf_path"
+ fi
mv salmonella-run-publish "salmonella-$conf"
done
}
Trap