summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xlib/puppet/type/nameservice.rb5
-rw-r--r--lib/puppet/type/nameservice/netinfo.rb2
-rwxr-xr-xlib/puppet/type/package/apple.rb14
-rwxr-xr-xlib/puppet/type/parsedtype.rb4
-rwxr-xr-xlib/puppet/type/parsedtype/port.rb6
-rw-r--r--test/server/pelement.rb1
-rwxr-xr-xtest/types/filesources.rb2
7 files changed, 28 insertions, 6 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
diff --git a/test/server/pelement.rb b/test/server/pelement.rb
index 7d39d05c1..1a6458768 100644
--- a/test/server/pelement.rb
+++ b/test/server/pelement.rb
@@ -220,6 +220,7 @@ class TestPElementServer < Test::Unit::TestCase
count = 0
described = {}
+ Puppet.info "listing again"
type.list.each do |obj|
assert_instance_of(type, obj)
diff --git a/test/types/filesources.rb b/test/types/filesources.rb
index d9afcf681..b9f3a7fdb 100755
--- a/test/types/filesources.rb
+++ b/test/types/filesources.rb
@@ -195,7 +195,7 @@ class TestFileSources < Test::Unit::TestCase
fromtree = file_list(fromdir)
totree = file_list(todir)
- assert(fromtree != totree)
+ assert(fromtree != totree, "Trees are incorrectly equal")
# then remove our new files
FileUtils.cd(todir) {