aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPJ Eby <distutils-sig@python.org>2007-07-11 17:37:17 +0000
committerPJ Eby <distutils-sig@python.org>2007-07-11 17:37:17 +0000
commit74aaaf1c55d624b3424a435928b4ab310784a57c (patch)
tree954e5d75c76b33e632851ce4963704bd491db6be
parent29c54edeca3c017eae443dd2b4282a84cf037f06 (diff)
downloadexternal_python_setuptools-74aaaf1c55d624b3424a435928b4ab310784a57c.tar.gz
external_python_setuptools-74aaaf1c55d624b3424a435928b4ab310784a57c.tar.bz2
external_python_setuptools-74aaaf1c55d624b3424a435928b4ab310784a57c.zip
Fix distutils.filelist.findall() crashing on broken symlinks. Fix
egg_info failures on new, uncommitted SVN directories. --HG-- branch : setuptools-0.6 extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/branches/setuptools-0.6%4056277
-rwxr-xr-xsetuptools.egg-info/entry_points.txt72
-rw-r--r--setuptools/__init__.py26
-rwxr-xr-xsetuptools/command/egg_info.py4
3 files changed, 51 insertions, 51 deletions
diff --git a/setuptools.egg-info/entry_points.txt b/setuptools.egg-info/entry_points.txt
index fb9081c8..f7367e0d 100755
--- a/setuptools.egg-info/entry_points.txt
+++ b/setuptools.egg-info/entry_points.txt
@@ -1,38 +1,3 @@
-[distutils.setup_keywords]
-dependency_links = setuptools.dist:assert_string_list
-entry_points = setuptools.dist:check_entry_points
-extras_require = setuptools.dist:check_extras
-package_data = setuptools.dist:check_package_data
-install_requires = setuptools.dist:check_requirements
-include_package_data = setuptools.dist:assert_bool
-exclude_package_data = setuptools.dist:check_package_data
-namespace_packages = setuptools.dist:check_nsp
-test_suite = setuptools.dist:check_test_suite
-eager_resources = setuptools.dist:assert_string_list
-zip_safe = setuptools.dist:assert_bool
-test_loader = setuptools.dist:check_importable
-tests_require = setuptools.dist:check_requirements
-
-[setuptools.file_finders]
-svn_cvs = setuptools.command.sdist:_default_revctrl
-
-[egg_info.writers]
-dependency_links.txt = setuptools.command.egg_info:overwrite_arg
-requires.txt = setuptools.command.egg_info:write_requirements
-PKG-INFO = setuptools.command.egg_info:write_pkg_info
-eager_resources.txt = setuptools.command.egg_info:overwrite_arg
-top_level.txt = setuptools.command.egg_info:write_toplevel_names
-namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
-entry_points.txt = setuptools.command.egg_info:write_entries
-depends.txt = setuptools.command.egg_info:warn_depends_obsolete
-
-[console_scripts]
-easy_install = setuptools.command.easy_install:main
-easy_install-2.4 = setuptools.command.easy_install:main
-
-[setuptools.installation]
-eggsecutable = setuptools.command.easy_install:bootstrap
-
[distutils.commands]
bdist_rpm = setuptools.command.bdist_rpm:bdist_rpm
rotate = setuptools.command.rotate:rotate
@@ -42,7 +7,6 @@ build_py = setuptools.command.build_py:build_py
saveopts = setuptools.command.saveopts:saveopts
egg_info = setuptools.command.egg_info:egg_info
register = setuptools.command.register:register
-upload = setuptools.command.upload:upload
install_egg_info = setuptools.command.install_egg_info:install_egg_info
alias = setuptools.command.alias:alias
easy_install = setuptools.command.easy_install:easy_install
@@ -54,3 +18,39 @@ test = setuptools.command.test:test
install_lib = setuptools.command.install_lib:install_lib
build_ext = setuptools.command.build_ext:build_ext
sdist = setuptools.command.sdist:sdist
+
+[egg_info.writers]
+dependency_links.txt = setuptools.command.egg_info:overwrite_arg
+requires.txt = setuptools.command.egg_info:write_requirements
+PKG-INFO = setuptools.command.egg_info:write_pkg_info
+eager_resources.txt = setuptools.command.egg_info:overwrite_arg
+top_level.txt = setuptools.command.egg_info:write_toplevel_names
+namespace_packages.txt = setuptools.command.egg_info:overwrite_arg
+entry_points.txt = setuptools.command.egg_info:write_entries
+depends.txt = setuptools.command.egg_info:warn_depends_obsolete
+
+[console_scripts]
+easy_install = setuptools.command.easy_install:main
+easy_install-2.5 = setuptools.command.easy_install:main
+
+[setuptools.file_finders]
+svn_cvs = setuptools.command.sdist:_default_revctrl
+
+[distutils.setup_keywords]
+dependency_links = setuptools.dist:assert_string_list
+entry_points = setuptools.dist:check_entry_points
+extras_require = setuptools.dist:check_extras
+package_data = setuptools.dist:check_package_data
+install_requires = setuptools.dist:check_requirements
+include_package_data = setuptools.dist:assert_bool
+exclude_package_data = setuptools.dist:check_package_data
+namespace_packages = setuptools.dist:check_nsp
+test_suite = setuptools.dist:check_test_suite
+eager_resources = setuptools.dist:assert_string_list
+zip_safe = setuptools.dist:assert_bool
+test_loader = setuptools.dist:check_importable
+tests_require = setuptools.dist:check_requirements
+
+[setuptools.installation]
+eggsecutable = setuptools.command.easy_install:bootstrap
+
diff --git a/setuptools/__init__.py b/setuptools/__init__.py
index cdf8eae2..a4f84445 100644
--- a/setuptools/__init__.py
+++ b/setuptools/__init__.py
@@ -63,19 +63,19 @@ class Command(_Command):
import distutils.core
distutils.core.Command = Command # we can't patch distutils.cmd, alas
-
-
-
-
-
-
-
-
-
-
-
-
-
+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.
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index eae7312e..f89dab7c 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -221,10 +221,10 @@ class egg_info(Command):
data = map(str.splitlines,data.split('\n\x0c\n'))
del data[0][0] # get rid of the '8'
dirurl = data[0][3]
- localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]])
+ localrev = max([int(d[9]) for d in data if len(d)>9 and d[9]]+[0])
elif data.startswith('<?xml'):
dirurl = urlre.search(data).group(1) # get repository URL
- localrev = max([int(m.group(1)) for m in revre.finditer(data)])
+ localrev = max([int(m.group(1)) for m in revre.finditer(data)]+[0])
else:
log.warn("unrecognized .svn/entries format; skipping %s", base)
dirs[:] = []