diff --git a/manifests/params.pp b/manifests/params.pp index bf28630..ccb7219 100644 --- a/manifests/params.pp +++ b/manifests/params.pp @@ -41,7 +41,7 @@ default: { fail("Unsupported OS family: ${::osfamily}") } } - if versioncmp($::puppetversion, '4.0.0') >= 0 { + if (versioncmp($::puppetversion, '4.0.0') >= 0) and ($::rubysitedir =~ /\/opt\/puppetlabs\/puppet/) { $lens_dir = '/opt/puppetlabs/puppet/share/augeas/lenses' } elsif (defined('$is_pe') and str2bool("${::is_pe}")) { # lint:ignore:only_variable_string # puppet enterpise has a different lens location diff --git a/spec/classes/augeas_spec.rb b/spec/classes/augeas_spec.rb index 16f76f4..b6721c5 100644 --- a/spec/classes/augeas_spec.rb +++ b/spec/classes/augeas_spec.rb @@ -14,7 +14,11 @@ end end - lens_dir = Puppet.version < '4.0.0' ? '/usr/share/augeas/lenses' : '/opt/puppetlabs/puppet/share/augeas/lenses' + if Puppet.version >= '4.0.0' and facts[:rubysitedir] =~ /\/opt\/puppetlabs\/puppet/ + lens_dir = '/opt/puppetlabs/puppet/share/augeas/lenses' + else + lens_dir = '/usr/share/augeas/lenses' + end on_supported_os.each do |os, facts| context "on #{os}" do diff --git a/spec/defines/augeas_lens_spec.rb b/spec/defines/augeas_lens_spec.rb index 0fa1358..c8aec17 100644 --- a/spec/defines/augeas_lens_spec.rb +++ b/spec/defines/augeas_lens_spec.rb @@ -3,7 +3,11 @@ describe 'augeas::lens' do let (:title) { 'foo' } - lens_dir = Puppet.version < '4.0.0' ? '/usr/share/augeas/lenses' : '/opt/puppetlabs/puppet/share/augeas/lenses' + if Puppet.version >= '4.0.0' and facts[:rubysitedir] =~ /\/opt\/puppetlabs\/puppet/ + lens_dir = '/opt/puppetlabs/puppet/share/augeas/lenses' + else + lens_dir = '/usr/share/augeas/lenses' + end context 'when declaring augeas class first' do on_supported_os.each do |os, facts|