The work for building SeaMonkey and Thunderbird with mozilla-central has originally been based on the SeaMonkey/1.9.1_Repository_Options, and then refined following MailNews:HgMeetingNotes to use it own testing repository.
The new comm-central Mercurial repository contains SeaMonkey and Thunderbird code for now, calendar will follow at a later date. All of those codebases are imported as static snapshots from CVS, without keeping history, which will be available through cvs and web tools. The shared repository contains its own build system files, which started off as copies of the Mozilla equivalents, with some path adjustments and removals of not needed parts. For now, they call into lots of mozilla files, which can be gradually reduced over time so that in the end SeaMonkey and Thunderbird can build with some sort of a XULRunner SDK.
Building SeaMonkey or Thunderbird
- pull comm-central
hg clone http://hg.mozilla.org/comm-central/ src cd src
- update/pull all other needed source via client.py
python client.py checkout
- make sure you have autoconf 2.13 installed, see the comment about this on MDC
- create a mozconfig, using
- --enable-application=suite (for SeaMonkey)
- --enable-application=mail (for Thunderbird)
- build using client.mk:
make -f client.mk build
Building with Lightning (the integrated calendar)
Note! SeaMonkey doesn't work with lightning yet (bug 313822).
In your .mozconfig file: add the following line:
Build error when importing example mozconfig
If you get the following build error:
/src/mozilla/configure: /src/mozilla/mail/config/mozconfig: No such file or directory
Open your mozconfig and change the line:
The original problem happens because when configuring in mozilla/ (mozilla-central) it reads mozilla/ as the topsrcdir and errors out in that it can't find the inclusion you want.
As we have other solutions for setting the configuration defaults nowadays, the --enable-application line is the only one we really need out of there.
cvs checkout error with client.py
If you get the following error from client.py:
Executing command: ['cvs', '-d', '/usr/local/cvsroot', '-q', 'checkout', '-P', '-r', 'HEAD', '-d', 'calendar', 'mozilla/calendar'] cvs checkout: cannot find module `mozilla/calendar' - ignored Traceback (most recent call last): File "client.py", line 149, in <module> do_cvs_checkout(CVS_DIRS, CVS_CO_TAG, options.cvsroot, options.cvs, ) File "client.py", line 71, in do_cvs_checkout cwd=os.path.join(topsrcdir, checkoutdir, parent)) File "client.py", line 45, in check_call_noisy check_call(cmd, *args, **kwargs) File "/usr/lib/python2.5/subprocess.py", line 462, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['cvs', '-d', '/usr/local/cvsroot', '-q', 'checkout', '-P', '-r', 'HEAD', '-d', 'calendar', 'mozilla/calendar']' returned non-zero exit status 1
then it looks like your CVSROOT environment variable is set to '/usr/local/cvsroot', try unsetting it before calling client.py.