diff options
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/puppet/metatype/providers.rb | 5 | ||||
| -rw-r--r-- | lib/puppet/parser/ast/collexpr.rb | 6 | ||||
| -rw-r--r-- | lib/puppet/provider/host/netinfo.rb | 1 |
3 files changed, 9 insertions, 3 deletions
diff --git a/lib/puppet/metatype/providers.rb b/lib/puppet/metatype/providers.rb index 652c3c683..8210dd382 100644 --- a/lib/puppet/metatype/providers.rb +++ b/lib/puppet/metatype/providers.rb @@ -114,6 +114,11 @@ class Puppet::Type def self.provide(name, options = {}, &block) name = Puppet::Util.symbolize(name) + if obj = @providers[name] + Puppet.debug "Reloading %s %s provider" % [name, self.name] + unprovide(name) + end + parent = if pname = options[:parent] options.delete(:parent) if pname.is_a? Class diff --git a/lib/puppet/parser/ast/collexpr.rb b/lib/puppet/parser/ast/collexpr.rb index e9f2e63e0..5fb11c709 100644 --- a/lib/puppet/parser/ast/collexpr.rb +++ b/lib/puppet/parser/ast/collexpr.rb @@ -44,8 +44,10 @@ class CollExpr < AST::Branch case @oper when "and", "or": - raise Puppet::ParseError, "Puppet does not currently support collecting exported resources with more than one condition" - #oper = @oper.upcase + if form == :exported + raise Puppet::ParseError, "Puppet does not currently support collecting exported resources with more than one condition" + end + oper = @oper.upcase when "==": oper = "=" else oper = @oper diff --git a/lib/puppet/provider/host/netinfo.rb b/lib/puppet/provider/host/netinfo.rb index dfdc4b447..97a3b99e7 100644 --- a/lib/puppet/provider/host/netinfo.rb +++ b/lib/puppet/provider/host/netinfo.rb @@ -1,7 +1,6 @@ # Manage NetInfo POSIX objects. Probably only used on OS X, but I suppose # it could be used elsewhere. require 'puppet/provider/nameservice/netinfo' -require 'puppet/provider/host/netinfo' Puppet::Type.type(:host).provide :netinfo, :parent => Puppet::Provider::NameService::NetInfo, :netinfodir => "machines" do |
