# Copyright (C) 2011-2012 RightScale, Inc, All Rights Reserved Worldwide. # # THIS PROGRAM IS CONFIDENTIAL AND PROPRIETARY TO RIGHTSCALE # AND CONSTITUTES A VALUABLE TRADE SECRET. Any unauthorized use, # reproduction, modification, or disclosure of this program is # strictly prohibited. Any use of this program by an authorized # licensee is strictly subject to the terms and conditions, # including confidentiality obligations, set forth in the applicable # License Agreement between RightScale.com, Inc. and # the licensee module RightConf # Linux specific implementation class Platform FEDORA_REL = '/etc/fedora-release' FEDORA_SIG = /Fedora release ([0-9]+) \(.*\)/ attr_reader :flavor, :release # Initialize flavor and release def init system('lsb_release --help > /dev/null 2>&1') if $?.success? # Use the lsb_release utility if it's available @flavor = `lsb_release -is`.strip.downcase @release = `lsb_release -rs`.strip elsif File.exist?(FEDORA_REL) && (match = FEDORA_SIG.match(File.read(FEDORA_REL))) # Parse the fedora-release file if it exists @distro = 'fedora' @release = match[1] else @distro = @release = 'unknown' end end end end