Tarek Ziadé wrote: > > The idea of the uninstall API is to provide a reference implementation > that can be used > in package managers that will rely on the other APIs, rather than a > complete system. >
For package managers which manage everything (pretty much every native binary installer, be it msi/wininst/rpm/deb), uninstall feature is not needed anyway. They handle all this by themselves once they know what they install. > For instance, Distutils doesn't handle dependencies > installation/uninstallation, while PEP 345 introduces them > in the metadata. > I think dependencies is the easy part for uninstallation - it is a non-issue IMHO (once a decision on how to deal with dependencies is done :)). The hard problem is how to uninstall one package at the right location (/usr vs $HOME vs something else on Unix, for example), reliably. I am generally very much in favor of delegating many things to 3rd party, using metadata instead of tools, but I think uninstall/registration of packages can only be implemented by python itself reliably, if only because there can't be several systems at the same time. If it is handled by a 3rd party system, I see the following problems: - how to know exactly which package to remove (if I have several of them installed) ? - how to get access to the list of installed packages - how to deal with doc, generated .pyc/.pyo, configuration files, rollback, etc... I don't see how this kind of infrastructure can be provided by a 3rd party, unless it is guaranteed there will be only one. David _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig