[Checkins] SVN: van.pydeb/trunk/ Generate separate dependencies when both extra and version requirements are
Gediminas Paulauskas
menesis at pov.lt
Wed Sep 1 21:12:27 EDT 2010
Log message for revision 116117:
Generate separate dependencies when both extra and version requirements are
specified (https://bugs.launchpad.net/bugs/628560)
Changed:
U van.pydeb/trunk/CHANGES.txt
U van.pydeb/trunk/van/pydeb/__init__.py
U van.pydeb/trunk/van/pydeb/tests/extras.txt
U van.pydeb/trunk/van/pydeb/tests/zope.app.publication.egg-info/requires.txt
-=-
Modified: van.pydeb/trunk/CHANGES.txt
===================================================================
--- van.pydeb/trunk/CHANGES.txt 2010-09-01 22:58:35 UTC (rev 116116)
+++ van.pydeb/trunk/CHANGES.txt 2010-09-02 01:12:27 UTC (rev 116117)
@@ -4,7 +4,8 @@
1.3.3 (unreleased)
------------------
-* None yet.
+* Generate separate dependencies when both extra and version requirements are
+ specified (https://bugs.launchpad.net/bugs/628560)
1.3.2 (2010-06-22)
------------------
Modified: van.pydeb/trunk/van/pydeb/__init__.py
===================================================================
--- van.pydeb/trunk/van/pydeb/__init__.py 2010-09-01 22:58:35 UTC (rev 116116)
+++ van.pydeb/trunk/van/pydeb/__init__.py 2010-09-02 01:12:27 UTC (rev 116117)
@@ -272,19 +272,17 @@
pkgs = []
for extra in req.extras:
pkgs.append('%s-%s' % (bin_pkg, extra))
- if not pkgs:
+ if req.specs:
+ for spec in req.specs:
+ op, version = spec
+ op = _setuptools_debian_operators[op]
+ if op is None:
+ continue
+ dpkg_version = py_version_to_deb(version)
+ pkgs.append('%s (%s %s)' % (bin_pkg, op, dpkg_version))
+ elif not pkgs:
pkgs = [bin_pkg]
- for pkg in pkgs:
- if req.specs:
- for spec in req.specs:
- op, version = spec
- op = _setuptools_debian_operators[op]
- if op is None:
- continue
- dpkg_version = py_version_to_deb(version)
- pydeps.add('%s (%s %s)' % (pkg, op, dpkg_version))
- else:
- pydeps.add(pkg)
+ pydeps.update(pkgs)
# Let's depend on the namespace packages as well.
# This is needed to get __init__.py into the namespace packages.
# See https://bugs.launchpad.net/van.pydeb/+bug/619294
Modified: van.pydeb/trunk/van/pydeb/tests/extras.txt
===================================================================
--- van.pydeb/trunk/van/pydeb/tests/extras.txt 2010-09-01 22:58:35 UTC (rev 116116)
+++ van.pydeb/trunk/van/pydeb/tests/extras.txt 2010-09-02 01:12:27 UTC (rev 116117)
@@ -63,11 +63,18 @@
Packages that depend on extras
------------------------------
-Depend on the provides list:
+If package requires an extra, one dependency is added:
- >>> runit('van-pydeb depends --egg-info %s' % zope_app_publication) # doctest: +ELLIPSIS
- python-..., python-zope.component-zcml, ...
+ >>> runit('van-pydeb depends --egg-info %s' % zope_app_publication) # doctest: +ELLIPSIS +REPORT_NDIFF
+ python-..., python-zope.browser (>= 1.2), python-zope.component-zcml, python-zope.deprecation...
+But if both a version and an extra are specified, separate dependencies are
+added -- first the base package with version requirements, then extras (virtual
+packages do not have versions):
+
+ >>> runit('van-pydeb depends --egg-info %s' % zope_app_publication) # doctest: +ELLIPSIS +REPORT_NDIFF
+ python-..., python-zope.error, python-zope.i18n (>= 3.7), python-zope.i18n-zcml, python-zope.interface...
+
But packages that don't, get the original dependency:
>>> runit('van-pydeb depends --egg-info %s' % zope_security) # doctest: +ELLIPSIS
Modified: van.pydeb/trunk/van/pydeb/tests/zope.app.publication.egg-info/requires.txt
===================================================================
--- van.pydeb/trunk/van/pydeb/tests/zope.app.publication.egg-info/requires.txt 2010-09-01 22:58:35 UTC (rev 116116)
+++ van.pydeb/trunk/van/pydeb/tests/zope.app.publication.egg-info/requires.txt 2010-09-02 01:12:27 UTC (rev 116117)
@@ -4,7 +4,7 @@
zope.component [zcml]
zope.deprecation
zope.error
-zope.i18n
+zope.i18n [zcml] >= 3.7
zope.browser>=1.2
zope.publisher>=3.8.0
zope.traversing>=3.7.0
More information about the checkins
mailing list