Sha256: 22c95bdc8b06822b834046aa7c72c964811011047e2adcf5a12d7ea78179f933
Contents?: true
Size: 1.13 KB
Versions: 17
Compression:
Stored size: 1.13 KB
Contents
# Fact: lsb # # Purpose: Return Linux Standard Base information for the host. # # Resolution: # Uses the lsb_release system command and parses the output with a series of # regular expressions. # # Caveats: # Only works on Linux (and the kfreebsd derivative) systems. # Requires the lsb_release program, which may not be installed by default. # Also is as only as accurate as that program outputs. ## lsb.rb ## Facts related to Linux Standard Base (LSB) { "LSBRelease" => %r{^LSB Version:\t(.*)$}, "LSBDistId" => %r{^Distributor ID:\t(.*)$}, "LSBDistRelease" => %r{^Release:\t(.*)$}, "LSBDistDescription" => %r{^Description:\t(.*)$}, "LSBDistCodeName" => %r{^Codename:\t(.*)$} }.each do |fact, pattern| Facter.add(fact) do confine :kernel => [ :linux, :"gnu/kfreebsd" ] setcode do unless defined?(lsbdata) and defined?(lsbtime) and (Time.now.to_i - lsbtime.to_i < 5) type = nil lsbtime = Time.now lsbdata = Facter::Util::Resolution.exec('lsb_release -a 2>/dev/null') end if pattern.match(lsbdata) $1 else nil end end end end
Version data entries
17 entries across 17 versions & 2 rubygems