Sha256: ac4da4c0b84bf9d03d3dd6ad8001b658f59db7420f31186e3dd0fac58d7d346c
Contents?: true
Size: 1.73 KB
Versions: 8
Compression:
Stored size: 1.73 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] == $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
8 entries across 8 versions & 1 rubygems