Issue #5486 has been updated by Jeff Weiss.

Target version deleted (1.6.x)


----------------------------------------
Bug #5486: facter does not work on iphone
https://projects.puppetlabs.com/issues/5486#change-63737

Author: Garrett Honeycutt
Status: Tests Insufficient
Priority: Normal
Assignee: 
Category: library
Target version: 
Keywords: iphone
Branch: 
Affected Facter version: 


<pre>
Kevin-Lords-iPhone:~/rubygems-1.3.7 root# facter
/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/macosx.rb:28: undefined 
method `each' for nil:NilClass (NoMethodError)
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:73:in 
`load'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:73:in 
`load_file'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:38:in 
`load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:33:in 
`each'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:33:in 
`load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:30:in 
`each'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/loader.rb:30:in 
`load_all'
from 
/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter/util/collection.rb:90:in 
`load_all'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/lib/facter.rb:95:in `to_hash'
from /usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter:137
from /usr/bin/facter:19:in `load'
from /usr/bin/facter:19
</pre>

In case anyone else wants to try to get this running, here are the steps needed:

1. Install the 1.8.6 ruby package found here: 
http://apt.saurik.com/cydia-3.7/debs/ruby_1.8.6-p111-5_iphoneos-arm.deb
2. Install the latest ruby gems from rubygems.org
3. Install the facter / puppet gems
4. Apply the included patch
5. Install the network-cmds package from the Telesphoreo Cydia repo
6. ln -s /sbin/netstat /usr/sbin/netstat
7. ln -s /usr/lib/gettext/hostname /bin/hostname
8. Tada:

<pre>
Kevin-Lords-iPhone:~/rubygems-1.3.7 root# facter
facterversion => 1.5.8
hardwaremodel => iPhone3,1
hostname => Kevin-Lords-iPhone
interfaces => lo0,pdp_ip0,pdp_ip1,pdp_ip2,pdp_ip3,en0,en1
ipaddress => 192.168.1.71
ipaddress_en0 => 192.168.1.71
ipaddress_lo0 => 127.0.0.1
ipaddress_pdp_ip0 => 10.130.83.122
kernel => Darwin
kernelmajversion => 10.3
kernelrelease => 10.3.1
kernelversion => 10.3.1
macaddress_en0 => 90:27:e4:4b:b4:b8
macaddress_en1 => 90:27:e4:4b:b4:bb
macosx_buildversion => 8B117
macosx_productname => iPhone OS
macosx_productversion => 4.1
macosx_productversion_major => 4.1
macosx_productversion_minor => 0
netmask => 255.255.255.0
netmask_en0 => 255.255.255.0
netmask_lo0 => 255.0.0.0
netmask_pdp_ip0 => 255.255.255.255
network_en0 => 192.168.1.0
network_lo0 => 127.0.0.0
network_pdp_ip0 => 10.130.83.122
operatingsystem => Darwin
operatingsystemrelease => 10.3.1
path => 
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/bin/X11:/usr/games
ps => ps auxwww
puppetversion => 2.6.4
rubysitedir => /usr/lib/ruby/site_ruby/1.8
rubyversion => 1.8.6
sshdsakey => (redacted
sshrsakey => (redacted)
timezone => CST
uptime => 3 days
uptime_days => 3
uptime_hours => 90
uptime_seconds => 324539
Kevin-Lords-iPhone:~/rubygems-1.3.7 root# puppet --version
2.6.4
</pre>

Patch to fix

<pre>
--- macosx.rb   2010-12-08 20:40:11.000000000 -0600
+++ macosx.rb.new       2010-12-09 09:24:35.000000000 -0600
@@ -25,30 +25,36 @@
 require 'facter/util/macosx'
 
 if Facter.value(:kernel) == "Darwin"
-    Facter::Util::Macosx.hardware_overview.each do |fact, value|
-        Facter.add("sp_#{fact}") do
-            confine :kernel => :darwin
-            setcode do
-                value.to_s
-            end
-        end
-    end
+       if Facter::Util::Macosx.hardware_overview
+               Facter::Util::Macosx.hardware_overview.each do |fact, value|
+                       Facter.add("sp_#{fact}") do
+                               confine :kernel => :darwin
+                               setcode do
+                                       value.to_s
+                               end
+                       end
+               end
+       end
 
-    Facter::Util::Macosx.os_overview.each do |fact, value|
-        Facter.add("sp_#{fact}") do
-            confine :kernel => :darwin
-            setcode do
-                value.to_s
-            end
-        end
-    end
+       if Facter::Util::Macosx.os_overview
+       Facter::Util::Macosx.os_overview.each do |fact, value|
+               Facter.add("sp_#{fact}") do
+               confine :kernel => :darwin
+               setcode do
+                       value.to_s
+               end
+               end
+       end
+       end
 
-    Facter::Util::Macosx.sw_vers.each do |fact, value|
-        Facter.add(fact) do
-            confine :kernel => :darwin
-            setcode do
-                value
-            end
-        end
-    end
+       if Facter::Util::Macosx.sw_vers
+       Facter::Util::Macosx.sw_vers.each do |fact, value|
+               Facter.add(fact) do
+               confine :kernel => :darwin
+               setcode do
+                       value
+               end
+               end
+       end
+       end
 end
</pre>
--
Kevin Lord


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" 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-bugs?hl=en.

Reply via email to