Diff for "LaunchpadOnKarmic"

Not logged in - Log In / Register

Differences between revisions 9 and 10
Revision 9 as of 2009-08-06 08:00:38
Size: 4477
Editor: maxb
Comment:
Revision 10 as of 2009-08-06 22:13:47
Size: 7180
Editor: maxb
Comment:
Deletions are marked like this. Additions are marked like this.
Line 22: Line 22:
Many test problems relating to uncollectable garbage including !LayerIsolationErrors.
Line 23: Line 25:
  * 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
  * test_successful_start_then_stop (lp.codehosting.tests.test_lpserve.!TestLaunchpadServe): ?
  * test_unexpected_error_logs_oops (lp.codehosting.tests.test_lpserve.!TestLaunchpadServe): ?
  * lib/lp/translations/utilities/tests/test_xpi_properties_format.py: several escaping issues
Line 29: Line 37:
  * test_initZopelessTwice (canonical.lp.ftests.test_zopeless.!TestInitZopeless) monkeypatches warnings.warn_explicit in way that is no longer compatible
Line 30: Line 39:
  * canonical.launchpad.scripts.tests.test_entitlementimport.!EntitlementImporterTestCase: multiple errors, UnicodeCSVReader not compatible with Py2.5 csv.
  * lib/lp/bugs/doc/bug-export.txt: Mysterious failure parsing doctest
  * 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?!
  * lp.soyuz.tests.test_packageupload.PackageUploadTestCase.test_realiseUpload_for_delayed_copies: Incorrect status
Line 33: Line 48:
  * lib/canonical/launchpad/doc/pagetest-helpers.txt: CDATA section introduced
  * lib/canonical/launchpad/doc/tales.txt: Exception message changed in Py2.5.
  * lib/canonical/launchpad/doc/unicode_csv.txt: Failure mode changed in Py2.5. Recurrence of above UnicodeCSVReader issue.
  * lib/canonical/launchpad/scripts/ftests/librarianformatter.txt: Spurious characters.
  * lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt: ?
  * lib/lp/soyuz/doc/gina.txt: ?
  * lib/lp/soyuz/doc/package-diff.txt: ?
  * lib/lp/translations/doc/poexport-language-pack.txt, lib/lp/translations/doc/potemplate.txt: Hints at tarfile.getnames() behaviour change as seen in unit tests too
  * lib/lp/translations/tests/../doc/poexport-request-productseries.txt: ?
  * lib/lp/translations/tests/../doc/poexport-request.txt: ?
Line 35: Line 60:
  * lib/lp/registry/doc/teammembership.txt: Looks like benign formatting issue.
Line 36: Line 62:
  * 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/distribution/xx-distribution-upstream-bug-report.txt: Formatting issue.
  * lib/lp/bugs/stories/feeds/xx-bug-atom.txt: Looks like benign formatting issue.
Line 42: Line 72:
  * unexpected return codes from subprocesses all over the place

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. 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.

Launchpad source dependencies - Twisted

I used to have a Twisted branch mentioned here. It's now obsoleted by the above patch to zope.sendmail.

Test Status

Many test problems relating to uncollectable garbage including LayerIsolationErrors.

  • unit tests: Ran 1328 tests with 9 failures and 1 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

    • test_successful_start_then_stop (lp.codehosting.tests.test_lpserve.TestLaunchpadServe): ?

    • test_unexpected_error_logs_oops (lp.codehosting.tests.test_lpserve.TestLaunchpadServe): ?

    • lib/lp/translations/utilities/tests/test_xpi_properties_format.py: several escaping issues
  • 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

    • test_initZopelessTwice (canonical.lp.ftests.test_zopeless.TestInitZopeless) monkeypatches warnings.warn_explicit in way that is no longer compatible

  • canonical.testing.layers.LaunchpadZopelessLayer tests: Ran 3110 tests with 5 failures and 10 errors

    • canonical.launchpad.scripts.tests.test_entitlementimport.EntitlementImporterTestCase: multiple errors, UnicodeCSVReader not compatible with Py2.5 csv.

    • lib/lp/bugs/doc/bug-export.txt: Mysterious failure parsing doctest
    • 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?!
    • lp.soyuz.tests.test_packageupload.PackageUploadTestCase.test_realiseUpload_for_delayed_copies: Incorrect status

  • canonical.launchpad.ftests.test_system_documentation.ProcessMailLayer tests: Ran 269 tests with 0 failures and 1 errors

  • canonical.testing.layers.FunctionalLayer tests: Ran 164 tests with 0 failures and 0 errors

  • canonical.testing.layers.LaunchpadFunctionalLayer tests: Ran 8116 tests with 11 failures and 0 errors

    • lib/canonical/launchpad/doc/pagetest-helpers.txt: CDATA section introduced
    • lib/canonical/launchpad/doc/tales.txt: Exception message changed in Py2.5.
    • lib/canonical/launchpad/doc/unicode_csv.txt: Failure mode changed in Py2.5. Recurrence of above UnicodeCSVReader issue.
    • lib/canonical/launchpad/scripts/ftests/librarianformatter.txt: Spurious characters.
    • lib/lp/bugs/tests/externalbugtracker-xmlrpc-transport.txt: ?
    • lib/lp/soyuz/doc/gina.txt: ?
    • lib/lp/soyuz/doc/package-diff.txt: ?
    • lib/lp/translations/doc/poexport-language-pack.txt, lib/lp/translations/doc/potemplate.txt: Hints at tarfile.getnames() behaviour change as seen in unit tests too
    • lib/lp/translations/tests/../doc/poexport-request-productseries.txt: ?
    • lib/lp/translations/tests/../doc/poexport-request.txt: ?
  • canonical.testing.layers.AppServerLayer tests: Ran 128 tests with 0 failures and 0 errors

  • canonical.testing.layers.DatabaseFunctionalLayer tests: Ran 3054 tests with 1 failures and 0 errors

    • lib/lp/registry/doc/teammembership.txt: Looks like benign formatting issue.
  • canonical.testing.layers.PageTestLayer tests: Ran 6028 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/distribution/xx-distribution-upstream-bug-report.txt: Formatting issue.
    • lib/lp/bugs/stories/feeds/xx-bug-atom.txt: Looks like benign 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 140 tests with 0 failures and 0 errors

  • lp.codehosting.tests.test_acceptance.SSHServerLayer tests: Ran 46 tests with 46 failures and 0 errors

    • unexpected return codes from subprocesses all over the place

  • 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.