From 3d66d009587f3f572d14e6eb6b5e437abdfe9902 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20M=E4kinen?= Date: Fri, 8 Jun 2012 18:01:34 +0300 Subject: [PATCH] Fixed enabling services on OpenBSD 4.9. --- custom/lib/puppet/provider/service/openbsd.rb | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/custom/lib/puppet/provider/service/openbsd.rb b/custom/lib/puppet/provider/service/openbsd.rb index 9a08d29..b1b0493 100644 --- a/custom/lib/puppet/provider/service/openbsd.rb +++ b/custom/lib/puppet/provider/service/openbsd.rb @@ -13,6 +13,12 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do @@rcconf = '/etc/rc.conf' @@rcconf_local = '/etc/rc.conf.local' + if Facter["operatingsystemrelease"].value == "4.9" + @@pkg_scripts_var = "rc_scripts" + else + @@pkg_scripts_var = "pkg_scripts" + end + def rcscript return File.join(@@rc_dir, @resource[:name]) end @@ -55,8 +61,8 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do def pkg_scripts File.open(@@rcconf_local).each do |line| - if line =~ /^pkg_scripts=/ - return line.strip.gsub(/pkg_scripts="?([^"]*)"?/, '\1').split + if line =~ /^#{@@pkg_scripts_var}=/ + return line.strip.gsub(/#{@@pkg_scripts_var}="?([^"]*)"?/, '\1').split end end Array.new @@ -87,7 +93,7 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do binary = @resource[:binary] s = "" File.open(@@rcconf_local).each do |line| - next if line =~ /^(#{rcvar_name}|pkg_scripts)=/ + next if line =~ /^(#{rcvar_name}|#{@@pkg_scripts_var})=/ s += line end unless start.nil? @@ -103,7 +109,7 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do 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(" ") + s += "#{@@pkg_scripts_var}=\"%s\"\n" % pkg_scripts.join(" ") File.open(@@rcconf_local, "w") { |f| f << s } end @@ -114,12 +120,12 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do pkg_scripts = self.pkg_scripts s = "" File.open(@@rcconf_local).each do |line| - next if line =~ /^(#{rcvar_name}|pkg_scripts)=/ + next if line =~ /^(#{rcvar_name}|#{@@pkg_scripts_var})=/ s += line end s += "%s=NO\n" % rcvar_name unless rcvar.nil? pkg_scripts.delete(name) - s += "pkg_scripts=\"%s\"\n" % pkg_scripts.join(" ") + s += "#{@@pkg_scripts_var}=\"%s\"\n" % pkg_scripts.join(" ") File.open(@@rcconf_local, "w") { |f| f << s } end