On 4 Jun, 2009, at 5:54, Tarek Ziadé wrote:

Paul
I'd say that it's distutils' responsibility not to offer to uninstall
anything it didn't install.

Brian
Yep. Though I think that nowdays dpkg installs to a different directory than
Distutils' default. So users have to specify extra options to break
their systems.

But how does those third-party install the projects ?

Don't they use Distutils' install command under the hood ?

If so, the new PEP 376 APIs are ignoring previous versions of
egg-infos and work only with the ones that complies with the new
standard (it's a quick control right now,  look at the "is_egg_info"
API in http://bitbucket.org/tarek/pep376/src/tip/pkgutil.py)

So, in any case the uninstall command will not work with project that
are filtered out by is_egg_info().

So maybe we could add a "INSTALLER" file with a unique md5 key
provided by the project that installed the package,
and ask for the key when calling this API ? If not provided, it would
use Distutils's md5 key

Why should the the INSTALLER file contain a md5 value? I'd use either the name of the packager (dpkg,rpm,...), or even that plus the name of the external package:

        rpm,py26-zlib

This would make it possible for a PEP376-based uninstaller to give more meaningful error messages when you try to uninstall a project that was installed by a system package. That is, it could say "this project was installed using the 'py26-zlib' system-package, use 'rpm' to uninstall" rather than "go away I didn't install this".

BTW. I'd say that the INSTALLER should default to "distutils", that is: don't install the INSTALLER file unless someone explicitly asks for it by specifying a different value for the installer. A tool like bdist_rpm could of course automaticly set that different value.

Ronald


Tarek
_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

_______________________________________________
Distutils-SIG maillist  -  Distutils-SIG@python.org
http://mail.python.org/mailman/listinfo/distutils-sig

Reply via email to