Merge branch 'PR_add_chdir_to_pip' of git://github.com/y-p/ansible into devel
Conflicts: library/packaging/pip
This commit is contained in:
commit
727cee509c
1 changed files with 17 additions and 1 deletions
|
@ -91,6 +91,12 @@ options:
|
|||
required: false
|
||||
default: null
|
||||
version_added: "1.0"
|
||||
chdir:
|
||||
description:
|
||||
- cd into this directory before running the command
|
||||
version_added: "1.3"
|
||||
required: false
|
||||
default: null
|
||||
notes:
|
||||
- Please note that virtualenv (U(http://www.virtualenv.org/)) must be installed on the remote host if the virtualenv parameter is specified.
|
||||
requirements: [ "virtualenv", "pip" ]
|
||||
|
@ -180,6 +186,7 @@ def main():
|
|||
virtualenv_command=dict(default='virtualenv', required=False),
|
||||
use_mirrors=dict(default='yes', type='bool'),
|
||||
extra_args=dict(default=None, required=False),
|
||||
chdir=dict(default=None, required=False),
|
||||
),
|
||||
required_one_of=[['name', 'requirements']],
|
||||
mutually_exclusive=[['name', 'requirements']],
|
||||
|
@ -192,6 +199,7 @@ def main():
|
|||
requirements = module.params['requirements']
|
||||
use_mirrors = module.params['use_mirrors']
|
||||
extra_args = module.params['extra_args']
|
||||
chdir = module.params['chdir']
|
||||
|
||||
if state == 'latest' and version is not None:
|
||||
module.fail_json(msg='version is incompatible with state=latest')
|
||||
|
@ -215,6 +223,8 @@ def main():
|
|||
else:
|
||||
cmd = '%s %s' % (virtualenv, env)
|
||||
os.chdir(tempfile.gettempdir())
|
||||
if chdir:
|
||||
os.chdir(chdir)
|
||||
rc, out_venv, err_venv = module.run_command(cmd)
|
||||
out += out_venv
|
||||
err += err_venv
|
||||
|
@ -238,6 +248,7 @@ def main():
|
|||
# is_tar ends with .zip, .tar.gz, or .tar.bz2
|
||||
is_vcs = False
|
||||
is_tar = False
|
||||
is_local_path = False
|
||||
if name.endswith('.tar.gz') or name.endswith('.tar.bz2') or name.endswith('.zip'):
|
||||
is_tar = True
|
||||
elif name.startswith('svn+') or name.startswith('git+') or \
|
||||
|
@ -252,8 +263,11 @@ def main():
|
|||
args_list.append('-e')
|
||||
# Ok, we will reconstruct the option string
|
||||
extra_args = ' '.join(args_list)
|
||||
|
||||
if name.startswith(('.','/')):
|
||||
is_local_path = True
|
||||
# for tarball or vcs source, applying --use-mirrors doesn't really make sense
|
||||
is_package = is_vcs or is_tar # just a shortcut for bool
|
||||
is_package = is_vcs or is_tar or is_local_path # just a shortcut for bool
|
||||
if not is_package and state != 'absent' and use_mirrors:
|
||||
cmd += ' --use-mirrors'
|
||||
cmd += ' %s' % _get_full_name(name, version)
|
||||
|
@ -263,6 +277,8 @@ def main():
|
|||
if module.check_mode:
|
||||
module.exit_json(changed=True)
|
||||
os.chdir(tempfile.gettempdir())
|
||||
if chdir:
|
||||
os.chdir(chdir)
|
||||
rc, out_pip, err_pip = module.run_command(cmd)
|
||||
out += out_pip
|
||||
err += err_pip
|
||||
|
|
Loading…
Reference in a new issue