[Distutils] An idea on the creation of binary installers

Jack Jansen Jack.Jansen@oratrix.com
Sun Feb 23 17:32:02 2003

I have a vague idea a new bdist format that I'd like to bounce off you 
all before I start thinking about it too hard. In other words, please 
shoot holes in it.

The bdist_dumb formats have exactly that problem: they're too dumb. 
They basically create a tarfile (or other archive type) with full 
pathnames in it and that's it. However, there could be a bdist_xxx 
which would create a tarfile in which everything was relative, but the 
directory parts are magic. If you extract this tarfile with a normal 
tar you would get a directory with under it directories INSTALL_BASE, 
INSTALL_PLATBASE, ROOT, etc etc etc. Or maybe all these would be rooted 
in a xxx/platform.machine.version directory, probably a better idea. 
The tar file would also contain the setup.py script.

The next part of the idea is that distutils would also learn about an 
install_xxx command. The default version of this command would simply 
copy the relevant files from xxx/platform.machine.version to their 
required locations, but it could of course be customized by the author 
of the setup script.

The final part of the idea is that "install" gets a bit of magic so it 
notices it is being run from an xxx installation directory. In this 
case it doesn't go through the build/install sequence, but quickly 
calls install_xxx. I'm not sure about the magic needed, it could test 
for the current directory only containing setup.py and xxx (and maybe a 
couple of files like README and such), it could test for missing source 
files, I'm not really sure. And maybe this whole bit of magic isn't 
needed, and the end user will just have to learn to type "install_xxx", 
if we find a good enough name for xxx.
- Jack Jansen        <Jack.Jansen@oratrix.com>        
http://www.cwi.nl/~jack -
- If I can't dance I don't want to be part of your revolution -- Emma 
Goldman -