Haaa, made the same mistake, wanted to send to the list, not just to Greg! Forgive me.
:) apparently it's not too big a burden.) And what modifications do you :) want to distribute? I like most of your patches/ideas, so if there are :) some you're holding back, please share them! Ok, here is a list what I have done, patches will follow (and if you have some ideas, they will be applied):
(1) I implemented an uninstall option. Currently this is a Python script with a list of installed files. I like more the idea of separating the uninstall script and just write the list of files in a file because with my previous attempt you can not delete the Python uninstall script itself since its running (well, under Linux this actually works - a script that deletes itself, but not under Windows). So I better store just a list of installed files.
(2) There is a --destdir option to install in another directory. This is
not the same as supplying the --prefix and --exec-prefix options.
I need this to generate Debian packages easily with
./setup.py install --destdir=pwd
/debian/tmp
(3) Very crude script support. You supply a list of 'scripts' and 'programs' and they will be installed in effective_prefix/bin (effective_prefix is either sys.prefix or sys.exec_prefix) for Unix and in effective_prefix for Windows. You can customize this with --install-bin. Why is the install directory effective_prefix under Windows? On my Win98 box this is the directory where python.exe is and I assume the user has the python executable in his/her PATH. If you supply a 'script', the string @INSTALL_BIN@ gets replaced with the value of install_bin.
(4) As you see from (3) the install command handles now systems with os.name=='nt' where the default install_lib and install_platlib are both effective_prefix/lib.
:) I will ask, though, that you not install the distutils into anyone's :) Python installation: I want to reserve that privilege for myself and, :) ultimately, the Python 1.6 makefile. I will fix that in my distribution.
My program where I use the distutils is a link checker and located at http://linkchecker.sourceforge.net/
Bastian
On 23 March 2000, Bastian Kleineidam said:
(1) I implemented an uninstall option. Currently this is a Python script with a list of installed files. I like more the idea of separating the uninstall script and just write the list of files in a file because with my previous attempt you can not delete the Python uninstall script itself since its running (well, under Linux this actually works - a script that deletes itself, but not under Windows). So I better store just a list of installed files.
Hmmm, that's a good point. I was leaning towards Michael's "do 'em both" suggestion, but that implies installing a trivial uninstall script for every distribution: if the uninstall script is one of the files installed for a distribution, then it can't do a full uninstall because of this restriction. A global uninstall script it is, then.
(2) There is a --destdir option to install in another
directory. This is
not the same as supplying the --prefix and --exec-prefix options.
I need this to generate Debian packages easily with
./setup.py install --destdir=pwd
/debian/tmp
Shouldn't be necessary any more -- please take a good look at the new installation code and documentation.
(3) Very crude script support. You supply a list of 'scripts' and 'programs' and they will be installed in effective_prefix/bin (effective_prefix is either sys.prefix or sys.exec_prefix) for Unix and in effective_prefix for Windows. You can customize this with --install-bin.
That'll have to change with the new installation stuff.
Why is the install directory effective_prefix under Windows? On my Win98 box this is the directory where python.exe is and I assume the user has the python executable in his/her PATH. If you supply a 'script', the string @INSTALL_BIN@ gets replaced with the value of install_bin.
Irrelevant now -- again, try the new "install" command and see if it works any better!
Greg
-- Greg Ward - geek gward@python.net http://starship.python.net/~gward/ If you can read this, thank a programmer.