facter 1.5.7 → 1.5.8

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of facter might be problematic. Click here for more details.

Files changed (52) hide show
  1. data/CHANGELOG +105 -28
  2. data/Rakefile +23 -20
  3. data/bin/facter +3 -3
  4. data/conf/osx/createpackage.sh +12 -1
  5. data/conf/osx/preflight +4 -0
  6. data/install.rb +7 -14
  7. data/lib/facter.rb +14 -2
  8. data/lib/facter/architecture.rb +10 -2
  9. data/lib/facter/domain.rb +0 -3
  10. data/lib/facter/ipaddress.rb +18 -21
  11. data/lib/facter/kernel.rb +4 -2
  12. data/lib/facter/macaddress.rb +21 -8
  13. data/lib/facter/memory.rb +47 -6
  14. data/lib/facter/operatingsystem.rb +4 -0
  15. data/lib/facter/operatingsystemrelease.rb +15 -3
  16. data/lib/facter/processor.rb +16 -0
  17. data/lib/facter/uptime.rb +17 -14
  18. data/lib/facter/uptime_days.rb +7 -0
  19. data/lib/facter/uptime_hours.rb +7 -0
  20. data/lib/facter/uptime_seconds.rb +10 -0
  21. data/lib/facter/util/ip.rb +17 -5
  22. data/lib/facter/util/manufacturer.rb +13 -7
  23. data/lib/facter/util/resolution.rb +34 -11
  24. data/lib/facter/util/uptime.rb +45 -23
  25. data/lib/facter/util/virtual.rb +23 -1
  26. data/lib/facter/util/vlans.rb +24 -0
  27. data/lib/facter/virtual.rb +11 -3
  28. data/lib/facter/vlans.rb +8 -0
  29. data/spec/fixtures/uptime/sysctl_kern_boottime +0 -0
  30. data/spec/fixtures/uptime/ubuntu_proc_uptime +1 -0
  31. data/spec/fixtures/uptime/who_b_boottime +1 -0
  32. data/spec/spec_helper.rb +2 -0
  33. data/spec/unit/data/freebsd_dmidecode +42 -0
  34. data/spec/unit/data/hpux_ifconfig +3 -0
  35. data/spec/unit/data/hpux_ifconfig_single_interface +3 -0
  36. data/spec/unit/data/hpux_netscan +4 -0
  37. data/spec/unit/data/hpux_netstat_all_interfaces +6 -0
  38. data/spec/unit/data/linux_dmidecode_with_spaces +60 -0
  39. data/spec/unit/data/linux_vlan_config +6 -0
  40. data/spec/unit/data/opensolaris_smbios +33 -0
  41. data/spec/unit/facter.rb +73 -0
  42. data/spec/unit/operatingsystemrelease.rb +39 -0
  43. data/spec/unit/uptime.rb +112 -0
  44. data/spec/unit/util/ip.rb +59 -2
  45. data/spec/unit/util/manufacturer.rb +121 -0
  46. data/spec/unit/util/resolution.rb +44 -11
  47. data/spec/unit/util/uptime.rb +53 -0
  48. data/spec/unit/util/virtual.rb +24 -1
  49. data/spec/unit/util/vlans.rb +14 -0
  50. data/spec/unit/virtual.rb +20 -0
  51. metadata +115 -91
  52. data/ChangeLog +0 -1727
@@ -44,9 +44,10 @@ describe Facter::Util::Resolution do
44
44
  @resolve = Facter::Util::Resolution.new("yay")
45
45
  end
46
46
 
47
- it "should default to /bin/sh as the interpreter if a string is provided" do
47
+ it "should default to the detected interpreter if a string is provided" do
48
+ Facter::Util::Resolution::INTERPRETER = "/bin/bar"
48
49
  @resolve.setcode "foo"
49
- @resolve.interpreter.should == "/bin/sh"
50
+ @resolve.interpreter.should == "/bin/bar"
50
51
  end
51
52
 
52
53
  it "should set the code to any provided string" do
@@ -87,17 +88,44 @@ describe Facter::Util::Resolution do
87
88
  end
88
89
 
89
90
  describe "and the code is a string" do
90
- it "should return the result of executing the code with the interpreter" do
91
- @resolve.setcode "/bin/foo"
92
- Facter::Util::Resolution.expects(:exec).with("/bin/foo", "/bin/sh").returns "yup"
93
-
94
- @resolve.value.should == "yup"
91
+ describe "on windows" do
92
+ before do
93
+ Facter::Util::Resolution::WINDOWS = true
94
+ Facter::Util::Resolution::INTERPRETER = "cmd.exe"
95
+ end
96
+
97
+ it "should return the result of executing the code with the interpreter" do
98
+ @resolve.setcode "/bin/foo"
99
+ Facter::Util::Resolution.expects(:exec).once.with("/bin/foo", "cmd.exe").returns "yup"
100
+
101
+ @resolve.value.should == "yup"
102
+ end
103
+
104
+ it "should return nil if the value is an empty string" do
105
+ @resolve.setcode "/bin/foo"
106
+ Facter::Util::Resolution.expects(:exec).once.returns ""
107
+ @resolve.value.should be_nil
108
+ end
95
109
  end
96
110
 
97
- it "should return nil if the value is an empty string" do
98
- @resolve.setcode "/bin/foo"
99
- Facter::Util::Resolution.stubs(:exec).returns ""
100
- @resolve.value.should be_nil
111
+ describe "on non-windows systems" do
112
+ before do
113
+ Facter::Util::Resolution::WINDOWS = false
114
+ Facter::Util::Resolution::INTERPRETER = "/bin/sh"
115
+ end
116
+
117
+ it "should return the result of executing the code with the interpreter" do
118
+ @resolve.setcode "/bin/foo"
119
+ Facter::Util::Resolution.expects(:exec).once.with("/bin/foo", "/bin/sh").returns "yup"
120
+
121
+ @resolve.value.should == "yup"
122
+ end
123
+
124
+ it "should return nil if the value is an empty string" do
125
+ @resolve.setcode "/bin/foo"
126
+ Facter::Util::Resolution.expects(:exec).once.returns ""
127
+ @resolve.value.should be_nil
128
+ end
101
129
  end
102
130
  end
103
131
 
@@ -136,6 +164,7 @@ describe Facter::Util::Resolution do
136
164
  @resolve.expects(:warn)
137
165
  @resolve.timeout = 0.1
138
166
  @resolve.setcode { sleep 2; raise "This is a test" }
167
+ Thread.expects(:new).yields
139
168
 
140
169
  @resolve.value.should be_nil
141
170
  end
@@ -232,5 +261,9 @@ describe Facter::Util::Resolution do
232
261
  it "should fail if any interpreter other than /bin/sh is requested" do
233
262
  lambda { Facter::Util::Resolution.exec("/something", "/bin/perl") }.should raise_error(ArgumentError)
234
263
  end
264
+
265
+ it "should execute the binary" do
266
+ Facter::Util::Resolution.exec("echo foo").should == "foo"
267
+ end
235
268
  end
236
269
  end
@@ -0,0 +1,53 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ require 'facter/util/uptime'
6
+
7
+ describe Facter::Util::Uptime do
8
+
9
+ describe ".get_uptime_seconds_unix" do
10
+ context "when /proc/uptime is available" do
11
+ before do
12
+ uptime_file = File.join(SPECDIR, "fixtures", "uptime", "ubuntu_proc_uptime")
13
+ Facter::Util::Uptime.stubs(:uptime_file).returns(uptime_file)
14
+ end
15
+
16
+ it "should return the uptime in seconds as an integer" do
17
+ Facter::Util::Uptime.get_uptime_seconds_unix.should == 5097686
18
+ end
19
+
20
+ end
21
+
22
+ it "should use sysctl kern.boottime when /proc/uptime not available" do
23
+ nonexistent_file = '/non/existent/file'
24
+ File.exists?(nonexistent_file).should == false
25
+ Facter::Util::Uptime.stubs(:uptime_file).returns(nonexistent_file)
26
+ sysctl_output_file = File.join(SPECDIR, 'fixtures', 'uptime', 'sysctl_kern_boottime') # Aug 01 14:13:47 -0700 2010
27
+ Facter::Util::Uptime.stubs(:uptime_sysctl_cmd).returns("cat #{sysctl_output_file}")
28
+ Time.stubs(:now).returns Time.parse("Aug 01 15:13:47 -0700 2010") # one hour later
29
+ Facter::Util::Uptime.get_uptime_seconds_unix.should == 60 * 60
30
+ end
31
+
32
+ it "should use who -b when neither /proc/uptime nor sysctl kern.boottime is available" do
33
+ nonexistent_file = '/non/existent/file'
34
+ File.exists?(nonexistent_file).should == false
35
+ Facter::Util::Uptime.stubs(:uptime_file).returns(nonexistent_file)
36
+ Facter::Util::Uptime.stubs(:uptime_sysctl_cmd).returns("cat #{nonexistent_file}")
37
+ who_b_output_file = File.join(SPECDIR, 'fixtures', 'uptime', 'who_b_boottime') # Aug 1 14:13
38
+ Facter::Util::Uptime.stubs(:uptime_who_cmd).returns("cat #{who_b_output_file}")
39
+ Time.stubs(:now).returns Time.parse("Aug 01 15:13") # one hour later
40
+ Facter::Util::Uptime.get_uptime_seconds_unix.should == 60 * 60
41
+ end
42
+
43
+ it "should return nil when none of /proc/uptime, sysctl kern.boottime, or who -b is available" do
44
+ nonexistent_file = '/non/existent/file'
45
+ File.exists?(nonexistent_file).should == false
46
+ Facter::Util::Uptime.stubs(:uptime_file).returns(nonexistent_file)
47
+ Facter::Util::Uptime.stubs(:uptime_sysctl_cmd).returns("cat #{nonexistent_file}")
48
+ Facter::Util::Uptime.stubs(:uptime_who_cmd).returns("cat #{nonexistent_file}")
49
+ Facter::Util::Uptime.get_uptime_seconds_unix.should == nil
50
+ end
51
+ end
52
+
53
+ end
@@ -8,7 +8,7 @@ describe Facter::Util::Virtual do
8
8
  Facter.clear
9
9
  end
10
10
  it "should detect openvz" do
11
- FileTest.stubs(:exists?).with("/proc/vz/veinfo").returns(true)
11
+ FileTest.stubs(:directory?).with("/proc/vz").returns(true)
12
12
  Facter::Util::Virtual.should be_openvz
13
13
  end
14
14
 
@@ -93,4 +93,27 @@ describe Facter::Util::Virtual do
93
93
  FileTest.expects(:exists?).with("/proc/xen").returns(false)
94
94
  Facter::Util::Virtual.should_not be_xen
95
95
  end
96
+
97
+ it "should detect kvm" do
98
+ FileTest.stubs(:exists?).with("/proc/cpuinfo").returns(true)
99
+ File.stubs(:read).with("/proc/cpuinfo").returns("model name : QEMU Virtual CPU version 0.9.1\n")
100
+ Facter::Util::Virtual.should be_kvm
101
+ end
102
+
103
+ it "should detect kvm on FreeBSD" do
104
+ Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
105
+ Facter::Util::Resolution.stubs(:exec).with("/sbin/sysctl -n hw.model").returns("QEMU Virtual CPU version 0.12.4")
106
+ Facter::Util::Virtual.should be_kvm
107
+ end
108
+
109
+ it "should identify FreeBSD jail when in jail" do
110
+ Facter::Util::Resolution.stubs(:exec).with("/sbin/sysctl -n security.jail.jailed").returns("1")
111
+ Facter::Util::Virtual.should be_jail
112
+ end
113
+
114
+ it "should not identify FreeBSD jail when not in jail" do
115
+ Facter::Util::Resolution.stubs(:exec).with("/sbin/sysctl -n security.jail.jailed").returns("0")
116
+ Facter::Util::Virtual.should_not be_jail
117
+ end
118
+
96
119
  end
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require File.dirname(__FILE__) + '/../../spec_helper'
4
+
5
+ require 'facter/util/vlans'
6
+
7
+ describe Facter::Util::Vlans do
8
+ it "should return a list of vlans on Linux" do
9
+ sample_output_file = File.dirname(__FILE__) + '/../data/linux_vlan_config'
10
+ linux_vlanconfig = File.new(sample_output_file).read();
11
+ Facter::Util::Vlans.stubs(:get_vlan_config).returns(linux_vlanconfig)
12
+ Facter::Util::Vlans.get_vlans().should == %{400,300,200,100}
13
+ end
14
+ end
data/spec/unit/virtual.rb CHANGED
@@ -17,6 +17,13 @@ describe "Virtual fact" do
17
17
  Facter.fact(:virtual).value.should == "zone"
18
18
  end
19
19
 
20
+ it "should be jail on FreeBSD when a jail in kvm" do
21
+ Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
22
+ Facter::Util::Virtual.stubs(:jail?).returns(true)
23
+ Facter::Util::Virtual.stubs(:kvm?).returns(true)
24
+ Facter.fact(:virtual).value.should == "jail"
25
+ end
26
+
20
27
  end
21
28
 
22
29
  describe "is_virtual fact" do
@@ -48,4 +55,17 @@ describe "is_virtual fact" do
48
55
  Facter.fact(:virtual).stubs(:value).returns("openvzve")
49
56
  Facter.fact(:is_virtual).value.should == true
50
57
  end
58
+
59
+ it "should be true when running on kvm" do
60
+ Facter.fact(:kernel).stubs(:value).returns("Linux")
61
+ Facter.fact(:virtual).stubs(:value).returns("kvm")
62
+ Facter.fact(:is_virtual).value.should == true
63
+ end
64
+
65
+ it "should be true when running in jail" do
66
+ Facter.fact(:kernel).stubs(:value).returns("FreeBSD")
67
+ Facter.fact(:virtual).stubs(:value).returns("jail")
68
+ Facter.fact(:is_virtual).value.should == true
69
+ end
70
+
51
71
  end
metadata CHANGED
@@ -1,20 +1,26 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: facter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.7
4
+ hash: 19
5
+ prerelease: false
6
+ segments:
7
+ - 1
8
+ - 5
9
+ - 8
10
+ version: 1.5.8
5
11
  platform: ruby
6
12
  authors:
7
- - Reductive Labs
13
+ - Puppet Labs
8
14
  autorequire:
9
15
  bindir: bin
10
16
  cert_chain: []
11
17
 
12
- date: 2009-09-25 00:00:00 +10:00
18
+ date: 2010-08-28 00:00:00 +10:00
13
19
  default_executable:
14
20
  dependencies: []
15
21
 
16
22
  description:
17
- email: puppet@reductivelabs.com
23
+ email: info@puppetlabs.com
18
24
  executables:
19
25
  - facter
20
26
  extensions: []
@@ -22,116 +28,128 @@ extensions: []
22
28
  extra_rdoc_files: []
23
29
 
24
30
  files:
25
- - COPYING
26
- - Rakefile
27
- - ChangeLog
28
- - CHANGELOG
29
- - README
30
- - LICENSE
31
31
  - README.rst
32
+ - COPYING
32
33
  - INSTALL
34
+ - CHANGELOG
35
+ - Rakefile
33
36
  - TODO
37
+ - LICENSE
38
+ - README
34
39
  - install.rb
35
40
  - bin/facter
36
- - lib/facter.rb
37
- - lib/facter
41
+ - lib/facter/path.rb
42
+ - lib/facter/operatingsystemrelease.rb
43
+ - lib/facter/macosx.rb
44
+ - lib/facter/selinux.rb
45
+ - lib/facter/physicalprocessorcount.rb
46
+ - lib/facter/fqdn.rb
47
+ - lib/facter/ec2.rb
48
+ - lib/facter/rubyversion.rb
49
+ - lib/facter/manufacturer.rb
50
+ - lib/facter/iphostnumber.rb
51
+ - lib/facter/architecture.rb
52
+ - lib/facter/id.rb
53
+ - lib/facter/kernelmajversion.rb
54
+ - lib/facter/uptime_days.rb
55
+ - lib/facter/netmask.rb
38
56
  - lib/facter/hardwaremodel.rb
39
- - lib/facter/uptime.rb
40
- - lib/facter/lsbmajdistrelease.rb
41
- - lib/facter/macaddress.rb
42
- - lib/facter/processor.rb
57
+ - lib/facter/Cfkey.rb
58
+ - lib/facter/virtual.rb
59
+ - lib/facter/kernelrelease.rb
60
+ - lib/facter/network.rb
61
+ - lib/facter/uptime_hours.rb
43
62
  - lib/facter/operatingsystem.rb
44
- - lib/facter/operatingsystemrelease.rb
63
+ - lib/facter/lsbmajdistrelease.rb
64
+ - lib/facter/puppetversion.rb
65
+ - lib/facter/rubysitedir.rb
45
66
  - lib/facter/uniqueid.rb
67
+ - lib/facter/processor.rb
68
+ - lib/facter/macaddress.rb
69
+ - lib/facter/facterversion.rb
70
+ - lib/facter/vlans.rb
71
+ - lib/facter/kernelversion.rb
72
+ - lib/facter/ssh.rb
73
+ - lib/facter/interfaces.rb
74
+ - lib/facter/hardwareisa.rb
75
+ - lib/facter/timezone.rb
76
+ - lib/facter/ps.rb
77
+ - lib/facter/uptime_seconds.rb
78
+ - lib/facter/lsb.rb
79
+ - lib/facter/uptime.rb
80
+ - lib/facter/memory.rb
81
+ - lib/facter/hostname.rb
46
82
  - lib/facter/kernel.rb
47
- - lib/facter/rubyversion.rb
48
- - lib/facter/network.rb
49
- - lib/facter/path.rb
50
- - lib/facter/util
51
- - lib/facter/util/loader.rb
52
- - lib/facter/util/uptime.rb
53
- - lib/facter/util/confine.rb
54
- - lib/facter/util/fact.rb
55
- - lib/facter/util/ip.rb
56
- - lib/facter/util/values.rb
83
+ - lib/facter/domain.rb
84
+ - lib/facter/ipaddress.rb
57
85
  - lib/facter/util/macosx.rb
58
- - lib/facter/util/netmask.rb
59
- - lib/facter/util/resolution.rb
60
- - lib/facter/util/plist.rb
61
- - lib/facter/util/memory.rb
62
- - lib/facter/util/plist
63
86
  - lib/facter/util/plist/generator.rb
64
87
  - lib/facter/util/plist/parser.rb
65
88
  - lib/facter/util/manufacturer.rb
89
+ - lib/facter/util/netmask.rb
90
+ - lib/facter/util/plist.rb
66
91
  - lib/facter/util/virtual.rb
92
+ - lib/facter/util/ip.rb
93
+ - lib/facter/util/resolution.rb
94
+ - lib/facter/util/values.rb
95
+ - lib/facter/util/vlans.rb
96
+ - lib/facter/util/loader.rb
67
97
  - lib/facter/util/collection.rb
68
- - lib/facter/interfaces.rb
69
- - lib/facter/macosx.rb
70
- - lib/facter/hostname.rb
71
- - lib/facter/ssh.rb
72
- - lib/facter/netmask.rb
73
- - lib/facter/timezone.rb
74
- - lib/facter/physicalprocessorcount.rb
75
- - lib/facter/facterversion.rb
76
- - lib/facter/architecture.rb
77
- - lib/facter/kernelmajversion.rb
78
- - lib/facter/kernelversion.rb
79
- - lib/facter/domain.rb
80
- - lib/facter/fqdn.rb
81
- - lib/facter/ipaddress.rb
82
- - lib/facter/rubysitedir.rb
83
- - lib/facter/memory.rb
84
- - lib/facter/puppetversion.rb
85
- - lib/facter/id.rb
86
- - lib/facter/hardwareisa.rb
87
- - lib/facter/iphostnumber.rb
88
- - lib/facter/ec2.rb
89
- - lib/facter/selinux.rb
90
- - lib/facter/lsb.rb
91
- - lib/facter/manufacturer.rb
92
- - lib/facter/Cfkey.rb
93
- - lib/facter/virtual.rb
94
- - lib/facter/ps.rb
95
- - lib/facter/kernelrelease.rb
96
- - conf/redhat
97
- - conf/redhat/facter.spec
98
- - conf/solaris
98
+ - lib/facter/util/uptime.rb
99
+ - lib/facter/util/confine.rb
100
+ - lib/facter/util/memory.rb
101
+ - lib/facter/util/fact.rb
102
+ - lib/facter.rb
99
103
  - conf/solaris/pkginfo
100
- - conf/osx
104
+ - conf/osx/preflight
101
105
  - conf/osx/createpackage.sh
102
106
  - conf/osx/PackageInfo.plist
103
- - conf/osx/preflight
107
+ - conf/redhat/facter.spec
104
108
  - etc/facter.conf
109
+ - spec/fixtures/uptime/who_b_boottime
110
+ - spec/fixtures/uptime/ubuntu_proc_uptime
111
+ - spec/fixtures/uptime/sysctl_kern_boottime
105
112
  - spec/Rakefile
106
- - spec/integration
107
- - spec/integration/facter.rb
108
- - spec/spec.opts
109
113
  - spec/spec_helper.rb
110
- - spec/unit
111
- - spec/unit/facter.rb
112
- - spec/unit/operatingsystem.rb
113
- - spec/unit/util
114
- - spec/unit/util/loader.rb
115
- - spec/unit/util/confine.rb
116
- - spec/unit/util/fact.rb
117
- - spec/unit/util/ip.rb
118
- - spec/unit/util/macosx.rb
119
- - spec/unit/util/resolution.rb
120
- - spec/unit/util/virtual.rb
121
- - spec/unit/util/collection.rb
122
- - spec/unit/interfaces.rb
123
- - spec/unit/data
124
- - spec/unit/data/6.0-STABLE_FreeBSD_ifconfig
125
- - spec/unit/data/linux_ifconfig_all_with_single_interface
114
+ - spec/spec.opts
115
+ - spec/unit/data/Mac_OS_X_10.5.5_ifconfig
126
116
  - spec/unit/data/darwin_ifconfig_all_with_multiple_interfaces
117
+ - spec/unit/data/linux_vlan_config
118
+ - spec/unit/data/linux_ifconfig_all_with_single_interface
119
+ - spec/unit/data/darwin_ifconfig_single_interface
127
120
  - spec/unit/data/solaris_ifconfig_single_interface
121
+ - spec/unit/data/opensolaris_smbios
122
+ - spec/unit/data/freebsd_dmidecode
123
+ - spec/unit/data/hpux_netstat_all_interfaces
124
+ - spec/unit/data/hpux_ifconfig_single_interface
125
+ - spec/unit/data/linux_dmidecode_with_spaces
126
+ - spec/unit/data/hpux_ifconfig
127
+ - spec/unit/data/hpux_netscan
128
128
  - spec/unit/data/solaris_ifconfig_all_with_multiple_interfaces
129
- - spec/unit/data/darwin_ifconfig_single_interface
130
- - spec/unit/data/Mac_OS_X_10.5.5_ifconfig
129
+ - spec/unit/data/6.0-STABLE_FreeBSD_ifconfig
130
+ - spec/unit/operatingsystemrelease.rb
131
131
  - spec/unit/selinux.rb
132
132
  - spec/unit/virtual.rb
133
+ - spec/unit/operatingsystem.rb
134
+ - spec/unit/interfaces.rb
135
+ - spec/unit/uptime.rb
136
+ - spec/unit/facter.rb
137
+ - spec/unit/util/macosx.rb
138
+ - spec/unit/util/manufacturer.rb
139
+ - spec/unit/util/virtual.rb
140
+ - spec/unit/util/ip.rb
141
+ - spec/unit/util/resolution.rb
142
+ - spec/unit/util/vlans.rb
143
+ - spec/unit/util/loader.rb
144
+ - spec/unit/util/collection.rb
145
+ - spec/unit/util/uptime.rb
146
+ - spec/unit/util/confine.rb
147
+ - spec/unit/util/fact.rb
148
+ - spec/integration/facter.rb
133
149
  has_rdoc: true
134
- homepage: http://reductivelabs.com
150
+ homepage: http://puppetlabs.com
151
+ licenses: []
152
+
135
153
  post_install_message:
136
154
  rdoc_options:
137
155
  - --title
@@ -142,23 +160,29 @@ rdoc_options:
142
160
  require_paths:
143
161
  - lib
144
162
  required_ruby_version: !ruby/object:Gem::Requirement
163
+ none: false
145
164
  requirements:
146
165
  - - ">="
147
166
  - !ruby/object:Gem::Version
167
+ hash: 3
168
+ segments:
169
+ - 0
148
170
  version: "0"
149
- version:
150
171
  required_rubygems_version: !ruby/object:Gem::Requirement
172
+ none: false
151
173
  requirements:
152
174
  - - ">="
153
175
  - !ruby/object:Gem::Version
176
+ hash: 3
177
+ segments:
178
+ - 0
154
179
  version: "0"
155
- version:
156
180
  requirements: []
157
181
 
158
182
  rubyforge_project: facter
159
- rubygems_version: 1.3.1
183
+ rubygems_version: 1.3.7
160
184
  signing_key:
161
- specification_version: 2
185
+ specification_version: 3
162
186
  summary: Facter, a system inventory tool
163
187
  test_files: []
164
188