This is basically a partial use of Todd Zullinger's patch to consolidate the Red Hat-related facts.
It now makes the $operatingsystemrelease fact the major integer only. This means we don't currently track minor releases. Signed-off-by: James Turnbull <[email protected]> --- CHANGELOG | 2 + lib/facter/operatingsystemrelease.rb | 62 ++++++---------------------------- 2 files changed, 13 insertions(+), 51 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index ac92eaf..11825f2 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,4 +1,6 @@ 1.5.5: + Fixed #2060 - Inconsistent output in operatingsystemrelease between RedHat and CentOS + Fixed #2132 - Support for named interfaces under Linux Fixed #2080 - IPAddress resolutions should be reordered 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.0.6 --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---
