~ubuntu-branches/ubuntu/trusty/facter/trusty

« back to all changes in this revision

Viewing changes to lib/facter/util/manufacturer.rb

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Pollock, Nigel Kersten, Andrew Pollock
  • Date: 2009-04-13 15:20:21 UTC
  • mfrom: (1.1.5 upstream) (3.1.2 squeeze)
  • Revision ID: james.westby@ubuntu.com-20090413152021-t3uagjamr3ee4njl
Tags: 1.5.4-1
[ Nigel Kersten ]
* New upstream release
* Switch maintainer to pkg-puppet-devel list
* Modify uploaders
* Update watch file regexp to exclude release canditate tarballs
* Use upstream install.rb script to build rather than copying manually

[ Andrew Pollock ]
* debian/control: add libopenssl-ruby to build dependencies
* debian/control: bump Standards-Version (no changes)
* debian/compat: increase to 5
* debian/control: add pciutils and ${misc:Depends} to dependencies

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
 
4
4
module Facter::Manufacturer
5
5
        def self.dmi_find_system_info(name)
 
6
                splitstr="Handle"
6
7
                case Facter.value(:kernel)
7
8
                        when 'Linux'
8
9
                                return nil unless FileTest.exists?("/usr/sbin/dmidecode")
16
17
                                return nil unless FileTest.exists?("/usr/pkg/sbin/dmidecode")
17
18
 
18
19
                                output=%x{/usr/pkg/sbin/dmidecode 2>/dev/null}
 
20
                        when 'SunOS'
 
21
                                return nil unless FileTest.exists?("/usr/sbin/smbios")
 
22
                                splitstr="ID    SIZE TYPE"
 
23
                                output=%x{/usr/sbin/smbios 2>/dev/null}
 
24
 
19
25
            else
20
26
                return
21
27
                end
22
28
                name.each_pair do |key,v|
23
 
                        v.each do |value|
24
 
                                output.split("Handle").each do |line|
25
 
                                        if line =~ /#{key}/  and line =~ /#{value} (\w.*)\n*./
26
 
                                                result = $1
27
 
                                                Facter.add(value.chomp(':').gsub(' ','')) do
28
 
                                                        confine :kernel => [ :linux, :freebsd, :netbsd, :openbsd ]
 
29
                        v.each do |v2|
 
30
                                v2.each_pair do |value,facterkey|
 
31
                                        output.split(splitstr).each do |line|
 
32
                                                if line =~ /#{key}/ and ( line =~ /#{value} 0x\d+ \(([-\w].*)\)\n*./ or line =~ /#{value} ([-\w].*)\n*./ )
 
33
                                                result = $1
 
34
                                                        Facter.add(facterkey) do
 
35
                                                                confine :kernel => [ :linux, :freebsd, :netbsd, :openbsd, :sunos ]
29
36
                                                        setcode do
30
37
                                                            result
31
38
                                                        end
35
42
                        end
36
43
                end
37
44
        end
 
45
    end
38
46
end
39