Sure, but what is precisely the semantics of uninstallation, in terms of changes to the system state?
I think any model where uninstallation is merely the removal of files is too limited to be practical.
The distutils only support the *addition* of files, so I'm not sure how only removing files is a limit here. Could you explain?
For files, yes, it only supports addition. But it supports arbitrary other actions, such as: - addition of registry keys - addition of user accounts - creation of database tables in a relational database - updating the shared library loader path - creation and start of a system service - integration of documentation into info - registration of DTDs with the system catalog - ... It's turing-complete, and it has full interface to the operating system, so installation of a distutils package can do *much* more than merely installing files. Uninstallation needs to revert anything installation did, so it is often more than mere removal of files. HTH, Martin