Set the correct PYTHON_HOME api and controller path.

Installer script detects the python install path and modifies the
PYTHON_HOME variable in the conf files. Executable paths modified
to reflect location on the system (/usr/local/bin).

Change-Id: Ib24711d1256bc70b03813076b3709faa46fd7ce1
Closes-Bug: #1633403
This commit is contained in:
Ananth Narayan S 2016-10-18 10:39:33 +05:30
parent 44b034953b
commit 73f0c411c2
3 changed files with 44 additions and 30 deletions

View File

@ -3,12 +3,12 @@ description "Valence API server"
start on runlevel [2345]
stop on runlevel [!2345]
env PYTHON_HOME=/home/${CHUID}/.local/bin
env PYTHON_HOME=PYHOME
# change the chuid to match yours
exec start-stop-daemon --start --verbose --chuid ${CHUID} \
--name valence-api \
--exec $PYTHON_HOME/valence-api -- \
--exec /usr/local/bin/valence-api -- \
--log-file=/var/log/valence/valence-api.log
respawn

View File

@ -3,11 +3,11 @@ description "Valence Controller server"
start on runlevel [2345]
stop on runlevel [!2345]
env PYTHON_HOME=/home/${CHUID}/.local/bin
env PYTHON_HOME=PYHOME
exec start-stop-daemon --start --verbose --chuid ${CHUID} \
--name valence-controller \
--exec $PYTHON_HOME/valence-controller -- \
--exec /usr/local/bin/valence-controller -- \
--log-file=/var/log/valence/valence-controller.log
respawn

View File

@ -1,42 +1,56 @@
#!/bin/bash -
#!/bin/bash
#title :install_valence.sh
#description :This script will install valence package and deploys conf files
#author :Intel Corporation
#date :21-09-2016
#version :0.1
#usage :bash mkscript.sh
#notes :Run this script as sudo user and not as root.
# This script is needed still valence is packaged in to .deb/.rpm
#date :17-10-2016
#version :0.1
#usage :bash install_valence.sh
#==============================================================================
install_log=install_valence.log
DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
echo $USER
cd $DIR
echo "Executing the script inside "
pwd
echo "Current directory: $DIR" >> $install_log
if [ "$USER" != 'root' ]; then
echo "You must be root to install."
exit
fi
PYHOME=$(python -c "import site; print site.getsitepackages()[0]")
echo "Detected PYTHON HOME: $PYHOME" >> $install_log
# Copy the config files
sed s/\${CHUID}/$USER/ $DIR/doc/source/init/valence-api.conf > /tmp/valence-api.conf
sudo mv /tmp/valence-api.conf /etc/init/valence-api.conf
sed s/\${CHUID}/$USER/ $DIR/doc/source/init/valence-controller.conf > /tmp/valence-controller.conf
sudo mv /tmp/valence-controller.conf /etc/init/valence-controller.conf
cp $DIR/doc/source/init/valence-api.conf /tmp/valence-api.conf
sed -i s/\${CHUID}/$USER/ /tmp/valence-api.conf
#Use alternate sed delimiter because path will
#have /
sed -i "s#PYHOME#$PYHOME#" /tmp/valence-api.conf
mv /tmp/valence-api.conf /etc/init/valence-api.conf
echo "Setting up valence-api config" >> $install_log
cp $DIR/doc/source/init/valence-controller.conf /tmp/valence-controller.conf
sed -i s/\${CHUID}/$USER/ /tmp/valence-controller.conf
#Use alternate sed delimiter because path will
#have /
sed -i "s#PYHOME#$PYHOME#" /tmp/valence-controller.conf
mv /tmp/valence-controller.conf /etc/init/valence-controller.conf
echo "Setting up valence-controller config" >> $install_log
# create conf directory for valence
sudo mkdir /etc/valence
sudo chown ${USER}:${USER} /etc/valence
sudo cp etc/valence/valence.conf.sample /etc/valence/valence.conf
mkdir /etc/valence
chown ${USER}:${USER} /etc/valence
cp etc/valence/valence.conf.sample /etc/valence/valence.conf
# create log directory for valence
sudo mkdir /var/log/valence
sudo chown ${USER}:${USER} /var/log/valence
mkdir /var/log/valence
chown ${USER}:${USER} /var/log/valence
python setup.py install --user
echo "Invoking setup.py" >> $install_log
python setup.py install
if [ $? -ne 0 ]; then
echo "ERROR: setup.py failed. Please fix the error and retry."
exit
fi
echo "Installation Completed"
echo "To start api : service valence-api start"
echo "To start controller : service valence-controller start"
echo "To start api : sudo service valence-api start"
echo "To start controller : sudo service valence-controller start"