2009/6/4 Tarek Ziadé <ziade.ta...@gmail.com>: > 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 ?
Yes, most debian packages do, during the build process. However, the actual install/uninstall on the user's machine is handled by dpkg (which maintains it's own database of installed files). > 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 So, with setuptools I was running this while building a package: python2.X setup,py install --single-version-externally-managed --root=debian/$(package) --install-data=usr/lib/$(package) So, now I would need to run this: python2.X setup,py install --root=debian/$(package) --install-data=usr/lib/$(package) --installer 7e2fccc88b1f74aeee3d37340e8183ed And that would cause distutils to refuse to uninstall that package by default? > > > Tarek > _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig