121 lines
3.9 KiB
Bash
Executable File
121 lines
3.9 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
# call by install.sh
|
|
|
|
echo "resolve link"
|
|
PRG="$0"
|
|
while [ -h "$PRG" ] ; do
|
|
lh=$(ls -ld "$PRG")
|
|
lk=$(expr "$lh" : '.*-> \(.*\)$')
|
|
if expr "$lk" : '/.*' > /dev/null; then
|
|
PRG="$lk"
|
|
else
|
|
PRG=$(dirname "$PRG")"/$lk"
|
|
fi
|
|
done
|
|
|
|
ROOT=$(dirname $PRG)
|
|
if [[ "$ROOT" != /* ]]; then
|
|
ROOT=$(cd $ROOT; pwd)
|
|
fi
|
|
|
|
echo "ROOT = $ROOT"
|
|
|
|
PYTHON_EXE=python3
|
|
PYTHON_OPTIONS=-OO
|
|
FLAG_PYTHON=${FLAG_PYTHON:pyo}
|
|
FLAG_DJANGO=${FLAG_DJANGO:django}
|
|
|
|
./run-setup-python.sh $FLAG_PYTHON
|
|
[ $? -eq 0 ] || exit 1
|
|
|
|
env DOCUMENT=$DOCUMENT \
|
|
./run-setup-django.sh $FLAG_DJANGO
|
|
[ $? -eq 0 ] || exit 1
|
|
|
|
|
|
TARGET=/usr/local/share/BPS
|
|
STORAGE_PATH=/media/BPS
|
|
|
|
echo "modify run-data-server.sh file"
|
|
sed -e "s|^PYTHON_EXE=.*|PYTHON_EXE=$PYTHON_EXE|" \
|
|
-e "s|^PYTHON_OPTIONS=.*|PYTHON_OPTIONS=$PYTHON_OPTIONS|" \
|
|
-e "s|^STORAGE_PATH=.*|STORAGE_PATH=$STORAGE_PATH|" \
|
|
-i $ROOT/bin/run-data-server.sh
|
|
|
|
echo "modify led.sh file"
|
|
sed -e "s|^PYTHON_EXE=.*|PYTHON_EXE=$PYTHON_EXE|" \
|
|
-i $ROOT/bin/led.sh
|
|
|
|
echo "modify run-django-server.sh"
|
|
sed -e "s|^PYTHON_EXE=.*|PYTHON_EXE=$PYTHON_EXE|" \
|
|
-e "s|^PYTHON_OPTIONS=.*|PYTHON_OPTIONS=$PYTHON_OPTIONS|" \
|
|
-i $ROOT/bin/run-django-server.sh
|
|
|
|
echo "backup database"
|
|
if [ -f $TARGET/django/db.sqlite3 ]; then
|
|
cp $TARGET/django/db.sqlite3 $ROOT/django/
|
|
fi
|
|
|
|
echo "move code to $TARGET"
|
|
sudo mkdir -p $TARGET/
|
|
sudo rm -rf $TARGET/*
|
|
sudo cp -r $ROOT/django/ $TARGET/
|
|
|
|
if [ $FLAG_PYTHON = "pyo" ]; then
|
|
# pyo
|
|
sudo mkdir -p $TARGET/python/
|
|
sudo cp -r $ROOT/python/biopro/ $TARGET/python/
|
|
else
|
|
# pyc
|
|
sudo mkdir -p $TARGET/python/biopro/util
|
|
sudo cp $ROOT/python/biopro/text.py $TARGET/python/biopro/
|
|
sudo cp $ROOT/python/biopro/controller.py $TARGET/python/biopro/
|
|
sudo cp $ROOT/python/biopro/util/json.py $TARGET/python/biopro/util/
|
|
sudo cp $ROOT/python/biopro/util/socket.py $TARGET/python/biopro/util/
|
|
sudo cp $ROOT/python/biopro/util/text.py $TARGET/python/biopro/util/
|
|
sudo cp $ROOT/python/biopro/util/sys.py $TARGET/python/biopro/util/
|
|
sudo cp $ROOT/python/biopro/util/inet.py $TARGET/python/biopro/util/
|
|
sudo cp -r $ROOT/python/biopro/database $TARGET/python/biopro/
|
|
sudo cp -r $ROOT/PyInstaller/dist/biopro.main $TARGET/lib/
|
|
fi
|
|
|
|
sudo cp -r $ROOT/python/res/ $TARGET/python/
|
|
sudo cp $ROOT/bin/run-data-server.sh $TARGET/run-data-server.sh
|
|
sudo cp $ROOT/bin/led.sh $TARGET/led.sh
|
|
sudo cp $ROOT/bin/run-django-server.sh $TARGET/run-django-server.sh
|
|
|
|
echo "move config to /etc/BPS"
|
|
sudo mkdir -p /etc/BPS
|
|
if [ -f /etc/BPS/default.config ]; then
|
|
echo 'copy config to default.config.new'
|
|
sudo cp etc/BPS/default.config /etc/BPS/default.config.new
|
|
else
|
|
sudo cp etc/BPS/default.config /etc/BPS/default.config
|
|
fi
|
|
|
|
echo "migrate database"
|
|
PYTHON_EXE="env PYTHONPATH=$TARGET/python SECRET_KEY=0 python3"
|
|
sudo $PYTHON_EXE $TARGET/django/manage.py migrate
|
|
sudo rm -rf $TARGET/django/__pycache__
|
|
# XXX Can biopro/database (used by django) be removed?
|
|
#if [ $FLAG_PYTHON = "pyc" ]; then
|
|
#sudo rm -rf $TARGET/python/biopro/database
|
|
#fi
|
|
|
|
echo "create export cache directory"
|
|
sudo mkdir -p $STORAGE_PATH
|
|
sudo chown $USER:$USER $STORAGE_PATH
|
|
sudo rm -rf $TARGET/django/res/static/export
|
|
sudo ln -sf $STORAGE_PATH/export $TARGET/django/res/static/export
|
|
|
|
echo "create symbolic link under /usr/local/bin"
|
|
sudo mkdir -p /usr/local/bin
|
|
sudo ln -sf $TARGET/run-data-server.sh /usr/local/bin/run-data-server
|
|
sudo ln -sf $TARGET/run-django-server.sh /usr/local/bin/run-django-server
|
|
sudo ln -sf $TARGET/led.sh /usr/local/bin/led
|
|
|
|
echo "install script on boot"
|
|
sudo cp $ROOT/etc/init.d/bps-service /etc/init.d/bps-service
|
|
sudo chmod 755 /etc/init.d/bps-service
|