Firefox Repository
Unofficial Firefox flatpak repository. This is an unofficial Firefox flatpak repository provided by Fedora and Red Hat maintainers and made for testing purposes. To obtain official Firefox provided by Mozilla go to official website. We're committed to updating this repository until. Firefox 4 is currently available through ubuntu-mozilla-daily PPA repository (semi-official) and SilverWave PPA repository (non-official). You need to add one of those ppa repositories to your sources list, then update and install Firefox 4. To install from ubuntu-mozilla-daily on Karmic, Lucid or Maverick, run the following commands. A summary of repository state for mozilla-central.
Download Firefox
Warning: This page is OUT OF DATE since the comm-central code now needs to reside in a comm/ subdirectory of the mozilla-central code. Also, client.py (see below) no longer exists.
Using Mercurial
Mercurial is a source code management tool which enables users to track changes to their source code locally and share their changes with others. The Mozilla project is in transition from using CVS for Mozilla 1.9 development to Mercurial for Mozilla 1.9.1 development and onwards.
Client settings
The settings are the same as for the core Firefox 3.5/xulrunner 1.9.1 development. See Mozilla_Source_Code_(Mercurial)#Client_settings.
Branches
comm-central has various different branches available. Current possibilities are:
http://hg.mozilla.org/comm-central/
(trunk builds of Thunderbird, SeaMonkey, and Sunbird)http://hg.mozilla.org/releases/mozilla-1.9.1/
(Thunderbird 3.0, SeaMonkey 2.0, Sunbird 1.0)http://hg.mozilla.org/releases/mozilla-1.9.2/
(Thunderbird 3.1)
For more information on these branches, see the comm-central page.
Initial checkout
The Thunderbird, SeaMonkey, Lightning and Sunbird source code is contained in several different repositories. The main integration repository for those applications is comm-central, which contains the main code that is required in addition to the core Gecko code. It also contains a script, client.py
, which is used to get the other code.
To get one of the comm-central repositories, clone it (using Mercurial terminology). Do the following, replacing <location of repository>
with one of the URLs from the Branches section above, depending upon what you want to build:
Update/pull all other needed sources using client.py
:
Note: If you get the error message 'No module named subprocess', install Python 2.4 or later.
This step downloads hundreds of megabytes of data. It can take a while, depending on your network connection.
client.py
performs the following tasks:
- Pulls any new changesets to the comm-central codebase
- Pulls the mozilla-central codebase into mozilla/
- Pulls the following repositories into mozilla/extensions/:
- irc (Chatzilla)
- inspector (DOM Inspector)
- venkman (JavaScript Debugger)
- Pulls the LDAP SDK codebase into ldap/sdks/ (Except on recent trunk — December 2010 — this is done by CVS and the destination is mozilla/directory/c-sdk instead)
- Runs
hg update
after eachhg pull
above to update the corresponding repository clone's working directory contents. This is not required (in fact, you may prefer to pull manually). Pass--skip-comm
toclient.py
to skip this.
Updating the repository
To update the repository, just run client.py
again:
Alternative methods
Using Mercurial bundles
See Mercurial Bundles
Using Github
To only obtain the latest version of the source tree, you can use the Github comm-central mirror (called gecko-dev) as follows. For quick tests, this is appropriate it is because faster than the complete clone.
Building
Linux Repository Location
For the comm-central apps, see the following links:
Example
The following script runs the checkout, build, and package operations in turn, telling you what it does (and when) and stopping at (and displaying) the first nonzero program exit code. It is written for the bash
shell on Linux-i686 and for an object directory set with mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@
, but it can be easily adapted for other Mozilla building environments:
Firefox and xulrunner
You can, if needed, build Firefox or xulrunner
from this tree. As client.py
pulls the mozilla-central repository, builds and development of Firefox and xulrunner
can take place within a repository from comm-central. The only difference is that you must be in the mozilla/ directory before running the build command: