diff options
author | PJ Eby <distutils-sig@python.org> | 2005-08-11 00:37:37 +0000 |
---|---|---|
committer | PJ Eby <distutils-sig@python.org> | 2005-08-11 00:37:37 +0000 |
commit | 8cc0d5c27e393605ac2c729143b8730aa973a128 (patch) | |
tree | 3bb910e237635aa26f3ab61938db7e800c6e7181 | |
parent | 647153e60591f4385d7c3c84131da2ac4c050fe0 (diff) | |
download | external_python_setuptools-8cc0d5c27e393605ac2c729143b8730aa973a128.tar.gz external_python_setuptools-8cc0d5c27e393605ac2c729143b8730aa973a128.tar.bz2 external_python_setuptools-8cc0d5c27e393605ac2c729143b8730aa973a128.zip |
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
-rw-r--r-- | pkg_resources.py | 4 | ||||
-rw-r--r-- | setuptools/command/build_py.py | 2 | ||||
-rwxr-xr-x | setuptools/command/easy_install.py | 16 | ||||
-rwxr-xr-x | setuptools/package_index.py | 6 |
4 files changed, 14 insertions, 14 deletions
diff --git a/pkg_resources.py b/pkg_resources.py index e2d64e6c..48f7689b 100644 --- a/pkg_resources.py +++ b/pkg_resources.py @@ -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) diff --git a/setuptools/command/build_py.py b/setuptools/command/build_py.py index 95e83c30..9db49080 100644 --- a/setuptools/command/build_py.py +++ b/setuptools/command/build_py.py @@ -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) diff --git a/setuptools/command/easy_install.py b/setuptools/command/easy_install.py index 63260350..76f9ae7c 100755 --- a/setuptools/command/easy_install.py +++ b/setuptools/command/easy_install.py @@ -269,7 +269,6 @@ class easy_install(Command): "%r already exists in %s; can't do a checkout there" % (spec.key, self.build_directory) ) - @@ -281,7 +280,8 @@ class easy_install(Command): - + + @@ -381,7 +381,7 @@ class easy_install(Command): if dist not in requirement: return - if deps or self.always_copy: + if deps or self.always_copy: log.info("Processing dependencies for %s", requirement) else: return @@ -448,7 +448,7 @@ class easy_install(Command): setup_base = dist_filename ensure_directory(dst); shutil.move(setup_base, dst) return dst - + def install_script(self, dist, script_name, script_text, dev_path=None): log.info("Installing %s script to %s", script_name,self.script_dir) target = os.path.join(self.script_dir, script_name) @@ -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')) @@ -1091,7 +1091,7 @@ class PthDistributions(Environment): self.paths.pop() # skip it self.dirty = True # we cleaned up, so we're dirty now :) continue - seen[path] = 1 + seen[path] = 1 while self.paths and not self.paths[-1].strip(): self.paths.pop() diff --git a/setuptools/package_index.py b/setuptools/package_index.py index 6ef185f0..f2731a1e 100755 --- a/setuptools/package_index.py +++ b/setuptools/package_index.py @@ -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( |