Files
devstack-gate/slave_scripts/copy-venv.sh
Monty Taylor 6e0759c73e 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
2012-01-31 00:50:06 -05:00

25 lines
1.1 KiB
Bash
Executable File

#!/bin/bash -xe
# Support jobs, such as nova-docs, which are not yet triggered by gerrit
if [ "x$GERRIT_BRANCH" = "x" ] ; then
GERRIT_BRANCH=master
fi
mv jenkins_venvs/$GERRIT_BRANCH/venv.tgz .
rm -fr jenkins_venvs
tar xfz venv.tgz
rm venv.tgz
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
# 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
# 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/*
fi