[blfs-book] r9021 - in trunk/BOOK: . introduction/welcome xsoft/graphweb

andy at linuxfromscratch.org andy at linuxfromscratch.org
Sun Nov 27 13:42:07 PST 2011

Author: andy
Date: 2011-11-27 14:41:28 -0700 (Sun, 27 Nov 2011)
New Revision: 9021

Updated Firefox to 8.0.1
I've ripped out building against a system installed
xulrunner. I'm going to work on xulrunner next and 
come back to Firefox

Modified: trunk/BOOK/general.ent
--- trunk/BOOK/general.ent	2011-11-27 05:08:57 UTC (rev 9020)
+++ trunk/BOOK/general.ent	2011-11-27 21:41:28 UTC (rev 9021)
@@ -568,7 +568,6 @@
 <!ENTITY freeglut-version             "2.6.0">
 <!ENTITY goffice-version              "0.8.10">
 <!ENTITY mesalib-version              "7.9">
-<!-- The xulrunner version also appears in the firefox mozconfig as a literal -->
 <!ENTITY xulrunner-version            "">
 <!ENTITY webkitgtk-version            "1.2.5">
 <!ENTITY libsexy-version              "0.1.11">
@@ -783,7 +782,7 @@
 <!-- Chapter 36 -->
 <!ENTITY seamonkey-version            "2.0">
-<!ENTITY firefox-version              "3.6.13">
+<!ENTITY firefox-version              "8.0.1">
 <!ENTITY galeon-version               "2.0.1">
 <!-- Obsolete

Modified: trunk/BOOK/introduction/welcome/changelog.xml
--- trunk/BOOK/introduction/welcome/changelog.xml	2011-11-27 05:08:57 UTC (rev 9020)
+++ trunk/BOOK/introduction/welcome/changelog.xml	2011-11-27 21:41:28 UTC (rev 9021)
@@ -42,6 +42,15 @@
+      <para>November 27th, 2011</para>
+      <itemizedlist>
+        <listitem>
+          <para>[abenton] - Updated Firefox to 8.0.1.</para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+    <listitem>
       <para>November 25th, 2011</para>

Modified: trunk/BOOK/xsoft/graphweb/firefox.xml
--- trunk/BOOK/xsoft/graphweb/firefox.xml	2011-11-27 05:08:57 UTC (rev 9020)
+++ trunk/BOOK/xsoft/graphweb/firefox.xml	2011-11-27 21:41:28 UTC (rev 9021)
@@ -6,10 +6,10 @@
   <!ENTITY firefox-download-http "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
   <!ENTITY firefox-download-ftp  "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
-  <!ENTITY firefox-md5sum        "d7c90aed8209beefa74badf02e8eeae1">
-  <!ENTITY firefox-size          "51 MB">
-  <!ENTITY firefox-buildsize     "780 MB (stand-alone) or 440 MB (on Xulrunner)">
-  <!ENTITY firefox-time          "19 SBU (stand-alone) or 0.3 SBU (on Xulrunner)">
+  <!ENTITY firefox-md5sum        "b7d09b082e88a74860a51a8e04e29333">
+  <!ENTITY firefox-size          "67 MB">
+  <!ENTITY firefox-buildsize     "3 GB">
+  <!ENTITY firefox-time          "24 SBU">
 <sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
@@ -32,33 +32,8 @@
     <para><application>Firefox</application> is a stand-alone browser
     based on the <application>Mozilla</application> codebase.</para>
-    <para>With the introduction of Firefox-3.x, the
-    <application>pkgconfig</application> files for the Gecko engine (and for
-    <application>NSS</application> and <application>NSPR</application>) are not
-    installed.  This means that applications such as <application>Yelp
-    </application> 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 (of the
-    applications in this book, probably only the gnome applications
-    will recognize this version of Xulrunner), build <xref linkend="xulrunner"/>
-    first.</para>
+    &lfs70_checked;
-   <tip>
-    <para>Firefox is updated frequently as new vulnerabilities are found.
-    Consult
-    <ulink url="http://www.mozilla.org/security/known-vulnerabilities/">mozilla security</ulink>
-    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.6), 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
-    <application>Xulrunner</application> if you use that, then update Firefox
-   (ensuring the libxul-sdk option points to the new version).</para>
-   </tip>
-    &lfs67_checked;
-    <para>&lfssvn_checked;20101029&lfssvn_checked2;</para>
     <bridgehead renderas="sect3">Package Information</bridgehead>
     <itemizedlist spacing="compact">
@@ -81,51 +56,33 @@
-    <bridgehead renderas="sect3">Additional Downloads</bridgehead>
-    <itemizedlist spacing="compact">
-      <listitem>
-        <para>Optional patch: <ulink
-        url="&patch-root;/firefox-&firefox-version;-provide_system_nspr_nss-1.patch"/>
-        (Required if using the included NSPR and NSS libs as system versions for
-        other packages)</para>
-      </listitem>
-    </itemizedlist>
     <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
-    <bridgehead renderas="sect4">Recommended</bridgehead>
-    <para role="recommended"><xref linkend="xulrunner"/> which shares all these
-    dependencies, or for a standalone <application>Firefox</application> the
-    following Required and Optional dependencies:</para>
     <bridgehead renderas="sect4">Required</bridgehead>
     <para role="required"><xref linkend="alsa-lib"/>,
     <xref linkend="gtk2"/>,
-    <xref linkend="libidl"/>,
-    <xref linkend="pango"/>,
-    <xref linkend="python"/>, and
+    <xref linkend="libidl"/> and
     <xref linkend="zip"/></para>
-    <para>Note: <application>libjpeg</application> should have been installed
-    before <application>GTK+</application> and should exist on your system. If
-    for some reason you haven't installed <application>libjpeg</application>,
-    you should remove the <option>--with-system-jpeg</option> option from the
+    <para>Note: <application>libjpeg</application> and
+    <application>libpng</application> (patched for apng support) should have
+    been installed before <application>gdk-pixbuf</application> and should
+    exist on your system. If for some strange reason you haven't installed
+    them, you should remove the <option>--with-system-jpeg</option> and
+    <option>--with-system-png</option> options from the
     <filename>mozconfig</filename> file created below.</para>
     <bridgehead renderas="sect4">Optional</bridgehead>
     <para role="optional"><xref linkend="dbus-glib"/>,
-    <xref linkend="doxygen"/>,
-    <xref linkend="curl"/> (only for crash-reporter),
-    <xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/> (for gnome integration),
-    <xref linkend="libnotify"/>,
-    <xref linkend="libpng"/> (patched for apng support),
-    <xref linkend="nss"/> (recommended if you build any other Mozilla.org packages),
-    <xref linkend="startup-notification"/>,
-    <xref linkend="sqlite"/>,
-    <xref linkend="unzip"/>,
+    <xref linkend="startup-notification"/>, <xref linkend="sqlite"/>,
+    <ulink url="http://www.webmproject.org/code/">libvpx</ulink>,
     <ulink url="http://sourceforge.net/projects/hunspell/">Hunspell</ulink>,
-    <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing the jemalloc code), and
-    <xref linkend="wget"/></para>
+    <xref linkend="doxygen"/>,
+    <xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/> (for gnome
+    integration), <xref linkend="libnotify"/>, <xref linkend="nss"/>,
+    <xref linkend="unzip"/>, <xref linkend="wireless_tools"/>,
+    <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
+    the jemalloc code) and <xref linkend="wget"/></para>
     <para condition="html" role="usernotes">User Notes:
     <ulink url="&blfs-wiki;/firefox"/></para>
@@ -140,183 +97,70 @@
     the desired configuration options. A default <filename>mozconfig</filename>
     is created below. To see the entire list of available configuration options
     (and an abbreviated description of each one), issue
-    <command>./configure --help</command>. If you are not building against
-    <application>Xulrunner</application> 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 <ulink
-    url="&files-anduin;/firefox-&firefox-version;-mozconfig"/>
-    (the file must be installed in the root of the source tree
-    <filename class='directory'>mozilla</filename> directory, and named
-    <filename>mozconfig</filename> or <filename>.mozconfig</filename>). Create
-    the file by issuing the following command:</para>
+    <command>./configure --help</command>. <!--If you are not building against
+    <application>Xulrunner</application> you must comment the 'Xulrunner'
+    items. --> You may also wish to review the entire file and uncomment any
+    other desired options. Create the file by issuing the following
+    command:</para>
 <screen><?dbfo keep-together="auto"?><userinput>cat > mozconfig << "EOF"
-<literal># 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.
+<literal># If you have a multicore machine you can speed up the build by running
+# several jobs at once, but if you have a single core, delete this line:
+mk_add_options MOZ_MAKE_FLAGS="-j4"
-# Specify that Firefox should be built. Note that this line is commented out
-# because it is redundant with the next setting.
-#ac_add_options --enable-application=browser
-# Use the default settings specified in the source tree. The
-# --enable-application=browser is set in this file.
-. $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 Firefox installed in a
-# different prefix, modify the line below to fit your needs.
-ac_add_options --prefix=/usr
-# Apply a minimal level of optimization (-O).
-ac_add_options --enable-optimize
-# These options are used so that the Firefox 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
-# Uncomment this if you have installed Hunspell
-#ac_add_options --enable-system-hunspell
-# Uncomment this if you have installed startup-notification
-#ac_add_options --enable-startup-notification
-# 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.
+# If you have installed DBus-Glib you can delete this option:
 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.
+# If you have installed wireless-tools you can delete this option:
 ac_add_options --disable-necko-wifi
-# Comment this if you have installed libnotify.
-ac_add_options --disable-libnotify
+# Uncomment these if you have installed them:
+# ac_add_options --enable-system-sqlite
+# ac_add_options --enable-system-lcms
+# ac_add_options --with-system-libvpx
+# ac_add_options --enable-startup-notification
-# 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.
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
+ac_add_options --enable-official-branding
+ac_add_options --prefix=/usr
+ac_add_options --enable-application=browser
+ac_add_options --enable-pthreads
+ac_add_options --enable-system-ffi
+ac_add_options --enable-system-jpeg
+ac_add_options --enable-system-png
+ac_add_options --enable-system-cairo
+ac_add_options --enable-system-zlib
+ac_add_options --enable-shared
+ac_add_options --disable-static
+ac_add_options --disable-debug
+ac_add_options --disable-crashreporter
 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
+ac_add_options --disable-tests</literal>
-# (options to add extra parts of the package)
-# This option causes the installed Firefox 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 Firefox
-# installation and is used to locate Firefox's installed files. This
-# option is is only used for development purposes.
-#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;
 # 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-&xulrunner-version;</literal>
+ac_add_options - -with-system-libxul
+ac_add_options - -with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;
     <para>Compile <application>Firefox</application> by issuing the
     following commands:</para>
-<screen><userinput>make -f client.mk build</userinput></screen>
+<screen><userinput>make -f client.mk</userinput></screen>
     <para>This package does not come with a test suite.</para>
     <para>Now, as the <systemitem class="username">root</systemitem> user,
     install the package:</para>
-<screen role="root"><userinput>make -f client.mk install &&
+<screen role="root"><userinput>make -C firefox-build-dir install &&
+mkdir -p /usr/lib/mozilla/plugins &&
+ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &&
+chown -R -v root:root /usr/{include,lib,share/idl}/firefox-&firefox-version; &&
+chown -R -v root:root /usr/lib/firefox-devel-&firefox-version;</userinput></screen>
-chown -R -v root:root /usr/share/idl/firefox-&firefox-version; \
-                      /usr/include/firefox-&firefox-version;   \
-                      destdir/usr/lib/firefox-devel-3.6.13/sdk/lib</userinput></screen>
-    <para>If you are building Firefox on Xulrunner, as the
-    <systemitem class="username">root</systemitem> user enter the following
-    symbolic link:</para>
-<screen role="root"><userinput>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins \
-    /usr/lib/firefox-&firefox-version;</userinput></screen>
   <sect2 role="commands">
@@ -326,114 +170,18 @@
     packaged to allow the use of a configuration file which can be used to
     pass the configuration settings to the <command>configure</command>
     command. <command>make</command> uses the <filename>client.mk</filename>
-    file to get initial configuration and setup parameters, then depending on
-    the target parameter (<parameter>build</parameter> or
-    <parameter>install</parameter>), either runs the
-    <command>configure</command> script and compiles the package or installs
-    the package.</para>
+    file to get initial configuration and setup parameters.</para>
-    <para><command>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
-    /usr/lib/firefox-&firefox-version;/plugins</command>:
-    <application>Firefox</application> looks for plugins in its own directory,
-    but when building on <application>Xulrunner</application> the plugins were
-    installed by that package.  Note that any plugins in
-    <filename class="directory">/usr/lib/mozilla/plugins</filename> will also be
-    found.</para>
+    <para><command>make -C firefox-build-dir install</command>: this runs
+    <command>make install</command> inside the firefox-build-dir folder.</para>
-   <tip>
-    <para>If you upgrade firefox, ensure that any additional plugins are moved
-    to the plugin directory of the new version.</para>
-   </tip>
+    <para><command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
+    that /usr/lib/mozilla/plugins exists (if you installed
+    <xref linkend="librsvg"/>, it was probably already there).</para>
-  </sect2>
+    <para><command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>:
+    this makes a symbolic link to /usr/lib/mozilla/plugins.</para>
-  <sect2 role="configuration">
-    <title>Configuring Firefox</title>
-    <para>No specific configuration is required as long as the
-    <command>firefox</command> script is in the user's path. If
-    <application>Firefox</application> is installed in a non-standard location,
-    then make a symlink to the <command>firefox</command> script in the
-    <filename class="directory">/usr/bin</filename> directory.</para>
-    <para>If your Window or Desktop Manager does not allow you to configure
-    a default mail client, you can add a configuration parameter to
-    <application>Firefox</application> so that an email client will start
-    when you click on a <systemitem role='url'>mailto:</systemitem> 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.</para>
-    <para>First, open the configuration dialog by entering
-    <systemitem role='url'>about:config</systemitem> in the address bar. This
-    will display a list of the configuration preferences and information
-    related to each one. You can use the <quote>Filter:</quote> 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 <quote>Modify</quote> from the menu and change the value. Creating
-    new preference items is accomplished in the same way, except choose
-    <quote>New</quote> from the menu and provide the desired data into the
-    fields when prompted.</para>
-    <para>The two configuration preference items you need to check so that
-    <application>Firefox</application> uses a specified default mail client
-    are the <parameter>network.protocol-handler.external.mailto</parameter>
-    which should be set to <option>True</option> and the
-    <parameter>network.protocol-handler.app.mailto</parameter> which should
-    be set to the path of the desired mail client, e.g.,
-    <option>/usr/bin/thunderbird</option>.</para>
-    <tip>
-      <para>There is a multitude of configuration parameters you can tweak to
-      customize <application>Firefox</application>. A very extensive and
-      up-to-date list of these parameters can be found at <ulink
-      url="http://preferential.mozdev.org/preferences.html"/>.</para>
-    </tip>
-    <para>Many old applications used to look for <command>netscape</command>
-    when they needed to open a browser. You may wish to make the following
-    symlink for convenience (as the <systemitem class="username">root</systemitem>
-    user).</para>
-<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
-    <para>For installing various <application>Firefox</application> plugins,
-    refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
-    PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
-    installed, create the following link as the
-    <systemitem class="username">root</systemitem> user to utilize the installed
-    <application>Java</application> plugin: </para>
-<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/lib/i386/libnpjp2.so \
-    /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
-    <para>If you have <xref linkend="icedtea6"/> installed as opposed to the
-    <xref linkend="jdk"/>, create the following link (again as the
-    <systemitem class="username">root</systemitem> user) to use the
-    <application>IcedTea6</application> plugin: </para>
-<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/IcedTeaPlugin.so \
-    /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
-    <para>Some packages install Mozilla plugins into the default system-wide
-    directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
-    If you have not already done this for <application>Xulrunner</application>
-    create symbolic links in the <application>Firefox</application>
-    plugin directory
-    <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
-    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
-    <application>Firefox</application> plugin directory. An example of creating
-    a symbolic link is shown below. Create the links as the
-    <systemitem class="username">root</systemitem> user:</para>
-<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable><plugin.so></replaceable> \
-    /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
   <sect2 role="content">
@@ -464,14 +212,8 @@
       <varlistentry id="firefox-prog">
-          <para>in a stand-alone build is a symbolic link to shell script in
-          <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
-          that sets up the environment and calls the <filename>firefox-bin</filename>
-          binary. When built on <application>Xulrunner</application>,
-          <command>firefox</command> is a symbolic link to a
-          <command>firefox</command> binary in
-          <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
-          </para>
+          <para>is a gtk2 internet browser that uses the gecko rendering
+          engine.</para>
           <indexterm zone="firefox firefox-prog">
             <primary sortas="b-firefox">firefox</primary>

More information about the blfs-book mailing list