Sha256: d21fac6d7dac8cee590abdd9f6d3232272702e63d3c21cbf0912c89d25b67d92

Contents?: true

Size: 1.67 KB

Versions: 32

Compression:

Stored size: 1.67 KB

Contents

#
# Author:: Adam Jacob (<adam@opscode.com>)
# Copyright:: Copyright (c) 2008 Opscode, Inc.
# License:: Apache License, Version 2.0
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#

provides "lsb"

lsb Mash.new

if File.exists?("/etc/lsb-release")
  File.open("/etc/lsb-release").each do |line|
    case line
    when /^DISTRIB_ID=["']?(.+?)["']?$/
      lsb[:id] = $1
    when /^DISTRIB_RELEASE=["']?(.+?)["']?$/
      lsb[:release] = $1
    when /^DISTRIB_CODENAME=["']?(.+?)["']?$/
      lsb[:codename] = $1
    when /^DISTRIB_DESCRIPTION=["']?(.+?)["']?$/
      lsb[:description] = $1
    end
  end
elsif File.exists?("/usr/bin/lsb_release")
  # Fedora/Redhat, requires redhat-lsb package
  popen4("lsb_release -a") do |pid, stdin, stdout, stderr|

    stdin.close
    stdout.each do |line|
      case line
      when /^Distributor ID:\s+(.+)$/
        lsb[:id] = $1
      when /^Description:\s+(.+)$/
        lsb[:description] = $1
      when /^Release:\s+(.+)$/
        lsb[:release] = $1
      when /^Codename:\s+(.+)$/
        lsb[:codename] = $1
      else
        lsb[:id] = line
      end

    end
  end
else
  Ohai::Log.debug("Skipping LSB, cannot find /etc/lsb-release or /usr/bin/lsb_release")
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
ohai-6.24.2 lib/ohai/plugins/linux/lsb.rb
ohai-6.24.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.24.0.rc.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.22.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.22.0.rc.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.20.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.20.0.rc.1 lib/ohai/plugins/linux/lsb.rb
ohai-6.18.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.18.0.rc.4 lib/ohai/plugins/linux/lsb.rb
ohai-6.18.0.rc.3 lib/ohai/plugins/linux/lsb.rb
ohai-6.18.0.rc.1 lib/ohai/plugins/linux/lsb.rb
ohai-6.18.0.rc.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.16.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.16.0.beta.2 lib/ohai/plugins/linux/lsb.rb
ohai-6.16.0.beta.1 lib/ohai/plugins/linux/lsb.rb
ohai-6.14.0 lib/ohai/plugins/linux/lsb.rb
ohai-6.14.0.rc.1 lib/ohai/plugins/linux/lsb.rb
ohai-0.6.14.rc.1 lib/ohai/plugins/linux/lsb.rb
ohai-0.6.12 lib/ohai/plugins/linux/lsb.rb
ohai-0.6.12.rc.5 lib/ohai/plugins/linux/lsb.rb