glfs/xsoft/graphweb/firefox.xml

280 lines
10 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY firefox-download-http "http://ftp.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 "5704a8c36de84b408e069afb0c5bc1df">
<!ENTITY firefox-size "32.0 MB">
<!ENTITY firefox-buildsize "545 MB">
<!ENTITY firefox-time "10.3 SBU">
]>
<!--
Devs:
Always check the browser/config/mozconfig file in the source tree for
any changes to the options passed to configure. This file shows the
default build used by Mozilla. BLFS adds to this, but the values here
should be in our setup.
-->
<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
<?dbhtml filename="firefox.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>Firefox-&firefox-version;</title>
<indexterm zone="firefox">
<primary sortas="a-Firefox">Firefox</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Firefox</title>
<para><application>Firefox</application> is a stand-alone browser
based on the <application>Mozilla</application> codebase.</para>
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Download (HTTP): <ulink url="&firefox-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&firefox-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &firefox-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &firefox-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &firefox-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &firefox-time;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>Required patch: <ulink
url="&patch-root;/firefox-&firefox-version;-gcc4-2.patch"/></para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para><xref linkend="gtk2"/>,
<xref linkend="libidl"/> and
<xref linkend="zip"/></para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para><xref linkend="libjpeg"/>,
<xref linkend="unzip"/>,
<xref linkend="gnome-vfs"/> and
<xref linkend="libgnome"/> (to build the gnomevfs extension),
<xref linkend="mitkrb"/> or <xref linkend="heimdal"/>
(for the GSSAPI libraries to build the negotiateauth extension),
<xref linkend="doxygen"/>,
<ulink url="http://xprint.mozdev.org/">Xprint</ulink>,
<ulink url="http://perens.com/FreeSoftware/">Electric Fence</ulink></para>
</sect2>
<sect2 role="installation">
<title>Installation of Firefox</title>
<para>The configuration of <application>Firefox</application> is very
similar to <xref linkend="mozilla"/> and hence the options are not
discussed. Refer to the <xref linkend="mozilla"/> instructions for
explanations and additional configuration information.</para>
<para><application>Firefox</application> default behavior when invoked
with a URL parameter is to open a new browser window. If you would rather
<application>Firefox</application> open a new tab in an existing browser
window, issue the following command:</para>
<screen><userinput>sed -i 's|openURL(${_optLast}|&amp;, new-tab|' browser/app/mozilla.in</userinput></screen>
<para>Compile and install <application>Firefox</application> by
running the following commands:</para>
<screen><userinput>export MOZILLA_OFFICIAL="1" &amp;&amp;
export BUILD_OFFICIAL="1" &amp;&amp;
export MOZ_PHOENIX="1" &amp;&amp;
sed -i 's| dist_bin="$moz_libdir"|\
&amp;\n run_moz="$dist_bin/run-mozilla.sh"|' browser/app/mozilla.in &amp;&amp;
patch -Np1 -i ../firefox-&firefox-version;-gcc4-2.patch &amp;&amp;
./configure --prefix=/usr \
--with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version; \
--with-user-appdir=.firefox \
--with-system-zlib \
--with-system-png \
--enable-application=browser \
--enable-default-toolkit=gtk2 \
--enable-extensions=cookie,xml-rpc,xmlextras,pref,\
transformiix,universalchardet,webservices,inspector,\
gnomevfs,negotiateauth \
--enable-crypto \
--enable-xft \
--enable-xinerama \
--enable-optimize \
--enable-reorder \
--enable-strip \
--enable-cpp-rtti \
--enable-single-profile \
--disable-freetype2 \
--disable-accessibility \
--disable-debug \
--disable-tests \
--disable-logging \
--disable-pedantic \
--disable-installer \
--disable-mailnews \
--disable-ldap \
--disable-composer \
--disable-profilesharing &amp;&amp;
make</userinput></screen>
<para>You should add the <option>--with-system-jpeg</option> switch
to the <command>configure</command> script if you have
<application>libjpeg</application> installed.</para>
<para>This package does not come with a test suite.</para>
<para>Now, as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make install &amp;&amp;
install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &amp;&amp;
cp -v -Lf dist/private/nss/*.h dist/public/nss/*.h \
/usr/include/firefox-&firefox-version;/nss</userinput></screen>
<para>To enable multi-user operation, execute the following as the
<systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>cd /usr/lib/firefox-&firefox-version; &amp;&amp;
export LD_LIBRARY_PATH="$PWD" &amp;&amp;
export MOZILLA_FIVE_HOME="$PWD" &amp;&amp;
./regxpcom &amp;&amp;
./regchrome &amp;&amp;
touch `find . -name *.rdf`</userinput></screen>
<note>
<para>You should run <command>/usr/bin/firefox</command> once as the
<systemitem class="username">root</systemitem> user (or any user with
write privileges) to create some necessary additional files in the
<filename class='directory'>/usr</filename> hierarchy.</para>
</note>
<para>Lastly, unset the build variables from the unprivileged user's
environment:</para>
<screen><userinput>unset MOZILLA_OFFICIAL &amp;&amp;
unset BUILD_OFFICIAL &amp;&amp;
unset MOZ_PHOENIX</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>sed -i '...' browser/app/mozilla.in</command>: This command
fixes an issue where <application>Firefox</application> wants to call the
profile manager instead of just invoking another copy of itself.</para>
</sect2>
<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 from
<filename class="directory">/usr/bin</filename>.</para>
<para>Many applications look for <command>netscape</command> when they
need to open a browser. You may 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 <xref linkend="jdk"/> already
installed, create the following link as the
<systemitem class="username">root</systemitem> user to utilize the
<application>JAVA</application> plugin: </para>
<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>firefox and firefox-config</seg>
<seg>Numerous libraries, browser components, plugins, extensions, and
helper modules installed in <filename
class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
<seg>/usr/bin/defaults, /usr/include/firefox-&firefox-version;,
/usr/lib/firefox-&firefox-version;, and
/usr/share/idl/firefox-&firefox-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="firefox-prog">
<term><command>firefox</command></term>
<listitem>
<para>is the next-generation browser from Mozilla.</para>
<indexterm zone="firefox firefox-prog">
<primary sortas="b-firefox">firefox</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="firefox-config">
<term><command>firefox-config</command></term>
<listitem>
<para>determines the compile and linker flags that should be
used to compile and link programs that use
<application>Firefox</application> libraries and browser
components.</para>
<indexterm zone="firefox firefox-config">
<primary sortas="b-firefox-config">firefox-config</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>