Changes between Version 19 and Version 20 of firefox

09/06/2014 09:37:53 PM (9 years ago)

Remove extremely outdated instructions for using cvs to get the source.


  • firefox

    v19 v20  
    11= Firefox =
    3 == Compiling Firefox and Thunderbird From CVS ==
    4 The Mozilla developers tend to be cautious, making stable releases quite infrequently. Meanwhile active development continues on cvs head. Compiling Firefox and Thunderbird from cvs isn't hard. Obviously you'll need cvs [].
    5 First, decide where you're going to keep the code. The mozilla tree weighs in at more than 300Mb so it makes sense to use the same code for both Firefox and Thunderbird. First cd into a suitable folder and then login to cvs
     3== Getting development versions of firefox ==
    7 {{{
    8 export CVSROOT=""
    9 cvs login
    10 }}}
    11 Just press enter when it asks you for a password. Then checkout some configuration files
    12 {{{
    13  cvs co -f mozilla/ &&
    14 cvs co -f mozilla/browser/config/mozconfig &&
    15 cvs co -f mozilla/mail/config/mozconfig
    16 }}}
    17 Now create a suitable mozconfig for Firefox
    18 {{{
    19 cat > mozilla/mozconfig-fox << "EOF"
    20 . $topsrcdir/browser/config/mozconfig
    21 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build
    22 ac_add_options --with-pthreads
    23 ac_add_options --disable-tests
    24 ac_add_options --enable-svg
    25 ac_add_options --enable-canvas
    26 ac_add_options --enable-static
    27 ac_add_options --disable-shared
    28 ac_add_options --prefix=/usr
    29 ac_add_options --disable-installer
    30 ac_add_options --enable-extensions=default,spellcheck
    31 EOF
    32 }}}
    33 And one for Thunderbird
    34 {{{
    35 cat > mozilla/mozconfig-bird << "EOF"
    36 . $topsrcdir/mail/config/mozconfig
    37 mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/thunderbuild
    38 ac_add_options --with-pthreads
    39 ac_add_options --disable-tests
    40 ac_add_options --prefix=/usr
    41 ac_add_options --disable-installer
    42 EOF
    43 }}}
    44 Create a folder to make a backup copy of the finished builds
    45 {{{
    46 mkdir tarballs
    47 }}}
    48 Now you can build Firefox with these commands
    49 {{{
    50 cd mozilla &&
    51 ln -sf mozconfig-fox mozconfig &&
    52 rm -rf firefox-build &&
    53 make LDFLAGS=-lpangoxft-1.0 -f &&
    54 make -C firefox-build/browser/installer &&
    55 cp firefox-build/dist/firefox-3.0a1.en-US.linux-i686.tar.bz2 ../tarballs/firefox-$(date +%d-%m-%y).tar.bz2
    56 }}}
    57 If you put those commands in a script it makes it easy to automate it and do a weekly build. The first time it is run it will take forever for cvs to pull the code (slight exaggeration) depending on the speed of you internet connection. [[BR]][[BR]]
    58 Building Thunderbird is basically the same
    59 {{{
    60 cd mozilla &&
    61 ln -sf mozconfig-bird mozconfig &&
    62 rm -rf thunderbuild &&
    63 make -f &&
    64 make -C thunderbuild/xpinstall/packager &&
    65 cp thunderbuild/dist/thunderbird-3.0a1.en-US.linux-i686.tar.bz2 ../tarballs/thunderbird-$(date +%d-%m-%y).tar.bz2
    66 }}}
    67 The date in that command is in the European format, so tweak that to suit yourself. [[BR]][[BR]]
    68 To run the finished build it's just like the tarballs you can download from Mozilla. Untar it somewhere suitable and run the {firefox,thunderbird} script in the folder. [[BR]]
    69 I find it convenient to run them in my home folder, it saves having to login as root and it means that nothing I do here can screw up my carefully crafted BLFS system. It is possible to run (as root) '''make -f install''', then it will install Firefox in /usr (or Thunderbird, depending which mozconfig the symbolic link is pointing too). But I wouldn't recommend it, unless you've thoroughly road tested the build first. [[BR]]
    70 For one thing, you can't build Yelp (Gnomes help browser) linked against a current cvs Firefox build because it no longer installs [[BR]]
    71 If you do install it system side, but later change your mind and want to delete it again, these commands will remove Firefox
    72 {{{
    73 rm -f /usr/{bin,lib/pkgconfig}/firefox*
    74 rm -f /usr/share/aclocal/nspr.m4
    75 rm -rf /usr/{lib,include,share/idl}/firefox-3.0a1
    76 }}}
    77 And these commands will remove Thunderbird
    78 {{{
    79 rm -f /usr/{bin,lib/pkgconfig}/thunderbird*
    80 rm -rf /usr/{lib,include,share/idl}/thunderbird-3.0a1
    81 }}}
    82 It's safer not to take the risk. Just run it in your home folder.
    83 == Tweak the Build ==
    84 If I have to start afresh, I like Firefox to create the default profile with my bookmarks already there. To do this, copy ~/.mozilla/firefox/<random number>/bookmarks.html into the mozilla source, mozilla/browser/locales/en-US/profile/bookmarks.html then the next time you run the build script they'll be built in. If it causes a problem for cvs then delete the file and run the build script again, cvs will replace it. [[BR]]
    85 Another file that's ripe for tweaking is mozilla/browser/app/profile/prefs.js which, when it becomes the prefs.js file in you profile, stores many imporant settings (font sizes and suchlike). Firefox is picky about the syntax of that file so it's probably best not to edit it directly. Alter it by entering about:config in Firefoxs addressbar, make the changes you want, close Firefox and then copy the prefs.js from your profile.
     5If for some reason you wish to see what is being developed in firefox, the mozilla source code is in
     6mercurial repositiories. See []
    87 == Building on non-x86 architectures ==
    88 Most architectures seem to have flakey handling of the visibility pragma.  If you encounter errors such as [[BR]]
    89   undefined reference to `memcpy@@GLIBC_2.0' [[BR]]
    91 you need to add the following to your .mozconfig [[BR]]
    92 {{{
    93 ac_cv_visibility_pragma=no
    94 }}}
    96 == Building localized versions ==
    98 It should apply to all Mozilla-based packages and versions; I built this way Firefox/Thunderbird-1.5.x, 2.x and CVS, Seamonkey-1.x, NVU-0.x and 1.x and Sunbird-0.3.x.
    100 In the mozconfig-* file it is possible to add the following two lines:
    102 {{{
    103 ac_add_options --enable-ui-locale=<ll>
    104 mk_add_options MOZ_CO_LOCALES=<ll>
    105 }}}
    107 According to [path-to-sources]/mozilla/toolkit/locales/all-locales working and integrated locales are: cs, el, fi, fr, ga-IE, he, hu, it, nb-NO, nl, pl, ro, sv-SE, ru; missing localizations can be done manually by simply translating the stuff from original American-English to the desired one (example: I installed Thunderbird-2.0a1 localized but since it-sources are not available for that version I translated myself EN-US ones to it and placed them in [path-to-sources]/l10n/it hierarchy, used the same commands and now I use Thunderbird in italian). The localized files may have a different version number (example: Firefox-2.x uses it "langpack" 1.8.1 so it is worth to take a look before building to avoid missing xul, xml references and so on). It could be that a file or some files are missing from downloaded localization (example: for Firefox-CVS it is missing so I simply copied the original EN-US one and translated myself) but all that's needed is some patience; there are some tools that can be used to translate, the only one I tried is mozilla translator [].
    109 To find out if a localization is already done in firefox-trunk look at [[BR]]
    111 Check out translation from cvs:
    112 {{{
    113 cvs -d co l10n/<ll>
    114 }}}
    115 /l10n and firefox-source /mozilla must be in the same directory, configure with --enable-ui-locale=<ll>.
    117 Other infos can be found at:
    118 [[BR]]
    119 [[BR]]
    120 [[BR]]
    1239[wiki:GraphicalWebBrowsers Up][[br]]