[follow-ups to mozilla.dev.planning]
tl;dr We're proposing to move Thunderbird and SeaMonkey into
mozilla-central to reduce maintenance complexities for build systems,
and for releng. Multiple-app handling in the same repository has
improved greatly, and the general rules would remain the same.
Feedback and discussion is most welcome - we have generally discussed
this within some individuals, but not widely.
Proposal
--------
We'd like to move Thunderbird and SeaMonkey (i.e. most of the contents
of comm-central) into mozilla-central.
Schedule:
We're looking to complete this in the Gecko 31 cycle, as then we'd be
able to pick it up in the next ESR cycle.
We already have this in preview mode running on the Alder twig.
Reasons:
There are several primary pain points that make things more complicated
for Thunderbird development, and its support for releases from releng.
The overarching reason is that this merge would reduce the amount of
work required to keep Thunderbird building to support security releases
and community development, and allow more focus on other areas.
They reasons we'd like to do this are:
- Requiring that comm-central pulls mozilla-central duplicates the build
system in weird and wonderful ways.
Maintaining the duplicate build system obviously duplicates much of the
work that is already being done in mozilla-central.
- Additionally, it would simplify pieces of m-c build config logic which
are accommodating c-c.
- Due to pulling different repositories, the workarounds for releng are
complex. It requires an almost totally-separate project configuration,
and when build configurations change, these must be manually ported to
the Thunderbird project configuration.
With a similar configuration to Firefox, we could base on the same
configuration with only a few changes to project name, and specific
files etc.
- Additionally, some benefits from search&replace patches are lost as
the code is in a separate repository.
Impacts
-------
History:
The merge will include the full c-c history.
Rules:
We'd obviously keep the same rules - changes that break
Thunderbird/SeaMonkey are not required to be fixed by the Gecko change
that breaks them.
We may relax some of the existing comm-central rules, e.g. Gecko build
system review could apply to the Thunderbird parts for search & replace
patches, rather than requesting separate reviews. Obviously, we'd
confirm with the appropriate areas before this happens.
Build:
Now that bug 787449 [1] is fixed, we can easily exclude
Thunderbird/SeaMonkey pushes from triggering gecko builds.
Tree:
We envision that the existing Thunderbird-Trunk would be kept separate
to the Mozilla-Central one, however, we could consider merging these at
a later date if it makes sense.
Directories:
The additional directories would currently be approximately:
mozilla-central/mail
mozilla-central/mailnews
mozilla-central/calendar
mozilla-central/chat
mozilla-central/im
mozilla-central/suite
mozilla-central/editor/ui
mozilla-central/db/mork
mozilla-central/other-licenses/branding/thunderbird
mozilla-central/ldap (also statically importing the ldap c-sdk).
However, we would be willing to restructure/group those if they are too
much/complex.
[1] https://bugzilla.mozilla.org/show_bug.cgi?id=787449
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform