On Wed, Mar 06, 2002 at 12:26:49PM -0500, Michael G Schwern wrote: > You said you didn't know exactly why uninstall was deprecated, and you > might add it back in if a patch were submitted. Here's what I've > discovered so far.
This is where it got deprecated back in 1997. http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/9701/msg00749.html Andreas sed: Folks, I think, I have to deprecate the uninstall target. It was never documented, it was never really clever, it just caused me a lot of grief. I'd rather design a new solution from scratch. so yes, it was deprecated because it was broken, not because it was necessarily a bad idea. > There is an undocumented fourth parameter to install() which means > 'uninstall' and causes it to call unc_uninstall() under some > circumstances. This unc_uninstall() is an attempt at a clever > uninstaller which compares files to see whether they are the same as > those built (otherwise it leaves them alone). However, it's all rather > broken. When I ran it it removed two README files (one of which was > actually completely unrelated to the package) but ignored all other > files. > > I suggest that as a first step you remove the fourth parameter from > install() and strip out all the uninstall stuff which is never actually > called from a makefile. Good plan. Go ahead with the complete scrubbing out of the old uninstall code. I'll take a patch for that. Just be careful, its hairy in there. Sorry, I'm entirely focused on getting a stable release for 5.8 and can't do it myself. > I would like to have uninstallation for my > project, so I may implement something simple. But any new version would > probably best start from scratch and use the existing deprecated, broken > code as 'inspiration' rather than as something to build on. Yes. Your best place to start is to write a working uninstall() function based on ExtUtils::Installed instead of ExtUtils::Packlist. There is an uninstall() function in ExtUtils::Install which is what 'make uninstall' currently uses. I don't know what condition its currently in, but it seems to be very small and based on ExtUtils::Packlist. Don't worry about wiring up a "make uninstall". That can come later. > Perhaps I'm being unduly negative, I haven't investigated thoroughly > whether the uninstalling can be made to work, but I imagine that the > previous maintainers stopped supporting uninstall for a reason. "For historical reasons" :) -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One If you'll mount me, I'll let you bomb Canada until they swoon.
