summaryrefslogtreecommitdiff
path: root/setup.py
diff options
context:
space:
mode:
authorBrad Hall <brad@nicira.com>2011-12-05 09:52:24 -0800
committerBrad Hall <brad@nicira.com>2011-12-05 09:53:43 -0800
commit40f0a170d7e062707c16f3af434e8a7b15ed9b3b (patch)
tree149fed38d9c2d58b908ac53bcaa1a176a70a64f2 /setup.py
parentbb6cbb09f58a80e62c8a8b40388e9497718dab4c (diff)
downloadneutron-40f0a170d7e062707c16f3af434e8a7b15ed9b3b.tar.gz
Fix for bug 900316
This fixes the --venv and --user install options as well as the path in the cli script. Change-Id: Ie9f265ca248db3d91ff92b7dc3090e1bfdbb0eb6
Diffstat (limited to 'setup.py')
-rw-r--r--setup.py31
1 files changed, 24 insertions, 7 deletions
diff --git a/setup.py b/setup.py
index 78334102f8..68c7a4599a 100644
--- a/setup.py
+++ b/setup.py
@@ -20,12 +20,21 @@ def clean_path(dirty):
def script_dir():
+ global RELATIVE
script_dir = '/usr/sbin/'
if RELATIVE:
script_dir = 'usr/sbin/'
return script_dir
+def etc_dir():
+ global RELATIVE
+ etc_dir = '/etc/'
+ if RELATIVE:
+ etc_dir = 'etc/'
+ return etc_dir
+
+
def create_parser():
"""Setup the option parser"""
usagestr = "Usage: %prog [OPTIONS] <command> [args]"
@@ -49,7 +58,7 @@ def create_parser():
def install_packages(options, args=None):
"""Builds and installs packages"""
# Start building a command list
- cmd = ['pip', 'install']
+ cmd = ['python']
# If no options, just a regular install. If venv, create, prepare and
# install in venv. If --user install in user's local dir. Usually
@@ -60,9 +69,7 @@ def install_packages(options, args=None):
else:
install_venv.create_virtualenv(install_pip=False)
install_venv.install_dependencies()
- cmd.extend(['-E', install_venv.VENV])
- elif options.user:
- cmd.append('--user')
+ cmd.insert(0, "tools/with_venv.sh")
# Install packages
# TODO(Tyler) allow users to pass in packages in cli
@@ -71,11 +78,20 @@ def install_packages(options, args=None):
# Each package needs its own command list, and it needs the path
# in the correct place (after "pip install")
pcmd = deepcopy(cmd)
- pcmd.insert(2, path.join(ROOT, clean_path(package)))
+ pcmd.extend(["setup_%s.py" % package, "install"])
+
+ if options.venv:
+ pcmd.append("--root=%s" % install_venv.VENV)
+
+ if options.user:
+ pcmd.append('--user')
+
+ if package is 'client':
+ pcmd.append("--install-scripts=%s" % script_dir())
if package is 'server':
- pcmd.append("--install-option=--install-scripts=%s" %\
- script_dir())
+ pcmd.append("--install-scripts=%s" % script_dir())
+ pcmd.append("--install-data=%s" % etc_dir())
print pcmd
install_venv.run_command(pcmd)
print "done."
@@ -134,6 +150,7 @@ def clean_packages(options, args):
def main():
"""Main Build script for Quantum"""
+ global RELATIVE
options, cmd, args = create_parser()
if options.user: