You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.2 KiB
Bash
57 lines
1.2 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
|
|
if [ ! -f "./xmir_base/xmir_init.py" ]; then
|
|
echo "ERROR: XMiR: Current working directory not correct!"
|
|
exit 1
|
|
fi
|
|
|
|
PY3_PATH=`which python3`
|
|
if [ ! -e "$PY3_PATH" ]; then
|
|
echo "ERROR: XMiR: python3 binary not found!"
|
|
exit 1
|
|
fi
|
|
|
|
if [ ! -e "$VIRTUAL_ENV" ] || ! type deactivate &> /dev/null ; then
|
|
python3 -m venv venv
|
|
if [ ! -e "./venv/bin/activate" ]; then
|
|
echo "ERROR: XMiR: python3 venv not initialized!"
|
|
exit 1
|
|
fi
|
|
source ./venv/bin/activate
|
|
PY3_PATH=`which python3`
|
|
if [ ! -e "$PY3_PATH" ]; then
|
|
echo "ERROR: XMiR: python3 venv binary not found!"
|
|
deactivate
|
|
exit 1
|
|
fi
|
|
fi
|
|
if [ ! -e "$VIRTUAL_ENV" ] || ! type deactivate &> /dev/null ; then
|
|
echo "ERROR: XMiR: python3 venv cannot activate!"
|
|
exit 1
|
|
fi
|
|
|
|
SSH2_PKG=`find ./venv -type d -wholename '*/site-packages/ssh2_python*' | wc -l`
|
|
if [ "$SSH2_PKG" = "0" ]; then
|
|
# install
|
|
python3 -m pip install -r requirements.txt
|
|
# check
|
|
SSH2_PKG=`find ./venv -type d -wholename '*/site-packages/ssh2_python*' | wc -l`
|
|
if [ "$SSH2_PKG" = "0" ]; then
|
|
echo "ERROR: XMiR: python3 package 'ssh2-python' not installed!"
|
|
deactivate
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
export PYTHONUNBUFFERED=TRUE
|
|
|
|
if [ "$1" = "" ]; then
|
|
python3 menu.py
|
|
else
|
|
python3 "$@"
|
|
fi
|
|
|
|
#deactivate
|