Diff for "LaunchpadOnKarmic"

Not logged in - Log In / Register

Differences between revisions 4 and 5
Revision 4 as of 2009-08-03 23:53:09
Size: 2382
Editor: maxb
Comment:
Revision 5 as of 2009-08-04 00:25:03
Size: 2470
Editor: maxb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 13: Line 13:
 * Fixing Launchpad's TestCase subclass for method renames in unittest in Python 2.5
Line 15: Line 16:
https://code.launchpad.net/~maxb/zope3/launchpad-3.4-py2.5 contains backports of some changes to zope.proxy and zope.security in post-3.4 Zope releases which are required for Python 2.5 compatibility (possibly only on 64-bit architectures). Without these, Launchpad produces perplexing MemoryErrors. https://code.launchpad.net/~maxb/zope3/launchpad-3.4-py2.5 contains backports of some changes to zope.proxy and zope.security in post-3.4 Zope releases which are required for Python 2.5 compatibility (possibly only on 64-bit architectures). Without these, Launchpad produces perplexing !MemoryErrors.
Line 18: Line 19:
https://code.launchpad.net/~maxb/twisted/launchpad-py2.5 contains a hack working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise causes the librarian twistd to fail to shut down and require kill -9. (It's the zope.sendmail.delivery.QueueProcessorThread that doesn't get shut down.) https://code.launchpad.net/~maxb/twisted/launchpad-py2.5 contains a hack working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise causes the librarian twistd to fail to shut down and require kill -9. (It's the zope.sendmail.delivery.!QueueProcessorThread that doesn't get shut down.)

As mentioned on Getting, Launchpad is not currently supported on Ubuntu Karmic Koala, primarily because it currently has a hard dependency on Python 2.4, which is no longer included in Karmic.

This page is a place to collect notes written for and by people living on the bleeding edge and attempting to get Launchpad working on Karmic / Python 2.5

launchpad-dependencies

First, there is the issue that the ~launchpad PPA doesn't have any packages for Karmic. I (maxb) have tweaked the launchpad-dependencies package to have a first approximation of suitable dependencies for Python 2.5, and uploaded it to my PPA https://launchpad.net/~maxb/+archive/ppa, and copied the geoip-data-city-lite package from the ~launchpad PPA there as well for convenience.

Launchpad code itself

https://code.launchpad.net/~maxb/launchpad/python2.5 contains a few fixes:

  • Adjusting the Python version in the Makefiles
  • Adjusting import statements to handle the built-in location of cElementTree in Python 2.5
  • Making buildmailman.py compatible with Python 2.5 sys.path_importer_cache behaviour
  • Fixing Launchpad's TestCase subclass for method renames in unittest in Python 2.5

Launchpad source dependencies - Zope

https://code.launchpad.net/~maxb/zope3/launchpad-3.4-py2.5 contains backports of some changes to zope.proxy and zope.security in post-3.4 Zope releases which are required for Python 2.5 compatibility (possibly only on 64-bit architectures). Without these, Launchpad produces perplexing MemoryErrors.

Launchpad source dependencies - Twisted

https://code.launchpad.net/~maxb/twisted/launchpad-py2.5 contains a hack working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise causes the librarian twistd to fail to shut down and require kill -9. (It's the zope.sendmail.delivery.QueueProcessorThread that doesn't get shut down.)

Known Problems

  • Many test failures, especially in Rosetta

  • Launchpad currently depends on a monolithic Zope source distribution. Zope upstream has since restructured itself as a group of separated modular eggs. Gary Poster is working on migrating Launchpad to this new structure at https://code.launchpad.net/~gary/launchpad/zbuildout - this is a prerequisite to upgrading to newer Zope, which would then avoid the need to cherrypick backports into the existing Zope sourcedep.