summaryrefslogtreecommitdiff
path: root/manifests/install.pp
diff options
context:
space:
mode:
Diffstat (limited to 'manifests/install.pp')
-rw-r--r--manifests/install.pp42
1 files changed, 33 insertions, 9 deletions
diff --git a/manifests/install.pp b/manifests/install.pp
index caead49..c4914f7 100644
--- a/manifests/install.pp
+++ b/manifests/install.pp
@@ -1,3 +1,18 @@
+# == Define: python::install
+#
+# Installs core python packages
+#
+# === Examples
+#
+# include python::install
+#
+# === Authors
+#
+# Sergey Stankevich
+# Ashley Penney
+# Fotis Gimian
+#
+
class python::install {
$python = $python::version ? {
@@ -5,13 +20,11 @@ class python::install {
default => "python${python::version}",
}
- $pythondev = $::operatingsystem ? {
- /(?i:RedHat|CentOS|Fedora|Scientific)/ => "${python}-devel",
- /(?i:Debian|Ubuntu)/ => "${python}-dev"
+ $pythondev = $::osfamily ? {
+ RedHat => "${python}-devel",
+ Debian => "${python}-dev"
}
- package { $python: ensure => present }
-
$dev_ensure = $python::dev ? {
true => present,
default => absent,
@@ -22,15 +35,26 @@ class python::install {
default => absent,
}
- package { $pythondev: ensure => $dev_ensure }
- package { 'python-pip': ensure => $pip_ensure }
-
$venv_ensure = $python::virtualenv ? {
true => present,
default => absent,
}
- package { 'python-virtualenv': ensure => $venv_ensure }
+ # Install latest from pip if pip is the provider
+ case $python::provider {
+ pip: {
+ package { 'virtualenv': ensure => latest, provider => pip }
+ package { 'pip': ensure => latest, provider => pip }
+ package { $pythondev: ensure => latest }
+ package { "python==${python::version}": ensure => latest, provider => pip }
+ }
+ default: {
+ package { 'python-virtualenv': ensure => $venv_ensure }
+ package { 'python-pip': ensure => $pip_ensure }
+ package { $pythondev: ensure => $dev_ensure }
+ package { $python: ensure => present }
+ }
+ }
if $python::manage_gunicorn {
$gunicorn_ensure = $python::gunicorn ? {