On 3/11/14, 8:02 AM, Ryan VanderMeulen wrote:
As some of you on this list are already aware of, I have recently been toying
with the idea of overhauling MozillaBuild. I'm sending this message out to
flesh out the plan more and collect some early feedback before moving forward
formally with this.
As I see it, the current MozillaBuild has a few problems:
* High barrier of entry for new contributors due to requiring a specialized
build setup (or a custom VM image) to package
* Difficulty updating core components due to being pinned to an extremely old
revision of MSYS (version 1.0.11)
- This leaves us unable to fix bugs like bug 703986 without jumping through
hoops to do so
* Inability to ship small incremental updates (even an update to just Hg
requires a full 80+MB release)
* Difficulty including git due to side-by-side MSYS versions
I think that the above issues are largely fixable, but difficult without a more
extensive rebuild of MozillaBuild. Therefore, I would like to take this on as a
Q2 project. The rewrite would be based around MSYS2
(http://sourceforge.net/projects/msys2/), a more recent cygwin fork.
MSYS2 offers many nice improvements to the current MSYS:
* A built-in package manager (ported from Arch Linux -
https://wiki.archlinux.org/index.php/pacman), enabling smaller updates of core
components.
* Native builds of many core components included with MozillaBuild (or on the
wish list), like Hg, git, python, etc. No more side-by-side installations,
py2win, or other ugliness.
* Includes the mintty terminal, a very capable improvement over the native
Windows command line.
In the end, I think the rebuilt MozillaBuild will end up being simpler than the
current setup. Easier to package, easier to update, and easier to customize.
Let me know what you think :)
This all sounds fantastic. Thanks for taking this up!
I feel improving MozillaBuild is long overdue. I feel many developers
(myself included) avoid developing Firefox on Windows because the
development experience is horrible. The MozillaBuild environment is
partly to blame (build speed being the other, but mozmake / GNU make 4
has changed the game). We really should have more developers developing
Firefox on Windows because that's where our users are. I feel an
overhauled MozillaBuild would be a terrific carrot to lure people over.
It isn't a shipping requirement, but I'd like to eventually roll Windows
support into the in-tree bootstrapper.
https://github.com/indygreg/mozilla-central/compare/master...windows-bootstrap
contains some experimental work using a VBScript to bootstrap a Python
environment from which we can do real bootstrap work. We should be able
to easily plug msys2 package management into the mix.
The only major question I have is over the impact to release automation.
I'm not sure to what degree they rely on MozillaBuild, if any. We want
the build environments to remain as similar as possible to prevent
surprises. It would be great if you could get a commitment from
automation to transition to msys2 at or around the same time as
MozillaBuild. IIRC they are talking about moving their Windows infra out
of Mozilla data centers and into the cloud. So now would seem like the
best time to approach them with this looming requirement.
I can't wait for this to happen.
_______________________________________________
dev-builds mailing list
dev-builds@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-builds