[Zope-dev] Zope 2: specifying Zope2 dependency

Laurence Rowe l at lrowe.co.uk
Tue Jan 4 12:43:29 EST 2011


On 4 January 2011 17:42, Laurence Rowe <l at lrowe.co.uk> wrote:
> 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.)

... empty eggs for those /packages/ ...

Laurence


More information about the Zope-Dev mailing list