Ignacio Vazquez-Abrams wrote:
On Tue, 2008-06-17 at 00:33 +0900, David Cournapeau wrote:
An uninstall command is a long-time wanted feature of distutils. I
was wondering why it was not implemented: what does it need to do to be
useful ? AFAIK, make uninstall in autotools simply removes currently
installed files, with currently refering to the current configured value
of prefix and all. Isn't this enough (I am interested in a 'pure'
distutils command, not a setuptools one) ? What would be the minimum
semantics needed for an uninstall command ?
One of the big differences between autotools and distutils is that in
autotools the destination path is set at *build* time (ignoring the
not-often directly-used DESTDIR make variable, of course), but in
distutils/setuptools the destination path is set at *install* time.
Yes, that's actually one of the thing I really don't like about
distutils (the way options are handled), but there is nothing we can do
about that in the short term.
I think it would be possible to record the last install directories into
the build directory of distutils, such as by default, it will remove the
last installed package ? There is no question that an uninstall command
will not be good for all cases; but here are some of the scenario I am
thinking about:
- install run uninstall before install (if uninstall info found in
build): avoiding people having problems when re-installing a package
without removing it first (that's my first priority, actually, but I am
willing to handle other cases, of course)
- uninstall a package a user does not want anymore.
Having said that, yes, it could potentially be done so that it takes the
same argument as install for overriding the root, but I get the distinct
feeling that people are going to forget to specify the root on uninstall
quite often, thereby removing the module installed in the system
location instead.
Well, there is not much you can do about that. On unix, people do not
install in system location, I hope. On windows, most people install in
the default location, no ? The ones who don't should be able to pass the
uninstall command, normally.
If we have a reliable mechanism to remove the last installed package, I
think we would mostly alleviate this problem (which concern people who
do not tweak much; for people who want to install in non default
location, I would expect them to handle this issue by themselves ?)
cheers,
David
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig