glfs/xsoft/graphweb/mozilla.xml
Randy McMurchy b4b7337e7b Updated to Enigmail-0.90.1 in Mozilla and Thunderbird instructions; added indexing tags to Thunderbird
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@3493 af4574ff-66df-0310-9fd7-8a98e5e911e0
2005-02-24 18:01:39 +00:00

382 lines
16 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY mozilla-download-http "http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-source-&mozilla-version;.tar.bz2">
<!ENTITY mozilla-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-source-&mozilla-version;.tar.bz2">
<!ENTITY mozilla-md5sum "e5994f3e801cd834966367c6a12f8aeb">
<!ENTITY mozilla-size "30 MB">
<!ENTITY mozilla-buildsize "625 MB">
<!ENTITY mozilla-time "13.72 SBU">
<!ENTITY mozilla-enigmail-version "0.90.1">
<!ENTITY mozilla-enigmail-md5sum "61deeb21ec7df10de9ad790039063f41">
<!ENTITY mozilla-ipc-version "1.1.2">
<!ENTITY mozilla-ipc-md5sum "4aa272b46c8cbf167dcd49a6d74cf526">
]>
<sect1 id="mozilla" xreflabel="Mozilla-&mozilla-version;">
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<?dbhtml filename="mozilla.html" ?>
<title>Mozilla-&mozilla-version;</title>
<indexterm zone="mozilla">
<primary sortas="a-Mozilla">Mozilla</primary>
</indexterm>
<sect2>
<title>Introduction to <application>Mozilla</application></title>
<para><application>Mozilla</application> is a browser suite, the Open Source
sibling of <application>Netscape</application>. It includes the browser,
composer, mail and news clients, a calendar client and an
<acronym>IRC</acronym> client.</para>
<para>The <application>Mozilla</application> 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
<ulink url="http://www.mozilla.org/products/firefox/">Mozilla Firefox</ulink>,
(a stand-alone browser based on the
<application>Mozilla</application> source code) and <ulink
url="http://www.mozilla.org/products/thunderbird/">Mozilla Thunderbird</ulink>,
(a stand-alone mail client based on the <application>Mozilla</application>
source code). The build instructions for these two applications are discussed
in separate sections:</para>
<itemizedlist>
<listitem><para><xref linkend="firefox"/></para></listitem>
<listitem><para><xref linkend="thunderbird"/></para></listitem>
</itemizedlist>
<sect3><title>Package information</title>
<itemizedlist spacing='compact'>
<listitem><para>Download (HTTP): <ulink
url="&mozilla-download-http;"/></para></listitem>
<listitem><para>Download (FTP): <ulink
url="&mozilla-download-ftp;"/></para></listitem>
<listitem><para>Download MD5 sum (Mozilla):
&mozilla-md5sum;</para></listitem>
<listitem><para>Download MD5 sum (Enigmail):
&mozilla-enigmail-md5sum;</para></listitem>
<listitem><para>Download MD5 sum (IPC):
&mozilla-ipc-md5sum;</para></listitem>
<listitem><para>Download size: &mozilla-size;</para></listitem>
<listitem><para>Estimated disk space required:
&mozilla-buildsize;</para></listitem>
<listitem><para>Estimated build time:
&mozilla-time;</para></listitem></itemizedlist>
</sect3>
<sect3><title>Additional downloads</title>
<para>To enable the <application>Enigmail</application> extension to the
<application>Mozilla</application> mail client, you'll need to download the
two tarballs below. The <application>Enigmail</application> extension allows
users to access the authentication and encryption features provided by the
<application>GnuPG</application> package.</para>
<itemizedlist spacing='compact'>
<listitem><para><ulink
url="http://downloads.mozdev.org/enigmail/src/enigmail-&mozilla-enigmail-version;.tar.gz"/>
</para></listitem>
<listitem><para><ulink
url="http://downloads.mozdev.org/enigmail/src/ipc-&mozilla-ipc-version;.tar.gz"/>
</para></listitem>
</itemizedlist>
</sect3>
<sect3><title><application>Mozilla</application> dependencies</title>
<sect4><title>Required</title>
<para><xref linkend="zip"/>,
<xref linkend="gtk2"/>,
<xref linkend="libIDL"/></para>
</sect4>
<sect4><title>Recommended</title>
<para><xref linkend="gnupg"/> (for the <application>Enigmail</application>
extension)</para>
</sect4>
<sect4><title>Optional</title>
<para><xref linkend="libjpeg"/>,
<xref linkend="unzip"/>,
<xref linkend="gnome-vfs"/>,
<xref linkend="libart_lgpl"/>,
<xref linkend="heimdal"/> or <xref linkend="mitkrb"/>
(for the GSSAPI libraries),
<xref linkend="doxygen"/>,
<ulink url="http://xprint.mozdev.org/">Xprint</ulink>,
<ulink url="http://perens.com/FreeSoftware/">Electric Fence</ulink> and
<ulink url="http://cairographics.org/">Cairo</ulink></para>
</sect4>
</sect3>
</sect2>
<sect2>
<title>Installation of <application>Mozilla</application></title>
<para>Compile <application>Mozilla</application> by running the following
commands:</para>
<screen><userinput><command>export MOZILLA_OFFICIAL="1" &amp;&amp;
export BUILD_OFFICIAL="1" &amp;&amp;
./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 &amp;&amp;
make</command></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>If you're building the <application>Mozilla</application> mail and news
clients and plan to install the <application>Enigmail</application>
extension, execute the following steps:</para>
<screen><userinput><command>tar -zxf ../enigmail-&mozilla-enigmail-version;.tar.gz -C extensions &amp;&amp;
tar -zxf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions &amp;&amp;
build/autoconf/make-makefile extensions/ipc extensions/enigmail &amp;&amp;
make -C extensions/ipc &amp;&amp;
make -C extensions/enigmail</command></userinput></screen>
<para>Install <application>Mozilla</application> (as the root user) as
follows:</para>
<screen><userinput role='root'><command>make install &amp;&amp;
install -d -m755 /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
cp -Lf dist/private/nss/*.h dist/public/nss/*.h \
/usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
ln -nsf mozilla-&mozilla-version; /usr/include/mozilla &amp;&amp;
if [ -d /usr/lib/mozilla/plugins ]; then
mv /usr/lib/mozilla/plugins/* /usr/lib/mozilla-&mozilla-version;/plugins
rm -rf /usr/lib/mozilla
fi &amp;&amp;
ln -nsf mozilla-&mozilla-version; /usr/lib/mozilla</command></userinput></screen>
<para>If you're installing the <application>Enigmail</application> extension,
issue the following commands as the root user:</para>
<screen><userinput role='root'><command>make -C extensions/ipc install &amp;&amp;
make -C extensions/enigmail install</command></userinput></screen>
<para>Some libraries, including the Netscape Portable Runtime
(<acronym>NSPR</acronym>) and Network Security Services
(<acronym>NSS</acronym>) libraries, installed by
<application>Mozilla</application> are also needed by other packages. These
libraries should be in <filename>/usr/lib</filename> so that other packages
can link against them. As the root user, move them as follows:</para>
<screen><userinput role='root'><command>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</command></userinput></screen>
<para>Create the required component registries to enable multi-user installs.
These steps should be preformed by the root user each time a
<application>Mozilla</application> add-on is installed. This will allow normal
users to run <command>mozilla</command>. Enable multi-user operation by
executing the following:</para>
<screen><userinput role='root'><command>cd /usr/lib/mozilla-&mozilla-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`</command></userinput></screen>
<note><para>You should run <command>/usr/bin/mozilla</command> once as the
root user (or any user with write privileges) to create some necessary
additional files in the <filename class='directory'>/usr</filename>
hierarchy.</para></note>
</sect2>
<sect2>
<title>Optional Extra Switches</title>
<para>You may wish to run <command>./configure --help</command> 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 <command>configure</command> command in order to have the described effect
on the <application>Mozilla</application> compile.</para>
<para><option>--with-system-jpeg</option>: Uses the system-installed copy of
<application>libjpeg</application> instead of the bundled copy.</para>
<para><option>--enable-elf-dynstr-gc</option>: Removes un-referenced
strings from <acronym>ELF</acronym> shared objects generated during the build.
Note that this option breaks the build on alpha.</para>
<para><option>--disable-mailnews</option>: Disables the mail and news
clients.</para>
<para><option>--disable-ldap</option>: Disables <acronym>LDAP</acronym>
support, recommended if mail is disabled.</para>
<para><option>--enable-xterm-updates</option>: Displays the current command
in the <command>xterm</command> window title during the compilation.</para>
<para><option>--enable-plaintext-editor-only</option>: Disables support
for <acronym>HTML</acronym> editing. Do not use this switch if you are
building the mail-news component.</para>
</sect2>
<sect2>
<title>Command explanations</title>
<para><command>export MOZILLA_OFFICIAL="1";
export BUILD_OFFICIAL="1"</command>: Set some variables that affect what and
how the package is built. These two exports specify a distribution is being
built.</para>
<para><parameter>--with-default-mozilla-five-home=/usr/lib/mozilla</parameter>:
Sets the default value for <envar>MOZILLA_FIVE_HOME</envar>.</para>
<para><parameter>--with-system-zlib --with-system-png </parameter>: Use the
system-installed versions of these packages.</para>
<para><parameter>--enable-application=suite</parameter>: Identifies the build
as a <application>Mozilla</application> suite build.</para>
<para><parameter>--enable-default-toolkit=gtk2</parameter>: Use the
<acronym>GTK</acronym>2 toolkit for graphics rendering.</para>
<para><parameter>--enable-extensions=all</parameter>: Enables all available
extensions. If you want, you can disable any or all extensions other than the
browser by changing this switch to
<parameter>--enable-extensions="default,-venkman,-inspector,..."</parameter>.
For a short description of the various extensions available with the
<application>Mozilla</application> source, see
<ulink
url="http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt"/>.
</para>
<para><parameter>--enable-crypto</parameter>: Enable the Personal
Security Manager to enable <acronym>SSL</acronym> connections.</para>
<para><parameter>--enable-calendar</parameter>: Builds the calendar
application. Removed this parameter if you don't wish to build it.</para>
<para><parameter>--enable-xft; --disable-freetype2</parameter>: Enable Xft
support which automatically pulls in the <application>FreeType</application>
libraries.</para>
<para><parameter>--enable-xinerama; --enable-optimize; --enable-reorder;
--enable-strip; --enable-cpp-rtti --disable-accessibility; --disable-debug;
--disable-tests; --disable-logging; --disable-pedantic;
--disable-installer</parameter>: 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 <command>./configure --help</command>.</para>
<para><command>install -d /usr/include/mozilla-&mozilla-version;/nss;
cp -Lf ...</command>: Copy the <acronym>NSS</acronym> interface headers that
are not copied by <command>make install</command>.</para>
<para><command>if [ -d /usr/lib/mozilla/plugins ] ... fi</command>: Some
applications may have already installed <application>Mozilla</application>
plugins. This set of commands move any existing plugins to the newly created
plugin directory, then removes the existing
<filename class='directory'>/usr/lib/mozilla</filename> directory.</para>
<para><command>ln -nsf mozilla-&mozilla-version; ...</command>:
<application>Mozilla</application> installs headers and libraries in version
specific directories. These commands makes symbolic links so that applications
depending on <application>Mozilla</application> (such as
<application>OpenOffice</application>, <application>Galeon</application>,
etc.) don't need to know which version of <application>Mozilla</application>
is installed.</para>
</sect2>
<sect2>
<title>Configuring <application>Mozilla</application></title>
<para>No specific configuration is required as long as the
<command>mozilla</command> script is in the user's path. If
<application>Mozilla</application> is installed in a non-standard location,
then make a symlink to the <command>mozilla</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
root user).</para>
<screen><userinput role='root'><command>ln -sf mozilla /usr/bin/netscape</command></userinput></screen>
<para>For installing various <application>Mozilla</application> plugins, refer
to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc
Project</ulink>.</para>
</sect2>
<sect2>
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Program</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>mozilla</seg>
<seg>Numerous libraries, browser and email/newsgroup components, plugins,
extensions and helper modules installed in
<filename class='directory'>/usr/lib/mozilla-&mozilla-version;</filename></seg>
<seg>/usr/include/mozilla-&mozilla-version;,
/usr/lib/mozilla-&mozilla-version; and
/usr/share/idl/mozilla-&mozilla-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<varlistentry id="mozilla-prog">
<term><command>mozilla</command></term>
<listitem><para>is a browser/email/newsgroup/calendar/chat client suite. The
various components such as the Composer, mail-news client, calendar,
<acronym>IRC</acronym> chat client and address book can be accessed from the
menu after <command>mozilla</command> starts or via command-line switches to
the <command>mozilla</command> script. Issue <command>man mozilla</command>
for additional information.</para>
<indexterm zone="mozilla mozilla-prog">
<primary sortas="b-mozilla">mozilla</primary>
</indexterm></listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>