Merge branch 'enhancement/118/venv-and-setup.py' of github.com:EDCD/EDDN into enhancement/118/venv-and-setup.py

This commit is contained in:
Athanasius 2021-07-01 18:10:12 +01:00
commit 8add1a4409
5 changed files with 38 additions and 12 deletions

View File

@ -1,3 +0,0 @@
CONFIG_OVERRIDE="${HOME}/.local/share/eddn/config.json"
LOG_DIR="${HOME}/.var/log/eddn"
PYTHON_VENV="${HOME}/eddn/python-venv"

View File

@ -0,0 +1,3 @@
CONFIG_OVERRIDE="${HOME}/.local/share/eddn/dev/config.json"
LOG_DIR="${HOME}/dev/logs"
PYTHON_VENV="${HOME}/dev/python-venv"

View File

@ -0,0 +1,3 @@
CONFIG_OVERRIDE="${HOME}/.local/share/eddn/live/config.json"
LOG_DIR="${HOME}/live/logs"
PYTHON_VENV="${HOME}/live/python-venv"

View File

@ -3,13 +3,26 @@
#
# Start an EDDN Service, including redirecting output to a log file.
usage() {
echo "Usage: $(basename $0) [ gateway | monitor | relay ] [ dev | live ]"
}
if [ -z "${1}" ];
then
echo "No EDDN service specified. One of: ${SERVICE}, monitor, relay"
usage
echo "No EDDN service specified."
exit 3
fi
SERVICE="${1}"
if [ -z "${2}" ];
then
usage
echo "No EDDN environment specified."
exit 3
fi
EDDN_ENV="${2}"
EXEC_PATH=$(dirname $0)
#echo "EXEC_PATH: ${EXEC_PATH}"
@ -18,20 +31,20 @@ cd ${EXEC_PATH}
#pwd
# Bring in some common configuration
if [ ! -f eddn_config ];
if [ ! -f "eddn_${EDDN_ENV}_config" ];
then
echo "eddn_config is missing from $(pwd)"
echo "eddn_${EDDN_ENV}_config is missing from $(pwd)"
exit 1
fi
. ./eddn_config
. "./eddn_${EDDN_ENV}_config"
# Use the python venv
. "${PYTHON_VENV}/bin/activate"
if [ ! -f "${PYTHON_VENV}/bin/${SERVICE}" ];
if [ ! -f "${PYTHON_VENV}/bin/eddn-${SERVICE}" ];
then
echo "${SERVICE} is missing from ${PYTHON_VENV}/bin"
exit 2
fi
exec ${PYTHON_VENV}/bin/${SERVICE} --config "${CONFIG_OVERRIDE}" >> "${LOG_DIR}/${SERVICE}.log" 2>&1
exec ${PYTHON_VENV}/bin/eddn-${SERVICE} --config "${CONFIG_OVERRIDE}" >> "${LOG_DIR}/${SERVICE}.log" 2>&1

View File

@ -17,10 +17,11 @@ except EnvironmentError:
print "unable to find version in %s" % (VERSIONFILE,)
raise RuntimeError("if %s exists, it is required to be well-formed" % (VERSIONFILE,))
EDDN_ENV="dev"
# Location of start-eddn-service script and its config file
START_SCRIPT_BIN='%s/.local/bin' % ( os.environ['HOME'] )
# Location of web files
SHARE_EDDN_FILES='%s/.local/share/eddn' % ( os.environ['HOME'] )
SHARE_EDDN_FILES='%s/.local/share/eddn/%s' % ( os.environ['HOME'], EDDN_ENV )
setup(
name='eddn',
@ -93,10 +94,18 @@ if not os.path.isdir(START_SCRIPT_BIN):
exit(-1)
os.chdir(old_cwd)
for f in ( 'contrib/systemd/start-eddn-service', 'contrib/systemd/eddn_config'):
shutil.copy(f, START_SCRIPT_BIN)
shutil.copy(
'contrib/systemd/eddn_%s_config' % ( EDDN_ENV),
'%s/eddn_%s_config' % ( START_SCRIPT_BIN, EDDN_ENV )
)
shutil.copy(
'contrib/systemd/start-eddn-service',
'%s/start-eddn-%s-service' % ( START_SCRIPT_BIN, EDDN_ENV )
)
# Ensure the latest monitor files are in place
old_umask = os.umask(022)
print """
******************************************************************************
Ensuring %s exists...
@ -155,3 +164,4 @@ software will actually work.
See docs/Running-this-software.md for guidance.
******************************************************************************
""" % ( SHARE_EDDN_FILES )
os.umask(old_umask)