diff options
-rwxr-xr-x | lib/puppet/type/pfile/ensure.rb | 3 | ||||
-rw-r--r-- | lib/puppet/type/pfile/target.rb | 23 |
2 files changed, 9 insertions, 17 deletions
diff --git a/lib/puppet/type/pfile/ensure.rb b/lib/puppet/type/pfile/ensure.rb index 033ce80e2..ef5892c05 100755 --- a/lib/puppet/type/pfile/ensure.rb +++ b/lib/puppet/type/pfile/ensure.rb @@ -82,8 +82,7 @@ module Puppet self.set_directory return :directory_created else - state.mklink - return :link_created + return state.mklink end else self.fail "Cannot create a symlink without a target" diff --git a/lib/puppet/type/pfile/target.rb b/lib/puppet/type/pfile/target.rb index dc1486560..ba71c7f58 100644 --- a/lib/puppet/type/pfile/target.rb +++ b/lib/puppet/type/pfile/target.rb @@ -26,31 +26,24 @@ module Puppet case stat.ftype when "directory": - # uh, bad stuff - #self.fail "Not replacing directory" FileUtils.rmtree(@parent[:path]) else File.unlink(@parent[:path]) end end Dir.chdir(File.dirname(@parent[:path])) do - unless FileTest.exists?(target) - self.debug "Not linking to non-existent '%s'" % target - :nochange # Grrr, can't return - else - Puppet::Util.asuser(@parent.asuser()) do - mode = @parent.should(:mode) - if mode - Puppet::Util.withumask(000) do - File.symlink(target, @parent[:path]) - end - else + Puppet::Util.asuser(@parent.asuser()) do + mode = @parent.should(:mode) + if mode + Puppet::Util.withumask(000) do File.symlink(target, @parent[:path]) end + else + File.symlink(target, @parent[:path]) end - - :link_created end + + :link_created end end |