glfs/xsoft/graphweb/seamonkey.xml
Guy Dalziel 8c9e2f6e74 fixed typos on several pages
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@7831 af4574ff-66df-0310-9fd7-8a98e5e911e0
2009-07-06 19:12:40 +00:00

570 lines
26 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY seamonkey-download-http "http://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/&seamonkey-version;/seamonkey-&seamonkey-version;.source.tar.bz2">
<!ENTITY seamonkey-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/&seamonkey-version;/seamonkey-&seamonkey-version;.source.tar.bz2">
<!ENTITY seamonkey-md5sum "2b08c472164e80922f715c6e96e0bee7">
<!ENTITY seamonkey-size "33.7 MB">
<!ENTITY seamonkey-buildsize "632 MB">
<!ENTITY seamonkey-time "17.0 SBU">
<!ENTITY seamonkey-enigmail-version "0.95.6">
<!ENTITY seamonkey-enigmail-download "http://www.mozilla-enigmail.org/download/source/enigmail-&seamonkey-enigmail-version;.tar.gz">
<!ENTITY seamonkey-enigmail-md5sum "cfbe6ff77f80a349b396829757ad952a">
]>
<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
<?dbhtml filename="seamonkey.html" ?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>SeaMonkey-&seamonkey-version;</title>
<indexterm zone="seamonkey">
<primary sortas="a-SeaMonkey">SeaMonkey</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to SeaMonkey</title>
<para><application>SeaMonkey</application> is a browser suite, the Open
Source sibling of <application>Netscape</application>. It includes the
browser, composer, mail and news clients, and an
IRC client. It is the follow-on to the Mozilla browser suite.</para>
<para>The Mozilla 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.com/firefox/">Mozilla Firefox</ulink>, (a
stand-alone browser based on the <application>Mozilla</application> source
code) and <ulink url="http://www.mozilla.com/thunderbird/">Mozilla
Thunderbird</ulink>, (a stand-alone mail/newsgroup 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="&seamonkey-download-http;"/></para>
</listitem>
<listitem>
<para>Download (FTP): <ulink url="&seamonkey-download-ftp;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum: &seamonkey-md5sum;</para>
</listitem>
<listitem>
<para>Download size: &seamonkey-size;</para>
</listitem>
<listitem>
<para>Estimated disk space required: &seamonkey-buildsize;</para>
</listitem>
<listitem>
<para>Estimated build time: &seamonkey-time;</para>
</listitem>
</itemizedlist>
<para>To enable the <application>Enigmail</application> extension to the
<application>SeaMonkey</application> mail client, you'll need to download
the tarball listed below. The <application>Enigmail</application> extension
allows users to access the authentication and encryption features provided
by the <application>GnuPG</application> package. The
<application>Enigmail</application> extension will not operate correctly
unless you have <xref linkend="gnupg"/> or <xref linkend="gnupg2"/>
installed.</para>
<itemizedlist spacing='compact'>
<listitem>
<para><ulink url="&seamonkey-enigmail-download;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum (Enigmail): &seamonkey-enigmail-md5sum;</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required"><xref linkend="gtk2"/>,
<xref linkend="libidl"/>, and
<xref linkend="zip"/></para>
<note>
<para><xref linkend="libjpeg"/> 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
<filename>.mozconfig</filename> file created below.</para>
</note>
<bridgehead renderas="sect4">Recommended</bridgehead>
<para role="recommended"><xref linkend="nss"/> (if you will be installing
any other package that utilizes NSS/NSPR, such as
<application>Firefox</application>, <application>Thunderbird</application>,
<application>Evolution</application>, or
<application>OpenOffice</application>)</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional"><xref linkend="unzip"/> and
<xref linkend="libgnomeui"/> (to build the gnomevfs extension)</para>
<para condition="html" role="usernotes">User Notes:
<ulink url="&blfs-wiki;/seamonkey"/></para>
</sect2>
<sect2 role="installation">
<title>Installation of SeaMonkey</title>
<para>The configuration of <application>SeaMonkey</application> is
accomplished by creating a <filename>.mozconfig</filename> file containing
the desired configuration options. A default <filename>.mozconfig</filename>
file is created below. To see the entire list of available configuration
options (and an abbreviated description of each one), issue
<command>./configure --help</command>. Additional information can also be
found below in the section titled <xref linkend="add-mozconfig"/>. If you
are going to use system-installed versions of the
<application>NSS</application> and <application>NSPR</application>
libraries, ensure you uncomment the two lines near the bottom of the file. 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;/seamonkey-&seamonkey-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>). Create the file by issuing the following
command:</para>
<screen><?dbfo keep-together="auto"?><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
<literal># This file contains the options used in the SeaMonkey 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'.
# 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@/../seamonkey-build
# This option is used to specify that the SeaMonkey suite is
# being built and to use all the default options for SeaMonkey.
ac_add_options --enable-application=suite
# Specify the installation prefix. If you would prefer SeaMonkey
# installed in a different prefix, modify the line below to fit
# your needs. You'll also need to modify some of the instructions in
# the BLFS book to point to your desired prefix.
ac_add_options --prefix=/usr
# These options are used so that the SeaMonkey 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.
ac_add_options --with-system-zlib
ac_add_options --with-system-png
ac_add_options --with-system-jpeg
ac_add_options --enable-system-cairo
# This option specifies to include support for rendering the HTML
# &lt;canvas&gt;&lt;/canvas&gt; tag in the SeaMonkey browser.
ac_add_options --enable-canvas
# 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. Note that this can substantially
# increase the size of the installed binaries.
ac_add_options --enable-strip
# 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
# 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 SeaMonkey.
ac_add_options --disable-installer
# This option is used to disable the a11y support in the SeaMonkey
# binaries. Comment out this option if you require a11y support.
ac_add_options --disable-accessibility
# This option is used to enable support for rendering SVG files in the
# SeaMonkey browser.
ac_add_options --enable-svg
# This option is used to enable source tree included LDAP support in
# the SeaMonkey binaries.
ac_add_options --enable-ldap
# These two options enable support for building SeaMonkey with
# system-installed versions of the Network Security Services (NSS)
# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
# lines to enable support for system-installed NSS/NSPR.
#ac_add_options --with-system-nspr
#ac_add_options --with-system-nss
# Uncomment this option if you desire support for dual-monitor
# display of SeaMonkey using the X-Window Xinerama libraries.
#ac_add_options --enable-xinerama
# Complex scripts such as Thai can only be rendered in SeaMonkey with the
# help of Pango. This option significantly slows rendering, so only use
# it if necessary.
#ac_add_options --enable-pango
# This option identifies the default binary directory of the SeaMonkey
# installation and is used to locate SeaMonkey's installed files. This
# option is not required for end-user browsing, and is only used for
# development purposes.
#ac_add_options --with-default-mozilla-five-home=/usr/lib/seamonkey-&seamonkey-version;</literal>
EOF</userinput></screen>
<para>Compile <application>SeaMonkey</application> by running the
following commands:</para>
<screen><userinput>cat &gt;&gt; layout/build/Makefile.in &lt;&lt; "EOF"
ifdef MOZ_ENABLE_CANVAS
EXTRA_DSO_LDOPTS += $(XLDFLAGS) -lX11 -lXrender
endif
EOF
make -f client.mk build</userinput></screen>
<para>If you're building the <application>SeaMonkey</application>
mail/newsgroup client and plan to install the
<application>Enigmail</application> extension, issue the following
commands:</para>
<screen><userinput>tar -xf ../enigmail-&seamonkey-enigmail-version;.tar.gz -C mailnews/extensions &amp;&amp;
( cd mailnews/extensions/enigmail &amp;&amp; ./makemake -r ) &amp;&amp;
make -C ../seamonkey-build/mailnews/extensions/enigmail &amp;&amp;
make -C ../seamonkey-build/mailnews/extensions/enigmail \
XPIFILE=enigmail-&seamonkey-enigmail-version;.xpi xpi</userinput></screen>
<para>This package does not come with a test suite. However, it
can be launched from the build directory before installing with the
command line:
<userinput>../seamonkey-build/dist/bin/seamonkey</userinput>.</para>
<para>Install <application>SeaMonkey</application> by issuing the following
commands as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -f client.mk install &amp;&amp;
install -v -m644 ../seamonkey-build/dist/public/ldap-private/* \
/usr/include/seamonkey-&seamonkey-version;/ldap &amp;&amp;
install -v -m644 ../seamonkey-build/dist/bin/isp/movemail.rdf \
/usr/lib/seamonkey-&seamonkey-version;/isp</userinput></screen>
<para>If you built <application>SeaMonkey</application> utilizing
system-installed NSS and NSPR libraries, the
<filename>seamonkey-ns*.pc</filename> <application>pkgconfig</application>
files are broken as they point to the wrong directories where the actual
libraries and interface headers are located. Issue the following commands
as the <systemitem class="username">root</systemitem> user to replace the
broken files with symbolic links to known good files:</para>
<screen role="root"><userinput>ln -v -sf nss.pc /usr/lib/pkgconfig/seamonkey-nss.pc &amp;&amp;
ln -v -sf nspr.pc /usr/lib/pkgconfig/seamonkey-nspr.pc</userinput></screen>
<para>If you did <emphasis role="strong">NOT</emphasis> build
<application>seamonkey</application> utilizing system-installed NSS and
NSPR libraries, issue the following commands as the
<systemitem class="username">root</systemitem> user to install the NSS
interface headers:</para>
<screen role="root"><userinput>install -v -m755 -d /usr/include/seamonkey-&seamonkey-version;/nss &amp;&amp;
cp -v -Lf ../seamonkey-build/dist/{private,public}/nss/*.h \
/usr/include/seamonkey-&seamonkey-version;/nss</userinput></screen>
<para>If you built the <application>Enigmail</application> extension,
issue the following commands as the <systemitem
class="username">root</systemitem> user to install the
<filename>.xpi</filename> file into the
<filename class='directory'>/usr/lib/seamonkey-&seamonkey-version;/xpi_store</filename>
directory:</para>
<screen role="root"><userinput>install -v -m644 -D ../seamonkey-build/dist/bin/enigmail-&seamonkey-enigmail-version;.xpi \
/usr/lib/seamonkey-&seamonkey-version;/xpi_store/enigmail-&seamonkey-enigmail-version;.xpi</userinput></screen>
<para>There are two methods you can use to install the
<application>Enigmail</application> extension. Both are shown here and
provide similar functionality with one major difference. The first
method will install the extension system-wide and all users of SeaMonkey
will have an Enigmail-enabled mail client. The method shown later only
installs it on a per-user basis. The first method must be accomplished
now (before the object directory is removed) and uses the conventional
<command>make install</command> command to install the
<application>Enigmail</application> files straight from the distribution
directory of the object directory. The alternate method is shown as it
installs using the <filename class='extension'>.xpi</filename> file
created earlier and can be done later (at any time you desire) as the
file used to install <application>Enigmail</application> was copied into
<filename
class='directory'>/usr/lib/seamonkey-&seamonkey-version;/xpi_store</filename>
in the previous step. This method can be used to install any
downloaded <application>Mozilla</application> extension distributed in a
<filename class='extension'>.xpi</filename> file. There are many
extensions available for <application>SeaMonkey</application>. A list
containing many of them can be found at
<ulink url="http://extensionroom.mozdev.org/"/>.</para>
<para>If you want to install the <application>Enigmail</application>
extension now, which offers system-wide access, issue the following
command as the <systemitem class="username">root</systemitem> user:</para>
<screen role="root"><userinput>make -C ../seamonkey-build/mailnews/extensions/enigmail install</userinput></screen>
<para>To install an extension from a created or download
<filename class='extension'>.xpi</filename> file, you simply need to
<quote>open</quote> the <filename class='extension'>.xpi</filename> file
using the <quote>Open File</quote> option of the <quote>File</quote>
menu of the browser window. You can browse to find the file (for example,
the <application>Enigmail</application>
<filename class='extension'>.xpi</filename> file is located in
<filename
class='directory'>/usr/lib/seamonkey-&seamonkey-version;/xpi_store</filename>),
select it, then follow the prompts to install the extension.</para>
<note>
<para>You should run <command>/usr/bin/seamonkey</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. Also do this
each time you install additional system-wide extensions.</para>
</note>
</sect2>
<sect2 role="commands" id="add-mozconfig"
xreflabel="Additional .mozconfig Options">
<title>Additional .mozconfig Options</title>
<para>Information about some of the additional options which can be added
to the <filename>.mozconfig</filename> configuration file is shown below.
Note that this is just a few of the options. 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 in the default <filename>.mozconfig</filename> file but can be
added in order to have the described effect on the SeaMonkey compile.</para>
<para><option>ac_add_options --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>ac_add_options --disable-mailnews</option>: Disables the mail
and news clients.</para>
<para><option>ac_add_options --disable-ldap</option>: Disables LDAP support,
recommended if mail is disabled.</para>
<para><option>ac_add_options --enable-xterm-updates</option>: Displays the
current command in the <command>xterm</command> window title during the
compilation.</para>
<para><option>ac_add_options --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>.mozconfig Option Explanations</title>
<para>To simplify reading the options below, they are labeled without
<parameter>ac_add_options</parameter> inserted at the beginning of the
option. These options are also described in the
<filename>.mozconfig</filename> file created earlier.</para>
<para><parameter>mk_add_options
MOZ_OBJDIR=@TOPSRCDIR@/../seamonkey-build</parameter>: Creates an object
directory and specifies 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 <quote>../</quote> from the line.</para>
<para><parameter>--enable-application=suite</parameter>: Identifies the
build as a <application>SeaMonkey</application> suite build.</para>
<para><parameter>--with-system-zlib --with-system-png
--with-system-jpeg --enable-system-cairo</parameter>: Uses the
system-installed versions of these packages.</para>
<para><parameter>--enable-xinerama --enable-reorder --enable-strip
--enable-cpp-rtti --disable-accessibility --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>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para><command>'EXTRA_DSO_LDOPTS' += -lX11 -lXrender ...</command>:
Building the layout backend will break when the canvas element is enabled
without adding these two required libraries.</para>
<para><command>make -f client.mk ...</command>: Mozilla products are
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>
<para><command>./makemake -r</command>: This command is used to recursively
create <filename>Makefile</filename>s in the appropriate subdirectory
of <filename class='directory'>seamonkey-build</filename>.</para>
<para><command>make -C ... xpi</command>: This command builds the
<application>Enigmail</application>
<filename class='extension'>.xpi</filename> file which can be used to
install <application>Enigmail</application>.</para>
<para><command>install .../movemail.rdf ...</command>: This
command is used to install a file inadvertently left out of the
installation script.</para>
</sect2>
<sect2 role="configuration">
<title>Configuring SeaMonkey</title>
<para>No specific configuration is required as long as the
<command>seamonkey</command> script is in the user's path. If
<application>SeaMonkey</application> is installed in a non-standard location,
make a symlink to the <command>seamonkey</command> script in the
<filename class="directory">/usr/bin</filename> directory.</para>
<para>Some 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 seamonkey /usr/bin/netscape</userinput></screen>
<para>For installing various <application>SeaMonkey</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/seamonkey-&seamonkey-version;/plugins</userinput></screen>
<para>Some packages install SeaMonkey plugins into the default system-wide
directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
If desired, create symbolic links in the <application>SeaMonkey</application>
plugin directory
<filename class='directory'>/usr/lib/seamonkey-&seamonkey-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>SeaMonkey</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>&lt;plugin.so&gt;</replaceable> \
/usr/lib/seamonkey-&seamonkey-version;/plugins</userinput></screen>
<para>Along with using the <quote>Preferences</quote> menu to configure
<application>SeaMonkey</application>'s options and preferences to suit
individual tastes, finer grain control of many options is only available
using a tool not available from the general menu system. To access this
tool, you'll need to open a browser window and enter
<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>
<tip>
<para>There is a multitude of configuration parameters you can tweak to
customize <application>SeaMonkey</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>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
<seg>seamonkey and seamonkey-config</seg>
<seg>Numerous libraries, browser, and email/newsgroup components,
plugins, extensions, and helper modules installed in <filename
class='directory'>/usr/lib/seamonkey-&seamonkey-version;</filename></seg>
<seg>/usr/include/seamonkey-&seamonkey-version;,
/usr/lib/seamonkey-&seamonkey-version;, and
/usr/share/idl/seamonkey-&seamonkey-version;</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="seamonkey-prog">
<term><command>seamonkey</command></term>
<listitem>
<para>is a browser/email/newsgroup/chat client suite. The
various components such as the Composer, mail-news client,
IRC chat client, and address book can be accessed from the menu after
<command>seamonkey</command> starts or via command-line switches to
the <command>seamonkey</command> script. Issue
<command>man seamonkey</command> for additional information.</para>
<indexterm zone="seamonkey seamonkey-prog">
<primary sortas="b-seamonkey">seamonkey</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>