update install_venv_common to handle bootstrapping

old install_venv_common used oslo-config, which makes for bad
recursive dependencies, and we can't build a venv from a fresh
tree.

Change-Id: I09336d760842d4eb57f2b70fdfe19afaf6520a48
This commit is contained in:
Sean Dague 2013-02-22 15:02:57 -05:00
parent 64ee4ac1aa
commit 614a23a9c5

View File

@ -21,18 +21,11 @@ virtual environments.
Synced in from openstack-common
"""
import argparse
import os
import subprocess
import sys
possible_topdir = os.getcwd()
if os.path.exists(os.path.join(possible_topdir, "cinder",
"__init__.py")):
sys.path.insert(0, possible_topdir)
from oslo.config import cfg
class InstallVenv(object):
@ -57,7 +50,7 @@ class InstallVenv(object):
check_exit_code=True):
"""Runs a command in an out-of-process shell.
Returns the output of that command. Working directory is ROOT.
Returns the output of that command. Working directory is self.root.
"""
if redirect_output:
stdout = subprocess.PIPE
@ -100,7 +93,7 @@ class InstallVenv(object):
else:
self.run_command(['virtualenv', '-q', self.venv])
print 'done.'
print 'Installing pip in virtualenv...',
print 'Installing pip in venv...',
if not self.run_command(['tools/with_venv.sh', 'easy_install',
'pip>1.0']).strip():
self.die("Failed to install pip.")
@ -138,17 +131,12 @@ class InstallVenv(object):
def parse_args(self, argv):
"""Parses command-line arguments."""
cli_opts = [
cfg.BoolOpt('no-site-packages',
default=False,
short='n',
help="Do not inherit packages from global Python"
"install"),
]
CLI = cfg.ConfigOpts()
CLI.register_cli_opts(cli_opts)
CLI(argv[1:])
return CLI
parser = argparse.ArgumentParser()
parser.add_argument('-n', '--no-site-packages',
action='store_true',
help="Do not inherit packages from global Python "
"install")
return parser.parse_args(argv[1:])
class Distro(InstallVenv):