Commit 8cc0d5c2 authored by PJ Eby's avatar PJ Eby

Fix bugs reported by Ian Bicking, Walter Doerwald, and Vincenzo Di Massa.

--HG--
branch : setuptools
extra : convert_revision : svn%3A6015fed2-1504-0410-9fe1-9d1591cc4771/sandbox/trunk/setuptools%4041189
parent 647153e6
......@@ -1794,8 +1794,8 @@ class Distribution(object):
self._version = safe_version(line.split(':',1)[1].strip())
return self._version
else:
raise AttributeError(
"Missing 'Version:' header in PKG-INFO", self
raise ValueError(
"Missing 'Version:' header and/or PKG-INFO file", self
)
version = property(version)
......
......@@ -39,7 +39,7 @@ class build_py(_build_py):
def get_data_files(self):
"""Generate list of '(package,src_dir,build_dir,filenames)' tuples"""
data = []
for package in self.packages:
for package in self.packages or ():
# Locate package source directory
src_dir = self.get_package_dir(package)
......
......@@ -502,10 +502,11 @@ class easy_install(Command):
if os.path.isfile(dist_filename):
unpack_archive(dist_filename, tmpdir, self.unpack_progress)
elif os.path.isdir(dist_filename):
# note that setup_base==tmpdir here if this is a svn checkout
setup_base = os.path.abspath(dist_filename)
if setup_base==tmpdir and self.build_directory and spec is not None:
if (setup_base.startswith(tmpdir) # something we downloaded
and self.build_directory and spec is not None
):
setup_base = self.maybe_move(spec, dist_filename, setup_base)
# Find the setup.py file
......@@ -530,7 +531,6 @@ class easy_install(Command):
else:
return self.build_and_install(setup_script, setup_base)
def egg_distribution(self, egg_path):
if os.path.isdir(egg_path):
metadata = PathMetadata(egg_path,os.path.join(egg_path,'EGG-INFO'))
......
......@@ -7,6 +7,8 @@ from distutils.errors import DistutilsError
EGG_FRAGMENT = re.compile('^egg=(\\w+(-\\w+)?)$')
HREF = re.compile("""href\\s*=\\s*['"]?([^'"> ]+)""", re.I)
# this is here to fix emacs' cruddy broken syntax highlighting: '
URL_SCHEME = re.compile('([-+.a-z0-9]{2,}):',re.I).match
EXTENSIONS = ".tar.gz .tar.bz2 .tar .zip .tgz".split()
......@@ -37,8 +39,6 @@ def parse_bdist_wininst(name):
def distros_for_url(url, metadata=None):
"""Yield egg or source distribution objects that might be found at a URL"""
......@@ -371,10 +371,10 @@ class PackageIndex(Environment):
def _download_to(self, url, filename):
self.info("Downloading %s", url)
# Download the file
fp, tfp = None, None
try:
url = url.split('#', 1)[0]
fp = self.open_url(url)
if isinstance(fp, urllib2.HTTPError):
raise DistutilsError(
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment