Closed ShadowJonathan closed 4 months ago
That issue left out this specific request; I'd like to make an issue to find a way to ask the system to remove those system extensions, possibly by doing something similar to what Finder does, to uninstall it.
Regarding the system extension, as far as I know this is a MacOS system-level limitation, and this would be the same case were you to remove the application the usual way (it is not a Homebrew-specific limitation).
So it doesn't seem like that's possible without changes in macOS
@ShadowJonathan can I confirm that you are referring to the system extension com.obsproject.obs-studio.mac-camera-extension
as listed in the output of the command systemextensionsctl list
?
If you are, can you please provide the output of the command systemextensionsctl list
?
@miccal i have already uninstalled it, but i can describe the output i had after doing brew uninstall
, which listed the extension normally, persisted that across a reboot, with no mention of "will uninstall next reboot", which it did when i uninstalled OBS studio via finder
Thanks @ShadowJonathan. Did you remove it by running systemextensionsctl uninstall
after disabling SIP?
No, I did not and do not want to disable SIP.
This is why the only uninstall path being via Finder was very odd and unintuitive to me.
I am not sure what we can do here on the brew
side.
My (limited) knowledge of system extensions comes from dealing with them via three apps: Little Snitch, OBS and Microsoft Defender.
Now, both Little Snitch and Microsoft Defender implement a proper deactivationRequest
so that the system extension is removed more-or-less regardless of how the .app
bundles are removed.
However, OBS does not implement a proper deactivationRequest
, which means that the system extension is only removed if the .app
bundle is manually removed by dragging it to the trash, which initiates the removal of the system extension.
Here is the problem: for reasons I do not understand (yet), removing the .app
bundle via, say, an rm
command from the Terminal, does not initiate the removal of the system extension.
So, until this issue is resolved by Apple:
|-> systemextensionsctl uninstall
At this time, this tool cannot be used if System Integrity Protection is enabled.
This limitation will be removed in the near future.
Please remember to re-enable System Integrity Protection!
I do not think we can do anything via brew
.
(Note that systemextensionsctl uninstall
has been this way since macOS 10.15 Catalina, released in 2019: I think Apple's definition of the "near future" is not quite the same as ours!)
Are Little Snitch and Microsoft Defender installable and (completely) uninstallable via brew? System extensions and all?
Would it be useful for me to file a bug report with OBS Studio, and then link back to here? (To keep this issue open until that is resolved, so that there is a proper chain of dependencies.)
I think that this is a reasonable request for them, I have never even heard of that possibility (to uninstall via deactivationRequest
), so it is possible OBS Studio doesn't as well, and if we request this, they might implement it, and OBS Studio would be properly (and neatly) completely uninstallable via brew.
(Though I'm unsure what extra things need to be added to it after they implement deactivationRequest
)
Does this sound reasonable?
Are Little Snitch and Microsoft Defender installable and (completely) uninstallable via brew? System extensions and all?
Microsoft Defender: yes.
Little Snitch: unsure, as I have never uninstalled it (but brew update
works fine).
Would it be useful for me to file a bug report with OBS Studio, and then link back to here? (To keep this issue open until that is resolved, so that there is a proper chain of dependencies.)
I think that this is a reasonable request for them, I have never even heard of that possibility (to uninstall via
deactivationRequest
), so it is possible OBS Studio doesn't as well, and if we request this, they might implement it, and OBS Studio would be properly (and neatly) completely uninstallable via brew.(Though I'm unsure what extra things need to be added to it after they implement
deactivationRequest
)Does this sound reasonable?
There is already an open issue about this over at the OBS GitHub page: https://github.com/obsproject/obs-studio/issues/9714.
Thanks! I've mentioned this option there, there's a large chance they haven't heard of it :)
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
Also, this is tagged with "upstream", shouldn't "stale" not apply then?
Upstream doesn't prevent stalebot, because it indicates that there isn't any course of action appropriate to move things forward within Homebrew, and the issue itself is not specific to Homebrew.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.
I'll reopen this once a solution (or the likes) has been found in https://github.com/obsproject/obs-studio/issues/9714
Verification
--force
.brew update-reset && brew update
and retried my command.brew doctor
, fixed as many issues as possible and retried my command.Description of issue
When uninstalling the
obs
cask, it leaves behind the "virtual camera" extension.I've found a comment here which references this, but when uninstalling OBS via finder ("move to bin"), it correctly uninstalls the system extension.
Is it possible for homebrew to perform a similar function, or otherwise point the user to this fact?
Command that failed
brew uninstall --cask obs
Output of command with
--verbose --debug
Output of
brew doctor
andbrew config
Output of
brew tap