You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.8 KiB
121 lines
3.8 KiB
diff -uNr hiera-3.6.0.ORIG/lib/hiera/util.rb hiera-3.6.0/lib/hiera/util.rb
|
|
--- hiera-3.6.0.ORIG/lib/hiera/util.rb 2019-11-13 09:43:32.600045630 +0100
|
|
+++ hiera-3.6.0/lib/hiera/util.rb 2019-11-13 09:43:46.007065887 +0100
|
|
@@ -20,7 +20,7 @@
|
|
if microsoft_windows?
|
|
File.join(common_appdata, 'PuppetLabs', 'puppet', 'etc')
|
|
else
|
|
- '/etc/puppetlabs/puppet'
|
|
+ '/etc/puppet'
|
|
end
|
|
end
|
|
|
|
@@ -28,7 +28,7 @@
|
|
if microsoft_windows?
|
|
File.join(common_appdata, 'PuppetLabs', 'code')
|
|
else
|
|
- '/etc/puppetlabs/code'
|
|
+ '/etc/puppet/code'
|
|
end
|
|
end
|
|
|
|
diff -uNr hiera-3.6.0.ORIG/lib/hiera/util.rb.orig hiera-3.6.0/lib/hiera/util.rb.orig
|
|
--- hiera-3.6.0.ORIG/lib/hiera/util.rb.orig 1970-01-01 01:00:00.000000000 +0100
|
|
+++ hiera-3.6.0/lib/hiera/util.rb.orig 2019-10-14 09:59:36.000000000 +0200
|
|
@@ -0,0 +1,65 @@
|
|
+class Hiera
|
|
+
|
|
+ # Matches a key that is quoted using a matching pair of either single or double quotes.
|
|
+ QUOTED_KEY = /^(?:"([^"]+)"|'([^']+)')$/
|
|
+ QUOTES = /[",]/
|
|
+
|
|
+ module Util
|
|
+ module_function
|
|
+
|
|
+ def posix?
|
|
+ require 'etc'
|
|
+ Etc.getpwuid(0) != nil
|
|
+ end
|
|
+
|
|
+ def microsoft_windows?
|
|
+ !!file_alt_separator
|
|
+ end
|
|
+
|
|
+ def config_dir
|
|
+ if microsoft_windows?
|
|
+ File.join(common_appdata, 'PuppetLabs', 'puppet', 'etc')
|
|
+ else
|
|
+ '/etc/puppetlabs/puppet'
|
|
+ end
|
|
+ end
|
|
+
|
|
+ def code_dir
|
|
+ if microsoft_windows?
|
|
+ File.join(common_appdata, 'PuppetLabs', 'code')
|
|
+ else
|
|
+ '/etc/puppetlabs/code'
|
|
+ end
|
|
+ end
|
|
+
|
|
+ def var_dir
|
|
+ File.join(code_dir, 'environments' , '%{environment}' , 'hieradata')
|
|
+ end
|
|
+
|
|
+ def file_alt_separator
|
|
+ File::ALT_SEPARATOR
|
|
+ end
|
|
+
|
|
+ def common_appdata
|
|
+ @common_appdata ||= Hiera::Util::Win32.get_common_appdata()
|
|
+ end
|
|
+
|
|
+ def split_key(key)
|
|
+ segments = key.split(/(?:"([^"]+)"|'([^']+)'|([^'".]+))/)
|
|
+ if segments.empty?
|
|
+ # Only happens if the original key was an empty string
|
|
+ ''
|
|
+ elsif segments.shift == ''
|
|
+ count = segments.size
|
|
+ raise yield('Syntax error') unless count > 0
|
|
+
|
|
+ segments.keep_if { |seg| seg != '.' }
|
|
+ raise yield('Syntax error') unless segments.size * 2 == count + 1
|
|
+ segments
|
|
+ else
|
|
+ raise yield('Syntax error')
|
|
+ end
|
|
+ end
|
|
+ end
|
|
+end
|
|
+
|
|
diff -uNr hiera-3.6.0.ORIG/spec/unit/util_spec.rb hiera-3.6.0/spec/unit/util_spec.rb
|
|
--- hiera-3.6.0.ORIG/spec/unit/util_spec.rb 2019-11-13 09:43:32.601045631 +0100
|
|
+++ hiera-3.6.0/spec/unit/util_spec.rb 2019-11-13 09:44:42.269091590 +0100
|
|
@@ -23,7 +23,7 @@
|
|
describe 'Hiera::Util.config_dir' do
|
|
it 'should return the correct path for posix systems' do
|
|
Hiera::Util.expects(:file_alt_separator).returns(nil)
|
|
- expect(Hiera::Util.config_dir).to eq('/etc/puppetlabs/puppet')
|
|
+ expect(Hiera::Util.config_dir).to eq('/etc/puppet')
|
|
end
|
|
|
|
it 'should return the correct path for microsoft windows systems' do
|
|
@@ -36,7 +36,7 @@
|
|
describe 'Hiera::Util.code_dir' do
|
|
it 'should return the correct path for posix systems' do
|
|
Hiera::Util.expects(:file_alt_separator).returns(nil)
|
|
- expect(Hiera::Util.code_dir).to eq('/etc/puppetlabs/code')
|
|
+ expect(Hiera::Util.code_dir).to eq('/etc/puppet/code')
|
|
end
|
|
|
|
it 'should return the correct path for microsoft windows systems' do
|
|
@@ -49,7 +49,7 @@
|
|
describe 'Hiera::Util.var_dir' do
|
|
it 'should return the correct path for posix systems' do
|
|
Hiera::Util.expects(:file_alt_separator).returns(nil)
|
|
- expect(Hiera::Util.var_dir).to eq('/etc/puppetlabs/code/environments/%{environment}/hieradata')
|
|
+ expect(Hiera::Util.var_dir).to eq('/etc/puppet/code/environments/%{environment}/hieradata')
|
|
end
|
|
|
|
it 'should return the correct path for microsoft windows systems' do
|