Closed
Bug 437643
Opened 16 years ago
Closed 16 years ago
Build Thunderbird and SeaMonkey from comm-central
Categories
(SeaMonkey :: Build Config, defect)
SeaMonkey
Build Config
Tracking
(Not tracked)
RESOLVED
FIXED
People
(Reporter: kairo, Assigned: kairo)
References
()
Details
For following http://wiki.mozilla.org/SeaMonkey/1.9.1_Repository_Options option A, we need to be able to build SeaMonkey with mozilla-central in a mozilla/ subdir that is in parallel to mailnews/ and suite/ so that the platform is a singleton that can be pulled into the structure of the future hg repository which I call "mailsuite" right now, as I expect it to contain mail/ and suite/ as well as the shared mailnews/ code.
I got this to build with the following list of steps (note that this contains a few hacks):
------------------------------------------------------
- pull from CVS: suite/
- pull from CVS: mailnews/
- pull from CVS: extensions/[irc|typeaheadfind|venkman|wallet|xml-rpc]
symlink them into mozilla/extensions
- pull from CVS: directory/ - symlink into mozilla/
- mozconfig: --enable-application=../suite
- mozconfig: mk_add_options MOZ_OBJDIR=/path/to/objdir/mozilla
(note the "mozilla" at the end!)
- suite/build.mk: prefix mailnews/ and suite/ with ..
- mozilla/configure.in: change line 4576 to match "*suite" instead of "suite"
(so MOZ_SUITE gets into mozilla-config.h)
(bug 437219 would allow us to get this via |DEFINES += -DMOZ_SUITE|
in a suite/app-config.mk)
- mozilla/configure.in: change line 1547 to point to
$topsrcdir/../suite/config/version.txt
(bug 437219 would probably also help here)
- mozilla/toolkit/toolkit-makefiles.sh: move mailnews block at line 913
to suite/makefiles.sh line 38
- cd mailnews/; sed -i 's/^DEPTH.*\.\.$/&\/mozilla/g' `find . -name Makefile.in`
- cd suite/; sed -i 's/^DEPTH.*\.\.$/&\/mozilla/g' `find . -name Makefile.in`
- suite/debugQA/locales/Makefile.in: after inclusion of config.mk,
add the following two lines (without indentation):
# HACK: make the locale expansion not insert the mozilla/ subdir for en-US
EXPAND_LOCALE_SRCDIR = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/../$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
- suite/locales/Makefile.in:
same hack as for suite/debugQA/locales/Makefile.in, and add another line:
EXPAND_LOCALE_SRCDIR_PLATFORM = $(if $(filter en-US,$(AB_CD)),$(topsrcdir)/$(1)/en-US,$(topsrcdir)/../l10n/$(AB_CD)/$(subst /locales,,$(1)))
change line 163 to use that additional expansion macro
- suite/build/Makefile.in: in the LOCAL_INCLUDES starting in line 74,
add a ../ between $(topsrcdir)/ and suite/
------------------------------------------------------
Individual items that need fixing to make this process better should be filesd as dependencies of this bug.
Assignee | ||
Comment 1•16 years ago
|
||
As bug 437219 is resolved now, mozilla/configure.in doesn't need to be modified (we can clean it from SeaMonkey references completely later), instead, the following modifications need to be made:
- suite/confvars.sh: add the following line before MOZ_APP_VERSION (line 47):
SEAMONKEY_VERSION=`cat $topsrcdir/../suite/config/version.txt`
- suite/app-config.mk: create this file, containing the following lines:
MOZ_SUITE = 1
SEAMONKEY_VERSION = $(MOZ_APP_VERSION)
DEFINES += -DMOZ_SUITE=1
Additionally, if you want to build with --enable-tests, you need the fix for bug 437896 and the following change:
- mailnews/imap/test/Makefile.in: in the LOCAL_INCLUDES line 74,
add a ../ between $(topsrcdir)/ and mailnews/
Assignee | ||
Comment 2•16 years ago
|
||
Just FYI, those further changes are needed for getting unit tests to pass:
- mailnews/base/test/unit/head_mailbase.js:
prefix "mailnews" directory with a "../"
- mailnews/db/msgdb/test/unit/head_maildb.js:
prefix "mailnews" directory with a "../"
- mailnews/db/msgdb/test/unit/test_maildb.js:
prefix "mailnews" directory with a "../"
- mailnews/news/test/unit/head_server_setup.js:
prefix "mailnews" directory with a "../"
- mailnews/news/test/unit/test_server.js:
prefix "mailnews" directory with a "../" in line 104
- mailnews/local/test/unit/head_maillocal.js:
prefix "mailnews" directory with a "../"
- mailnews/compose/test/unit/head_compose.js:
prefix "mailnews" directory with a "../"
- mailnews/compose/test/unit/test_sendMailMessage.js:
prefix "mailnews" directory with a "../" in line 20
- mailnews/compose/test/unit/test_nsMsgCompose1.js:
prefix "mailnews" directory with a "../" in lines 7,49,54
- mailnews/addrbook/test/unit/head_addrbook.js:
prefix "mailnews" directory with a "../"
- mailnews/addrbook/test/unit/test_cardForEmail.js:
prefix "mailnews" directory with a "../" in line 13
- mailnews/addrbook/test/unit/test_mailList1.js:
prefix "mailnews" directory with a "../" in line 35
- mailnews/addrbook/test/unit/test_nsIAbCard.js:
prefix "mailnews" directory with a "../" in line 14
- mailnews/extensions/bayesian-spam-filter/test/unit/head_bayes.js:
prefix "mailnews" directory with a "../"
- mailnews/extensions/bayesian-spam-filter/test/unit/test_bug228675.js:
prefix "mailnews" directory with a "../" in lines 41,155
Assignee | ||
Comment 3•16 years ago
|
||
Updating URL, as I now have put up my doc about this on http://wiki.mozilla.org/SeaMonkey:hg-based_build (including Thunderbird, BTW)
Assignee | ||
Updated•16 years ago
|
Assignee | ||
Comment 4•16 years ago
|
||
BTW, the URL is still correct, but we're not riding as much on the Mozilla build system with the final approach, so the instructions on that page have changed.
Assignee | ||
Updated•16 years ago
|
Assignee: nobody → kairo
Assignee | ||
Comment 5•16 years ago
|
||
I'm morphing this bug slightly so the summary names both Thunderbird and SeaMonkey as well as the new, decided repo name.
This bug is now about populating the new repository with the code that is ready to build both those products, as we will only populate it when we have everything ready for switching development to this repository (we need to use the current CVS source as a base snapshot for this when we switch, so to not halt development).
This bug should probably live in the MailNews Core product in its Build Config component (when it's still open when that's created, I'll care about mocing it accordingly).
Every bug that is a prerequisite for the switch to hg should block this one, everything that requires the switch can depend on this one. :)
Summary: Build SeaMonkey with mozilla-central (in a subdir) → Build Thunderbird and SeaMonkey from comm-central
Assignee | ||
Comment 7•16 years ago
|
||
http://hg.mozilla.org/comm-central/index.cgi/rev/e4f4569d451a
initial import of code from CVS tag HG_COMM_INITIAL_IMPORT at 2008-07-22 05:18:47 PST, imported and tagged cvs.mozilla.org modules: mozilla/directory/xpcom/ mozilla/mailnews/ mozilla/mail/ mozilla/suite/ mozilla/other-licenses/branding/thunderbird/
Comment 8•16 years ago
|
||
When the switch is completed, could you create a bundle of the repository,
as in <http://benjamin.smedbergs.us/blog/tag/mercurial/> ?
Thanks :-)
Comment 9•16 years ago
|
||
(In reply to comment #8)
> When the switch is completed, could you create a bundle of the repository,
> as in <http://benjamin.smedbergs.us/blog/tag/mercurial/> ?
> Thanks :-)
>
A bundle for us won't be needed, (as we did not import past changesets). Just clone our repo, then you can download that bundle and unpack to "src/mozilla" (the dir you cloned our repo to being "src") then run our client.py co and it will update the mozilla-central bundle as well as pull the rest of the source you will need.
Assignee | ||
Comment 10•16 years ago
|
||
From all I see and am told, builds from comm-central can be done and work, so this bug is FIXED. Please file any further issues with the builds or building as dependencies.
Status: NEW → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•