On Thu, Dec 12, 2013 at 8:26 AM, Jeff Bachtel < [email protected]> wrote:
> (repost from puppet-users) > > When creating a provider that uses a command not in PATH, what is the > best-practice pattern for case'ing out different potential locations? As an > example, the puppetlabs rabbitmq pupmod has a rabbitmqplugins provider that > falls down on CentOS using the rabbitmq upstream package due to > rabbitmq-plugins being in /usr/lib/rabbitmq/bin . > > As an aside (I don't know how often Puppet devs read this list), could the > Puppet::Util::which method perhaps be extended to add a non-user PATH-like > variable to the path search string? Something like PUPPET_PROVIDER_PATH, if > it exists, being concatenated before PATH. I could then configure the > system environment on weird hosts to provide that variable for puppet > without mucking with user/system PATH. > It seems reasonable to modify which() [1] to take an optional PATH instead of hard-coding it to ENV['PATH']. The method depends on PATH, so it's probably a bit "better" to inject that dependency rather than hardcode it in the method body as it is now. Maybe def which(bin, path=ENV['PATH']) ? https://github.com/puppetlabs/puppet/blob/780ecb238d47f1ab5d6ce18fc8e38f98a12d66c0/lib/puppet/util.rb#L178 -- *Jeff McCune <http://jeffmccune.com/>* -- You received this message because you are subscribed to the Google Groups "Puppet Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/puppet-dev/CAOXx1vG0cvcir-H93_icz54WzawsPwOGr0Mcb2%2BirA%3D_i%3D7bJA%40mail.gmail.com. For more options, visit https://groups.google.com/groups/opt_out.
