#!/bin/bash # Clone soledad repository and install soledad dependencies needed to run # client and server in a test environment. # # In details, this script does the following: # # - clone a series of python package repositories into /var/local/soledad. # - install dependencies for those packages from the requirements files in # each of the repositories, using python wheels when possible. # - install the python packages in development mode # # The cloned git repositories might have a remote configured and a branch # checked out on runtime, before a server, client or test instance is actually # run. Check the other scripts in this directory. # # This script is meant to be copied to the docker container and run after # system dependencies have been installed. BASEDIR="/var/local" BASEURL="https://github.com/leapcode" mkdir -p ${BASEDIR} # clone repositories repos="soledad leap_pycommon soledad-perf" for repo in ${repos}; do repodir=${BASEDIR}/${repo} if [ ! -d ${repodir} ]; then git clone ${BASEURL}/${repo} ${repodir} git -C ${repodir} fetch origin fi done # use latest pip because the version available in debian jessie doesn't # support wheels pip install -U pip pip install psutil # install dependencies and packages install_script="pkg/pip_install_requirements.sh" opts="--use-leap-wheels" pkgs="leap_pycommon soledad/common soledad/client soledad/server" for pkg in ${pkgs}; do pkgdir=${BASEDIR}/${pkg} testing="" if [ -f ${pkgdir}/pkg/requirements-testing.pip ]; then testing="--testing" fi (cd ${pkgdir} && ${install_script} ${testing} ${opts}) (cd ${pkgdir} && python setup.py develop) done