On Thu, 30 Apr 2009 09:34:26 +0200, Tarek Ziadé <ziade.tarek@gmail.com> wrote:
- install/uninstall script
I think the best solution is not to provide an install script since third-party tool do it. Furthermore, there's already the simplest install script available today: you can run "python setup.py install" on a given package so it gets installed.
So what about adding just a global uninstall feature, that uninstalls the files installed for a package, using the record file, and let the third party tool have better features.
Today I just was writing a package-deinstallation routine and doing small tests on the routine... :-) for my gui package manager. There are one or two issues here for you to think about... 1) - distutils already exists on the installed system - how can you install over it? 2) - The new distutils code won't be retrofitted to old systems. As far as I can see, it's just so much better to have a package uninstaller in a seperate gui tool. That can be installed over an existing installation.
- MANIFEST (SOURCES.txt)
Ronald pointed out that it was not necessary to have a MANIFEST file included if we are going to have a RECORD file, as described in the PEP.
The MANIFEST (which in a way is equivalent to SOURCES.txt pip or easy_install adds) is the list of source files, whereas the RECORD is the list if installed files (which might include more elements in case of compilations)
I have done some limited testing on deinstalling packages over the last week. The big problem with using a manifest of installed files is that the setup.py in distutils can generate more files than were originally in the source package. Doing a build... for instance... leaves .o or .obj files. The way to solve the problem is to recursively delete the whole package directory. That gets rid of everything. Intermediate files and all...
What would be the interest of having the list of source files in egg-info ?
Not neccessary - recursively delete the whole package directory or .egg file. David