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

Version Path
supply_drop-0.11.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
supply_drop-0.10.2 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
supply_drop-0.10.1 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
supply_drop-0.10.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
facter-1.6.8 lib/facter/lsb.rb
supply_drop-0.9.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
facter-1.6.7 lib/facter/lsb.rb
supply_drop-0.8.1 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
supply_drop-0.8.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
facter-1.6.6 lib/facter/lsb.rb
supply_drop-0.7.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
facter-1.6.5 lib/facter/lsb.rb
supply_drop-0.6.1 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
supply_drop-0.6.0 examples/vendored-puppet/vendor/facter-1.6.4/lib/facter/lsb.rb
facter-1.6.4 lib/facter/lsb.rb
facter-1.6.3 lib/facter/lsb.rb
facter-1.6.2 lib/facter/lsb.rb