summaryrefslogtreecommitdiff
path: root/manifests/pip.pp
diff options
context:
space:
mode:
authorJarl Stefansson <jarl@sdelements.com>2014-01-02 15:25:27 -0500
committerJarl Stefansson <jarl@sdelements.com>2014-01-02 15:25:27 -0500
commit6d88eb88f3ec00655a25f9cb83efd58f293ef4fe (patch)
treed7687b94fa5105a7868fcb48e50ef935ddc36d99 /manifests/pip.pp
parent5dfe3e57489790823928a90363d7ab81500ce5e8 (diff)
Fix wheel support and pip version compatability
Fix wheel support and compatability for older pip versions by detecting suppport when running the pip command inside a virtualenv.
Diffstat (limited to 'manifests/pip.pp')
-rw-r--r--manifests/pip.pp20
1 files changed, 10 insertions, 10 deletions
diff --git a/manifests/pip.pp b/manifests/pip.pp
index ba83658..a818e23 100644
--- a/manifests/pip.pp
+++ b/manifests/pip.pp
@@ -70,13 +70,6 @@ define python::pip (
default => "--proxy=${proxy}",
}
- # Python 2.6 and older don't support setuptools > 0.8 which is required
- # for pip wheel support, pip therefor requires --no-use-wheel flag
- if ( versioncmp($::python_version,'2.6') > 0 ) {
- $wheel_support_flag = '--no-use-wheel'
- } else {
- $wheel_support_flag = ''
- }
$grep_regex = $name ? {
/==/ => "^${name}\$",
@@ -93,10 +86,17 @@ define python::pip (
default => "${url}#egg=${egg_name}",
}
+ # Python 2.6 and older don't support setuptools/distribute > 0.8 which is required
+ # for pip wheel support, pip therefor requires --no-use-wheel flag if the
+ # pip version is more recent thatn 1.4.1 but using an old python or
+ # setuputils/distribute version
+ # To check for this we test for wheel parameter using help and then using
+ # version, this makes sure we only use wheels if they are supported
+
case $ensure {
present: {
exec { "pip_install_${name}":
- command => "$pip_env --log ${cwd}/pip.log install $install_args ${wheel_support_flag} ${proxy_flag} ${source}",
+ command => "$pip_env wheel --help && pip wheel --version || wheel_support_flag="--no-use-wheel"; $pip_env --log ${cwd}/pip.log install $install_args \$wheel_support_flag ${proxy_flag} ${source}",
unless => "$pip_env freeze | grep -i -e ${grep_regex}",
user => $owner,
environment => $environment,
@@ -106,7 +106,7 @@ define python::pip (
latest: {
exec { "pip_install_${name}":
- command => "$pip_env --log ${cwd}/pip.log install --upgrade ${wheel_support_flag} ${proxy_flag} ${source}",
+ command => "$pip_env wheel --help && pip wheel --version || wheel_support_flag="--no-use-wheel"; $pip_env x--log ${cwd}/pip.log install --upgrade \$wheel_support_flag ${proxy_flag} ${source}",
user => $owner,
environment => $environment,
path => ["/usr/local/bin","/usr/bin","/bin", "/usr/sbin"],
@@ -115,7 +115,7 @@ define python::pip (
latest: {
exec { "pip_install_${name}":
- command => "$pip_env --log ${cwd}/pip.log install -U $install_args ${wheel_support_flag} ${proxy_flag} ${source}",
+ command => "$pip_env wheel --help && pip wheel --version || wheel_support_flag="--no-use-wheel"; $pip_env --log ${cwd}/pip.log install -U $install_args \$wheel_support_flag ${proxy_flag} ${source}",
user => $owner,
environment => $environment,
}