diff --git a/attributes/default.rb b/attributes/default.rb index b2bc278..77396ad 100644 --- a/attributes/default.rb +++ b/attributes/default.rb @@ -1,7 +1,12 @@ default.tz = 'UTC' # Path to tzdata directory -default.timezone.tzdata_dir = '/usr/share/zoneinfo' +case node.platform_family +when 'solaris2' + default.timezone.tzdata_dir = '/usr/share/lib/zoneinfo' +else + default.timezone.tzdata_dir = '/usr/share/zoneinfo' +end # Path to file used by kernel for local timezone's data default.timezone.localtime_path = '/etc/localtime' diff --git a/files/default/tests/minitest/default_test.rb b/files/default/tests/minitest/default_test.rb index c5cfe0b..9bb0175 100644 --- a/files/default/tests/minitest/default_test.rb +++ b/files/default/tests/minitest/default_test.rb @@ -5,7 +5,7 @@ class TimezoneIiSpec < MiniTest::Chef::Spec describe_recipe 'timezone-ii::default' do it 'updates the timezone' do - IO.read('/etc/localtime').must_equal IO.read("/usr/share/zoneinfo/#{node[:tz]}") + IO.read('/etc/localtime').must_equal IO.read("#{node[:timezone][:tzdata_dir]}/#{node[:tz]}") end end diff --git a/metadata.rb b/metadata.rb index a27b1a3..99c3266 100644 --- a/metadata.rb +++ b/metadata.rb @@ -17,3 +17,4 @@ supports "ubuntu" supports "pld" supports "rhel" +supports "solaris2" diff --git a/recipes/default.rb b/recipes/default.rb index 6de28c2..4cecc38 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -12,11 +12,12 @@ # timekeeping field is forever in your debt.) package value_for_platform_family( 'gentoo' => 'timezone-data', + 'solaris2' => 'timezone', 'default' => 'tzdata' ) case node.platform_family -when 'debian', 'fedora', 'pld', 'rhel' +when 'debian', 'fedora', 'pld', 'rhel', 'solaris2' include_recipe "timezone-ii::#{node.platform_family}" else diff --git a/recipes/solaris2.rb b/recipes/solaris2.rb new file mode 100644 index 0000000..e9d0c55 --- /dev/null +++ b/recipes/solaris2.rb @@ -0,0 +1,6 @@ +execute "set_timezone" do + command "svccfg -s timezone:default setprop timezone/localtime= astring: #{node['tz']}; svcadm refresh timezone:default" + not_if "svccfg -s timezone:default listprop timezone/localtime | grep #{node['tz']}" + action :run +end +