Hi All,
The following buildout.cfg demonstrates something that feels buggy to me:
[buildout]
parts = sqlalchemy migrate
versions = versions
[versions]
SQLAlchemy = 0.6.0
sqlalchemy = 0.6.2
[sqlalchemy]
recipe = zc.recipe.egg
eggs = SQLAlchemy
entry-points = foo=bar:baz
[migrate]
recipe = zc.recipe.egg
eggs = sqlalchemy-migrate
When run, you'll get two scripts:
bin/migrate:
...
sys.path[0:0] = [
'/opt/buildout-eggs/sqlalchemy_migrate-0.6-py2.6.egg',
'/opt/buildout-eggs/Tempita-0.4-py2.6.egg',
'/opt/buildout-eggs/decorator-3.2.0-py2.6.egg',
'/opt/buildout-eggs/SQLAlchemy-0.6.2-py2.6.egg',
...
bin/foo:
...
sys.path[0:0] = [
'/opt/buildout-eggs/SQLAlchemy-0.6.0-py2.6.egg',
]
...
The problem is that sqlalchemy-migrate declares an install_requires
dependency on "sqlalchemy", which the package is actually called SQLAlchemy.
It could be argued that sqlalchemy-migrate is "wrong" but it remains
that all python's packaging tools appear case insensitive to package names.
As such, I'd expect buildout's version pinning to be case agnostic as
well. What do other people feel about this?
Chris
_______________________________________________
Distutils-SIG maillist - [email protected]
http://mail.python.org/mailman/listinfo/distutils-sig