Features/Thunderbird/Improved Build System
Status
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] |
{{#set:Feature name=Improved Build System
|Feature stage=On hold |Feature status=` |Feature version=` |Feature health=OK |Feature status note=[up for grabs][This is not a feature as such, but a set of improvements to the build system for Thunderbird] }}
Team
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 | ` |
{{#set:Feature product manager=`
|Feature feature manager=Mark Banner |Feature lead engineer=` |Feature security lead=` |Feature privacy lead=` |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=` |Feature ux lead=` |Feature product marketing lead=` |Feature operations lead=` |Feature 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
`
Non-goals
`
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
`
Accessibility
`
Quality Assurance review
`
Operations review
`
Stage 4: Development
9. Implementation
`
Stage 5: Release
10. Landing criteria
` {{#set:Feature open issues and risks=` |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. |Feature users and use cases=Developers and building of Thunderbird. |Feature dependencies=` |Feature requirements=` |Feature non-goals=` |Feature functional spec=` |Feature ux design=` |Feature 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. |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}
Feature details
Priority | Unprioritized |
Rank | 999 |
Theme / Goal | ` |
Roadmap | Thunderbird |
Secondary roadmap | ` |
Feature list | Thunderbird |
Project | ` |
Engineering team | Thunderbird |
{{#set:Feature priority=Unprioritized
|Feature rank=999 |Feature theme=` |Feature roadmap=Thunderbird |Feature secondary roadmap=` |Feature list=Thunderbird |Feature project=` |Feature 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 | ` |
{{#set:Feature products status=`
|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=Not Needed |Feature security health=` |Feature security notes=` |Feature privacy status=Not Needed |Feature privacy notes=` |Feature localization status=Not Needed |Feature localization notes=` |Feature accessibility status=Not Needed |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=` |Feature ux status=Not Needed |Feature ux notes=` |Feature product marketing status=Not Needed |Feature product marketing notes=` |Feature operations status=Not Needed |Feature operations notes=` }}