Issue #211 new

hard-linked files are not installed

ericvsmith
created an issue

[Note that I never run buildout as part of duplicating this problem. I just use buildout.cfg to bootstrap the install.]

I have a locally installed python 2.6, which I built from source. I have a simple buildout file. I run: /usr/local/bin/python2.6 bootstrap.py --distribute --version=1.5.2 This installs http://pypi.python.org/packages/source/d/distribute/distribute-0.6.19.tar.gz, although I've seen the problem with earlier versions, at least 0.6.15. I've not specifically tried versions earlier than that.

To duplicate this problem, I do not run buildout. I just run the command that buildout would have run:

PYTHONPATH=/usr/local/egg-cache/eggs/distribute-0.6.16-py2.6.egg /usr/local/bin/python2.6 "-S" "-c" "import sys,os;p = sys.path[:];import site;sys.path[:] = p;[sys.modules.pop(k) for k, v in sys.modules.items() if hasattr(v, 'path') and len(v.path)==1 and not os.path.exists(os.path.join(v.path[0],'init.py'))];from setuptools.command.easy_install import main;main()" "-mUNxd" "/usr/local/egg-cache/eggs/tmpas8USU" "-q" "/usr/local/egg-cache/downloads/dist/pytz-2011e.tar.bz2"

Output is: warning: no files found matching '*.pot' under directory 'pytz' warning: no previously-included files found matching 'test_zdump.py'

The install for pytz is missing files. Specifically, in /usr/local/egg-cache/eggs/pytz-2011e-py2.6.egg/pytz/zoneinfo/US/ I have these 11 files: {{{ -rw-r--r-- 1 root root 2358 2011-06-02 12:27 Alaska -rw-r--r-- 1 root root 2353 2011-06-02 12:27 Aleutian -rw-r--r-- 1 root root 327 2011-06-02 12:27 Arizona -rw-r--r-- 1 root root 3559 2011-06-02 12:27 Central -rw-r--r-- 1 root root 1649 2011-06-02 12:27 East-Indiana -rw-r--r-- 1 root root 250 2011-06-02 12:27 Hawaii -rw-r--r-- 1 root root 2411 2011-06-02 12:27 Indiana-Starke -rw-r--r-- 1 root root 2202 2011-06-02 12:27 Michigan -rw-r--r-- 1 root root 2427 2011-06-02 12:27 Mountain -rw-r--r-- 1 root root 2819 2011-06-02 12:27 Pacific -rw-r--r-- 1 root root 290 2011-06-02 12:27 Samoa }}}

But in the original pytz-2011e.tar.bz2 file, I have these 13 files: {{{ pytz/zoneinfo/US: total 52 -rw-r--r-- 2 1000 1000 2358 2011-04-01 07:51 Alaska -rw-r--r-- 3 1000 1000 2353 2011-04-01 07:51 Aleutian -rw-r--r-- 2 1000 1000 327 2011-04-01 07:51 Arizona -rw-r--r-- 2 1000 1000 3559 2011-04-01 07:51 Central -rw-r--r-- 3 1000 1000 3519 2011-04-01 07:51 Eastern -rw-r--r-- 4 1000 1000 1649 2011-04-01 07:51 East-Indiana -rw-r--r-- 2 1000 1000 250 2011-04-01 07:51 Hawaii -rw-r--r-- 3 1000 1000 2411 2011-04-01 07:51 Indiana-Starke -rw-r--r-- 2 1000 1000 2202 2011-04-01 07:51 Michigan -rw-r--r-- 4 1000 1000 2427 2011-04-01 07:51 Mountain -rw-r--r-- 3 1000 1000 2819 2011-04-01 07:51 Pacific -rw-r--r-- 3 1000 1000 2819 2011-04-01 07:51 Pacific-New -rw-r--r-- 3 1000 1000 290 2011-04-01 07:51 Samoa }}}

Eastern and Pacific-New are missing. There's nothing special in pytz's setup.py for these files, as near as I can tell. These are not the only files with multiple hard links. I do not see any soft links in the tar file. I suspect there are other missing files in other directories, but Eastern is the one causing me problems.

This is on a Fedora 8 virtual machine. I can repeat it by firing up a new machine, installing Python 2.6, and following these steps.

Comments (6)

  1. ericvsmith reporter

    The 2 missing files are the only 2 in that directory that are hard linked to something else:

    $ bzcat /usr/local/egg-cache/downloads/dist/pytz-2011e.tar.bz2 | tar tvf -| fgrep "link to" | fgrep zoneinfo/US/
    hrw-r--r-- stub/stub         0 2011-04-01 07:51 pytz-2011e/pytz/zoneinfo/US/Pacific-New link to pytz-2011e/pytz/zoneinfo/US/Pacific
    hrw-r--r-- stub/stub         0 2011-04-01 07:51 pytz-2011e/pytz/zoneinfo/US/Eastern link to pytz-2011e/pytz/zoneinfo/posixrules
    ...
    
  2. ericvsmith reporter

    I can verify this error occurs with both the .gz and .bz2 files.

    http://pypi.python.org/packages/source/p/pytz/pytz-2011e.tar.gz
    http://pypi.python.org/packages/source/p/pytz/pytz-2011e.tar.bz2
    
  3. ericvsmith reporter

    If I use setuptools (0.6c11) with the same command line as above, this problem does not occur. Presumably that's because it leaves the .egg file in place and does not unzip it. If I pass "-Z" to setuptools, however, I get the same problem that I do with distribute: the two files that are hard links in the tar file are not present in the resulting directory.

  4. Anonymous
  5. Log in to comment