summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/facter/operatingsystemrelease.rb64
1 files changed, 12 insertions, 52 deletions
diff --git a/lib/facter/operatingsystemrelease.rb b/lib/facter/operatingsystemrelease.rb
index 0864b4d..2138d86 100644
--- a/lib/facter/operatingsystemrelease.rb
+++ b/lib/facter/operatingsystemrelease.rb
@@ -1,25 +1,21 @@
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"
- elsif line =~ /release (\d+)/
+ elsif line =~ /release (\d[\d.]*)/
$1
end
end
@@ -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')