diff --git a/lib/hbc/artifact/uninstall_base.rb b/lib/hbc/artifact/uninstall_base.rb index 68864507b1b..75bddf09d4d 100644 --- a/lib/hbc/artifact/uninstall_base.rb +++ b/lib/hbc/artifact/uninstall_base.rb @@ -212,17 +212,15 @@ class Hbc::Artifact::UninstallBase < Hbc::Artifact::Base plist_status = @command.run('/bin/launchctl', :args => ['list', service], :sudo => with_sudo, :print_stderr => false).stdout if %r{^\{}.match(plist_status) result = @command.run!('/bin/launchctl', :args => ['remove', service], :sudo => with_sudo) - if result.success? - paths = ["/Library/LaunchAgents/#{service}.plist", - "/Library/LaunchDaemons/#{service}.plist"] - paths.each { |elt| elt.prepend(ENV['HOME']) } unless with_sudo - paths = paths.map { |elt| Pathname(elt) }.select(&:exist?) - paths.each do |path| - @command.run!('/bin/rm', :args => ['-f', '--', path], :sudo => with_sudo) - end - end sleep 1 end + paths = ["/Library/LaunchAgents/#{service}.plist", + "/Library/LaunchDaemons/#{service}.plist"] + paths.each { |elt| elt.prepend(ENV['HOME']) } unless with_sudo + paths = paths.map { |elt| Pathname(elt) }.select(&:exist?) + paths.each do |path| + @command.run!('/bin/rm', :args => ['-f', '--', path], :sudo => with_sudo) + end # undocumented and untested: pass a path to uninstall :launchctl if Pathname(service).exist? @command.run!('/bin/launchctl', :args => ['unload', '-w', '--', service], :sudo => with_sudo)