From 6e0759c73ec7cf24832a0e168a06a7fe52e8111c Mon Sep 17 00:00:00 2001 From: Monty Taylor Date: Fri, 13 Jan 2012 16:48:29 -0800 Subject: [PATCH] Use bundles instead of relocatable virtualenvs. This is step one. We'll create a venv the old way and also additionally a bundle. If the bundle exists on the copy-venv side of things, we'll install using it. Otherwise, we'll just do the old relocation code. After a day or two (once all of the venv artifacts have bundles) we can remove the use of install_venv and just go to pure bundles. Change-Id: Ie56e270ac4944a29253609730b013166cae05c26 --- slave_scripts/build-venv.sh | 5 +++-- slave_scripts/copy-venv.sh | 13 +++++++++---- 2 files changed, 12 insertions(+), 6 deletions(-) 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