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