diff options
author | Todd Zullinger <tmz@pobox.com> | 2009-03-09 02:09:12 -0400 |
---|---|---|
committer | Todd Zullinger <tmz@pobox.com> | 2009-03-09 02:09:12 -0400 |
commit | bee55c4ab1746ea78de8defaff29663d7ab15604 (patch) | |
tree | aa030681ef6ab1407c1be1eadfb769cf3f8bb4de | |
parent | 5d94f7fd5fde27a2cdffc918db68b2549231e23e (diff) | |
download | facter-bee55c4ab1746ea78de8defaff29663d7ab15604.tar.gz facter-bee55c4ab1746ea78de8defaff29663d7ab15604.tar.xz facter-bee55c4ab1746ea78de8defaff29663d7ab15604.zip |
Consolidate operatingsystemrelease for CentOS, Fedora, oel, ovs, and RedHat
These operating systems all use a similar format for the release file.
-rw-r--r-- | lib/facter/operatingsystemrelease.rb | 62 |
1 files changed, 11 insertions, 51 deletions
diff --git a/lib/facter/operatingsystemrelease.rb b/lib/facter/operatingsystemrelease.rb index 25a226d..2f76817 100644 --- a/lib/facter/operatingsystemrelease.rb +++ b/lib/facter/operatingsystemrelease.rb @@ -1,21 +1,17 @@ Facter.add(:operatingsystemrelease) do - confine :operatingsystem => :fedora + confine :operatingsystem => %w{CentOS Fedora oel ovs RedHat} setcode do - File::open("/etc/fedora-release", "r") do |f| - line = f.readline.chomp - if line =~ /\(Rawhide\)$/ - "Rawhide" - elsif line =~ /release (\d+)/ - $1 - end + case Facter.value(:operatingsystem) + when "CentOS", "RedHat" + releasefile = "/etc/redhat-release" + when "Fedora" + releasefile = "/etc/fedora-release" + when "oel" + releasefile = "/etc/enterprise-release" + when "ovs" + releasefile = "/etc/ovs-release" end - end -end - -Facter.add(:operatingsystemrelease) do - confine :operatingsystem => %w{RedHat} - setcode do - File::open("/etc/redhat-release", "r") do |f| + File::open(releasefile, "r") do |f| line = f.readline.chomp if line =~ /\(Rawhide\)$/ "Rawhide" @@ -27,42 +23,6 @@ Facter.add(:operatingsystemrelease) do end Facter.add(:operatingsystemrelease) do - confine :operatingsystem => :oel - setcode do - File::open("/etc/enterprise-release", "r") do |f| - line = f.readline.chomp - if line =~ /release (\d+)/ - $1 - end - end - end -end - -Facter.add(:operatingsystemrelease) do - confine :operatingsystem => :ovs - setcode do - File::open("/etc/ovs-release", "r") do |f| - line = f.readline.chomp - if line =~ /release (\d+)/ - $1 - end - end - end -end - -Facter.add(:operatingsystemrelease) do - confine :operatingsystem => %w{CentOS} - setcode do - centos_release = Facter::Util::Resolution.exec("sed -r -e 's/CentOS release //' -e 's/ \((Branch|Final)\)//' /etc/redhat-release") - if centos_release =~ /5/ - release = Facter::Util::Resolution.exec('rpm -q --qf \'%{VERSION}.%{RELEASE}\' centos-release | cut -d. -f1,2') - else - release = centos_release - end - end -end - -Facter.add(:operatingsystemrelease) do confine :operatingsystem => %w{Debian} setcode do release = Facter::Util::Resolution.exec('cat /etc/debian_version') |