diff --git a/manifests/package.pp b/manifests/package.pp index dc0a4dc..fd53d3a 100644 --- a/manifests/package.pp +++ b/manifests/package.pp @@ -1,83 +1,85 @@ # == Class: sudo::package # # Installs the sudo package on various platforms. # # === Parameters # # Document parameters here. # # [*package*] # The name of the sudo package to be installed # # [*package_ensure*] # Ensure if present or absent # # [*package_source*] # Where to find the sudo packge, should be a local file or a uri # # [*package_provider*] # Set package provider # # === Authors # # Toni Schmidbauer # # === Copyright # # Copyright 2013 Toni Schmidbauer # class sudo::package ( $package = '', $package_ensure = present, $package_source = '', $package_provider = undef, $package_admin_file = '', $ldap_enable = false, ) { if $ldap_enable == true { case $facts['os']['family'] { 'Gentoo': { if defined( 'portage' ) { Class['sudo'] -> Class['portage'] package_use { 'app-admin/sudo': ensure => present, use => ['ldap'], target => 'sudo-flags', } } else { fail ('portage package needed to define ldap use on sudo') } } default: {} } } case $facts['os']['family'] { 'AIX': { class { 'sudo::package::aix': package => $package, package_source => $package_source, package_ensure => $package_ensure, package_provider => $package_provider, } } 'Darwin': {} 'Solaris': { class { 'sudo::package::solaris': package => $package, package_source => $package_source, package_ensure => $package_ensure, package_admin_file => $package_admin_file, + package_provider => $package_provider, } } default: { if $package != '' { ensure_packages([ $package, ], { - 'ensure' => $package_ensure, + 'ensure' => $package_ensure, + 'provider => $package_provider, }) } } } } diff --git a/manifests/package/solaris.pp b/manifests/package/solaris.pp index d5cf4d0..06503ad 100644 --- a/manifests/package/solaris.pp +++ b/manifests/package/solaris.pp @@ -1,61 +1,64 @@ # == Class: sudo::package::solaris # # install sudo under solaris 10/11. # # === Parameters # # Document parameters here. # # [*package*] # The name of the sudo package to be installed # # [*package_ensure*] # Ensure if present or absent # # [*package_source*] # Where to find the sudo packge, should be a local file or a uri # # [*package_admin_file*] # Solaris 10 package admin file for unattended installation # # === Examples # # class { sudo::package::solaris: # package => 'sudo', # } # # === Authors # # Toni Schmidbauer # # === Copyright # # Copyright 2013 Toni Schmidbauer # class sudo::package::solaris ( $package = '', $package_source = '', $package_ensure = 'present', $package_admin_file = '', + $package_provider = undef, ) { case $::kernelrelease { '5.11': { package { $package: - ensure => $package_ensure, + ensure => $package_ensure, + provider => $package_provider, } } '5.10': { package { $package: ensure => $package_ensure, source => $package_source, adminfile => $package_admin_file, + provider => $package_provider, install_options => [ '-G', ], } } default: { fail("Unsupported Solaris kernelrelease ${::kernelrelease}!") } } }