Prevent OpenBSD service provider crashing if rc.conf.local file does not exist.
This commit is contained in:
parent
75e8924611
commit
3f64b852f8
1 changed files with 21 additions and 13 deletions
|
@ -28,10 +28,12 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do
|
|||
|
||||
def rcvar_local
|
||||
name = @resource[:name]
|
||||
File.open(rcconf_local).each do |line|
|
||||
if line =~ /^#{name}(_flags)?=/
|
||||
line = line.sub(/#.*/, "")
|
||||
return line.strip.split("=", 2)
|
||||
if File.file?(rcconf_local)
|
||||
File.open(rcconf_local).each do |line|
|
||||
if line =~ /^#{name}(_flags)?=/
|
||||
line = line.sub(/#.*/, "")
|
||||
return line.strip.split("=", 2)
|
||||
end
|
||||
end
|
||||
end
|
||||
nil
|
||||
|
@ -52,9 +54,11 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do
|
|||
end
|
||||
|
||||
def pkg_scripts
|
||||
File.open(rcconf_local).each do |line|
|
||||
if line =~ /^pkg_scripts=/
|
||||
return line.strip.gsub(/pkg_scripts="?([^"]*)"?/, '\1').split
|
||||
if File.file?(rcconf_local)
|
||||
File.open(rcconf_local).each do |line|
|
||||
if line =~ /^pkg_scripts=/
|
||||
return line.strip.gsub(/pkg_scripts="?([^"]*)"?/, '\1').split
|
||||
end
|
||||
end
|
||||
end
|
||||
Array.new
|
||||
|
@ -84,9 +88,11 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do
|
|||
start = @resource[:start]
|
||||
binary = @resource[:binary]
|
||||
s = ""
|
||||
File.open(rcconf_local).each do |line|
|
||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
||||
s += line
|
||||
if File.file?(rcconf_local)
|
||||
File.open(rcconf_local).each do |line|
|
||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
||||
s += line
|
||||
end
|
||||
end
|
||||
unless start.nil?
|
||||
if binary.nil?
|
||||
|
@ -111,9 +117,11 @@ Puppet::Type.type(:service).provide :openbsd, :parent => :base do
|
|||
rcvar_name = self.rcvar_name
|
||||
pkg_scripts = self.pkg_scripts
|
||||
s = ""
|
||||
File.open(rcconf_local).each do |line|
|
||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
||||
s += line
|
||||
if File.file?(rcconf_local)
|
||||
File.open(rcconf_local).each do |line|
|
||||
next if line =~ /^(#{rcvar_name}|pkg_scripts)=/
|
||||
s += line
|
||||
end
|
||||
end
|
||||
s += "%s=NO\n" % rcvar_name unless rcvar.nil?
|
||||
pkg_scripts.delete(name)
|
||||
|
|
Loading…
Add table
Reference in a new issue