These operating systems all use a similar format for the release file.
Signed-off-by: Todd Zullinger <[email protected]>
---
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')
--
1.6.2
--
Todd OpenPGP -> KeyID: 0xBEAF0CE3 | URL: www.pobox.com/~tmz/pgp
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Does it follow that I reject all authority? Perish the thought. In the
matter of boots, I defer to the authority of the boot-maker.
-- Mikhail Bakunin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Puppet Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/puppet-dev?hl=en
-~----------~----~----~----~------~----~------~--~---