Opened 19 years ago
Last modified 15 years ago
#4228 closed enhancement
Add A Deactivate Hook — at Version 4
Reported by: | matthew.c@… | Owned by: | macports-tickets@… |
---|---|---|---|
Priority: | Normal | Milestone: | MacPorts 1.9.0 |
Component: | base | Version: | |
Keywords: | Cc: | ||
Port: |
Description (last modified by jmpalacios (Juan Manuel Palacios))
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.
Change History (4)
comment:1 Changed 18 years ago by pipping@…
Milestone: | → MacPorts 1.5 |
---|
comment:2 Changed 17 years ago by boeyms@…
comment:3 Changed 17 years ago by nox@…
Priority: | Expected → Normal |
---|---|
Version: | 1.0 |
comment:4 Changed 17 years ago by jmpalacios (Juan Manuel Palacios)
Description: | modified (diff) |
---|---|
Milestone: | MacPorts 1.5 → MacPorts base enhancements |
This would also be useful for the new docbook ports that I am working on, as they need to add entries to the local XML catalog that should be removed on deactivation (since the entries point to files contained in the activated port).