From cc5af5dc4cca864ab716341efacfb965f103799f Mon Sep 17 00:00:00 2001 From: Ossi Salmi Date: Tue, 13 Mar 2012 14:15:49 +0200 Subject: [PATCH] Fixed OpenBSD service provider with YES/NO service flags --- custom/lib/puppet/provider/service/openbsd.rb | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/custom/lib/puppet/provider/service/openbsd.rb b/custom/lib/puppet/provider/service/openbsd.rb index dcf8044..0e0947c 100644 --- a/custom/lib/puppet/provider/service/openbsd.rb +++ b/custom/lib/puppet/provider/service/openbsd.rb @@ -65,13 +65,14 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do def enabled? name = @resource[:name] rcvar = self.rcvar + rcvar_name = self.rcvar_name rcvar_value = self.rcvar_value pkg_scripts = self.pkg_scripts - if rcvar.nil? and not pkg_scripts.include?(name) - return :false - end - if rcvar_value.nil? or rcvar_value == "NO" - return :false + if rcvar_name.end_with?("_flags") + return :false if rcvar.nil? and not pkg_scripts.include?(name) + return :false if rcvar_value.nil? or rcvar_value == "NO" + else + return :false if rcvar_value != "YES" end :true end @@ -96,7 +97,11 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do rcvar_value = start[/^#{binary}\s*(.*)/, 1] end end - s += "%s=\"%s\"\n" % [rcvar_name, rcvar_value] + if rcvar_name.end_with?("_flags") + s += "%s=\"%s\"\n" % [rcvar_name, rcvar_value] + else + s += "%s=YES\n" % rcvar_name + end pkg_scripts << name if rcvar.nil? and not pkg_scripts.include?(name) s += "pkg_scripts=\"%s\"\n" % pkg_scripts.join(" ") File.open(@@rcconf_local, "w") { |f| f << s }