[Pkg-puppet-devel] [SCM] Packaging of Facter for debian branch, upstream, updated. 3a39dd8353b6308cf49522990104cc63e55d7cda
Paul Nasrat
pnasrat at googlemail.com
Fri Jan 29 17:22:36 UTC 2010
The following commit has been merged in the upstream branch:
commit 51c6e3da4b6f3f65aa0f1acc8bfddf383ff00036
Author: Joe McDonagh <Joseph.E.McDonagh at gmail.com>
Date: Tue Jul 14 07:08:27 2009 +0100
Issue #2314 OpenBSD sysctl
Use OpenBSD sysctl for manufacturer facts.
diff --git a/lib/facter/manufacturer.rb b/lib/facter/manufacturer.rb
index e1ac7be..9d66465 100644
--- a/lib/facter/manufacturer.rb
+++ b/lib/facter/manufacturer.rb
@@ -5,15 +5,26 @@
require 'facter/util/manufacturer'
-query = {
- '[Ss]ystem [Ii]nformation' => [
- { 'Manufacturer:' => 'manufacturer' },
- { 'Product(?: Name)?:' => 'productname' },
- { 'Serial Number:' => 'serialnumber' }
- ],
- '(Chassis Information|system enclosure or chassis)' => [
- { '(?:Chassis )?Type:' => 'type' }
- ]
-}
+if Facter.value(:kernel) == "OpenBSD"
+ mfg_keys = {
+ 'hw.vendor' => 'manufacturer',
+ 'hw.product' => 'productname',
+ 'hw.serialno' => 'serialnumber'
+ }
+
+ Facter::Manufacturer.sysctl_find_system_info(mfg_keys)
+else
+ query = {
+ '[Ss]ystem [Ii]nformation' => [
+ { 'Manufacturer:' => 'manufacturer' },
+ { 'Product(?: Name)?:' => 'productname' },
+ { 'Serial Number:' => 'serialnumber' }
+ ],
+ '(Chassis Information|system enclosure or chassis)' => [
+ { '(?:Chassis )?Type:' => 'type' }
+ ]
+ }
+
+ Facter::Manufacturer.dmi_find_system_info(query)
+end
-Facter::Manufacturer.dmi_find_system_info(query)
diff --git a/lib/facter/util/manufacturer.rb b/lib/facter/util/manufacturer.rb
index 954637e..c609a12 100644
--- a/lib/facter/util/manufacturer.rb
+++ b/lib/facter/util/manufacturer.rb
@@ -9,7 +9,7 @@ module Facter::Manufacturer
return nil unless FileTest.exists?("/usr/sbin/dmidecode")
output=%x{/usr/sbin/dmidecode 2>/dev/null}
- when 'OpenBSD', 'FreeBSD'
+ when 'FreeBSD'
return nil unless FileTest.exists?("/usr/local/sbin/dmidecode")
output=%x{/usr/local/sbin/dmidecode 2>/dev/null}
@@ -32,7 +32,7 @@ module Facter::Manufacturer
if line =~ /#{key}/ and ( line =~ /#{value} 0x\d+ \(([-\w].*)\)\n*./ or line =~ /#{value} ([-\w].*)\n*./ )
result = $1
Facter.add(facterkey) do
- confine :kernel => [ :linux, :freebsd, :netbsd, :openbsd, :sunos ]
+ confine :kernel => [ :linux, :freebsd, :netbsd, :sunos ]
setcode do
result
end
@@ -43,4 +43,15 @@ module Facter::Manufacturer
end
end
end
+
+ def self.sysctl_find_system_info(name)
+ name.each do |sysctlkey,facterkey|
+ Facter.add(facterkey) do
+ confine :kernel => :openbsd
+ setcode do
+ Facter::Util::Resolution.exec("sysctl -n " + sysctlkey)
+ end
+ end
+ end
+ end
end
--
Packaging of Facter for debian
More information about the Pkg-puppet-devel
mailing list