[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