diff --git a/shared/lib/puppet/provider/configure/action.rb b/shared/lib/puppet/provider/configure/action.rb index d03c0a6..3b6b515 100644 --- a/shared/lib/puppet/provider/configure/action.rb +++ b/shared/lib/puppet/provider/configure/action.rb @@ -10,7 +10,9 @@ Puppet::Type.type(:configure).provide(:action) do end def exists? - unless? || File.file?(config_status) + return true if unless? + + File.file?(config_status) end private @@ -19,7 +21,7 @@ Puppet::Type.type(:configure).provide(:action) do end def unless? - return true if @resource[:unless].empty? + return nil if @resource[:unless].empty? system %{bash -c '#{@resource[:unless]}'} $?.exitstatus == 0 diff --git a/shared/lib/puppet/provider/download_and_unpack/action.rb b/shared/lib/puppet/provider/download_and_unpack/action.rb index 63e7c55..5a1af54 100644 --- a/shared/lib/puppet/provider/download_and_unpack/action.rb +++ b/shared/lib/puppet/provider/download_and_unpack/action.rb @@ -15,12 +15,14 @@ Puppet::Type.type(:download_and_unpack).provide(:action) do end def exists? - unless? || (File.directory?(File.join(@resource[:src_path], target_dir))) + return true if unless? + + File.directory?(File.join(@resource[:src_path], target_dir)) end private def unless? - return true if @resource[:unless].empty? + return nil if @resource[:unless].empty? system %{bash -c '#{@resource[:unless]}'} diff --git a/shared/lib/puppet/provider/make_and_install/action.rb b/shared/lib/puppet/provider/make_and_install/action.rb index e551656..4e01459 100644 --- a/shared/lib/puppet/provider/make_and_install/action.rb +++ b/shared/lib/puppet/provider/make_and_install/action.rb @@ -16,12 +16,14 @@ Puppet::Type.type(:make_and_install).provide(:action) do end def exists? - unless? || (File.directory?(@resource[:install_path]) && File.symlink?(symlink_path)) + return true if unless? + + File.directory?(@resource[:install_path]) && File.symlink?(symlink_path) end private def unless? - return true if @resource[:unless].empty? + return nil if @resource[:unless].empty? system %{bash -c '#{@resource[:unless]}'} $?.exitstatus == 0