%general-entities; ]> $LastChangedBy$ $Date$ mozilla-&mozilla-version;-source.tar mozilla Mozilla-&mozilla-version; Mozilla Introduction to Mozilla 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/newsgroup 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 Required patch: Required patch: Required patch (if using system-installed versions of NSS and NSPR): To enable the Enigmail extension to the Mozilla mail client, you'll need to download the two tarballs and makemake file listed below. The Enigmail extension allows users to access the authentication and encryption features provided by the GnuPG package. The Enigmail extension will not operate correctly unless you have installed. Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum; Download MD5 sum (IPC): &mozilla-ipc-md5sum; The makemake file is an enhanced version that will be copied into the source tree to replace an existing file during the installation instructions. The instructions expect the file to be named mozilla-&mozilla-version;-enigmail_makemake. If you have installed, you can download and rename the file in one step using the following command: wget -O mozilla-&mozilla-version;-enigmail_makemake \ &enigmail-makemake-download;\ &enigmail-makemake-version; Mozilla Dependencies Required , , and Note: libjpeg should have been installed before GTK+ and should exist on your system. If for some reason you haven't installed libjpeg, you should remove the option from the .mozconfig file created below. Recommended (if you will be installing any other package that utilizes NSS/NSPR, such as Firefox, Thunderbird or Evolution) Optional , (to build the gnomevfs extension), , and or (for the GSSAPI libraries to build the negotiateauth extension) Installation of Mozilla The configuration of Mozilla is accomplished by creating a .mozconfig file containing the desired configuration options. A default .mozconfig file is created below. To see the entire list of available configuration options (and an abbreviated description of each one), issue ./configure --help. Additional information can also be found below in the section titled . If you are going to use system-installed versions of the NSS and NSPR libraries, ensure you uncomment the two lines at the bottom of the file. If you would prefer to download the file instead of creating it by typing or cut-and-pasting, you can find it at (the file must be installed in the root of the source tree mozilla directory, and named .mozconfig). Create the file by issuing the following command: cat > .mozconfig << "EOF" # Options for client.mk mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build # Options for 'configure' (same as command-line options) # Mandatory options ac_add_options --enable-application=suite ac_add_options --prefix=/usr # Options for system-installed software ac_add_options --with-system-zlib ac_add_options --with-system-png ac_add_options --with-system-jpeg # Options in all Mozilla-family builds ac_add_options --enable-official-branding ac_add_options --enable-strip ac_add_options --disable-tests ac_add_options --disable-installer ac_add_options --disable-accessibility # Options used for graphics settings in Mozilla Suite (Not Seamonkey) ac_add_options --enable-default-toolkit=gtk2 ac_add_options --enable-xft ac_add_options --disable-freetype2 # Options used just for Mozilla Suite (Not Seamonkey) ac_add_options --enable-optimize ac_add_options --disable-debug ac_add_options --disable-logging ac_add_options --enable-crypto ac_add_options --enable-extensions=all # Options used just for Mozilla Suite ac_add_options --enable-ldap ac_add_options --enable-calendar # Options used for system-installed NSS/NSPR #ac_add_options --with-system-nspr #ac_add_options --with-system-nss EOF If you have system-installed Network Security Services (NSS) and Netscape Portable Runtime (NSPR) libraries and you uncommented the appropriate lines in the .mozconfig file to utilize them, apply the following patch: patch -Np1 -i ../mozilla-&mozilla-version;-system_nss-1.patch Compile Mozilla by running the following commands: export MOZILLA_OFFICIAL="1" && export BUILD_OFFICIAL="1" && patch -Np1 -i ../mozilla-&mozilla-version;-gfx_fixes-1.patch && patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-1.patch && make -f client.mk build If you're building the Mozilla mail/newsgroup client and plan to install the Enigmail extension, issue the following commands: tar -xf ../enigmail-&mozilla-enigmail-version;.tar.gz -C extensions && tar -xf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions && install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \ extensions/ipc/makemake && install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \ extensions/enigmail/makemake && cd extensions/ipc && ./makemake -r && cd ../enigmail && ./makemake -r && cd ../.. && make -C ../mozilla-build/extensions/ipc && make -C ../mozilla-build/extensions/enigmail && make -C ../mozilla-build/extensions/enigmail xpi Install Mozilla by issuing the following commands as the root user: make -f client.mk install && install -v -m644 ../mozilla-build/dist/public/ldap-private/* \ /usr/include/mozilla-&mozilla-version;/ldap && install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/defaults/isp/US && install -v -m644 mailnews/base/ispdata/movemail.rdf \ /usr/lib/mozilla-&mozilla-version;/defaults/isp && ln -v -s ../movemail.rdf /usr/lib/mozilla-&mozilla-version;/defaults/isp/US If you built Mozilla utilizing system-installed NSS and NSPR libraries, the mozilla-ns*.pc pkgconfig files are broken as they point to the wrong directories where the actual libraries and interface headers are located. Issue the following commands as the root user to replace the broken files with symbolic links to known good files: ln -v -sf nss.pc /usr/lib/pkgconfig/mozilla-nss.pc && ln -v -sf nspr.pc /usr/lib/pkgconfig/mozilla-nspr.pc If you did NOT build Mozilla utilizing system-installed NSS and NSPR libraries, issue the following commands as the root user to install the NSS interface headers: install -v -m755 -d /usr/include/mozilla-&mozilla-version;/nss && cp -v -Lf ../mozilla-build/dist/{private,public}/nss/*.h \ /usr/include/mozilla-&mozilla-version;/nss If you built the Enigmail extension, issue the following commands as the root user to install the .xpi file into the /usr/lib/mozilla-&mozilla-version; directory: install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/xpi_store && install -v -m644 ../mozilla-build/dist/bin/enigmail-&mozilla-enigmail-version;-*.xpi \ /usr/lib/mozilla-&mozilla-version;/xpi_store There are two methods you can use to install the Enigmail extension. Both are shown here and provide the same functionality. The first method must be accomplished now (before the object directory is removed) and uses the conventional make install command to install the Enigmail files straight from the distribution directory of the object directory. An alternate method is shown as it installs using the .xpi file created earlier and can be done later (at any time you desire) as the file used to install Enigmail was copied into /usr/lib/mozilla-&mozilla-version;/xpi_store in the previous step. This method can be used to install any downloaded Mozilla extension distributed in a .xpi file. There are many extensions available for Mozilla. A list containing many of them can be found at . If you want to install the Enigmail extension now, issue the following commands as the root user: make -C ../mozilla-build/extensions/ipc install && make -C ../mozilla-build/extensions/enigmail install To install an extension from a created or download .xpi file, you simply need to open the .xpi file using the Open File option of the File menu of the Navigator window. You can browse to find the file (for example, the Enigmail .xpi file is located in /usr/lib/mozilla-&mozilla-version;/xpi_store), select it, then follow the prompts to install the extension. Unset the build variables from the unprivileged user's environment: unset MOZILLA_OFFICIAL && unset BUILD_OFFICIAL 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. Also do this each time you install additional extensions. Additional .mozconfig Options Information about some of the additional options which can be added to the .mozconfig configuration file is shown below. Note that this is just a few of the options. 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 in the default .mozconfig file but can be added in order to have the described effect on the Mozilla compile. : 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. .mozconfig Option Explanations To simplify reading the options below, they are labeled without ac_add_options inserted at the beginning of the option. mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build: Creates an object directory and specifies to build the package in that directory. If desired, modify the location of the object directory to a directory inside the source tree by removing ../ from the line. --enable-application=suite: Identifies the build as a Mozilla suite build. --with-system-zlib --with-system-png --with-system-jpeg: Uses the system-installed versions of these packages. --enable-official-branding: Uses the official Mozilla logos and icons in the built binaries. Due to license restrictions, you may not distribute binaries created using this option. --enable-default-toolkit=gtk2 --enable-xft --disable-freetype2: Use the GTK2 toolkit for graphics rendering and XFT (automatically pulls in the FreeType libraries) for font 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 . 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. Remove this parameter if you don't wish to build it. --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. Command Explanations export MOZILLA_OFFICIAL="1" export BUILD_OFFICIAL="1": Sets some variables that affect what and how the package is built. These two exports specify a distribution is being built. make -f client.mk ...: Mozilla products are packaged to allow the use of a configuration file which can be used to pass the configuration settings to the configure command. make uses the client.mk file to get initial configuration and setup parameters, then depending on the target parameter (build or install), either runs the configure script and compiles the package or installs the package. ./makemake -r: This command is used to recursively create Makefiles in the current directory. make -C ... xpi: This command builds the Enigmail .xpi file which can be used to install Enigmail. install .../movemail.rdf ...: This command is used to install a file inadvertently left out of the installation script. Configuring Mozilla 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 in the /usr/bin directory. Many applications look for netscape when they need to open a browser. You may make the following symlink for convenience (as the root user). ln -v -sf mozilla /usr/bin/netscape For installing various Mozilla plugins, refer to Mozdev's PluginDoc Project. If you have already installed, create the following link as the root user to utilize the JAVA plugin: ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \ /usr/lib/mozilla-&mozilla-version;/plugins Some packages install Mozilla plugins into the default system-wide directory /usr/lib/mozilla/plugins. If desired, create symbolic links in the Mozilla plugin directory /usr/lib/mozilla-&mozilla-version;/plugins to the files in the default plugin directory (you should link to the actual files and not other links). Alternatively, you can move or copy the files in the default plugin directory to the Mozilla plugin directory. An example of creating a symbolic link is shown below. Create the links as the root user: ln -v -s ../../mozilla/plugins/[plugin.so] \ /usr/lib/mozilla-&mozilla-version;/plugins Along with using the Preferences menu to configure Mozilla's options and preferences to suit individual tastes, finer grain control of many options is only available using a tool not available from the general menu system. To access this tool, you'll need to open a Navigator window and enter about:config in the address bar. This will display a list of the configuration preferences and information related to each one. You can use the Filter: bar to enter search criteria and narrow down the listed items. Changing a preference can be done using two methods. One, if the preference has a boolean value (True/False), simply double-click on the preference to toggle the value and two, for other preferences simply right-click on the desired line, choose Modify from the menu and change the value. Creating new preference items is accomplished in the same way, except choose New from the menu and provide the desired data into the fields when prompted. There is a multitude of configuration parameters you can tweak to customize Mozilla. A very extensive and up-to-date list of these parameters can be found at . Contents Installed Programs Installed Libraries Installed Directories mozilla and mozilla-config Numerous libraries, browser, and email/newsgroup components, plugins, extensions, and helper modules installed in /usr/lib/mozilla-&mozilla-version; /usr/include/mozilla-&mozilla-version;, /usr/lib/mozilla-&mozilla-version;, and /usr/share/idl/mozilla-&mozilla-version; Short Descriptions mozilla is a browser/email/newsgroup/calendar/chat client suite. 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. mozilla