[Zope-dev] Re: [Zope] Using 2.3.2 for Zope 2.7

Tim Peters tim at zope.com
Fri Oct 3 13:10:10 EDT 2003


[Chris McDonough]
>> Currently, Zope still claims it works with 2.2.X (via the configure
>> script's "acceptable versions" feature).

Actually, 2.2, 2.2.1, and 2.2.2 aren't acceptable for Zope even now, because
of Zope-critical Python bugs first fixed in 2.2.3.  There's no version of
2.2 with a fix for the rare RH9 Unicode-segfault bug Jeremy stumbled into a
few weeks ago (while running Zope tests), and there may never be.

>> Should we continue to make that claim true by not depending on any
>> Python 2.3-specific features in the Zope core?  I don't think
>> there are a lot of super-compelling core and/or library differences
>> between Pythons 2.3.2 and 2.2.3 that would make this a hardship on
>> core Zope developers.

I don't know whether it's a hardship for anyone to install 2.3.2 but not to
install 2.2.3.  Seems unlikely <wink>.  In the spambayes project, we've
found that people just can't stop themselves from using the new-in-2.3
enumerate() builtin, and the new-in-2.3 Sets module.  They're generally
useful.  Since 2.2.3 is slower and buggier than 2.3.2, and may be the last
of the 2.2 line, I'm not sure we'd be doing anyone a real favor by
facilitating hanging on to 2.2.3.

[Fred L. Drake, Jr.]
> Requiring 2.3 (any flavor) would allow us to drop the copy of the
> logging package from Zope 2.7 and newer.
>
> There are greater benefits for Zope 3, where we have several modules
> and packages laying around that would no longer be needed (logging,
> csv, gettext).

Plus I copy 2.3's strptime.py module into Zope3 now (and have to edit it
each time I synch up to get rid of its enumerate() call), and Zope3 has a
different all-Python implementation of the new-in-2.3 all-C datetime module.
The C version of datetime is more desirable due to its comparative memory
frugality.

One more:  We're trying to move toward replacing ExtensionClass with
new-style classes.  This is straightforward under 2.3, but there's still a
relevant glitch in 2.2.3 that appears to make it much harder (that's why the
code on zodb3-devel-branch works fine under 2.3 but segfaults left and right
under 2.2.3; zodb3-devel-branch is quiet now, but will probably become
important again).

> I also don't know that we should consider 2.3.1 "acceptable" for any
> version of Zope.

2.3.1 is missing os.fsync() on POSIX systems (a gross mistake that snuck
into 2.3.1), and MvL's arguments notwithstanding, ZODB wants to use
os.fsync() on POSIX systems.  2.3.1 was a mistake, but a mistake that got
fixed quickly.




More information about the Zope-Dev mailing list