
Depends-On: I8b346cbfb908c5d2094c5e46ff008ef735b0e903 Depends-On: Icd0c652ff2f522ce2ea9086965f53e1a03f0d4fd Depends-On: I17c119e81a035916550de44356b9f4badd505c81 Change-Id: Ia8e6bf0a0dd686933cd04a5e678d1f88ebdd8245 Signed-off-by: Paul Belanger <pabelanger@redhat.com>
66 lines
2.0 KiB
Puppet
66 lines
2.0 KiB
Puppet
# Class: pip
|
|
#
|
|
class pip (
|
|
$index_url = 'https://pypi.python.org/simple',
|
|
$manage_pip_conf = false,
|
|
$optional_settings = {},
|
|
$trusted_hosts = [],
|
|
) {
|
|
include ::pip::params
|
|
validate_array($trusted_hosts)
|
|
|
|
package { $::pip::params::python_devel_package:
|
|
ensure => present,
|
|
}
|
|
if !defined(Package['curl']) {
|
|
package { 'curl':
|
|
ensure => present,
|
|
}
|
|
}
|
|
|
|
if $::operatingsystem != 'CentOS' {
|
|
exec { 'download-pip3':
|
|
command => "/usr/bin/curl ${::pip::params::get_pip_location} | /usr/bin/python3 - -U --force-reinstall",
|
|
creates => $::pip::params::get_pip3_path,
|
|
before => Exec['download-pip'],
|
|
notify => Exec[$::pip::params::get_pip_path],
|
|
require => Package['curl'],
|
|
}
|
|
}
|
|
|
|
exec { 'download-pip':
|
|
command => "/usr/bin/curl ${::pip::params::get_pip_location} | /usr/bin/python - -U --force-reinstall",
|
|
creates => $::pip::params::get_pip2_path,
|
|
notify => Exec[$::pip::params::get_pip_path],
|
|
require => Package['curl'],
|
|
}
|
|
|
|
# NOTE(pabelanger): Default to pip2 for backwards compat
|
|
exec { $::pip::params::get_pip_path:
|
|
command => "ln -sf ${::pip::params::get_pip2_path} ${::pip::params::get_pip_path}",
|
|
path => '/usr/bin:/bin/',
|
|
refreshonly => true,
|
|
}
|
|
|
|
# NOTE(pabelanger): We need to unlink pip2 because, it just symlinks to pip.
|
|
# And it is possible that pip is currently python3. This should then cause
|
|
# download-pip to run again. And default pip to python2 again.
|
|
# This code will be removed once pip has been switched back to python2.
|
|
exec { 'unlink pip2':
|
|
command => "unlink ${::pip::params::get_pip2_path}",
|
|
path => '/usr/bin:/bin/',
|
|
onlyif => "test -L ${::pip::params::get_pip2_path}",
|
|
notify => Exec['download-pip'],
|
|
}
|
|
|
|
if $manage_pip_conf {
|
|
file { '/etc/pip.conf':
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0444',
|
|
content => template('pip/pip.conf.erb'),
|
|
replace => true,
|
|
}
|
|
}
|
|
}
|