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.

Reply via email to