Fix for bug 900316
This fixes the --venv and --user install options as well as the path in the cli script. Change-Id: Ie9f265ca248db3d91ff92b7dc3090e1bfdbb0eb6
This commit is contained in:
parent
bb6cbb09f5
commit
40f0a170d7
31
setup.py
31
setup.py
@ -20,12 +20,21 @@ def clean_path(dirty):
|
|||||||
|
|
||||||
|
|
||||||
def script_dir():
|
def script_dir():
|
||||||
|
global RELATIVE
|
||||||
script_dir = '/usr/sbin/'
|
script_dir = '/usr/sbin/'
|
||||||
if RELATIVE:
|
if RELATIVE:
|
||||||
script_dir = 'usr/sbin/'
|
script_dir = 'usr/sbin/'
|
||||||
return script_dir
|
return script_dir
|
||||||
|
|
||||||
|
|
||||||
|
def etc_dir():
|
||||||
|
global RELATIVE
|
||||||
|
etc_dir = '/etc/'
|
||||||
|
if RELATIVE:
|
||||||
|
etc_dir = 'etc/'
|
||||||
|
return etc_dir
|
||||||
|
|
||||||
|
|
||||||
def create_parser():
|
def create_parser():
|
||||||
"""Setup the option parser"""
|
"""Setup the option parser"""
|
||||||
usagestr = "Usage: %prog [OPTIONS] <command> [args]"
|
usagestr = "Usage: %prog [OPTIONS] <command> [args]"
|
||||||
@ -49,7 +58,7 @@ def create_parser():
|
|||||||
def install_packages(options, args=None):
|
def install_packages(options, args=None):
|
||||||
"""Builds and installs packages"""
|
"""Builds and installs packages"""
|
||||||
# Start building a command list
|
# Start building a command list
|
||||||
cmd = ['pip', 'install']
|
cmd = ['python']
|
||||||
|
|
||||||
# If no options, just a regular install. If venv, create, prepare and
|
# If no options, just a regular install. If venv, create, prepare and
|
||||||
# install in venv. If --user install in user's local dir. Usually
|
# install in venv. If --user install in user's local dir. Usually
|
||||||
@ -60,9 +69,7 @@ def install_packages(options, args=None):
|
|||||||
else:
|
else:
|
||||||
install_venv.create_virtualenv(install_pip=False)
|
install_venv.create_virtualenv(install_pip=False)
|
||||||
install_venv.install_dependencies()
|
install_venv.install_dependencies()
|
||||||
cmd.extend(['-E', install_venv.VENV])
|
cmd.insert(0, "tools/with_venv.sh")
|
||||||
elif options.user:
|
|
||||||
cmd.append('--user')
|
|
||||||
|
|
||||||
# Install packages
|
# Install packages
|
||||||
# TODO(Tyler) allow users to pass in packages in cli
|
# 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
|
# Each package needs its own command list, and it needs the path
|
||||||
# in the correct place (after "pip install")
|
# in the correct place (after "pip install")
|
||||||
pcmd = deepcopy(cmd)
|
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':
|
if package is 'server':
|
||||||
pcmd.append("--install-option=--install-scripts=%s" %\
|
pcmd.append("--install-scripts=%s" % script_dir())
|
||||||
script_dir())
|
pcmd.append("--install-data=%s" % etc_dir())
|
||||||
print pcmd
|
print pcmd
|
||||||
install_venv.run_command(pcmd)
|
install_venv.run_command(pcmd)
|
||||||
print "done."
|
print "done."
|
||||||
@ -134,6 +150,7 @@ def clean_packages(options, args):
|
|||||||
|
|
||||||
def main():
|
def main():
|
||||||
"""Main Build script for Quantum"""
|
"""Main Build script for Quantum"""
|
||||||
|
global RELATIVE
|
||||||
options, cmd, args = create_parser()
|
options, cmd, args = create_parser()
|
||||||
|
|
||||||
if options.user:
|
if options.user:
|
||||||
|
@ -50,7 +50,7 @@ setup(
|
|||||||
eager_resources=EagerResources,
|
eager_resources=EagerResources,
|
||||||
entry_points={
|
entry_points={
|
||||||
'console_scripts': [
|
'console_scripts': [
|
||||||
'quantum = quantum.cli:main'
|
'quantum = quantum.client.cli:main'
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user