diff options
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/puppet/type/nameservice.rb | 5 | ||||
-rw-r--r-- | lib/puppet/type/nameservice/netinfo.rb | 2 | ||||
-rwxr-xr-x | lib/puppet/type/package/apple.rb | 14 | ||||
-rwxr-xr-x | lib/puppet/type/parsedtype.rb | 4 | ||||
-rwxr-xr-x | lib/puppet/type/parsedtype/port.rb | 6 |
5 files changed, 26 insertions, 5 deletions
diff --git a/lib/puppet/type/nameservice.rb b/lib/puppet/type/nameservice.rb index df0c4b139..34a5a08e8 100755 --- a/lib/puppet/type/nameservice.rb +++ b/lib/puppet/type/nameservice.rb @@ -25,9 +25,7 @@ class Type next unless obj # In case there was an error somewhere - obj.retrieve - - + #obj.retrieve obj end end @@ -120,7 +118,6 @@ class State # cases. def retrieve if obj = @parent.getinfo(true) - if method = self.class.posixmethod || self.class.name @is = obj.send(method) else diff --git a/lib/puppet/type/nameservice/netinfo.rb b/lib/puppet/type/nameservice/netinfo.rb index f0da5294a..786485b2c 100644 --- a/lib/puppet/type/nameservice/netinfo.rb +++ b/lib/puppet/type/nameservice/netinfo.rb @@ -82,6 +82,8 @@ module Puppet end # Retrieve the data, yo. + # FIXME This should retrieve as much information as possible, + # rather than retrieving it one at a time. def retrieve NetInfo.flush dir = @parent.class.netinfodir diff --git a/lib/puppet/type/package/apple.rb b/lib/puppet/type/package/apple.rb index 34d66ef37..563449c2e 100755 --- a/lib/puppet/type/package/apple.rb +++ b/lib/puppet/type/package/apple.rb @@ -21,6 +21,20 @@ module Puppet raise Puppet::PackageError.new(output) end end + + def list + packages = [] + + Dir.entries("/Library/Receipts").find { |f| + f =~ /\.pkg$/ + }.collect { |f| + Puppet.type(:package).installedpkg( + :name => f.sub(/\.pkg/, ''), + :type => :apple, + :ensure => :installed + ) + } + end end end diff --git a/lib/puppet/type/parsedtype.rb b/lib/puppet/type/parsedtype.rb index 5c8a46bb6..de8e563a3 100755 --- a/lib/puppet/type/parsedtype.rb +++ b/lib/puppet/type/parsedtype.rb @@ -305,7 +305,9 @@ module Puppet def retrieve self.class.retrieve() - self.eachstate { |st| st.retrieve } + self.eachstate { |st| + st.retrieve + } end # Write the entire host file out. diff --git a/lib/puppet/type/parsedtype/port.rb b/lib/puppet/type/parsedtype/port.rb index 8eac31def..f8a08913f 100755 --- a/lib/puppet/type/parsedtype/port.rb +++ b/lib/puppet/type/parsedtype/port.rb @@ -172,6 +172,12 @@ module Puppet end end else + if line =~ /^\s+\d+/ and + Facter["operatingsystem"].value == "Darwin" + #Puppet.notice "Skipping wonky OS X port entry %s" % + # line.inspect + next + end raise Puppet::Error, "Could not match '%s'" % line end |