[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 -