mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-02-02 05:22:13 +08:00
e615d9bfbf
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@4650 af4574ff-66df-0310-9fd7-8a98e5e911e0
420 lines
17 KiB
XML
420 lines
17 KiB
XML
<?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 mozilla-download-http "http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
|
|
<!ENTITY mozilla-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
|
|
<!ENTITY mozilla-md5sum "a6fa13d0c9243060bac6821fcff4b973">
|
|
<!ENTITY mozilla-size "29 MB">
|
|
<!ENTITY mozilla-buildsize "636 MB">
|
|
<!ENTITY mozilla-time "12.9 SBU">
|
|
|
|
<!ENTITY mozilla-enigmail-version "0.91.0">
|
|
<!ENTITY mozilla-enigmail-md5sum "4ab46132f41b4f1718cd4141742f824b">
|
|
<!ENTITY mozilla-ipc-version "1.1.2">
|
|
<!ENTITY mozilla-ipc-md5sum "4aa272b46c8cbf167dcd49a6d74cf526">
|
|
]>
|
|
|
|
<sect1 id="mozilla" xreflabel="Mozilla-&mozilla-version;">
|
|
<?dbhtml filename="mozilla.html" ?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>Mozilla-&mozilla-version;</title>
|
|
|
|
<indexterm zone="mozilla">
|
|
<primary sortas="a-Mozilla">Mozilla</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Mozilla</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
|
|
IRC 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>
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<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-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>
|
|
|
|
<bridgehead renderas="sect3">Additional Downloads</bridgehead>
|
|
|
|
<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>Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum;</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para><ulink
|
|
url="http://downloads.mozdev.org/enigmail/src/ipc-&mozilla-ipc-version;.tar.gz"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>Download MD5 sum (IPC): &mozilla-ipc-md5sum;</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Mozilla Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para><xref linkend="zip"/>,
|
|
<xref linkend="gtk2"/>,
|
|
<xref linkend="libidl"/></para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para><xref linkend="gnupg"/> (for the <application>Enigmail</application>
|
|
extension)</para>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para><xref linkend="libjpeg"/>,
|
|
<xref linkend="unzip"/>,
|
|
<xref linkend="gnome-vfs"/> (to build the gnomevfs extension),
|
|
<xref linkend="libart_lgpl"/>,
|
|
<xref linkend="heimdal"/> or <xref linkend="mitkrb"/>
|
|
(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> and
|
|
<ulink url="http://cairographics.org/">Cairo</ulink></para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Mozilla</title>
|
|
|
|
<para>Compile <application>Mozilla</application> by running the
|
|
following commands:</para>
|
|
|
|
<screen><userinput>export MOZILLA_OFFICIAL="1" &&
|
|
export BUILD_OFFICIAL="1" &&
|
|
export MOZ_CO_PROJECT="suite" &&
|
|
./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 &&
|
|
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>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>tar -zxf ../enigmail-&mozilla-enigmail-version;.tar.gz -C extensions &&
|
|
tar -zxf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions &&
|
|
build/autoconf/make-makefile extensions/ipc extensions/enigmail &&
|
|
make -C extensions/ipc &&
|
|
make -C extensions/enigmail</userinput></screen>
|
|
|
|
<para>Install <application>Mozilla</application> (as the
|
|
<systemitem class="username">root user</systemitem>) as follows:</para>
|
|
|
|
<screen role="root"><userinput>make install &&
|
|
install -v -d -m755 /usr/include/mozilla-&mozilla-version;/nss &&
|
|
cp -v -Lf dist/private/nss/*.h dist/public/nss/*.h \
|
|
/usr/include/mozilla-&mozilla-version;/nss &&
|
|
ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla &&
|
|
if [ -d /usr/lib/mozilla/plugins ]; then
|
|
mv -v /usr/lib/mozilla/plugins/* /usr/lib/mozilla-&mozilla-version;/plugins
|
|
rm -v -rf /usr/lib/mozilla
|
|
fi &&
|
|
ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla</userinput></screen>
|
|
|
|
<para>If you're installing the <application>Enigmail</application>
|
|
extension, issue the following commands as the
|
|
<systemitem class="username">root</systemitem> user:</para>
|
|
|
|
<screen role="root"><userinput>make -C extensions/ipc install &&
|
|
make -C extensions/enigmail install</userinput></screen>
|
|
|
|
<para>Some libraries, including the Netscape Portable Runtime (NSPR) and
|
|
Network Security Services (NSS) libraries, installed by
|
|
<application>Mozilla</application> are also needed by other packages.
|
|
These libraries should be in <filename class="directory">/usr/lib</filename>
|
|
so that other packages can link against them. As the <systemitem
|
|
class="username">root</systemitem> user, move them as follows:</para>
|
|
|
|
<screen role="root"><userinput>for i in \
|
|
lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk
|
|
do
|
|
mv -v /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/
|
|
ln -v -sf ../$i /usr/lib/mozilla-&mozilla-version;/
|
|
done</userinput></screen>
|
|
|
|
<para>Create the required component registries to enable multi-user
|
|
installs. These steps should be preformed by the <systemitem
|
|
class="username">root</systemitem> user each time a
|
|
<application>Mozilla</application> add-on is installed. This will allow
|
|
unprivileged users to run <command>mozilla</command>. Enable multi-user
|
|
operation by executing the following:</para>
|
|
|
|
<screen role="root"><userinput>cd /usr/lib/mozilla-&mozilla-version; &&
|
|
export LD_LIBRARY_PATH="$PWD" &&
|
|
export MOZILLA_FIVE_HOME="$PWD" &&
|
|
./regxpcom &&
|
|
./regchrome &&
|
|
touch `find . -name *.rdf`</userinput></screen>
|
|
|
|
<note>
|
|
<para>You should run <command>/usr/bin/mozilla</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 &&
|
|
unset BUILD_OFFICIAL &&
|
|
unset MOZ_CO_PROJECT</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<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 ELF 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 LDAP 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 HTML editing. Do not use this switch if you are building the mail-news
|
|
component.</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<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
|
|
GTK2 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
|
|
<option>--enable-extensions="default,-venkman,-inspector,..."</option>.
|
|
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 SSL 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 NSS 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 role="configuration">
|
|
<title>Configuring Mozilla</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 <systemitem class="username">root</systemitem> user).</para>
|
|
|
|
<screen role="root"><userinput>ln -v -sf mozilla /usr/bin/netscape</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>. 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/mozilla-&mozilla-version;/plugins</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<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"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<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,
|
|
IRC 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>
|