[Python-checkins] python/nondist/sandbox/setuptools EasyInstall.txt, 1.65, 1.66 pkg_resources.py, 1.74, 1.75 pkg_resources.txt, 1.17, 1.18
pje@users.sourceforge.net
pje at users.sourceforge.net
Tue Oct 18 06:08:49 CEST 2005
Update of /cvsroot/python/python/nondist/sandbox/setuptools
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21360
Modified Files:
EasyInstall.txt pkg_resources.py pkg_resources.txt
Log Message:
Hurray! Our first dependency processing bug! This is cool because it
means that people are finally doing enough things with setuptools to
have real-life version conflict scenarios. Luckily, the fix is trivial:
use breadth-first instead of depth-first dependency processing, which I
thought we were already doing anyway, but weren't. And we were giving
precedence to already-installed packages, which means upgrades didn't
work so well.
Index: EasyInstall.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/setuptools/EasyInstall.txt,v
retrieving revision 1.65
retrieving revision 1.66
diff -u -d -r1.65 -r1.66
--- EasyInstall.txt 17 Oct 2005 02:26:39 -0000 1.65
+++ EasyInstall.txt 18 Oct 2005 04:08:44 -0000 1.66
@@ -855,6 +855,13 @@
* Improved Windows ``.exe`` script wrappers so that the script can have the
same name as a module without confusing Python.
+ * Changed dependency processing so that it's breadth-first, allowing a
+ depender's preferences to override those of a dependee, to prevent conflicts
+ when a lower version is acceptable to the dependee, but not the depender.
+ Also, ensure that currently installed/selected packages aren't given
+ precedence over ones desired by a package being installed, which could
+ cause conflict errors.
+
0.6a3
* Improved error message when trying to use old ways of running
``easy_install``. Removed the ability to run via ``python -m`` or by
Index: pkg_resources.py
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/setuptools/pkg_resources.py,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- pkg_resources.py 17 Oct 2005 02:26:39 -0000 1.74
+++ pkg_resources.py 18 Oct 2005 04:08:45 -0000 1.75
@@ -467,7 +467,7 @@
to_activate = []
while requirements:
- req = requirements.pop()
+ req = requirements.pop(0) # process dependencies breadth-first
if req in processed:
# Ignore cyclic or redundant dependencies
continue
Index: pkg_resources.txt
===================================================================
RCS file: /cvsroot/python/python/nondist/sandbox/setuptools/pkg_resources.txt,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- pkg_resources.txt 17 Oct 2005 02:26:39 -0000 1.17
+++ pkg_resources.txt 18 Oct 2005 04:08:45 -0000 1.18
@@ -1499,6 +1499,10 @@
non-namespace modules have already been imported and issues a warning if
a conflicting module has already been imported.
+ * Changed dependency processing so that it's breadth-first, allowing a
+ depender's preferences to override those of a dependee, to prevent conflicts
+ when a lower version is acceptable to the dependee, but not the depender.
+
0.6a4
* Fix a bug in ``WorkingSet.resolve()`` that was introduced in 0.6a3.
More information about the Python-checkins
mailing list