Jeff, I'm happy to take this on since I'm one who was whingeing on about it so. What I intend to do is start with a fresh core install, and then sequentially add single packages (along with their dependencies obviously), create a bit of data, and try to uninstall the target package individually (ie not uninstalling any of the dependent packages). I'll file bugs on each package that won't uninstall along with whatever clues I can get re cause from the error log.
I have a several questions:
- Since some of the uninstall problems may be with the apm, which version of core should I use -- HEAD? 5-1?
- Which version of the target packages should I use? HEAD? 5-1-compat? (Despite Tip 61, I still am confused about where bug fixes are supposed to go, where they actually are going, and why. Bug-Tracker patches have been committed to HEAD but not 5-1-compat; Project-Manager patches have been committed to 5-1-compat. What is supposed to happen?)
- Since the uninstall proc chain (beginning with apm_package_delete) includes stuff to remove site_nodes, I presume that to uninstall a package, the idea is simply to go to the Package Manager page and uninstall it without first unmounting and deleting the package instances from the Site Map. Is this correct? Or is uninstalling supposed to be a two-stage process where the user first removes the mounted packages via Site Map and then goes to the Package Manager? (If so, this should be documented somewhere -- like on the PM page "Warning -- remove all instances of the package from the Site Map first!!")