summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason R. Coombs <jaraco@jaraco.com>2013-05-12 12:04:43 +0100
committerJason R. Coombs <jaraco@jaraco.com>2013-05-12 12:04:43 +0100
commit062b9b955dc7f9f2acf0b8ffe79cee8f16eed011 (patch)
treeb1a61fa7c4e167b681545846d49de86713bfa464
parentff75a6cbdbcde8d9e3b979c30c3d6e64a1bc5374 (diff)
parenta6e8eec3e46dfa7e37259c63da244049ce08f603 (diff)
downloadpython-setuptools-git-062b9b955dc7f9f2acf0b8ffe79cee8f16eed011.tar.gz
Merged remaining changes from 1aae1efe5733 (setuptools 0.6c12dev)
--HG-- branch : Setuptools-Distribute merge
-rwxr-xr-xEasyInstall.txt46
-rwxr-xr-xREADME.txt15
-rwxr-xr-xez_setup.py45
-rwxr-xr-xlauncher.c11
-rwxr-xr-xpkg_resources.txt20
-rwxr-xr-xrelease.sh5
-rwxr-xr-xsetup.py4
-rwxr-xr-xsetuptools.egg-info/entry_points.txt3
-rwxr-xr-xsetuptools.txt34
-rwxr-xr-xsetuptools/cli.exebin6656 -> 7168 bytes
-rwxr-xr-xsetuptools/gui.exebin7168 -> 7168 bytes
-rwxr-xr-xversion.dat2
12 files changed, 127 insertions, 58 deletions
diff --git a/EasyInstall.txt b/EasyInstall.txt
index b0341e88..753baf65 100755
--- a/EasyInstall.txt
+++ b/EasyInstall.txt
@@ -256,7 +256,7 @@ or directory (found in the installation directory).
If you want to delete the currently installed version of a package (or all
versions of a package), you should first run::
- easy_install -m PackageName
+ easy_install -mxN PackageName
This will ensure that Python doesn't continue to search for a package you're
planning to remove. After you've done this, you can safely delete the .egg
@@ -427,7 +427,7 @@ below, and also the section on the `Package Index "API"`_.
Password-Protected Sites
-------------------------
+~~~~~~~~~~~~~~~~~~~~~~~~
If a site you want to download from is password-protected using HTTP "Basic"
authentication, you can specify your credentials in the URL, like so::
@@ -1218,6 +1218,48 @@ Release Notes/Change History
============================
0.6final
+ * Fixed AttributeError under Python 2.3 when processing "HTTP authentication"
+ URLs (i.e., ones with a ``user:password@host``).
+
+ * Fixed bogus AttributeError when no local or downloadable packages are
+ available
+
+ * Fix for recent Sourceforge downloading changes
+
+ * Handle .exe's containing .pyd or .dll files installed as "data" on win32
+
+ * Extract copies of hardlinked and symlinked files in tarballs when extracting
+ source
+
+ * Support HTTP servers that return multiple 'Content-Length' headers
+
+ * Support user/password credentials in Subversion (svnserve) URLs
+
+ * Fixed problems accessing /dev/null inside the script sandbox, and the sandbox
+ swapping the ``open`` and file`` builtins.
+
+ * Fixed skipping extraction of files or directories containing '..' in their
+ names
+
+0.6c11
+ * Fix installed script .exe files not working with 64-bit Python on Windows
+ (wasn't actually released in 0.6c10 due to a lost checkin)
+
+0.6c10
+ * Fix easy_install.exe giving UAC errors on Windows Vista
+
+ * Support for the most recent Sourceforge download link insanity
+
+ * Stop crashing on certain types of HTTP error
+
+ * Stop re-trying URLs that already failed retrieval once
+
+ * Fixes for various dependency management problems such as looping builds,
+ re-downloading packages already present on sys.path (but not in a registered
+ "site" directory), and semi-randomly preferring local "-f" packages over
+ local installed packages
+
+0.6c9
* Fixed ``win32.exe`` support for .pth files, so unnecessary directory nesting
is flattened out in the resulting egg. (There was a case-sensitivity
problem that affected some distributions, notably ``pywin32``.)
diff --git a/README.txt b/README.txt
index 50ef99b3..22d76da2 100755
--- a/README.txt
+++ b/README.txt
@@ -12,7 +12,17 @@ Installation Instructions
Windows
=======
-Install setuptools using the provided ``.exe`` installer. If you've previously
+32-bit version of Python
+ Install setuptools using the provided ``.exe`` installer.
+
+64-bit versions of Python
+ Download `ez_setup.py`_ and run it; it will download the appropriate .egg file and install it for you. (Currently, the provided ``.exe`` installer does not support 64-bit versions of Python for Windows, due to a `distutils installer compatibility issue`_
+
+.. _ez_setup.py: http://peak.telecommunity.com/dist/ez_setup.py
+.. _distutils installer compatibility issue: http://bugs.python.org/issue6792
+
+
+NOTE: Regardless of what sort of Python you're using, if you've previously
installed older versions of setuptools, please delete all ``setuptools*.egg``
and ``setuptools.pth`` files from your system's ``site-packages`` directory
(and any other ``sys.path`` directories) FIRST.
@@ -90,7 +100,7 @@ Downloads
All setuptools downloads can be found at `the project's home page in the Python
Package Index`_. Scroll to the very bottom of the page to find the links.
-.. _the project's home page in the Python Package Index: http://pypi.python.org/pypi/setuptools
+.. _the project's home page in the Python Package Index: http://pypi.python.org/pypi/setuptools#files
In addition to the PyPI downloads, the development version of ``setuptools``
is available from the `Python SVN sandbox`_, and in-development versions of the
@@ -159,3 +169,4 @@ Credits
"Code Bear" Taylor) contributed their time and stress as guinea pigs for the
use of eggs and setuptools, even before eggs were "cool". (Thanks, guys!)
+.. _files:
diff --git a/ez_setup.py b/ez_setup.py
index d24e845e..d8d25db1 100755
--- a/ez_setup.py
+++ b/ez_setup.py
@@ -14,37 +14,18 @@ the appropriate options to ``use_setuptools()``.
This file can also be run as a script to install or upgrade setuptools.
"""
import sys
-DEFAULT_VERSION = "0.6c9"
+DEFAULT_VERSION = "0.6c12"
DEFAULT_URL = "http://pypi.python.org/packages/%s/s/setuptools/" % sys.version[:3]
md5_data = {
- 'setuptools-0.6b1-py2.3.egg': '8822caf901250d848b996b7f25c6e6ca',
- 'setuptools-0.6b1-py2.4.egg': 'b79a8a403e4502fbb85ee3f1941735cb',
- 'setuptools-0.6b2-py2.3.egg': '5657759d8a6d8fc44070a9d07272d99b',
- 'setuptools-0.6b2-py2.4.egg': '4996a8d169d2be661fa32a6e52e4f82a',
- 'setuptools-0.6b3-py2.3.egg': 'bb31c0fc7399a63579975cad9f5a0618',
- 'setuptools-0.6b3-py2.4.egg': '38a8c6b3d6ecd22247f179f7da669fac',
- 'setuptools-0.6b4-py2.3.egg': '62045a24ed4e1ebc77fe039aa4e6f7e5',
- 'setuptools-0.6b4-py2.4.egg': '4cb2a185d228dacffb2d17f103b3b1c4',
- 'setuptools-0.6c1-py2.3.egg': 'b3f2b5539d65cb7f74ad79127f1a908c',
- 'setuptools-0.6c1-py2.4.egg': 'b45adeda0667d2d2ffe14009364f2a4b',
- 'setuptools-0.6c2-py2.3.egg': 'f0064bf6aa2b7d0f3ba0b43f20817c27',
- 'setuptools-0.6c2-py2.4.egg': '616192eec35f47e8ea16cd6a122b7277',
- 'setuptools-0.6c3-py2.3.egg': 'f181fa125dfe85a259c9cd6f1d7b78fa',
- 'setuptools-0.6c3-py2.4.egg': 'e0ed74682c998bfb73bf803a50e7b71e',
- 'setuptools-0.6c3-py2.5.egg': 'abef16fdd61955514841c7c6bd98965e',
- 'setuptools-0.6c4-py2.3.egg': 'b0b9131acab32022bfac7f44c5d7971f',
- 'setuptools-0.6c4-py2.4.egg': '2a1f9656d4fbf3c97bf946c0a124e6e2',
- 'setuptools-0.6c4-py2.5.egg': '8f5a052e32cdb9c72bcf4b5526f28afc',
- 'setuptools-0.6c5-py2.3.egg': 'ee9fd80965da04f2f3e6b3576e9d8167',
- 'setuptools-0.6c5-py2.4.egg': 'afe2adf1c01701ee841761f5bcd8aa64',
- 'setuptools-0.6c5-py2.5.egg': 'a8d3f61494ccaa8714dfed37bccd3d5d',
- 'setuptools-0.6c6-py2.3.egg': '35686b78116a668847237b69d549ec20',
- 'setuptools-0.6c6-py2.4.egg': '3c56af57be3225019260a644430065ab',
- 'setuptools-0.6c6-py2.5.egg': 'b2f8a7520709a5b34f80946de5f02f53',
- 'setuptools-0.6c7-py2.3.egg': '209fdf9adc3a615e5115b725658e13e2',
- 'setuptools-0.6c7-py2.4.egg': '5a8f954807d46a0fb67cf1f26c55a82e',
- 'setuptools-0.6c7-py2.5.egg': '45d2ad28f9750e7434111fde831e8372',
+ 'setuptools-0.6c10-py2.3.egg': 'ce1e2ab5d3a0256456d9fc13800a7090',
+ 'setuptools-0.6c10-py2.4.egg': '57d6d9d6e9b80772c59a53a8433a5dd4',
+ 'setuptools-0.6c10-py2.5.egg': 'de46ac8b1c97c895572e5e8596aeb8c7',
+ 'setuptools-0.6c10-py2.6.egg': '58ea40aef06da02ce641495523a0b7f5',
+ 'setuptools-0.6c11-py2.3.egg': '2baeac6e13d414a9d28e7ba5b5a596de',
+ 'setuptools-0.6c11-py2.4.egg': 'bd639f9b0eac4c42497034dec2ec0c2b',
+ 'setuptools-0.6c11-py2.5.egg': '64c94f3bf7a72a13ec83e0b24f2749b2',
+ 'setuptools-0.6c11-py2.6.egg': 'bfa92100bd772d5a213eedd356d64086',
'setuptools-0.6c8-py2.3.egg': '50759d29b349db8cfd807ba8303f1902',
'setuptools-0.6c8-py2.4.egg': 'cba38d74f7d483c06e9daa6070cce6de',
'setuptools-0.6c8-py2.5.egg': '1721747ee329dc150590a58b3e1ac95b',
@@ -104,11 +85,11 @@ def use_setuptools(
"\n\n(Currently using %r)"
) % (version, e.args[0])
sys.exit(2)
- else:
- del pkg_resources, sys.modules['pkg_resources'] # reload ok
- return do_download()
except pkg_resources.DistributionNotFound:
- return do_download()
+ pass
+
+ del pkg_resources, sys.modules['pkg_resources'] # reload ok
+ return do_download()
def download_setuptools(
version=DEFAULT_VERSION, download_base=DEFAULT_URL, to_dir=os.curdir,
diff --git a/launcher.c b/launcher.c
index c8022505..201219cc 100755
--- a/launcher.c
+++ b/launcher.c
@@ -81,17 +81,18 @@ char *quoted(char *data) {
char *loadable_exe(char *exename) {
- HINSTANCE hPython; /* DLL handle for python executable */
+ /* HINSTANCE hPython; DLL handle for python executable */
char *result;
- hPython = LoadLibraryEx(exename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
- if (!hPython) return NULL;
+ /* hPython = LoadLibraryEx(exename, NULL, LOAD_WITH_ALTERED_SEARCH_PATH);
+ if (!hPython) return NULL; */
/* Return the absolute filename for spawnv */
result = calloc(MAX_PATH, sizeof(char));
- if (result) GetModuleFileName(hPython, result, MAX_PATH);
+ strncpy(result, exename, MAX_PATH);
+ /*if (result) GetModuleFileName(hPython, result, MAX_PATH);
- FreeLibrary(hPython);
+ FreeLibrary(hPython); */
return result;
}
diff --git a/pkg_resources.txt b/pkg_resources.txt
index 7d8afd37..03793b62 100755
--- a/pkg_resources.txt
+++ b/pkg_resources.txt
@@ -269,7 +269,7 @@ instance:
the global ``working_set`` to reflect the change. This method is also
called by the ``WorkingSet()`` constructor during initialization.
- This method uses ``find_distributions(entry,False)`` to find distributions
+ This method uses ``find_distributions(entry, True)`` to find distributions
corresponding to the path entry, and then ``add()`` them. `entry` is
always appended to the ``entries`` attribute, even if it is already
present, however. (This is because ``sys.path`` can contain the same value
@@ -1661,14 +1661,10 @@ PEP 302 Utilities
for obtaining an "importer" object. It first checks for an importer for
the path item in ``sys.path_importer_cache``, and if not found it calls
each of the ``sys.path_hooks`` and caches the result if a good importer is
- found. If no importer is found, this routine returns an ``ImpWrapper``
- instance that wraps the builtin import machinery as a PEP 302-compliant
- "importer" object. This ``ImpWrapper`` is *not* cached; instead a new
- instance is returned each time.
-
- (Note: When run under Python 2.5, this function is simply an alias for
- ``pkgutil.get_importer()``, and instead of ``pkg_resources.ImpWrapper``
- instances, it may return ``pkgutil.ImpImporter`` instances.)
+ found. If no importer is found, this routine returns a wrapper object
+ that wraps the builtin import machinery as a PEP 302-compliant "importer"
+ object. This wrapper object is *not* cached; instead a new instance is
+ returned each time.
File/Path Utilities
@@ -1692,7 +1688,11 @@ File/Path Utilities
Release Notes/Change History
----------------------------
-0.6final
+0.6c10
+ * Prevent lots of spurious "already imported from another path" warnings (e.g.
+ when pkg_resources is imported late).
+
+0.6c9
* Fix ``resource_listdir('')`` always returning an empty list for zipped eggs.
0.6c7
diff --git a/release.sh b/release.sh
index c53357d9..5e38b70e 100755
--- a/release.sh
+++ b/release.sh
@@ -7,11 +7,12 @@
# If your initials aren't PJE, don't run it. :)
#
-export VERSION="0.6c9"
-
+export VERSION="0.6c12"
+python2.3 setup.py -q egg_info # force upload to be available
python2.3 setup.py -q release source --target-version=2.3 upload && \
python2.4 setup.py -q release binary --target-version=2.4 upload && \
python2.5 setup.py -q release binary --target-version=2.5 upload && \
+python2.6 setup.py -q release binary --target-version=2.6 -p win32 upload && \
python2.3 ez_setup.py --md5update dist/setuptools-$VERSION*-py2.?.egg && \
cp ez_setup.py virtual-python.py ~/distrib/ && \
cp ez_setup.py ~/projects/ez_setup/__init__.py && \
diff --git a/setup.py b/setup.py
index b5da4183..d4962687 100755
--- a/setup.py
+++ b/setup.py
@@ -7,7 +7,7 @@ d = {}
execfile(convert_path('setuptools/command/__init__.py'), d)
SETUP_COMMANDS = d['__all__']
-VERSION = "0.6c9"
+VERSION = "0.6c12"
from setuptools import setup, find_packages
import sys
@@ -53,8 +53,8 @@ setup(
"include_package_data = setuptools.dist:assert_bool",
"dependency_links = setuptools.dist:assert_string_list",
"test_loader = setuptools.dist:check_importable",
+ "packages = setuptools.dist:check_packages",
],
-
"egg_info.writers": [
"PKG-INFO = setuptools.command.egg_info:write_pkg_info",
"requires.txt = setuptools.command.egg_info:write_requirements",
diff --git a/setuptools.egg-info/entry_points.txt b/setuptools.egg-info/entry_points.txt
index f7367e0d..2642c316 100755
--- a/setuptools.egg-info/entry_points.txt
+++ b/setuptools.egg-info/entry_points.txt
@@ -31,7 +31,7 @@ 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
+easy_install-2.6 = setuptools.command.easy_install:main
[setuptools.file_finders]
svn_cvs = setuptools.command.sdist:_default_revctrl
@@ -49,6 +49,7 @@ 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
+packages = setuptools.dist:check_packages
tests_require = setuptools.dist:check_requirements
[setuptools.installation]
diff --git a/setuptools.txt b/setuptools.txt
index d1b25302..c709a908 100755
--- a/setuptools.txt
+++ b/setuptools.txt
@@ -2569,6 +2569,27 @@ A few important points for writing revision control file finders:
inform the user of the missing program(s).
+A Note Regarding Dependencies
+-----------------------------
+
+If the project *containing* your distutils/setuptools extension(s) depends on
+any projects other than setuptools, you *must* also declare those dependencies
+as part of your project's ``setup_requires`` keyword, so that they will
+already be built (and at least temprorarily installed) before your extension
+project is built.
+
+So, if for example you create a project Foo that includes a new file finder
+plugin, and Foo depends on Bar, then you *must* list Bar in both the
+``install_requires`` **and** ``setup_requires`` arguments to ``setup()``.
+
+If you don't do this, then in certain edge cases you may cause setuptools to
+try to go into infinite recursion, trying to build your dependencies to resolve
+your dependencies, while still building your dependencies. (It probably won't
+happen on your development machine, but it *will* happen in a full build
+pulling everything from revision control on a clean machine, and then you or
+your users will be scratching their heads trying to figure it out!)
+
+
Subclassing ``Command``
-----------------------
@@ -2611,7 +2632,18 @@ XXX
Release Notes/Change History
----------------------------
-0.6final
+0.6c11
+ * Fix "bdist_wininst upload" trying to upload same file twice
+
+0.6c10
+ * Fix for the Python 2.6.3 build_ext API change
+
+ * Ensure C libraries (as opposed to extensions) are also built when doing
+ bdist_egg
+
+ * Support for SVN 1.6
+
+0.6c9
* Fixed a missing files problem when using Windows source distributions on
non-Windows platforms, due to distutils not handling manifest file line
endings correctly.
diff --git a/setuptools/cli.exe b/setuptools/cli.exe
index 3173b2b2..8906ff77 100755
--- a/setuptools/cli.exe
+++ b/setuptools/cli.exe
Binary files differ
diff --git a/setuptools/gui.exe b/setuptools/gui.exe
index 53d4ff81..474838d5 100755
--- a/setuptools/gui.exe
+++ b/setuptools/gui.exe
Binary files differ
diff --git a/version.dat b/version.dat
index 32144c8e..86f46575 100755
--- a/version.dat
+++ b/version.dat
@@ -1,6 +1,6 @@
[setuptools]
status = 'release candidate'
major = 0
-build = 9
+build = 12
minor = 6