python-zodb does not support python-2.5

Bug #226292 reported by ricardo
28
This bug affects 2 people
Affects Status Importance Assigned to Milestone
zodb (Debian)
Fix Released
Unknown
zodb (Ubuntu)
Fix Released
Undecided
Unassigned
Jaunty
Fix Released
Undecided
Unassigned

Bug Description

Binary package hint: python-zodb

after installing python-zodb under Hardy, import ZODB or import ZEO statements generate import error
same statements work fine with python-zodb under Gutsy
Gusty package installs symbolic links in /usr/lib/python2.5/site-packages/ZODB/ to ZODB code in /usr/share/pycentral/python-zodb/site-packages/
Hardy package does not

Revision history for this message
ryanb (balch-ryan) wrote :

I can confirm this. Installing the zodb modules basically does nothing, as you can't use them once you have them. I tried copying the data structure from gutsy to hardy to see if that would fix it and it doesn't.

Annoying as this was working find in gutsy. Why change things if we are going to change them to something that does not work?

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

It looks like cPersistence.so isn't built for python2.5. Manually adding softlinks to /usr/lib/python2.4/site-packages/persistent gives warnings like: "RuntimeWarning: Python C API version mismatch for module _OOBTree: This Python has API version 1013, module _OOBTree has version 1012. " In the case of my application, there is some incompatibility causing the loaded data to fail (which I have no time to investigate atm), so the soft link solution doesn't work.

Revision history for this message
Craig Maloney (craig-decafbad) wrote :

Confirming that ZODB isn't usable after fresh install of the packages.

Changed in zodb:
status: New → Confirmed
Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

Apparently ZODB didn't actually support Python-2.5 until version 3.8.0. ( http://pypi.python.org/pypi/ZODB3/3.8.0 )

Note this is fixed in Debian ( http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=462076 ) zodb-2.6 has been renamed python2.4-zodb since it doesn't work at all with 2.5, and the new zodb 3.8.0 is now package python-zodb.

Is the Ubuntu package imported from Debian somehow, so this will get automatically fixed? Or does this need to be fixed manually?

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

As a temporary workaround, https://launchpad.net/~schooltool-owners/+archive has zodb-3.8.0 and all it's associated dependencies.

Add to /etc/apt/sources.list:

deb http://ppa.launchpad.net/schooltool-owners/ubuntu hardy main
deb-src http://ppa.launchpad.net/schooltool-owners/ubuntu hardy main

Then:

apt-get install python-zodb
apt-get install python-zope.interface
(will uninstall python-zopeinterface, presumably the older version of the same package)

Revision history for this message
Craig Maloney (craig-decafbad) wrote :

That did the trick. Thanks!

Changed in zodb:
status: Unknown → Fix Released
Revision history for this message
Noam Lewis (lenoam) wrote :

The fix for this bug should include a fix that makes python-zodb depend on python-zope.proxy (since it doesn't work without installing that package).
Thanks!

Revision history for this message
Noam Lewis (lenoam) wrote :

And also
python-zconfig
python-zdaemon

(for ZEO to work)

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

This is still broken in Jaunty.

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

According to the Debian bug tracker this has been fixed in Debian since January 2009:

" * New upstream release, which is compatible with both python2.4 and python2.5. (Closes: #462076)"

However I can't actually find zodb 3.8.0 on packages.debian.org.

Is there any chance of getting this fixed for Jaunty?

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :
Revision history for this message
Erno Kuusela (erno-iki) wrote :

I'd very much like to see zodb in Jaunty too, is there anything we can do?

Note the Debian changelog entry is dated January _2008_!

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

Not fixed in Debian.

Changed in zodb:
importance: Unknown → Undecided
status: Fix Released → New
Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

I emailed the Debian maintainer and he said "I will upload zodb with python2.5 support (new upstream release) as soon as Lenny gets released, which will happen in a couple of weeks from now."

Changed in zodb:
assignee: nobody → kobold
Changed in zodb:
assignee: kobold → nobody
importance: Undecided → Unknown
status: New → Unknown
Revision history for this message
Tim Abbott (tabbott) wrote :

The lack of python 2.5 support in zodb causes moderate breakage for the sagemath package in jaunty.

Revision history for this message
Tim Abbott (tabbott) wrote :

I contacted the Debian maintained, and his estimate is that a zodb package with python 2.5 support will not be available in Debian until after Jaunty releases.

Revision history for this message
Tim Abbott (tabbott) wrote :
Download full text (5.8 KiB)

I modified the zodb source package to build for all python versions, rather than just python 2.4, and the result works for me. In particular, it fixes the problems the sagemath package has accessing its databases. I've posted a copy at <http://web.mit.edu/tabbott/Public/python-zodb/>.

I don't understand the problem with using python 2.5 or later with zodb 3.6. It sounds like the issue is only that upstream is not willing to support python later than 2.4 with this version of zodb.

Since zodb has only one reverse dependency (along with a missing dependency from sagemath because sagemath requires a newer version than 2.4), it doesn't seem likely that uploading this will result in regressions for Jaunty.

Debdiff for my change is below (dpatch seems to not actually apply the patches in this package, and so I just made a direct diff change to fix the one python 2.6 incompatibility affecting the binary package it builds. It is probably worth cleaning this up before this gets uploaded, but it probably doesn't matter much since I expect Ubuntu to just sync zodb the next time Debian uploads a new version.)

diff -u zodb-3.6.0/debian/control zodb-3.6.0/debian/control
--- zodb-3.6.0/debian/control
+++ zodb-3.6.0/debian/control
@@ -5,15 +5,14 @@
 Uploaders: Fabio Tranchitella <email address hidden>
 Build-Depends: debhelper (>= 5.0.37.2), python-all-dev, python-central (>= 0.5.0), python (>= 2.3.5-7), dpatch
 Build-Conflicts: python-extclass, python2.3-extclass
-Standards-Version: 3.7.3
-XS-Python-Version: 2.4
+Standards-Version: 3.8.0
+XS-Python-Version: all

-Package: python2.4-zodb
+Package: python-zodb
 Architecture: any
 Depends: ${python:Depends}, python-zopeinterface, ${shlibs:Depends}
 Replaces: zope3
-Conflicts: zope3
+Conflicts: zope3, python2.4-zodb
-Provides: python-zodb
 XB-Python-Version: ${python:Versions}
 Description: set of tools for using the Zope Object Database (ZODB)
  The Zope Object Database provides an object-oriented database for
diff -u zodb-3.6.0/debian/changelog zodb-3.6.0/debian/changelog
--- zodb-3.6.0/debian/changelog
+++ zodb-3.6.0/debian/changelog
@@ -1,3 +1,9 @@
+zodb (1:3.6.0-2ubuntu1) jaunty; urgency=low
+
+ * Build with python 2.5/2.6 support (LP: #226292).
+
+ -- Tim Abbott <email address hidden> Sat, 28 Mar 2009 14:47:54 -0400
+
 zodb (1:3.6.0-2) unstable; urgency=low

   * debian/rules: fixed with the new binary package name. (Closes: #463259)
diff -u zodb-3.6.0/debian/rules zodb-3.6.0/debian/rules
--- zodb-3.6.0/debian/rules
+++ zodb-3.6.0/debian/rules
@@ -25,22 +25,22 @@
  for python in $(PYVERS); do \
   $$python setup.py clean --all; \
   $$python setup.py build; \
- $$python setup.py install --root=$(CURDIR)/debian/python2.4-zodb --no-compile ; \
- mkdir -p debian/python2.4-zodb/usr/share/doc/python2.4-zodb/ ; \
- mv debian/python2.4-zodb/usr/lib/python/site-packages/zope/testing/testrunner-ex \
- debian/python2.4-zodb/usr/share/doc/python2.4-zodb/ ; \
- chmod 644 debian/python2.4-zodb/usr/lib/$$python/site-packages/ZConfig/tests/runtests.bat ; \
- chmod 755 debian/python2.4-zodb/usr/lib/$$python/site-packages/ZEO/zeoctl.py \
- debian/python2.4-zodb/usr/lib/$$python/site-packages/ZConfi...

Read more...

Revision history for this message
Tim Abbott (tabbott) wrote :

Okay, I ran the full zodb test suite to try to determine what is wrong with python2.5. It turns out, zodb 3.6 passes its entire test suite with python 2.5. So, there's no problem there.

However, python 2.6 doesn't work.

So, what we should do is change the package to do python 2.4 and 2.5 (or really 2.5, since 2.4 is no longer supported in jaunty).

Revision history for this message
Tim Abbott (tabbott) wrote :

Actually, now that I think about it, the python 2.6 failures were because of the use of the "as" keyword, and all incidences of that are fixed in the debian package I posted earlier (I was testing with upstream zodb 3.6). So, the package posted above will probably just work.

Revision history for this message
Fabio Tranchitella (kobold) wrote : Re: [Bug 226292] Re: python-zodb does not support python-2.5

* 2009-03-28 22:16, Tim Abbott wrote:
> Debdiff for my change is below (dpatch seems to not actually apply the
> patches in this package, and so I just made a direct diff change to fix
> the one python 2.6 incompatibility affecting the binary package it
> builds. It is probably worth cleaning this up before this gets uploaded,
> but it probably doesn't matter much since I expect Ubuntu to just sync
> zodb the next time Debian uploads a new version.)

Thanks for your patch, I've just uploaded it to unstable.

--
Fabio Tranchitella http://www.kobold.it
Free Software Developer and Consultant http://www.tranchitella.it
_____________________________________________________________________
1024D/7F961564, fpr 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564

Revision history for this message
Chris Bainbridge (chris-bainbridge) wrote :

How does this package get from Debian Unstable into Ubuntu? Will it automatically update, or does someone have to do it manually?

Revision history for this message
Fabio Tranchitella (kobold) wrote :

Hello,

* 2009-03-30 13:46, Chris Bainbridge wrote:
> How does this package get from Debian Unstable into Ubuntu? Will it
> automatically update, or does someone have to do it manually?

I suppose you have to request a sync, but I am not following Ubuntu too
much these days so I am not sure about how to do it.

--
Fabio Tranchitella http://www.kobold.it
Free Software Developer and Consultant http://www.tranchitella.it
_____________________________________________________________________
1024D/7F961564, fpr 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564

Revision history for this message
Tim Abbott (tabbott) wrote :

At this stage in the release cycle, one needs to request a sync. <https://wiki.ubuntu.com/SyncRequestProcess> describes the process for doing so. There are currently no Ubuntu-specific changes, so things should be easy. But we need to wait for it to actually propagate to sid first (which will probably happen tomorrow).

Revision history for this message
Gediminas Paulauskas (menesis) wrote :

I have uploaded ZODB 3.8 and related Zope 3 packages built for jaunty (Python 2.5 & 2.6) to https://launchpad.net/~schooltool-owners/+archive/ppa

Revision history for this message
Fabio Tranchitella (kobold) wrote :

Hello,

* 2009-04-03 17:21, Gediminas Paulauskas wrote:
> I have uploaded ZODB 3.8 and related Zope 3 packages built for jaunty
> (Python 2.5 & 2.6) to https://launchpad.net/~schooltool-
> owners/+archive/ppa

Do you build those packages automatically, or manually?

--
Fabio Tranchitella http://www.kobold.it
Free Software Developer and Consultant http://www.tranchitella.it
_____________________________________________________________________
1024D/7F961564, fpr 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564

Revision history for this message
Tim Abbott (tabbott) wrote :

PPAs are automatically built; you can read about them at: <https://launchpad.net/ubuntu/+ppas>

Revision history for this message
Tim Abbott (tabbott) wrote :

The new zodb 1:3.6.0-3 in Debian unstable has two problems that prevent it from working for Ubuntu. One is that the patch fixing the python 2.6 incompatability issue is malformed, the other is that for some reason python 2.6 installs files to /usr/local unless setup.py is passed "--prefix=/usr". I suspect both problems will be fixed in Debian soon. However, time is short before the jaunty release, so I think Ubuntu should just patch the package for now.

I've attached a debdiff against Debian's zodb 1:3.6.0-3 that fixes both issues.

I'm subscribing the Ubuntu universe sponsors to this bug to upload a fixed version (one will need to apply the attached patch to the current version in Debian unstable, 1:3.6.0-3).

Revision history for this message
Fabio Tranchitella (kobold) wrote :

* 2009-04-06 04:36, Tim Abbott wrote:
> The new zodb 1:3.6.0-3 in Debian unstable has two problems that prevent
> it from working for Ubuntu. One is that the patch fixing the python 2.6
> incompatability issue is malformed, the other is that for some reason
> python 2.6 installs files to /usr/local unless setup.py is passed "--
> prefix=/usr". I suspect both problems will be fixed in Debian soon.
> However, time is short before the jaunty release, so I think Ubuntu
> should just patch the package for now.

I'm uploading a new revision of the package into unstable now.

--
Fabio Tranchitella http://www.kobold.it
Free Software Developer and Consultant http://www.tranchitella.it
_____________________________________________________________________
1024D/7F961564, fpr 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564

Revision history for this message
Alessio Treglia (quadrispro) wrote :

Sync requested bug #357180

Revision history for this message
Scott Kitterman (kitterman) wrote :

Sync is done. This is fixed in Jaunty.

Changed in zodb (Ubuntu Jaunty):
status: Confirmed → Fix Released
Changed in zodb (Debian):
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.