diff --git a/README.md b/README.md index df506a4..e16a2c2 100644 --- a/README.md +++ b/README.md @@ -4,6 +4,8 @@ Description Installs and configures postfix for client or outbound relayhost, or to do SASL authentication. +On RHEL-family systems, sendmail will be replaced with postfix. + Requirements ============ @@ -11,6 +13,8 @@ Requirements * Ubuntu 10.04+ * Debian 6.0+ +* RHEL/CentOS/Scientific 5.7+, 6.2+ +* Amazon Linux (as of 4/9/2012) Attributes ========== diff --git a/metadata.rb b/metadata.rb index a9eb751..2b449c4 100644 --- a/metadata.rb +++ b/metadata.rb @@ -6,7 +6,7 @@ version "0.8.4" recipe "postfix", "Installs and configures postfix" recipe "postfix::sasl_auth", "Set up postfix to auth to a server with sasl" -%w{ubuntu debian}.each do |os| +%w{ubuntu debian redhat centos}.each do |os| supports os end diff --git a/recipes/default.rb b/recipes/default.rb index 5c97fe5..ef00f91 100644 --- a/recipes/default.rb +++ b/recipes/default.rb @@ -23,9 +23,23 @@ package "postfix" do end service "postfix" do + supports :status => true, :restart => true, :reload => true action :enable end +case node[:platform] +when "redhat", "centos", "amazon", "scientific" + service "sendmail" do + action :nothing + end + execute "switch_mailer_to_postfix" do + command "/usr/sbin/alternatives --set mta /usr/sbin/sendmail.postfix" + notifies :stop, resources(:service => "sendmail") + notifies :start, resources(:service => "postfix") + not_if "/usr/bin/test /etc/alternatives/mta -ef /usr/sbin/sendmail.postfix" + end +end + %w{main master}.each do |cfg| template "/etc/postfix/#{cfg}.cf" do source "#{cfg}.cf.erb" @@ -35,3 +49,7 @@ end notifies :restart, resources(:service => "postfix") end end + +service "postfix" do + action :start +end