On Jan 22, 2011, at 5:58 PM, Dan Bode wrote: > > > On Sat, Jan 22, 2011 at 1:18 PM, Luke Kanies <[email protected]> wrote: > On Jan 21, 2011, at 22:16, Dan Bode <[email protected]> wrote: > > > Hi devs, > > > > I am experimenting with extending Puppet::Application. > > > > I have my own RUBYLIB where I want to store my puppet applications. > > > > /home/dan/lib/puppet/application/foo.rb > > > > when I export RUBYLIB=/home/dan/lib/ > > > > the puppet executable can only find my application and none of the others: > > > > puppet apply > > Error: Unknown command apply. > > Usage: puppet command <space separated arguments> > > Available commands are: foo > > > > If I move my code to: > > > > ls /usr/lib/ruby/site_ruby/1.8/puppet/application > > > > it works perfectly, > > > > Ideally, I don't want my custom code to have to live with Puppet core. > > Is puppet actually installed on your system, or running out of ~? > What is your RUBYLIB set to before you reset it here? > > empty, in this case, puppet was installed via install.rb > > > I usually have to set RUBYLIB to my puppet git repo, so for this, I'd > have to set it to both lib directories, rather than just replacing the > value like you're doing here. > > no, that was not the problem :) > > I figured it out, > > from util/command_line.rb > > def available_subcommands > absolute_appdir = $LOAD_PATH.collect { |x| > File.join(x,'puppet','application') }.detect{ |x| File.directory?(x) } > Dir[File.join(absolute_appdir, '*.rb')].map{|fn| File.basename(fn, > '.rb')} > end > > key thing to note here is "detect", it only picks the commands form the first > directory in load path where it finds puppet/application/, I have a patch > that I am fishing that uses select instead > > ticket/patch to follow:
Ah, that's definitely a bug. -- It is a very sad thing that nowadays there is so little useless information. -- Oscar Wilde --------------------------------------------------------------------- Luke Kanies -|- http://puppetlabs.com -|- +1(615)594-8199 -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/puppet-dev?hl=en.
