[Zope-dev] Zope 2.12.9 broke ZMySQLDA in the middle of a stable release series

Hanno Schlichting hanno at hannosch.eu
Tue Jul 13 11:44:53 EDT 2010


Hi.

On Tue, Jul 13, 2010 at 5:13 PM, Leonardo Rochael Almeida
<leorochael at gmail.com> wrote:
> The latest Zope 2.12.9 release broke the last release of Products.ZMySQLDA.

You are not by any chance interested in taking over maintenance of
ZSQLMethods, are you?

> You'll get the following traceback:
>
> Traceback (most recent call last):
>  File "bin/py", line 107, in <module>
>    exec _val
>  File "<string>", line 1, in <module>
>  File "/home/leo/opt/zmysqlda/eggs/Products.ZMySQLDA-3.1-py2.6.egg/Products/ZMySQLDA/__init__.py",
> line 90, in <module>
>    import DA
>  File "/home/leo/opt/zmysqlda/eggs/Products.ZMySQLDA-3.1-py2.6.egg/Products/ZMySQLDA/DA.py",
> line 243, in <module>
>    os.path.join('Shared','DC','ZRDB','www','DBAdapterFolder_icon.gif'))}
>  File "/home/leo/opt/zmysqlda/eggs/Zope2-2.12.9-py2.6-linux-x86_64.egg/App/ImageFile.py",
> line 77, in __init__
>    stat_info = os.stat(path)
> OSError: [Errno 2] No such file or directory:
> '/home/leo/opt/zmysqlda/eggs/Zope2-2.12.9-py2.6-linux-x86_64.egg/Shared/DC/ZRDB/www/DBAdapterFolder_icon.gif'

> The most trivial fix seems fairly obvious: ZMySQLDA should carry its
> own icon, but in any case, Zope 2.12 should not break compatibility in
> the middle of a stable series. I strongly suspect other Zope2 DB
> adapters to suffer from the same problem.

We documented it pretty clearly in the Zope 2.12.0 release notes, that
you can no longer rely on software home or zope home. See for example
http://docs.zope.org/zope2/releases/2.12/WHATSNEW.html#fully-eggified

The code should have long been changed to import Shared.DC.ZRDB and
then os.path.join(ZRDB.__file__, 'www', 'DBAdapterFolder_icon.gif') or
better yet use its own icon. Both of these would have worked with all
2.12.x releases.

> I'm not sure what the proper fix should be. App.ImageFile.ImageFile
> could grow support for icons outside of software_home, or perhaps the
> spinning-off of Shared.DC.ZRDB should be delayed to the 2.13 series
> only, but in any case the 2.12 branch should be a safe upgrade for
> third party code as much as reasonably possible.

We don't make guarantees on internals. Zope 2 always had a policy of
allowing minor changes and new features to occur in the stable release
series. It's not just pure bugfix releases.

I think in this case the code in Products.ZMySQLDA should be changed
to be compatible with Zope 2.12.

Hanno


More information about the Zope-Dev mailing list