From 1834457272a925e526a0493063229a9c47255d0a Mon Sep 17 00:00:00 2001 From: Markus Reiter <me@reitermark.us> Date: Fri, 18 Nov 2016 22:53:25 +0100 Subject: [PATCH] Remove kernel extensions specified in `uninstall :kext`. --- Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb | 4 ++++ .../Homebrew/cask/test/cask/artifact/uninstall_test.rb | 8 ++++++++ Library/Homebrew/cask/test/cask/artifact/zap_test.rb | 8 ++++++++ 3 files changed, 20 insertions(+) diff --git a/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb b/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb index e76561e92a..6d4d329ec5 100644 --- a/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb +++ b/Library/Homebrew/cask/lib/hbc/artifact/uninstall_base.rb @@ -187,6 +187,10 @@ module Hbc @command.run!("/sbin/kextunload", args: ["-b", kext], sudo: true) sleep 1 end + @command.run!("/usr/sbin/kextfind", args: ["-b", kext], sudo: true).stdout.chomp.lines.each do |kext_path| + ohai "Removing kernel extension #{kext_path}" + @command.run!("/bin/rm", args: ["-rf", kext_path], sudo: true) + end end end diff --git a/Library/Homebrew/cask/test/cask/artifact/uninstall_test.rb b/Library/Homebrew/cask/test/cask/artifact/uninstall_test.rb index 10c51420a5..b9c5c3187b 100644 --- a/Library/Homebrew/cask/test/cask/artifact/uninstall_test.rb +++ b/Library/Homebrew/cask/test/cask/artifact/uninstall_test.rb @@ -192,6 +192,14 @@ describe Hbc::Artifact::Uninstall do sudo(%W[/sbin/kextunload -b #{kext_id}]) ) + Hbc::FakeSystemCommand.expects_command( + sudo(%W[/usr/sbin/kextfind -b #{kext_id}]), "/Library/Extensions/FancyPackage.kext\n" + ) + + Hbc::FakeSystemCommand.expects_command( + sudo(["/bin/rm", "-rf", "/Library/Extensions/FancyPackage.kext"]) + ) + subject end end diff --git a/Library/Homebrew/cask/test/cask/artifact/zap_test.rb b/Library/Homebrew/cask/test/cask/artifact/zap_test.rb index 3291afbcab..fbbf520a0d 100644 --- a/Library/Homebrew/cask/test/cask/artifact/zap_test.rb +++ b/Library/Homebrew/cask/test/cask/artifact/zap_test.rb @@ -193,6 +193,14 @@ describe Hbc::Artifact::Zap do sudo(%W[/sbin/kextunload -b #{kext_id}]) ) + Hbc::FakeSystemCommand.expects_command( + sudo(%W[/usr/sbin/kextfind -b #{kext_id}]), "/Library/Extensions/FancyPackage.kext\n" + ) + + Hbc::FakeSystemCommand.expects_command( + sudo(["/bin/rm", "-rf", "/Library/Extensions/FancyPackage.kext"]) + ) + subject end end -- GitLab