%general-entities; ]> $LastChangedBy$ $Date$ Mozilla-&mozilla-version; Mozilla Introduction to <application>Mozilla</application> Mozilla is a browser suite, the Open Source sibling of Netscape. It includes the browser, composer, mail and news clients, a calendar client and an IRC client. The Mozilla project also hosts two subprojects that aim to satisfy the needs of users who don't need the complete browser suite or prefer to have separate applications for browsing and e-mail. These subprojects are Mozilla Firefox, (a stand-alone browser based on the Mozilla source code) and Mozilla Thunderbird, (a stand-alone mail client based on the Mozilla source code). The build instructions for these two applications are discussed in separate sections: Package information Download (HTTP): Download (FTP): Download MD5 sum: &mozilla-md5sum; Download size: &mozilla-size; Estimated disk space required: &mozilla-buildsize; Estimated build time: &mozilla-time; Additional downloads To enable the Enigmail extension to the Mozilla mail client, you'll need to download the two tarballs below. The Enigmail extension allows users to access the authentication and encryption features provided by the GnuPG package. <application>Mozilla</application> dependencies Required , , Recommended (for the Enigmail extension) Optional , , , , or (for the GSSAPI libraries), , Xprint, Electric Fence and Cairo Installation of <application>Mozilla</application> Compile Mozilla by running the following commands: export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && ./configure --prefix=/usr \ --with-default-mozilla-five-home=/usr/lib/mozilla \ --with-system-zlib \ --with-system-png \ --enable-application=suite \ --enable-default-toolkit=gtk2 \ --enable-extensions=all \ --enable-crypto \ --enable-xft \ --enable-xinerama \ --enable-optimize \ --enable-reorder \ --enable-strip \ --enable-cpp-rtti \ --enable-calendar \ --disable-freetype2 \ --disable-accessibility \ --disable-debug \ --disable-tests \ --disable-logging \ --disable-pedantic \ --disable-installer && make You should add the switch to the configure script if you have libjpeg installed. If you're building the Mozilla mail and news clients and plan to install the Enigmail extension, execute the following steps: tar -zxf ../enigmail-&enigmail-version;.tar.gz -C extensions && tar -zxf ../ipc-&ipc-version;.tar.gz -C extensions && build/autoconf/make-makefile extensions/ipc extensions/enigmail && make -C extensions/ipc && make -C extensions/enigmail Install Mozilla (as the root user) as follows: make install && install -d -m755 /usr/include/mozilla-&mozilla-version;/nss && cp -Lf dist/private/nss/*.h dist/public/nss/*.h \ /usr/include/mozilla-&mozilla-version;/nss && ln -nsf mozilla-&mozilla-version; /usr/include/mozilla && if [ -d /usr/lib/mozilla/plugins ]; then mv /usr/lib/mozilla/plugins/* /usr/lib/mozilla-&mozilla-version;/plugins rm -rf /usr/lib/mozilla fi && ln -nsf mozilla-&mozilla-version; /usr/lib/mozilla If you're installing the Enigmail extension, issue the following commands as the root user: make -C extensions/ipc install && make -C extensions/enigmail install Some libraries, including the Netscape Portable Runtime (NSPR) and Network Security Services (NSS) libraries, installed by Mozilla are also needed by other packages. These libraries should be in /usr/lib so that other packages can link against them. As the root user, move them as follows: for i in \ lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk do mv /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/ ln -sf ../$i /usr/lib/mozilla-&mozilla-version;/ done Create the required component registries to enable multi-user installs. These steps should be preformed by the root user each time a Mozilla add-on is installed. This will allow normal users to run mozilla. Enable multi-user operation by executing the following: cd /usr/lib/mozilla-&mozilla-version; && export LD_LIBRARY_PATH="$PWD" && export MOZILLA_FIVE_HOME="$PWD" && ./regxpcom && ./regchrome && touch `find . -name *.rdf` You should run /usr/bin/mozilla once as the root user (or any user with write privileges) to create some necessary additional files in the /usr hierarchy. Optional Extra Switches You may wish to run ./configure --help and review each of the listed options to discover what affect they have on the build. Feel free to add or remove options to tailor the build to your desires. Listed below are some common options not listed above but can be added to the configure command in order to have the described effect on the Mozilla compile. : Uses the system-installed copy of libjpeg instead of the bundled copy. : Removes un-referenced strings from ELF shared objects generated during the build. Note that this option breaks the build on alpha. : Disables the mail and news clients. : Disables LDAP support, recommended if mail is disabled. : Displays the current command in the xterm window title during the compilation. : Disables support for HTML editing. Do not use this switch if you are building the mail-news component. Command explanations export MOZILLA_OFFICIAL="1"; export BUILD_OFFICIAL="1": Set some variables that affect what and how the package is built. These two exports specify a distribution is being built. --with-default-mozilla-five-home=/usr/lib/mozilla: Sets the default value for MOZILLA_FIVE_HOME. --with-system-zlib --with-system-png : Use the system-installed versions of these packages. --enable-application=suite: Identifies the build as a Mozilla suite build. --enable-default-toolkit=gtk2: Use the GTK2 toolkit for graphics rendering. --enable-extensions=all: Enables all available extensions. If you want, you can disable any or all extensions other than the browser by changing this switch to --enable-extensions="default,-venkman,-inspector,...". For a short description of the various extensions available with the Mozilla source, see . --enable-crypto: Enable the Personal Security Manager to enable SSL connections. --enable-calendar: Builds the calendar application. Removed this parameter if you don't wish to build it. --enable-xft; --disable-freetype2: Enable Xft support which automatically pulls in the FreeType libraries. --enable-xinerama; --enable-optimize; --enable-reorder; --enable-strip; --enable-cpp-rtti --disable-accessibility; --disable-debug; --disable-tests; --disable-logging; --disable-pedantic; --disable-installer: Various options that affect what components are built and some optimization options. You can pick and choose from these options. More information on them, and many other available options, can be found by running ./configure --help. install -d /usr/include/mozilla-&mozilla-version;/nss; cp -Lf ...: Copy the NSS interface headers that are not copied by make install. if [ -d /usr/lib/mozilla/plugins ] ... fi: Some applications may have already installed Mozilla plugins. This set of commands move any existing plugins to the newly created plugin directory, then removes the existing /usr/lib/mozilla directory. ln -nsf mozilla-&mozilla-version; ...: Mozilla installs headers and libraries in version specific directories. These commands makes symbolic links so that applications depending on Mozilla (such as OpenOffice, Galeon, etc.) don't need to know which version of Mozilla is installed. Configuring <application>Mozilla</application> No specific configuration is required as long as the mozilla script is in the user's path. If Mozilla is installed in a non-standard location, then make a symlink to the mozilla script from /usr/bin. Many applications look for netscape when they need to open a browser. You may make the following symlink for convenience. ln -sf mozilla /usr/bin/netscape For installing various Mozilla plugins, refer to Mozdev's PluginDoc Project. Contents The Mozilla package contains mozilla and the Mozilla libraries and plugins. The various components such as the Composer, mail-news client, calendar, IRC chat client and address book can be accessed from the menu after mozilla starts or via command-line switches to the mozilla script. Issue man mozilla for additional information.