Features/Thunderbird/Improved Build System

From MozillaWiki
Jump to: navigation, search
Please use "Edit with form" above to edit this page.


Improved Build System
Stage On hold
Status `
Release target `
Health OK
Status note [up for grabs][This is not a feature as such, but a set of improvements to the build system for Thunderbird]


Product manager `
Directly Responsible Individual Mark Banner
Lead engineer `
Security lead `
Privacy lead `
Localization lead `
Accessibility lead `
QA lead `
UX lead `
Product marketing lead `
Operations lead `
Additional members `

Open issues/risks


Stage 1: Definition

1. Feature overview

Thunderbird has a complex build system. In comm-central there is a near-duplicate clone of the mozilla-central build system, that supports building of Thunderbird. Not only that, but both build systems are required to build Thunderbird.

Due to the build system not being an exact copy, there are high porting and maintenance overheads to keep up to date with mozilla-central. These need to be reduced.

As well as the build system, there are improvements to the packaging system to be made to help ensure Thunderbird is shipping with the correct files.

2. Users & use cases

Developers and building of Thunderbird.

3. Dependencies


4. Requirements




Stage 2: Design

5. Functional specification


6. User experience design


Stage 3: Planning

7. Implementation plan

For the build-config part, there's several possible stages:

1) In comm-central, prototype the extraction of Thunderbird and Mailnews specific arguments into a sub-configure file that is called from the configure file, but is as minimal as possible and does not duplicate the build system into the sub-configure (bug 648980)

2) Reduce the differences between the main comm-central and mozilla-central configures.

3) Investigate keeping comm-central in sync with mozilla-central using scripts or modified files.

4) Assuming that's not viable, investigate fully switching comm-central to be a sub-directory under mozilla-central (bug 648979)

Also, for packaging system, there's a couple of bugs worth trying to fix:

  • bug 713133 This will make package failures fatal, so if we're trying to package things that no longer exist, we'll get warned about it.
  • bug 526333 Defines a core package-manifest for all apps to use and share, which helps with reducing breakages when core items are added.

    8. Reviews

    Security review


    Privacy review


    Localization review




    Quality Assurance review


    Operations review


    Stage 4: Development

    9. Implementation


    Stage 5: Release

    10. Landing criteria


    Feature details

    Priority Unprioritized
    Rank 999
    Theme / Goal `
    Roadmap Thunderbird
    Secondary roadmap `
    Feature list Thunderbird
    Project `
    Engineering team Thunderbird

    Team status notes

      status notes
    Products ` `
    Engineering ` `
    Security Not Needed `
    Privacy Not Needed `
    Localization Not Needed `
    Accessibility Not Needed `
    Quality assurance ` `
    User experience Not Needed `
    Product marketing Not Needed `
    Operations Not Needed `