31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
|
# File 'manifests/init.pp', line 31
class cpanm (
Cpanm::HTTPUrl $installer = 'https://cpanmin.us',
Boolean $manage_dependencies = true,
Optional[Cpanm::HTTPUrl] $mirror = undef,
Boolean $lwpbootstraparg = false,
) {
if $facts['os']['family'] == 'RedHat' and $facts['os']['release']['major'] < '8' {
$packages = ['perl', 'make', 'gcc', 'perl-core']
} else {
$packages = ['perl', 'make', 'gcc']
}
if $manage_dependencies {
package { $packages:
before => Exec['install cpanminus'],
}
}
$from = $mirror ? {
undef => '',
default => "--from ${mirror}",
}
if ($lwpbootstraparg) {
$lwparg = '--no-lwp'
} else {
$lwparg = ''
}
exec { 'install cpanminus':
command => "/usr/bin/curl -L ${installer} | /usr/bin/perl - ${from} -n App::cpanminus ${lwparg}",
unless => '/usr/bin/test -x /usr/bin/cpanm -o -x /usr/local/bin/cpanm',
}
}
|