Sha256: 4e68e118985e748bb20f1eaa417fa63be8d5078324aed122ad9a5bccfe1d4261
Contents?: true
Size: 1.75 KB
Versions: 20
Compression:
Stored size: 1.75 KB
Contents
# frozen_string_literal: true # Gentoo OpenRC Puppet::Type.type(:service).provide :openrc, :parent => :base do desc <<-EOT Support for Gentoo's OpenRC initskripts Uses rc-update, rc-status and rc-service to manage services. EOT defaultfor 'os.name' => :gentoo defaultfor 'os.name' => :funtoo has_command(:rcstatus, '/bin/rc-status') do environment :RC_SVCNAME => nil end commands :rcservice => '/sbin/rc-service' commands :rcupdate => '/sbin/rc-update' self::STATUSLINE = /^\s+(.*?)\s*\[\s*(.*)\s*\]$/ def enable rcupdate('-C', :add, @resource[:name]) end def disable rcupdate('-C', :del, @resource[:name]) end # rc-status -a shows all runlevels and dynamic runlevels which # are not considered as enabled. We have to find out under which # runlevel our service is listed def enabled? enabled = :false rcstatus('-C', '-a').each_line do |line| case line.chomp when /^Runlevel: / enabled = :true when /^\S+/ # caption of a dynamic runlevel enabled = :false when self.class::STATUSLINE return enabled if @resource[:name] == Regexp.last_match(1) end end :false end def self.instances instances = [] rcservice('-C', '--list').each_line do |line| instances << new(:name => line.chomp) end instances end def restartcmd (@resource[:hasrestart] == :true) && [command(:rcservice), @resource[:name], :restart] end def startcmd [command(:rcservice), @resource[:name], :start] end def stopcmd [command(:rcservice), @resource[:name], :stop] end def statuscmd ((@resource.provider.get(:hasstatus) == true) || (@resource[:hasstatus] == :true)) && [command(:rcservice), @resource[:name], :status] end end
Version data entries
20 entries across 20 versions & 1 rubygems