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