Move the --salt-transport to the install command

This commit is contained in:
Pedro Algarvio 2014-06-18 00:34:04 +01:00
parent b5b51fc7ed
commit 1eb5156837

View file

@ -17,6 +17,7 @@ from datetime import datetime
# pylint: disable=E0611 # pylint: disable=E0611
from distutils import log from distutils import log
from distutils.cmd import Command from distutils.cmd import Command
from distutils.errors import DistutilsArgError
from distutils.command.build import build from distutils.command.build import build
from distutils.command.clean import clean from distutils.command.clean import clean
from distutils.command.sdist import sdist from distutils.command.sdist import sdist
@ -337,6 +338,9 @@ class Build(build):
class Install(install): class Install(install):
user_options = install.user_options + [ user_options = install.user_options + [
('salt-transport=', None,
'The transport to prepare salt for. Choices are \'zeromq\' '
'and \'raet\'. Defaults to \'zeromq\''),
('salt-root-dir=', None, ('salt-root-dir=', None,
'Salt\'s pre-configured root directory'), 'Salt\'s pre-configured root directory'),
('salt-config-dir=', None, ('salt-config-dir=', None,
@ -361,7 +365,10 @@ class Install(install):
def initialize_options(self): def initialize_options(self):
install.initialize_options(self) install.initialize_options(self)
if not hasattr(self.distribution, 'install_requires'):
self.distribution.install_requires = _parse_requirements_file(SALT_REQS)
# pylint: disable=E0602 # pylint: disable=E0602
self.salt_transport = 'zeromq'
self.salt_root_dir = ROOT_DIR self.salt_root_dir = ROOT_DIR
self.salt_config_dir = CONFIG_DIR self.salt_config_dir = CONFIG_DIR
self.salt_cache_dir = CACHE_DIR self.salt_cache_dir = CACHE_DIR
@ -382,13 +389,28 @@ class Install(install):
'logs_dir', 'pidfile_dir'): 'logs_dir', 'pidfile_dir'):
optvalue = getattr(self, 'salt_{0}'.format(optname)) optvalue = getattr(self, 'salt_{0}'.format(optname))
if not optvalue: if not optvalue:
raise RuntimeError( raise DistutilsArgError(
'The value of --salt-{0} needs a proper path value'.format( 'The value of --salt-{0} needs a proper path value'.format(
optname.replace('_', '-') optname.replace('_', '-')
) )
) )
setattr(self.distribution, 'salt_{0}'.format(optname), optvalue) setattr(self.distribution, 'salt_{0}'.format(optname), optvalue)
if self.salt_transport not in ('zeromq', 'raet'):
raise DistutilsArgError(
'The value of --salt-transport needs be \'zeromq\' or \'raet\', not {0!r}'.format(
self.salt_transport
)
)
elif self.salt_transport == 'zeromq':
self.distribution.install_requires.extend(
_parse_requirements_file(SALT_ZEROMQ_REQS)
)
elif self.salt_transport == 'raet':
self.distribution.install_requires.extend(
_parse_requirements_file(SALT_RAET_REQS)
)
def run(self): def run(self):
# Let's set the running_salt_install attribute so we can add # Let's set the running_salt_install attribute so we can add
# _version.py in the build command # _version.py in the build command