diff --git a/slave_scripts/build-venv.sh b/slave_scripts/build-venv.sh index d8344510..85bf7e47 100755 --- a/slave_scripts/build-venv.sh +++ b/slave_scripts/build-venv.sh @@ -16,7 +16,8 @@ do mkdir -p jenkins_venvs/$branch python tools/install_venv.py virtualenv --relocatable .venv - tar cvfz jenkins_venvs/$branch/venv.tgz .venv - rm -fr .venv + pip bundle .cache.bundle -r tools/pip-requires + tar cvfz jenkins_venvs/$branch/venv.tgz .venv .cache.bundle + rm -fr .venv .cache.bundle done git checkout master diff --git a/slave_scripts/copy-venv.sh b/slave_scripts/copy-venv.sh index cfb63b48..69aaa203 100755 --- a/slave_scripts/copy-venv.sh +++ b/slave_scripts/copy-venv.sh @@ -8,12 +8,17 @@ mv jenkins_venvs/$GERRIT_BRANCH/venv.tgz . rm -fr jenkins_venvs tar xfz venv.tgz rm venv.tgz -perl -MCwd -ple '$CWD=Cwd::abs_path();s,^VIRTUAL_ENV=.*,VIRTUAL_ENV="$CWD/.venv",' -i .venv/bin/activate +if [ -f .cache.bundle ] ; then + pip install --upgrade -E .venv file://`pwd`/.cache.bundle + rm .cache.bundle +else + perl -MCwd -ple '$CWD=Cwd::abs_path();s,^VIRTUAL_ENV=.*,VIRTUAL_ENV="$CWD/.venv",' -i .venv/bin/activate # This gets easy-install.pth as well as $PROJECT.pth. Examples for glance: # easy-install.pth looks like: /home/jenkins/workspace/glance-venv/.venv/src/keystone # $PROJECT.pth looks like: /home/jenkins/workspace/glance-venv -perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/workspace/[^/]+(/.*)$,$CWD$1,' -i .venv/lib/python2.7/site-packages/*.pth + perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/workspace/[^/]+(/.*)$,$CWD$1,' -i .venv/lib/python2.7/site-packages/*.pth # This is needed for the keystone install for glance -perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/lib/python2.7/site-packages/*.egg-link + perl -MCwd -ple '$CWD=Cwd::abs_path();s,^/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/lib/python2.7/site-packages/*.egg-link # This is needed for the keystone install for glance -perl -MCwd -ple '$CWD=Cwd::abs_path();s,/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/bin/* + perl -MCwd -ple '$CWD=Cwd::abs_path();s,/.*/.venv/src/(.*),$CWD/.venv/src/$1,' -i .venv/bin/* +fi