diff options
author | Brad Hall <brad@nicira.com> | 2011-12-05 09:52:24 -0800 |
---|---|---|
committer | Brad Hall <brad@nicira.com> | 2011-12-05 09:53:43 -0800 |
commit | 40f0a170d7e062707c16f3af434e8a7b15ed9b3b (patch) | |
tree | 149fed38d9c2d58b908ac53bcaa1a176a70a64f2 /setup.py | |
parent | bb6cbb09f58a80e62c8a8b40388e9497718dab4c (diff) | |
download | neutron-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.py | 31 |
1 files changed, 24 insertions, 7 deletions
@@ -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: |