Update providers for sabayon
This commit is contained in:
@@ -1,50 +0,0 @@
|
|||||||
# Manage gentoo services. Start/stop is the same as InitSvc, but enable/disable
|
|
||||||
# is special.
|
|
||||||
Puppet::Type.type(:service).provide :gentoo, :parent => :init do
|
|
||||||
desc "Gentoo's form of `init`-style service management.
|
|
||||||
|
|
||||||
Uses `rc-update` for service enabling and disabling.
|
|
||||||
|
|
||||||
"
|
|
||||||
|
|
||||||
commands :update => "/sbin/rc-update"
|
|
||||||
|
|
||||||
confine :operatingsystem => [ :gentoo, :sabayon ]
|
|
||||||
|
|
||||||
defaultfor :operatingsystem => [ :gentoo, :sabayon ]
|
|
||||||
|
|
||||||
def self.defpath
|
|
||||||
superclass.defpath
|
|
||||||
end
|
|
||||||
|
|
||||||
def disable
|
|
||||||
output = update :del, @resource[:name], :default
|
|
||||||
rescue Puppet::ExecutionFailure
|
|
||||||
raise Puppet::Error, "Could not disable #{self.name}: #{output}"
|
|
||||||
end
|
|
||||||
|
|
||||||
def enabled?
|
|
||||||
begin
|
|
||||||
output = update :show
|
|
||||||
rescue Puppet::ExecutionFailure
|
|
||||||
return :false
|
|
||||||
end
|
|
||||||
|
|
||||||
line = output.split(/\n/).find { |l| l.include?(@resource[:name]) }
|
|
||||||
|
|
||||||
return :false unless line
|
|
||||||
|
|
||||||
# If it's enabled then it will print output showing service | runlevel
|
|
||||||
if output =~ /^\s*#{@resource[:name]}\s*\|\s*(boot|default)/
|
|
||||||
return :true
|
|
||||||
else
|
|
||||||
return :false
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
def enable
|
|
||||||
output = update :add, @resource[:name], :default
|
|
||||||
rescue Puppet::ExecutionFailure
|
|
||||||
raise Puppet::Error, "Could not enable #{self.name}: #{output}"
|
|
||||||
end
|
|
||||||
end
|
|
||||||
9
lib/puppet/provider/service/sabayon.rb
Normal file
9
lib/puppet/provider/service/sabayon.rb
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
# Manage systemd services using /bin/systemctl
|
||||||
|
|
||||||
|
Puppet::Type.type(:service).provide :sabayon, :parent => :systemd do
|
||||||
|
desc "Manages `systemd` services using `systemctl`."
|
||||||
|
|
||||||
|
defaultfor :operatingsystem => [:sabayon]
|
||||||
|
defaultfor :osfamily => :gentoo, :init => [:systemd]
|
||||||
|
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user