[Zope-dev] Zope 2: specifying Zope2 dependency
Laurence Rowe
l at lrowe.co.uk
Tue Jan 4 12:42:31 EST 2011
On 4 January 2011 13:00, yuppie <y.2011 at wcm-solutions.de> wrote:
> Hi!
>
>
> Zope trunk (2.14) no longer ships with these Products:
>
> Products.BTreeFolder2
> Products.ExternalMethod
> Products.MailHost
> Products.MIMETools
> Products.PythonScripts
> Products.StandardCacheManagers
>
> There are no separate Zope 2.12 compatible eggs for these Products
> because they are part of the Zope2 2.12.X eggs.
>
> Problem is: Several Products (e.g. CMF) exist that depend on these
> Products and want to support Zope2 2.12, 2.13 and trunk. But AFAICS
> there is no way to specify all dependencies correctly in setup.py. As a
> workaround, CMF currently specifies the 'additional' Zope2 trunk
> dependencies in buildout.cfg.
>
>
> If there are no objections or better ideas, I'd like to add a
> 'zope212_compat' extra to Zope 2.12, 2.13 and trunk. For Zope 2.12 and
> 2.13 it would be empty, for trunk it would look like this:
>
> extras_require={
> 'zope212_compat': [
> 'Products.BTreeFolder2',
> 'Products.ExternalMethod',
> 'Products.MailHost',
> 'Products.MIMETools',
> 'Products.PythonScripts',
> 'Products.StandardCacheManagers',
> ],
>
> That would make it possible to specify the Zope2 dependency this way:
>
> install_requires=[
> 'Zope2 [zope212_compat] >= 2.12.15',
> ]
>
> If Products drop Zope 2.12 support, they can switch to this:
>
> install_requires=[
> 'Zope2 >= 2.13.0',
> 'Products.MailHost', # required Products
You could release empty eggs for those folders. This is the approach
we are taking with the separation of Products.CMFPlone from the Plone
egg. This allows software to depend on ``Products.CMFPlone`` now but
still be compatible with Plone 4.0. See:
http://dev.plone.org/plone/browser/Products.CMFPlone/branches/4.0. (A
Products.CMFPlone=4.0 pin will be included the versions.cfg for the
next 4.0.x release.)
Laurence
More information about the Zope-Dev
mailing list