Signed-off-by: James Turnbull <[email protected]>
---
lib/facter/operatingsystemmajrelease.rb | 84 +++++++++++++++++++++++++++++++
lib/facter/operatingsystemrelease.rb | 6 +-
2 files changed, 87 insertions(+), 3 deletions(-)
create mode 100644 lib/facter/operatingsystemmajrelease.rb
diff --git a/lib/facter/operatingsystemmajrelease.rb
b/lib/facter/operatingsystemmajrelease.rb
new file mode 100644
index 0000000..153caf2
--- /dev/null
+++ b/lib/facter/operatingsystemmajrelease.rb
@@ -0,0 +1,84 @@
+Facter.add(:operatingsystemmajrelease) do
+ confine :operatingsystem => :fedora
+ setcode do
+ File::open("/etc/fedora-release", "r") do |f|
+ line = f.readline.chomp
+ if line =~ /\(Rawhide\)$/
+ "Rawhide"
+ elsif line =~ /release (\d+)/
+ $1
+ end
+ end
+ end
+end
+
+Facter.add(:operatingsystemmajrelease) do
+ confine :operatingsystem => %w{RedHat CentOS}
+ setcode do
+ File::open("/etc/redhat-release", "r") do |f|
+ line = f.readline.chomp
+ if line =~ /\(Rawhide\)$/
+ "Rawhide"
+ elsif line =~ /release (\d+)/
+ $1
+ end
+ end
+ end
+end
+
+Facter.add(:operatingsystemmajrelease) 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(:operatingsystemmajrelease) 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(:operatingsystemmajrelease) do
+ confine :operatingsystem => %w{Debian}
+ setcode do
+ release = Facter::Util::Resolution.exec('cat /etc/debian_version')
+ end
+end
+
+Facter.add(:operatingsystemmajrelease) do
+ confine :operatingsystem => %w{Ubuntu}
+ setcode do
+ release = Facter::Util::Resolution.exec('cat /etc/issue')
+ if release =~ /Ubuntu (\d+)/
+ $1
+ end
+ end
+end
+
+Facter.add(:operatingsystemmajrelease) do
+ confine :operatingsystem => %w{SLES OpenSuSE}
+ setcode do
+ releasefile = Facter::Util::Resolution.exec('cat /etc/SuSE-release')
+ if releasefile =~ /^VERSION\s*=\s*(\d+)/
+ $1
+ else
+ "unknown"
+ end
+ end
+end
+
+Facter.add(:operatingsystemmajrelease) do
+ setcode do Facter[:kernelrelease].value end
+end
diff --git a/lib/facter/operatingsystemrelease.rb
b/lib/facter/operatingsystemrelease.rb
index 25a226d..3a68708 100644
--- a/lib/facter/operatingsystemrelease.rb
+++ b/lib/facter/operatingsystemrelease.rb
@@ -19,7 +19,7 @@ Facter.add(:operatingsystemrelease) do
line = f.readline.chomp
if line =~ /\(Rawhide\)$/
"Rawhide"
- elsif line =~ /release (\d+)/
+ elsif line =~ /release (\d+.\d+)/
$1
end
end
@@ -31,7 +31,7 @@ Facter.add(:operatingsystemrelease) do
setcode do
File::open("/etc/enterprise-release", "r") do |f|
line = f.readline.chomp
- if line =~ /release (\d+)/
+ if line =~ /release (\d+.\d+)/
$1
end
end
@@ -43,7 +43,7 @@ Facter.add(:operatingsystemrelease) do
setcode do
File::open("/etc/ovs-release", "r") do |f|
line = f.readline.chomp
- if line =~ /release (\d+)/
+ if line =~ /release (\d+.\d+)/
$1
end
end
--
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
-~----------~----~----~----~------~----~------~--~---