poezio/update.sh
mathieui 0efdcd12e2
Make use of the $POEZIO_VENV and $POEZIO_VENV_COMMAND env variables if they exist
(instead of having the user edit the scripts to tailor it to their
needs)
2015-01-15 16:47:29 +01:00

63 lines
1.9 KiB
Bash
Executable file

#!/bin/sh
# Use this script to download or update all dependencies to their last
# developpement version.
# The dependencies will be located in a virtualenv, so you do not
# need to install them on your system at all.
# Use launch.sh to start poezio directly from here
cd "$(dirname "$0")"
if [ -z "$POEZIO_VENV" ]
then
POEZIO_VENV="poezio-venv"
fi
if [ -z "$POEZIO_VENV_COMMAND" ]
then
POEZIO_VENV_COMMAND="pyvenv"
fi
echo 'Updating poezio'
git pull origin master || {
echo "The script failed to update poezio."
exit 1
}
if [ -e "$POEZIO_VENV" ]
then
# In case of a python version upgrade
echo 'Trying to upgrade the virtualenv'
$POEZIO_VENV_COMMAND --upgrade "$POEZIO_VENV"
. "$POEZIO_VENV/bin/activate"
python3 -c 'import sys;(print("Python 3.4 or newer is required") and exit(1)) if sys.version_info < (3, 4) else exit(0)' || exit 1
echo 'Updating the poezio dependencies'
pip install -r requirements.txt --upgrade
echo 'Updating the poezio plugin dependencies'
pip install -r requirements-plugins.txt --upgrade
else
echo "Creating the $POEZIO_VENV virtualenv"
$POEZIO_VENV_COMMAND "$POEZIO_VENV"
. "$POEZIO_VENV/bin/activate"
cd "$POEZIO_VENV" # needed to download slixmpp inside the venv
python3 -c 'import sys;(print("Python 3.4 or newer is required") and exit(1)) if sys.version_info < (3, 4) else exit(0)' || exit 1
echo 'Installing the poezio dependencies using pip'
pip install -r "../requirements.txt"
echo 'Installing the poezio plugin dependencies using pip'
pip install -r "../requirements-plugins.txt"
cd ..
fi
make
if [ -e src/slixmpp ]
then
echo ""
echo "The update script detected a slixmpp link in src/."
echo "This is probably due to the old update script, you should delete it"
echo "so that poezio can use the up-to-date copy inside the poezio-venv directory."
echo ""
fi