[Python-Dev] PEP 376 - RECORD format proposal
Tarek Ziadé
ziade.tarek at gmail.com
Tue Jul 7 23:21:27 CEST 2009
Hello,
Let's state that we don't allow absolute paths in RECORD file and see
what we can
do with other paths.
First as a reminder, here's the full list of directories used by
Distutils at installation time.
The "install" command uses five options to decide where to install the files.
The default values are:
Unix:
install_purelib: sys.prefix/lib/python2.6/site-packages
install_platlib: sys.exec_prefix/lib/python2.6/site-packages
install_headers: sys.prefix/include/python2.6/docutils
install_scripts: sys.prefix/bin
install_data : sys.prefix
Unix, using the home option, instead of sys.prefix/sys.exec_prefix:
install_purelib: home/lib/python
install_platlib: home/lib/python
install_headers: home/include/python/$dist_name
install_scripts: home/bin
install_data : home
Windows:
install_purelib: sys.prefix/Lib/site-packages
install_platlib: sys.prefix/Lib/site-packages
install_headers: sys.prefix/Include/python2.6/docutils
install_scripts: sys.prefix/bin
install_data : sys.prefix
There are also some old scheme for os.name in ('mac', 'os2') I need to
cleanup asap in there,
but I won't mention them.
Last, there's now the new per user site-package that adds more
potential locations. e.g. replaces
sys.prefix and sys.exec_prefix with two user directories.
So they are all located under two root locations at the max.
But since these are all overridable options (in pydistutils.cfg,
distutils.cfg, etc) files can be located under *five* different
roots.
So my proposal is to write those five roots in a header line in the
RECORD file, and use them as prefixes
to locate the files that are not under the directory where the
egg-info dir is located (which will be kept : relative paths)
purelib,xxx,headers,xxx,scripts,xxx,install_data,xxx
...
$purelib/some/file
...
How does that sounds ?
Tarek.
--
Tarek Ziadé | http://ziade.org
More information about the Python-Dev
mailing list