Contents
/usr/lib/firefox-3.6
Firefox is a stand-alone browser based on the Mozilla codebase.
With the introduction of firefox-3.x, the pkgconfig files for the Gecko engine (and for nss and nspr) are not installed. This means that applications such as Epiphany can no longer be built against firefox, and must instead be built against xulrunner (which is actually the same code, but built in a different way). If you wish to build other packages which use Gecko (for the moment, probably only gnome-2.24 or later versions will recognize xulrunner), build Xulrunner-1.9.2 first.
Firefox is updated frequently as new vulnerabilities are found. Consult mozilla security for details of what is fixed in newer releases. The editors cannot guess what will differ in newer versions: it should be straightforward to upgrade within the same series (3.5), but it is always possible that newer versions will have increased dependencies, or that something using the nss or gecko libraries will break. If you update, begin by updating xulrunner if you use that, then update firefox (ensuring the libxul-sdk option points to the new version).
Download (HTTP): http://releases.mozilla.org/pub/mozilla.org/firefox/releases/3.6/source/firefox-3.6.source.tar.bz2
Download (FTP): ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/3.6/source/firefox-3.6.source.tar.bz2
Download MD5 sum: 458051557ff49e6a352c1d56eee5782a
Download size: 47 MB
Estimated disk space required: 321 MB (stand-alone) or 303 MB (on xulrunner)
Estimated build time: 12 SBU (stand-alone) or 0.1 SBU (on xulrunner)
Optional patch: http://www.linuxfromscratch.org/patches/blfs/svn/firefox-3.6-provide_system_nspr_nss-1.patch (Required if using the included NSPR and NSS libs as system versions for other packages)
Xulrunner-1.9.2 which shares all these dependencies, or for a standalone firefox the following Required and Optional dependencies:
ALSA Library-1.0.21, GTK+-2.18.7, libIDL-0.8.13 Pango-1.26.2 Python-2.6.4, and Zip-3.0
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
--with-system-jpeg option from the
.mozconfig file created below.
D-Bus GLib Bindings-0.82, Doxygen-1.6.3, cURL-7.20.0 (only for crash-reporter), GNOME Virtual File System-2.24.2 and libgnomeui-2.24.2 (for gnome integration), little cms-1.19, libpng-1.2.42 (patched for apng support), NSPR-4.8.3, NSS-3.12.5, startup-notification-0.9. SQLite-3.6.23, UnZip-6.0, Valgrind (only for testing the jemalloc code), and Wget-1.12
User Notes: http://wiki.linuxfromscratch.org/blfs/wiki/firefox
The configuration of Firefox is
accomplished by creating a .mozconfig
file containing the desired configuration options. A default
.mozconfig is created below. To see
the entire list of available configuration options (and an
abbreviated description of each one), issue ./configure --help. If you are
not building against Xulrunner you
must comment the 'xulrunner' items. You may also wish to review the
entire file and uncomment any other desired options. If you would
prefer to download the file instead of creating it by typing or
cut-and-pasting, you can find it at
http://anduin.linuxfromscratch.org/files/BLFS/svn/firefox-3.6-mozconfig
(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"
# This file contains the options used in the Firefox build. You may
# need to specify additional options for your specific build needs.
# Use the information provided by running './configure --help' to
# help you determine if you need to add any additional options.
# Some additional options can be added by uncommenting the examples
# in this file or adding options by inserting a line containing
# 'ac_add_options --some-option-you-need'. Be aware that some accepted
# options, such as '--with-system-bz2', do not affect the build.
# specify that we want to build firefox
ac_add_options --enable-application=browser
# Use the default settings specified in the source tree
. $topsrcdir/browser/config/mozconfig
# Create an object directory and specify 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 below.
mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
# Specify the installation prefix. If you would prefer Xulrunner
# installed in a different prefix, modify the line below to fit
# your needs (the config will always be written to /etc/gre.d)
ac_add_options --prefix=/usr
# apply a minimal level of optimization (-O)
ac_add_options --enable-optimize
# These options are used so that the Xulrunner binaries are linked to
# the system-installed copies of the specified libraries instead of
# the source tree code which may not be the most recent versions.
# With the exception of libsqlite3, the libraries are statically linked.
# (Options to use system installed libraries)
# Using the shipped version of libsqlite3 has been reported to cause
# problems with other applications which were using sqlite3.
# Only comment this line if you know exactly what you are doing!
ac_add_options --enable-system-sqlite
# Comment this only if you want to use whatever patched version of cairo
# is in the shipped mozilla tree, together with the system headers.
ac_add_options --enable-system-cairo
# Comment this if you have not installed lcms.
ac_add_options --enable-system-lcms
# Comment this if you did not build libjpeg before GTK+-2.
ac_add_options --with-system-jpeg
# These two options enable support for building Xulrunner with
# system-installed versions of the Network Security Services (NSS)
# and Netscape Portable Runtime (NSPR) libraries. Comment them if
# you wish to use the included copies (not recommended).
ac_add_options --with-system-nspr
ac_add_options --with-system-nss
# Comment this if you have not built png with the apng patch.
ac_add_options --with-system-png
# The pthreads option is only used when building nspr
# Uncomment this if you build the included nspr.
#ac_add_options --with-pthreads
# zlib is included in LFS. Do not comment this line.
ac_add_options --with-system-zlib
# (Options to disable parts of the package)
# This option is used to disable the a11y support in the Xulrunner
# binaries. Comment out this option if you require a11y support.
ac_add_options --disable-accessibility
# Uncomment this if you did not build curl.
#ac_add_options --disable-crashreporter
# Comment this if you have built dbus-glib.
ac_add_options --disable-dbus
# Comment this if you have gnome-vfs and libgnomeui, and wish to
# integrate firefox into your gnome desktop
ac_add_options --disable-gnomevfs
# Comment this if you have wireless-tools installed and wish to use the new
# Necko WiFi scanning.
ac_add_options --disable-necko-wifi
# This option is added so that the Mozilla Installer program is not
# built or installed. The program is not required for a BLFS
# installation of Xulrunner.
ac_add_options --disable-installer
# If you enable javaxpcom, you must have a java compiler installed.
ac_add_options --disable-javaxpcom
# This option is added so that test libraries and programs are not
# built. These would only be required for debugging purposes.
ac_add_options --disable-tests
# Disable the updater, which is not appropriate if you build from source
ac_add_options --disable-updater
# (options to add extra parts of the package)
# This option causes the installed binaries to have the official
# Firefox name embedded in them. Due to license restrictions, you
# may not distribute binaries created using this option. It also
# means you get a popup EULA when you first run firefox.
ac_add_options --enable-official-branding
# Use the anti-phishing measures (a blacklist of sites).
ac_add_options --enable-safe-browsing
# This option is used so that the debugging symbols are removed from
# the installed binaries during the installation process. Comment out
# this option if you may have a need to retain the debugging symbols
# in the installed binaries (the resulting binaries will be about 7MB
# bigger).
ac_add_options --enable-strip
# Uncomment this option if you desire support for dual-monitor
# display using the X-Window Xinerama libraries.
#ac_add_options --enable-xinerama
# This option identifies the default binary directory of the Xulrunner
# installation and is used to locate Xulrunner's installed files. This
# option is is only used for development purposes.
#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-3.6
# Point to the xulrunner libraries - comment these for a standalone browser
ac_add_options --with-system-libxul
ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-1.9.2
EOF
If you did not install Xulrunner-1.9.2 or NSPR-4.8.3 and NSS-3.12.5, then fix a couple of build errors with the following commands:
patch -Np1 -i ../firefox-3.6-provide_system_nss_nspr-1.patch && sed 's@stable@unstable@' -i xulrunner/installer/mozilla-js.pc.in
Compile Firefox by issuing the following commands:
make -f client.mk build
This package does not come with a test suite.
Now, as the root user, install the
package:
make -f client.mk install
If you are building firefox on xulrunner, as the root user enter the following symbolic link:
ln -sv /usr/lib/xulrunner-1.9.2/plugins \
/usr/lib/firefox-3.6/plugins
If you've elected to use the included NSPR and NSS, while still the
root user, complete the
installation with the following commands:
for DL in \
libnss3.so libnssutil3.so libsmime3.so libssl3.so libsoftokn3.so \
libplds4.so libplc4.so libnspr4.so
do
ln -sv xulrunner-1.9.2/$DL /usr/lib/$DL
done
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.
ln -sv /usr/lib/xulrunner-1.9.2/plugins /usr/lib/firefox-3.6/plugins: Firefox looks for plugins in its own directory, but when building on xulrunner the plugins were installed by that package.
If you upgrade firefox, ensure that any additional plugins are moved to the plugin directory of the new version.
No specific configuration is required as long as the firefox script is in the user's
path. If Firefox is installed in a
non-standard location, then make a symlink to the firefox script in the
/usr/bin directory.
If your Window or Desktop Manager does not allow you to configure a
default mail client, you can add a configuration parameter to
Firefox so that an email client
will start when you click on a mailto: URL. There are two parameters you need
to check. The procedure to check or modify any of the configuration
parameters is quite simple and the instructions here can be used to
view or modify any of the parameters.
First, open the configuration dialog by entering 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.
The two configuration preference items you need to check so that
Firefox uses a specified default
mail client are the network.protocol-handler.external.mailto
which should be set to True and the
network.protocol-handler.app.mailto
which should be set to the path of the desired mail client, e.g.,
/usr/bin/thunderbird.
There is a multitude of configuration parameters you can tweak to customize Firefox. A very extensive and up-to-date list of these parameters can be found at http://preferential.mozdev.org/preferences.html.
Many applications look for netscape when they need to open a
browser. You may wish to make the following symlink for convenience
(as the root user).
ln -v -sf firefox /usr/bin/netscape
For installing various Firefox
plugins, refer to Mozdev's PluginDoc
Project. If you have the JDK-6 Update 18
already installed, create the following link as the root user to utilize the installed Java plugin:
ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/firefox-3.6/plugins
Some packages install Mozilla plugins into the default system-wide
directory /usr/lib/mozilla/plugins.
If you have not already done this for Xulrunner create symbolic links in the
Firefox plugin directory
/usr/lib/firefox-3.6/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 Firefox 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/firefox-3.6/plugins
/usr/lib/firefox-3.6
Last updated on 2010-04-21 19:10:06 +0000