[Pkg-puppet-devel] [SCM] Packaging of Facter for debian branch, upstream, updated. 3a39dd8353b6308cf49522990104cc63e55d7cda

Luke Kanies luke at madstop.com
Fri Jan 29 17:22:20 UTC 2010


The following commit has been merged in the upstream branch:
commit 516402c77f9c7d751c627db36885e12aaff62bf9
Author: Luke Kanies <luke at madstop.com>
Date:   Mon Apr 20 11:52:43 2009 -0500

    Fixing #1918 - facter --puppet always works
    
    The problem was that Facter wasn't telling Puppet to read
    your puppet.conf, so if you'd set vardir or libdir
    in it then you didn't get the appropriate settings and thus
    not know where to find the facter plugins.
    
    This is a bit of a ham-handed approach, but it always works.
    
    Signed-off-by: Luke Kanies <luke at madstop.com>

diff --git a/bin/facter b/bin/facter
index 6ee5b48..4ffd50a 100755
--- a/bin/facter
+++ b/bin/facter
@@ -58,6 +58,19 @@ rescue Exception
     $haveusage = false
 end
 
+def load_puppet
+    require 'puppet'
+    Puppet.parse_config
+
+    # If you've set 'vardir' but not 'libdir' in your
+    # puppet.conf, then the hook to add libdir to $:
+    # won't get triggered.  This makes sure that it's setup
+    # correctly.
+    unless $LOAD_PATH.include?(Puppet[:libdir])
+        $LOAD_PATH << Puppet[:libdir]
+    end
+end
+
 $debug = 0
 
 config = nil
@@ -83,7 +96,7 @@ begin
             exit
         when "--puppet"
             begin
-                require 'puppet'
+                load_puppet()
             rescue LoadError => detail
                 $stderr.puts "Could not load Puppet: %s" % detail
             end

-- 
Packaging of Facter for debian



More information about the Pkg-puppet-devel mailing list