summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJames Turnbull <james@lovedthanlost.net>2008-06-21 12:49:46 +1000
committerJames Turnbull <james@lovedthanlost.net>2008-06-21 12:49:46 +1000
commita44d6c3cbf21e5b6942d8756684ab865204533f8 (patch)
treeaa38a3c207d1fb495c221c3bba54b0fb651688b7
parent9581190fc6164ae9a4828088966fc711931ecad1 (diff)
downloadfacter-a44d6c3cbf21e5b6942d8756684ab865204533f8.tar.gz
facter-a44d6c3cbf21e5b6942d8756684ab865204533f8.tar.xz
facter-a44d6c3cbf21e5b6942d8756684ab865204533f8.zip
Fixes #1378 - update manufacter.rb facts to support BSD
-rw-r--r--lib/facter/util/manufacturer.rb15
1 files changed, 11 insertions, 4 deletions
diff --git a/lib/facter/util/manufacturer.rb b/lib/facter/util/manufacturer.rb
index b48ffc7..33ef942 100644
--- a/lib/facter/util/manufacturer.rb
+++ b/lib/facter/util/manufacturer.rb
@@ -3,16 +3,23 @@
module Facter::Manufacturer
def self.dmi_find_system_info(name)
- return nil unless FileTest.exists?("/usr/sbin/dmidecode")
-
- output=%x{/usr/sbin/dmidecode 2>/dev/null}
+ case Facter.value(:kernel)
+ when 'Linux'
+ return nil unless FileTest.exists?("/usr/sbin/dmidecode")
+
+ output=%x{/usr/sbin/dmidecode 2>/dev/null}
+ when 'OpenBSD', 'NetBSD', 'FreeBSD'
+ return nil unless FileTest.exists?("/usr/local/sbin/dmidecode")
+
+ output=%x{/usr/local/sbin/dmidecode 2>/dev/null}
+ end
name.each_pair do |key,v|
v.each do |value|
output.split("Handle").each do |line|
if line =~ /#{key}/ and line =~ /#{value} (\w.*)\n*./
result = $1
Facter.add(value.chomp(':').gsub(' ','')) do
- confine :kernel => :linux
+ confine :kernel => [ :linux, :freebsd, :netbsd, :openbsd ]
setcode do
result
end