-
Notifications
You must be signed in to change notification settings - Fork 193
/
install.pp
73 lines (65 loc) · 2.63 KB
/
install.pp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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
65
66
67
68
69
70
71
72
73
# == Class puppet_agent::install
#
# This class is called from puppet_agent for install.
#
# === Parameters
#
# [package_file_name]
# The puppet-agent package file name.
# (see puppet_agent::prepare::package_file_name)
#
class puppet_agent::install(
$package_file_name = undef,
) {
assert_private()
if $::operatingsystem == 'SLES' and $::operatingsystemmajrelease == '10' {
contain puppet_agent::install::remove_packages
exec { 'replace puppet.conf removed by package removal':
path => '/bin:/usr/bin:/sbin:/usr/sbin',
command => "cp ${puppet_agent::params::confdir}/puppet.conf.rpmsave ${puppet_agent::params::config}",
creates => $puppet_agent::params::config,
require => Class['puppet_agent::install::remove_packages'],
before => Package[$puppet_agent::package_name],
logoutput => 'on_failure',
}
$_package_options = {
provider => 'rpm',
source => "/opt/puppetlabs/packages/${package_file_name}",
}
} elsif $::operatingsystem == 'Solaris' and $::operatingsystemmajrelease == '10' {
contain puppet_agent::install::remove_packages
$_unzipped_package_name = regsubst($package_file_name, '\.gz$', '')
$_package_options = {
adminfile => '/opt/puppetlabs/packages/solaris-noask',
source => "/opt/puppetlabs/packages/${_unzipped_package_name}",
require => Class['puppet_agent::install::remove_packages'],
}
} elsif $::operatingsystem == 'Darwin' and $::macosx_productversion_major =~ '10\.[9,10,11]' {
contain puppet_agent::install::remove_packages
$_package_options = {
source => "/opt/puppetlabs/packages/${package_file_name}",
require => Class['puppet_agent::install::remove_packages'],
}
} elsif $::operatingsystem == 'AIX' and $::architecture =~ 'PowerPC_POWER[5,6,7]' {
contain puppet_agent::install::remove_packages
exec { 'replace puppet.conf removed by package removal':
path => '/bin:/usr/bin:/sbin:/usr/sbin',
command => "cp ${puppet_agent::params::confdir}/puppet.conf.rpmsave ${puppet_agent::params::config}",
creates => $puppet_agent::params::config,
require => Class['puppet_agent::install::remove_packages'],
before => Package[$puppet_agent::package_name],
logoutput => 'on_failure',
}
$_package_options = {
source => "/opt/puppetlabs/packages/${package_file_name}",
require => Class['puppet_agent::install::remove_packages'],
provider => 'rpm',
}
} else {
$_package_options = {}
}
package { $::puppet_agent::package_name:
ensure => present,
* => $_package_options,
}
}