summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2014-08-17 08:35:08 -0400
committerJason R. Coombs <jaraco@jaraco.com>2014-08-17 08:35:08 -0400
commit4ecf0567147a3b594d11432ee84a634ee754c9c2 (patch)
tree3e15144fb6763cae4be0b3256d8e778849029102
parent39701a17ac101152cd27e51f1568e2993f6e6ae9 (diff)
parent5555fb9a989113008b937bf6835c1912dd495c3d (diff)
downloadpython-setuptools-bitbucket-4ecf0567147a3b594d11432ee84a634ee754c9c2.tar.gz
For the sake of expedience, I'm going to accept this and tweak it further. In the future, it's better to have a ticket and reference that ticket in the pull request and commits for better visibility to the changes and issues that it creates. I also suggest providing better commit messages. "Fix docs to work" is barely better than "changed things". The commit message should attempt to communicate the why and the how of the change at a high level. Something like "Added path in sphinx docs to allow setup.py to be imported when docs are built from docs directory."
-rw-r--r--.travis.yml4
-rw-r--r--CHANGES.txt32
-rw-r--r--docs/setuptools.txt2
-rw-r--r--ez_setup.py4
-rw-r--r--pkg_resources.py6
-rwxr-xr-xsetup.py1
-rw-r--r--setuptools.egg-info/entry_points.txt1
-rwxr-xr-xsetuptools/command/egg_info.py2
-rw-r--r--setuptools/dist.py2
-rw-r--r--setuptools/svn_utils.py2
-rw-r--r--setuptools/tests/test_integration.py3
-rw-r--r--setuptools/version.py2
12 files changed, 48 insertions, 13 deletions
diff --git a/.travis.yml b/.travis.yml
index 3077778a..bc387f46 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -8,8 +8,8 @@ python:
- pypy
# command to run tests
script:
- # work around https://bitbucket.org/hpk42/pytest/issue/555
- - pushd /tmp; python -m easy_install 'pytest<2.6'; popd
+ # testing fix for https://bitbucket.org/hpk42/pytest/issue/555
+ - pip install --pre -i https://devpi.net/hpk/dev/ --upgrade pytest
- python setup.py test
- python setup.py ptr
- python ez_setup.py --version 5.4.1
diff --git a/CHANGES.txt b/CHANGES.txt
index bb5dc66f..83b05bbe 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -2,6 +2,38 @@
CHANGES
=======
+---
+5.7
+---
+
+* Issue #240: Based on real-world performance measures against 5.4, zip
+ manifests are now cached in all circumstances. The
+ ``PKG_RESOURCES_CACHE_ZIP_MANIFESTS`` environment variable is no longer
+ relevant. The observed "memory increase" referenced in the 5.4 release
+ notes and detailed in Issue #154 was likely not an increase over the status
+ quo, but rather only an increase over not storing the zip info at all.
+
+---
+5.6
+---
+
+* Issue #242: Use absolute imports in svn_utils to avoid issues if the
+ installing package adds an xml module to the path.
+
+-----
+5.5.1
+-----
+
+* Issue #239: Fix typo in 5.5 such that fix did not take.
+
+---
+5.5
+---
+
+* Issue #239: Setuptools now includes the setup_requires directive on
+ Distribution objects and validates the syntax just like install_requires
+ and tests_require directives.
+
-----
5.4.2
-----
diff --git a/docs/setuptools.txt b/docs/setuptools.txt
index 86e23ff9..c3844cf2 100644
--- a/docs/setuptools.txt
+++ b/docs/setuptools.txt
@@ -479,7 +479,7 @@ script called ``baz``, you might do something like this::
'bar = other_module:some_func',
],
'gui_scripts': [
- 'baz = my_package_gui.start_func',
+ 'baz = my_package_gui:start_func',
]
}
)
diff --git a/ez_setup.py b/ez_setup.py
index 791973ec..74c8224a 100644
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -36,7 +36,7 @@ try:
except ImportError:
USER_SITE = None
-DEFAULT_VERSION = "5.4.3"
+DEFAULT_VERSION = "5.8"
DEFAULT_URL = "https://pypi.python.org/packages/source/s/setuptools/"
def _python_cmd(*args):
@@ -268,7 +268,7 @@ def download_setuptools(version=DEFAULT_VERSION, download_base=DEFAULT_URL,
Download setuptools from a specified location and return its filename
`version` should be a valid setuptools version number that is available
- as an egg for download under the `download_base` URL (which should end
+ as an sdist for download under the `download_base` URL (which should end
with a '/'). `to_dir` is the directory where the egg will be downloaded.
`delay` is the number of seconds to pause before an actual download
attempt.
diff --git a/pkg_resources.py b/pkg_resources.py
index 11debf65..ee2c553b 100644
--- a/pkg_resources.py
+++ b/pkg_resources.py
@@ -1605,11 +1605,7 @@ class ZipProvider(EggProvider):
"""Resource support for zips and eggs"""
eagers = None
- _zip_manifests = (
- MemoizedZipManifests()
- if os.environ.get('PKG_RESOURCES_CACHE_ZIP_MANIFESTS') else
- ZipManifests()
- )
+ _zip_manifests = MemoizedZipManifests()
def __init__(self, module):
EggProvider.__init__(self, module)
diff --git a/setup.py b/setup.py
index f7be0567..bac4e29d 100755
--- a/setup.py
+++ b/setup.py
@@ -144,6 +144,7 @@ setup_params = dict(
"extras_require = setuptools.dist:check_extras",
"install_requires = setuptools.dist:check_requirements",
"tests_require = setuptools.dist:check_requirements",
+ "setup_requires = setuptools.dist:check_requirements",
"entry_points = setuptools.dist:check_entry_points",
"test_suite = setuptools.dist:check_test_suite",
"zip_safe = setuptools.dist:assert_bool",
diff --git a/setuptools.egg-info/entry_points.txt b/setuptools.egg-info/entry_points.txt
index de842da8..72a5ffe0 100644
--- a/setuptools.egg-info/entry_points.txt
+++ b/setuptools.egg-info/entry_points.txt
@@ -36,6 +36,7 @@ install_requires = setuptools.dist:check_requirements
namespace_packages = setuptools.dist:check_nsp
package_data = setuptools.dist:check_package_data
packages = setuptools.dist:check_packages
+setup_requires = setuptools.dist:check_requirements
test_loader = setuptools.dist:check_importable
test_runner = setuptools.dist:check_importable
test_suite = setuptools.dist:check_test_suite
diff --git a/setuptools/command/egg_info.py b/setuptools/command/egg_info.py
index 72493d0b..1ef723da 100755
--- a/setuptools/command/egg_info.py
+++ b/setuptools/command/egg_info.py
@@ -389,7 +389,7 @@ def write_toplevel_names(cmd, basename, filename):
for k in cmd.distribution.iter_distribution_names()
]
)
- cmd.write_file("top-level names", filename, '\n'.join(pkgs) + '\n')
+ cmd.write_file("top-level names", filename, '\n'.join(sorted(pkgs) + '\n')
def overwrite_arg(cmd, basename, filename):
diff --git a/setuptools/dist.py b/setuptools/dist.py
index dac4dfa8..8b36f67c 100644
--- a/setuptools/dist.py
+++ b/setuptools/dist.py
@@ -259,7 +259,7 @@ class Distribution(_Distribution):
self.dependency_links = attrs.pop('dependency_links', [])
assert_string_list(self,'dependency_links',self.dependency_links)
if attrs and 'setup_requires' in attrs:
- self.fetch_build_eggs(attrs.pop('setup_requires'))
+ self.fetch_build_eggs(attrs['setup_requires'])
for ep in pkg_resources.iter_entry_points('distutils.setup_keywords'):
if not hasattr(self,ep.name):
setattr(self,ep.name,None)
diff --git a/setuptools/svn_utils.py b/setuptools/svn_utils.py
index 2dcfd899..dadb682a 100644
--- a/setuptools/svn_utils.py
+++ b/setuptools/svn_utils.py
@@ -1,3 +1,5 @@
+from __future__ import absolute_import
+
import os
import re
import sys
diff --git a/setuptools/tests/test_integration.py b/setuptools/tests/test_integration.py
index 7144aa6c..8d6c1e55 100644
--- a/setuptools/tests/test_integration.py
+++ b/setuptools/tests/test_integration.py
@@ -25,6 +25,9 @@ def install_context(request, tmpdir, monkeypatch):
install_dir = tmpdir.mkdir('install_dir')
def fin():
+ # undo the monkeypatch, particularly needed under
+ # windows because of kept handle on cwd
+ monkeypatch.undo()
new_cwd.remove()
user_base.remove()
user_site.remove()
diff --git a/setuptools/version.py b/setuptools/version.py
index 0e0a34f9..868f2d33 100644
--- a/setuptools/version.py
+++ b/setuptools/version.py
@@ -1 +1 @@
-__version__ = '5.4.3'
+__version__ = '5.8'