Opened 19 years ago
Last modified 15 years ago
#4228 closed enhancement
Add A Deactivate Hook — at Initial Version
Reported by: | matthew.c@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | MacPorts 1.9.0 |
Component: | base | Version: | |
Keywords: | Cc: | ||
Port: |
Description
We have the post-activate hook availible to do setup tasks after the port has been activated. I've talked to jmpp looking for a similar hook for deactivating, and he tells me there isn't one.
I propose a "pre-deactivate" hook that will allow the ports system to clean up any post install setup its done when the user removes it.
The context in which I am working is libraries for Haskell. GHC maintains a list of package which are installed, what modules they provide, and where they are. Normally the install phase (ie: make install) registers the packages, and make uninstall removes them. Since we're putting them into a dest-root first, and then to additionally confound the system, using the image system, this doesn't work.
I pass configure flags to not perform the registartoin and take care of it in post-activate. For correctness' sake, it would be nice to be able to tear these down. If you'd check out devel/hs-plugins, you'll see an example of what I'm talking about. That first bit where we scrub out any pre existing versions is a horrible hideous kludge and needs to be fixed. We could move that unregistration stuff into the deactivation hook.