On Fri, 30 Aug 2002, Michael G Schwern wrote:

>>I would question whether packlists are the thing to use in 'make
>>uninstall'.

>It's sort of silly to require that you have a copy of the source
>code in order to uninstall a module.

I am not sure that it is silly.  It seems to be the convention to do
things this way: for example when installing a GNU package there may
be a 'make uninstall' but there is no way to automatically remove the
package without having the source code.  If you do want the ability to
uninstall then you use a package manager such as RPM, or such as GNU
Stow, or any of the dozens of other packaging/uninstallation systems.

The question is: should there be uninstall functionality with the
package, which risks reinventing the wheel, or should it be up to the
user to use whatever packaging tool he wishes, which risks annoying
those users who don't want to bother with extra tools.

(It starts to get hairier when you have upgrades from one version of a
module to a later version, or configuration files which should not be
changed during such an upgrade, or files shared between two different
packages.  Fortunately such issues don't usually come up with Perl
modules (so far), but they are bread and butter for programs like
rpm.)

A compromise position is to not create any uninstall mechanism which
requires storing packlists, but do have a 'make uninstall' since that
comes for free once you have 'make install'.  As I mentioned this is
what many other programs seem to do.

>Having a "make uninstall" target wouldn't be the canonical way to
>remove a module, simply a way to address the "Shit!  I didn't mean
>to install that there!" problem.

It needs to be decided: should there be a canonical way to remove a
module?  And I think my answer would be, once there is a way to type
'perl-uninstall' and have perl5 automatically remove itself from the
system, we must have the same functionality for modules.  But until
that day there is no real need to implement an uninstaller,
particularly as unused Perl modules lying around are no real hazard.

>So you still need some sort of list of what's installed in order to
>uninstall things once the original source tarball is gone.

Assuming that this ability is a required feature, which I question.

>Why don't you just run from the assumption that packlists aren't
>such a hot idea

And I thought I was doing such a good job of hiding my true feelings
about packlists :-).

>and implement something else?  Probably do it with Module::Build as
>I have no plans to do any significant changes to MakeMaker.

If you are saying that MakeMaker will not get a fancy packlist-based
uninstaller, then there is no reason not to rip out packlists now.  Or
at least quietly ignore them in new code.

-- 
Ed Avis <[EMAIL PROTECTED]>


Reply via email to