summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Dibowitz <phil@ipom.com>2015-07-23 10:09:52 -0700
committerPhil Dibowitz <phil@ipom.com>2015-07-23 10:09:52 -0700
commitd678e7f3849091d3ef384847ffd6abb582c65afb (patch)
treebb39c5c8c67eeda037af7ef8c6d0a4ad1f058e12
parent694c4d6af2e0a14d5fc6e59718f0aa9dfeb15c89 (diff)
parentfbadd31f51d316c27524b5b1e5af158f4375048c (diff)
downloadchef-d678e7f3849091d3ef384847ffd6abb582c65afb.tar.gz
Merge pull request #3594 from natewalck/master
Added support for 10.11 and added function for evaluating OS X version...
-rw-r--r--lib/chef/provider/service/macosx.rb6
-rw-r--r--spec/unit/provider/service/macosx_spec.rb8
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/chef/provider/service/macosx.rb b/lib/chef/provider/service/macosx.rb
index 7324822eff..0a8fca4262 100644
--- a/lib/chef/provider/service/macosx.rb
+++ b/lib/chef/provider/service/macosx.rb
@@ -42,6 +42,10 @@ class Chef
PLIST_DIRS = gather_plist_dirs
+ def this_version_or_newer?(this_version)
+ Gem::Version.new(node['platform_version']) >= Gem::Version.new(this_version)
+ end
+
def load_current_resource
@current_resource = Chef::Resource::MacosxService.new(@new_resource.name)
@current_resource.service_name(@new_resource.service_name)
@@ -56,7 +60,7 @@ class Chef
@console_user = Etc.getlogin
Chef::Log.debug("#{new_resource} console_user: '#{@console_user}'")
cmd = "su "
- param = !node['platform_version'].include?('10.10') ? '-l ' : ''
+ param = this_version_or_newer?('10.10') ? '' : '-l '
@base_user_cmd = cmd + param + "#{@console_user} -c"
# Default LauchAgent session should be Aqua
@session_type = 'Aqua' if @session_type.nil?
diff --git a/spec/unit/provider/service/macosx_spec.rb b/spec/unit/provider/service/macosx_spec.rb
index 597845a558..54183bdc3d 100644
--- a/spec/unit/provider/service/macosx_spec.rb
+++ b/spec/unit/provider/service/macosx_spec.rb
@@ -60,15 +60,15 @@ XML
["Daemon", "Agent"].each do |service_type|
["redis-server", "io.redis.redis-server"].each do |service_name|
- ["10.9", "10.10"].each do |platform_version|
+ ["10.9", "10.10", "10.11"].each do |platform_version|
let(:plist) {'/Library/LaunchDaemons/io.redis.redis-server.plist'}
let(:session) { StringIO.new }
if service_type == 'Agent'
let(:plist) {'/Library/LaunchAgents/io.redis.redis-server.plist'}
let(:session) {'-S Aqua '}
- let(:su_cmd) {'su igor -c'}
- if platform_version != "10.10"
- let(:su_cmd) {'su -l igor -c'}
+ let(:su_cmd) {'su -l igor -c'}
+ if platform_version == "10.9"
+ let(:su_cmd) {'su igor -c'}
end
end
let(:service_label) {'io.redis.redis-server'}