[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 2.6.1rc3-129-g74f8285

James Turnbull james at lovedthanlost.net
Tue Sep 7 13:30:59 UTC 2010


The following commit has been merged in the upstream branch:
commit b397b698314daae36f59751521be113cfd337095
Author: Markus Roberts <Markus at reality.com>
Date:   Sat Aug 21 19:44:06 2010 -0700

    Fix for #4489 -- apply was using the rest terminus
    
    Basing pervasive low-level behaviour changes on the application name isn't a
    good idea, but if we're going to do it we need to remember to update the test
    when we rename the application.  Further, if we optimize around such low-level
    tests (as we did when implementing file-streaming) we need to carry the tests
    over into the new data paths.
    
    This commit addresses both of these isues, restoring 0.25.x stand-alone file
    serving by adjusting the process-name test in the indirector to recognize
    "apply" as standalone (and thus not use http to fetch the files) and by adding
    a branch to the file streaming code to do the same when fetching the content.
    
    I am not certain that this change is globally correct; there may be other
    related problems that will not be fixed (and may in fact be exacerbated) by
    this patch.

diff --git a/lib/puppet/type/file/content.rb b/lib/puppet/type/file/content.rb
index 0d0bb55..f5b65d3 100755
--- a/lib/puppet/type/file/content.rb
+++ b/lib/puppet/type/file/content.rb
@@ -166,6 +166,8 @@ module Puppet
         yield source_or_content
       elsif source_or_content.nil?
         yield read_file_from_filebucket
+      elsif Puppet.settings[:name] == "apply"
+        yield source_or_content.content
       elsif source_or_content.local?
         chunk_file_from_disk(source_or_content) { |chunk| yield chunk }
       else
diff --git a/lib/puppet/type/file/source.rb b/lib/puppet/type/file/source.rb
index 0e7aac7..7d03de2 100755
--- a/lib/puppet/type/file/source.rb
+++ b/lib/puppet/type/file/source.rb
@@ -94,6 +94,16 @@ module Puppet
       metadata && metadata.checksum
     end
 
+    # Look up (if necessary) and return remote content.
+    cached_attr(:content) do
+      raise Puppet::DevError, "No source for content was stored with the metadata" unless metadata.source
+
+      unless tmp = Puppet::FileServing::Content.find(metadata.source)
+        fail "Could not find any content at %s" % metadata.source
+      end
+      tmp.content
+    end
+
     # Copy the values from the source to the resource.  Yay.
     def copy_source_values
       devfail "Somehow got asked to copy source values without any metadata" unless metadata

-- 
Puppet packaging for Debian



More information about the Pkg-puppet-devel mailing list