4175
Comment:
|
6144
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
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. | As mentioned on [[Getting]], Launchpad is not currently supported on Ubuntu Karmic Koala. |
Line 3: | Line 3: |
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 | 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. |
Line 5: | Line 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. |
= Phase 1 - Python 2.4 - DONE = Phase 1 is to get it working on Karmic using Python 2.4 - this requires rebuilding quite a few Python module packages, as Python 2.4 is not a supported Python version in Karmic. These packages are in my PPA for Launchpad-related packages [[https://launchpad.net/~maxb/+archive/launchpad]] and are ''mostly'' synced into the official Launchpad PPA. And that's it. DONE! On to phase 2... = Phase 2 - Python 2.5 = The ultimate goal is to migrate Launchpad to Python 2.6. Rather than go straight to Python 2.6, I (maxb) am focusing on Python 2.5 first as a stepping stone. https://bugs.launchpad.net/launchpad-foundations/+bugs?field.tag=python-upgrade |
Line 14: | Line 24: |
* etc... | |
Line 16: | Line 27: |
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. It also contains a patch to zope.sendmail working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise caused various Python processes to hang on shutdown. | Thanks to the completion and landing of Gary's zbuildout branch, the zope branch previously listed here is now obsolete. |
Line 18: | Line 29: |
== Launchpad source dependencies - Twisted == I used to have a Twisted branch mentioned here. It's now obsoleted by the above patch to zope.sendmail. |
However, you'll now need to fetch https://code.launchpad.net/~maxb/lp-source-dependencies/python2.5, for a patched version of `zope.sendmail`, working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise caused various Python processes to hang on shutdown. == Launchpad source dependencies - pygettextpo & pygpgme == The `Makefile`s of these two make direct reference to Python 2.4, you'll need to amend them appropriately. |
Line 22: | Line 35: |
* unit tests: Ran 1328 tests with '''9 failures''' and '''1 errors''' * canonical.testing.layers.!BaseLayer tests: Ran 250 tests with 0 failures and '''1 errors''' * canonical.testing.layers.!LibrarianLayer tests: Ran 8 tests with 0 failures and '''1 errors''' * canonical.testing.layers.!DatabaseLayer tests: Ran 48 tests with 0 failures and '''1 errors''' * canonical.testing.layers.!LaunchpadLayer tests: Ran 23 tests with 0 failures and '''1 errors''' * canonical.testing.layers.!ZopelessLayer tests: Ran 17 tests with 0 failures and '''1 errors''' * canonical.testing.layers.!LaunchpadScriptLayer tests: Ran 72 tests with 0 failures and '''2 errors''' * canonical.testing.layers.!LaunchpadZopelessLayer tests: Ran 3110 tests with '''5 failures''' and '''10 errors''' * canonical.launchpad.ftests.test_system_documentation.!ProcessMailLayer tests: Ran 269 tests with 0 failures and '''1 errors''' |
* ''canonical.testing.layers.!BaseLayer tests: Ran 250 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!LibrarianLayer tests: Ran 8 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!DatabaseLayer tests: Ran 43 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!LaunchpadLayer tests: Ran 23 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!ZopelessLayer tests: Ran 17 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!LaunchpadScriptLayer tests: Ran 72 tests with 0 failures and 0 errors'' * canonical.testing.layers.!LaunchpadZopelessLayer tests: Ran 3147 tests with '''3 failures''' and 0 errors 1. lib/lp/bugs/doc/checkwatches-cli-switches.txt: Looks to be formatting differences in help message 1. lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt: Sort order problem. 1. lib/lp/soyuz/doc/soyuz-set-of-uploads.txt: Uploads rejected?! * ''canonical.launchpad.ftests.test_system_documentation.!ProcessMailLayer tests: Ran 269 tests with 0 failures and 0 errors'' |
Line 32: | Line 47: |
* canonical.testing.layers.!LaunchpadFunctionalLayer tests: Ran 8116 tests with '''11 failures''' and 0 errors | * canonical.testing.layers.!LaunchpadFunctionalLayer tests: Ran 8170 tests with '''10 failures''' and 0 errors 1. lib/canonical/launchpad/ftests/../doc/pagetest-helpers.txt: CDATA section introduced 1. lib/canonical/launchpad/ftests/../doc/tales.txt: Exception message changed in Py2.5. 1. lib/canonical/launchpad/ftests/../doc/unicode_csv.txt: Py2.5 behaviour change in comparison 1. lib/canonical/launchpad/scripts/ftests/librarianformatter.txt: Spurious characters. 1. lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt: urllib2 seems to be behaving differently 1. lp.soyuz.scripts.tests.test_copypackage.!ReUploadFileTestCase.test_re_upload_file_does_not_leak_file_descriptors - `1 != 0` 1. lib/lp/translations/tests/../doc/poexport-language-pack.txt: Hints at tarfile.getnames() behaviour change as seen in unit tests too 1. lib/lp/translations/tests/../doc/poexport-request-productseries.txt: Ditto. 1. lib/lp/translations/tests/../doc/poexport-request.txt: Ditto. 1. lib/lp/translations/tests/../doc/potemplate.txt: Ditto. |
Line 34: | Line 59: |
* canonical.testing.layers.!DatabaseFunctionalLayer tests: Ran 3054 tests with '''1 failures''' and 0 errors * canonical.testing.layers.!PageTestLayer tests: ... * canonical.testing.layers.!TwistedLayer tests: ... * canonical.testing.layers.!TwistedLaunchpadZopelessLayer tests: ... * canonical.testing.layers.!TwistedAppServerLayer tests: ... * canonical.testing.layers.!ZopelessAppServerLayer tests: ... * canonical.testing.layers.!ZopelessDatabaseLayer tests: ... * lp.codehosting.tests.test_acceptance.SSHServerLayer tests: ... == Other Related Work == * 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. |
* canonical.testing.layers.!DatabaseFunctionalLayer tests: Ran 3225 tests with '''1 failures''' and 0 errors * lib/lp/registry/doc/teammembership.txt: Looks like benign formatting issue. * canonical.testing.layers.!PageTestLayer tests: Ran 5962 tests with '''6 failures''' and 0 errors * lib/canonical/launchpad/pagetests/feeds/xx-links.txt: Formatting issue * lib/lp/answers/stories/question-add.txt, question-obfuscation.txt: Formatting issue * lib/lp/bugs/stories/feeds/xx-bug-{atom,html}.txt: Looks like benign formatting issue. * lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt: Formatting issue. * ''canonical.testing.layers.!TwistedLayer tests: Ran 219 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!TwistedLaunchpadZopelessLayer tests: Ran 23 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!TwistedAppServerLayer tests: Ran 5 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!ZopelessAppServerLayer tests: Ran 69 tests with 0 failures and 0 errors'' * ''canonical.testing.layers.!ZopelessDatabaseLayer tests: Ran 147 tests with 0 failures and 0 errors'' * ''lp.codehosting.tests.test_acceptance.SSHServerLayer tests: Ran 46 tests with 0 failures and 0 errors'' * zope.testing.testrunner.layer.!UnitTests tests: Ran 1347 tests with '''8 failures''' and 0 errors * librarianformatter_noca.txt: Py2.5 differences in traceback formatting * test_helpers.make_test_tarball_2: odd discrepancy * test_raising_with_unprintable_exception (canonical.launchpad.webapp.tests.test_errorlog.!TestErrorReportingUtility): looks benign * lib/lp/translations/utilities/tests/test_xpi_properties_format.py: several escaping issues |
As mentioned on Getting, Launchpad is not currently supported on Ubuntu Karmic Koala.
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.
Phase 1 - Python 2.4 - DONE
Phase 1 is to get it working on Karmic using Python 2.4 - this requires rebuilding quite a few Python module packages, as Python 2.4 is not a supported Python version in Karmic. These packages are in my PPA for Launchpad-related packages https://launchpad.net/~maxb/+archive/launchpad and are mostly synced into the official Launchpad PPA.
And that's it. DONE!
On to phase 2...
Phase 2 - Python 2.5
The ultimate goal is to migrate Launchpad to Python 2.6. Rather than go straight to Python 2.6, I (maxb) am focusing on Python 2.5 first as a stepping stone.
https://bugs.launchpad.net/launchpad-foundations/+bugs?field.tag=python-upgrade
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
- etc...
Launchpad source dependencies - Zope
Thanks to the completion and landing of Gary's zbuildout branch, the zope branch previously listed here is now obsolete.
However, you'll now need to fetch https://code.launchpad.net/~maxb/lp-source-dependencies/python2.5, for a patched version of zope.sendmail, working around a change in the ordering of atexit vs. waiting for non-main non-daemon threads to shut down which otherwise caused various Python processes to hang on shutdown.
Launchpad source dependencies - pygettextpo & pygpgme
The Makefiles of these two make direct reference to Python 2.4, you'll need to amend them appropriately.
Test Status
canonical.testing.layers.BaseLayer tests: Ran 250 tests with 0 failures and 0 errors
canonical.testing.layers.LibrarianLayer tests: Ran 8 tests with 0 failures and 0 errors
canonical.testing.layers.DatabaseLayer tests: Ran 43 tests with 0 failures and 0 errors
canonical.testing.layers.LaunchpadLayer tests: Ran 23 tests with 0 failures and 0 errors
canonical.testing.layers.ZopelessLayer tests: Ran 17 tests with 0 failures and 0 errors
canonical.testing.layers.LaunchpadScriptLayer tests: Ran 72 tests with 0 failures and 0 errors
canonical.testing.layers.LaunchpadZopelessLayer tests: Ran 3147 tests with 3 failures and 0 errors
- lib/lp/bugs/doc/checkwatches-cli-switches.txt: Looks to be formatting differences in help message
- lib/lp/bugs/doc/externalbugtracker-mantis-csv.txt: Sort order problem.
- lib/lp/soyuz/doc/soyuz-set-of-uploads.txt: Uploads rejected?!
canonical.launchpad.ftests.test_system_documentation.ProcessMailLayer tests: Ran 269 tests with 0 failures and 0 errors
canonical.testing.layers.FunctionalLayer tests: Ran 164 tests with 0 failures and 0 errors
canonical.testing.layers.LaunchpadFunctionalLayer tests: Ran 8170 tests with 10 failures and 0 errors
- lib/canonical/launchpad/ftests/../doc/pagetest-helpers.txt: CDATA section introduced
- lib/canonical/launchpad/ftests/../doc/tales.txt: Exception message changed in Py2.5.
- lib/canonical/launchpad/ftests/../doc/unicode_csv.txt: Py2.5 behaviour change in comparison
- lib/canonical/launchpad/scripts/ftests/librarianformatter.txt: Spurious characters.
- lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt: urllib2 seems to be behaving differently
lp.soyuz.scripts.tests.test_copypackage.ReUploadFileTestCase.test_re_upload_file_does_not_leak_file_descriptors - 1 != 0
- lib/lp/translations/tests/../doc/poexport-language-pack.txt: Hints at tarfile.getnames() behaviour change as seen in unit tests too
- lib/lp/translations/tests/../doc/poexport-request-productseries.txt: Ditto.
- lib/lp/translations/tests/../doc/poexport-request.txt: Ditto.
- lib/lp/translations/tests/../doc/potemplate.txt: Ditto.
canonical.testing.layers.AppServerLayer tests: Ran 128 tests with 0 failures and 0 errors
canonical.testing.layers.DatabaseFunctionalLayer tests: Ran 3225 tests with 1 failures and 0 errors
- lib/lp/registry/doc/teammembership.txt: Looks like benign formatting issue.
canonical.testing.layers.PageTestLayer tests: Ran 5962 tests with 6 failures and 0 errors
- lib/canonical/launchpad/pagetests/feeds/xx-links.txt: Formatting issue
- lib/lp/answers/stories/question-add.txt, question-obfuscation.txt: Formatting issue
- lib/lp/bugs/stories/feeds/xx-bug-{atom,html}.txt: Looks like benign formatting issue.
- lib/lp/bugs/stories/distribution/xx-distribution-upstream-bug-report.txt: Formatting issue.
canonical.testing.layers.TwistedLayer tests: Ran 219 tests with 0 failures and 0 errors
canonical.testing.layers.TwistedLaunchpadZopelessLayer tests: Ran 23 tests with 0 failures and 0 errors
canonical.testing.layers.TwistedAppServerLayer tests: Ran 5 tests with 0 failures and 0 errors
canonical.testing.layers.ZopelessAppServerLayer tests: Ran 69 tests with 0 failures and 0 errors
canonical.testing.layers.ZopelessDatabaseLayer tests: Ran 147 tests with 0 failures and 0 errors
lp.codehosting.tests.test_acceptance.SSHServerLayer tests: Ran 46 tests with 0 failures and 0 errors
zope.testing.testrunner.layer.UnitTests tests: Ran 1347 tests with 8 failures and 0 errors
- librarianformatter_noca.txt: Py2.5 differences in traceback formatting
- test_helpers.make_test_tarball_2: odd discrepancy
test_raising_with_unprintable_exception (canonical.launchpad.webapp.tests.test_errorlog.TestErrorReportingUtility): looks benign
- lib/lp/translations/utilities/tests/test_xpi_properties_format.py: several escaping issues