mailman is included and built in the Launchpad source tree

Bug #375751 reported by Gary Poster
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Launchpad itself
Fix Released
High
Colin Watson

Bug Description

Mailman currently is included and built in the Launchpad source tree in a very custom way. This makes the build and integration hard to understand and hard to change.

One way to improve this would be to switch to mailman three which has a distutils build system.

Another, better, way is to treat mailman as a microservice and remove it from the tree: work to the interface instead. As mailman does all its work by polling LP, LP merely needs tests that assert the XMLRPC interfaces needed by mailman actually exist and work; LP can then provide a network test fake to let the mailman side of things be tested from the mailman side.

This would remove the monkey patching, make our test suite leaner and faster, and make when-to-deploy mailman easier to reason about and understand.

Revision history for this message
Barry Warsaw (barry) wrote :

An interim solution would be to fork upstream Mailman 2.1, apply our patches to the branch and make it available via PPA. We can then include a mmi recipe to build it within our tree, which is what I think Gary is doing in his buildout branch.

affects: launchpad → launchpad-foundations
Curtis Hovey (sinzui)
Changed in launchpad-foundations:
status: New → Triaged
importance: Undecided → Low
Revision history for this message
Robert Collins (lifeless) wrote :

I have a better suggestion - treat mailman as a microservice and remove it from the tree: work to the interface instead: mailman does all its work by polling LP, so LP merely needs tests that assert the XMLRPC interfaces needed by mailman actually exist and work; LP can then provide a network test fake to let the mailman side of things be tested from that side.

I'm going to repurpose this bug, because the spirit of it - that the integration is awkward and confusing - will be resolved by the microservice approach.

summary: - mailman should be built and included via distutils
+ mailman is included and built in the Launchpad source tree
Changed in launchpad:
importance: Low → High
tags: added: soa
description: updated
Revision history for this message
Colin Watson (cjwatson) wrote :

Mailman is now built from the much smaller lp-mailman tree instead, and is no longer built as part of Launchpad (https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/379464).

Changed in launchpad:
assignee: nobody → Colin Watson (cjwatson)
status: Triaged → Fix Released
Jeff Lane  (bladernr)
tags: removed: soa
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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