
At 12:23 PM 6/25/2007 -0700, Andrew Straw wrote:
In setuptools 0.6c5, a broken symlink in the package tree will cause 'setup develop' to fail, even in the file is inconsequential for the package. I think this is a bug.
Here is the output of running "python setup.py develop" in a package called flydra with a broken symlink called broken.symlink:
running develop running egg_info writing flydra.egg-info/PKG-INFO writing top-level names to flydra.egg-info/top_level.txt writing dependency_links to flydra.egg-info/dependency_links.txt writing entry points to flydra.egg-info/entry_points.txt error: broken.symlink: No such file or directory
(I would try this using setuptools==dev, but it seems svn.python.org is down, or at least my connection to it.)
Okay, I've confirmed it's a distutils bug, and the following patch implements a workaround for it in setuptools. It'll be included in setuptools 0.6c7: Index: setuptools/__init__.py =================================================================== --- setuptools/__init__.py (revision 55712) +++ setuptools/__init__.py (working copy) @@ -65,18 +65,17 @@ +def findall(dir = os.curdir): + """Find all files under 'dir' and return the list of full filenames + (relative to 'dir'). + """ + all_files = [] + for base, dirs, files in os.walk(dir): + if base!=os.curdir: + files = [os.path.join(base, f) for f in files] + all_files.extend(filter(os.path.isfile, files)) + return all_files +import distutils.filelist +distutils.filelist.findall = findall # fix findall bug in distutils. - - - - - - - - - - - - -