diff --git a/custom/plugins/puppet/provider/service/openbsd.rb b/custom/plugins/puppet/provider/service/openbsd.rb index 1e25883..5ca939d 100644 --- a/custom/plugins/puppet/provider/service/openbsd.rb +++ b/custom/plugins/puppet/provider/service/openbsd.rb @@ -99,7 +99,25 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do end def disable - print "disabling #{@resource[:name]}\n" + flag = getrcconf() + if flag + newdata = "" + File.readlines(@@rcconflocal).each { |line| + if line.strip.split(/=/, 2)[0] == flag + next + else + newdata += line + end + } + if flag == @resource[:name] or flag == "#{@resource[:name]}_flags" + newdata += "%s=NO\n" % flag + end + f = File.open(@@rcconflocal, "w") + f.write(newdata) + f.close + else + print "disabling services from rc.local not implemented\n" + end return :true end