diff options
Diffstat (limited to 'manifests')
-rw-r--r-- | manifests/init.pp | 24 | ||||
-rw-r--r-- | manifests/lens.pp | 6 | ||||
-rw-r--r-- | manifests/packages.pp | 2 | ||||
-rw-r--r-- | manifests/params.pp | 19 |
4 files changed, 32 insertions, 19 deletions
diff --git a/manifests/init.pp b/manifests/init.pp index 41f4f87..1257894 100644 --- a/manifests/init.pp +++ b/manifests/init.pp @@ -4,21 +4,31 @@ # # Parameters: # ['version'] - the desired version of Augeas +# ['ruby_package'] - the desired package name of the Ruby bindings for Augeas # ['ruby_version'] - the desired version of the Ruby bindings for Augeas # ['lens_dir'] - the lens directory to use # ['purge'] - whether to purge lens directories class augeas ( $version = present, + $ruby_package = $::augeas::params::ruby_pkg, $ruby_version = present, - $lens_dir = $augeas::params::lens_dir, + $lens_dir = $::augeas::params::lens_dir, $purge = true, ) inherits augeas::params { - class {'::augeas::packages': } -> - class {'::augeas::files': } -> - Class['augeas'] + if versioncmp($::puppetversion, '4.0.0') >= 0 { + anchor { 'augeas::begin': } -> + class {'::augeas::files': } -> + anchor { 'augeas::end': } + } else { + anchor { 'augeas::begin': } -> + class {'::augeas::packages': } -> + class {'::augeas::files': } -> + anchor { 'augeas::end': } + + # lint:ignore:spaceship_operator_without_tag + Package['ruby-augeas', $augeas::params::augeas_pkgs] -> Augeas <| |> + # lint:endignore + } - # lint:ignore:spaceship_operator_without_tag - Package['ruby-augeas', $augeas::params::augeas_pkgs] -> Augeas <| |> - # lint:endignore } diff --git a/manifests/lens.pp b/manifests/lens.pp index c7dd6b2..e2c34de 100644 --- a/manifests/lens.pp +++ b/manifests/lens.pp @@ -60,10 +60,6 @@ define augeas::lens ( mode => '0644', } - Exec { - path => $::path, - } - if (!$stock_since or versioncmp($::augeasversion, $stock_since) < 0) { validate_re( @@ -85,6 +81,7 @@ define augeas::lens ( exec { "Typecheck lens ${name}": command => "augparse -I ${augeas::lens_dir} ${lens_dest} || (rm -f ${lens_dest} && exit 1)", + path => $::path, refreshonly => true, subscribe => File[$lens_dest], } @@ -101,6 +98,7 @@ define augeas::lens ( exec { "Test lens ${name}": command => "augparse -I ${augeas::lens_dir} ${test_dest} || (rm -f ${lens_dest} && rm -f ${test_dest} && exit 1)", + path => $::path, refreshonly => true, subscribe => File[$lens_dest, $test_dest], } diff --git a/manifests/packages.pp b/manifests/packages.pp index ff8628d..ff0d5c8 100644 --- a/manifests/packages.pp +++ b/manifests/packages.pp @@ -9,6 +9,6 @@ class augeas::packages { package { 'ruby-augeas': ensure => $::augeas::ruby_version, - name => $::augeas::params::ruby_pkg, + name => $::augeas::ruby_package, } } diff --git a/manifests/params.pp b/manifests/params.pp index 6d4017e..3d0b0f5 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -3,7 +3,12 @@ # Default parameters for the Augeas module # class augeas::params { - $lens_dir = '/usr/share/augeas/lenses' + + if versioncmp($::puppetversion, '4.0.0') >= 0 { + $lens_dir = '/opt/puppetlabs/puppet/share/augeas/lenses' + } else { + $lens_dir = '/usr/share/augeas/lenses' + } case $::osfamily { 'RedHat': { @@ -16,13 +21,13 @@ class augeas::params { } 'Suse': { - # RPM Sources: https://build.opensuse.org/project/show/systemsmanagement:puppet - # SLES 11 SP3 - if versioncmp($::rubyversion, '1.8.7') >= 0 { - $ruby_pkg = 'ruby1.8-rubygem-ruby-augeas' - # SLES 12 - } else { + # RPM Sources: https://build.opensuse.org/project/show/systemsmanagement:puppet + if versioncmp($::rubyversion, '2.1.2') >= 0 { + # SLES 12 / openSUSE $ruby_pkg = 'ruby2.1-rubygem-ruby-augeas' + } else { + # SLES 11 SP3 + $ruby_pkg = 'ruby1.8-rubygem-ruby-augeas' } $augeas_pkgs = ['augeas', 'augeas-lenses', 'libaugeas0' ] } |