diff options
author | John Keiser <john@johnkeiser.com> | 2015-05-06 07:59:33 -0700 |
---|---|---|
committer | John Keiser <john@johnkeiser.com> | 2015-06-02 09:53:39 -0700 |
commit | 9028823f7b046c4c081b1cb1df005d61fbfa1db2 (patch) | |
tree | 74d1fa52adb202a6841148be3b82638a578b1b4e /lib/chef/provider/service.rb | |
parent | 93f7b74349362d0c698a1080177b94e64248dac6 (diff) | |
download | chef-9028823f7b046c4c081b1cb1df005d61fbfa1db2.tar.gz |
Use the central priority map for `provides`
Diffstat (limited to 'lib/chef/provider/service.rb')
-rw-r--r-- | lib/chef/provider/service.rb | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/lib/chef/provider/service.rb b/lib/chef/provider/service.rb index 75da2ddb31..4cd7f335dd 100644 --- a/lib/chef/provider/service.rb +++ b/lib/chef/provider/service.rb @@ -171,3 +171,77 @@ class Chef end end end + +# +# Platform-specific versions +# + +# +# Linux +# + +require 'chef/chef_class' +require 'chef/provider/service/systemd' +require 'chef/provider/service/insserv' +require 'chef/provider/service/redhat' +require 'chef/provider/service/arch' +require 'chef/provider/service/gentoo' +require 'chef/provider/service/upstart' +require 'chef/provider/service/debian' +require 'chef/provider/service/invokercd' +require 'chef/provider/service/freebsd' +require 'chef/provider/service/openbsd' +require 'chef/provider/service/solaris' +require 'chef/provider/service/macosx' + +# default block for linux O/Sen must come before platform_family exceptions +Chef.set_provider_priority_array :service, [ + Chef::Provider::Service::Systemd, + Chef::Provider::Service::Insserv, + Chef::Provider::Service::Redhat, +], os: "linux" + +Chef.set_provider_priority_array :service, [ + Chef::Provider::Service::Systemd, + Chef::Provider::Service::Arch, +], platform_family: "arch" + +Chef.set_provider_priority_array :service, [ + Chef::Provider::Service::Systemd, + Chef::Provider::Service::Gentoo, +], platform_family: "gentoo" + +Chef.set_provider_priority_array :service, [ + # we can determine what systemd supports accurately + Chef::Provider::Service::Systemd, + # on debian-ish system if an upstart script exists that must win over sysv types + Chef::Provider::Service::Upstart, + Chef::Provider::Service::Insserv, + Chef::Provider::Service::Debian, + Chef::Provider::Service::Invokercd, +], platform_family: "debian" + +Chef.set_provider_priority_array :service, [ + Chef::Provider::Service::Systemd, + Chef::Provider::Service::Insserv, + Chef::Provider::Service::Redhat, +], platform_family: [ "rhel", "fedora", "suse" ] + +# +# BSDen +# + +Chef.set_provider_priority_array :service, Chef::Provider::Service::Freebsd, os: [ "freebsd", "netbsd" ] +Chef.set_provider_priority_array :service, Chef::Provider::Service::Openbsd, os: [ "openbsd" ] + +# +# Solaris-en +# + +Chef.set_provider_priority_array :service, Chef::Provider::Service::Solaris, os: "solaris2" + +# +# Mac +# + +Chef.set_provider_priority_array :service, Chef::Provider::Service::Macosx, os: "darwin" |