# # init.pp # class plnxtools( $opt_dir = $plnxtools::params::opt_dir, # a list of packages to install jdks $jdks = $plnxtools::params::jdks, # default JAVA_HOME $java_home = $plnxtools::params::java_home, ) inherits plnxtools::params{ file {"opt_dir": path => $opt_dir, ensure => directory }-> file {"opt_dir_plnx": path => "$opt_dir/plnxtools", ensure => directory } # # For most tools FreeBSD needs to bash installed # accassible by /bin/bash # if $::osfamily == 'FreeBSD' { package {"bash": ensure => installed } -> file {"/bin/bash": ensure => link, target => "/usr/local/bin/bash" } } package { $jdks: ensure => installed } } define plnxtools::install ( $distfile, $sourcedir, $dirname, $sourcefile="${sourcedir}/${distfile}", $opt_dir = "/opt", $checksum = undef, $checksum_type = undef, ) { archive { "/tmp/$distfile": ensure => present, source => $sourcefile, extract_path => $opt_dir, extract => true, cleanup => true, checksum => $checksum, checksum_type => $checksum_type, creates => "${opt_dir}/${dirname}", # require => [ # File['opt_dir'] # ] } -> file { "/opt/$title": ensure => link, target => "/opt/${dirname}", } }