mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-25 07:42:13 +08:00
ea1dc0f6cb
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22426 af4574ff-66df-0310-9fd7-8a98e5e911e0
429 lines
15 KiB
XML
429 lines
15 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 thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
|
|
<!ENTITY thunderbird-download-ftp " ">
|
|
<!ENTITY thunderbird-md5sum "ae99c0e5a7b4068557f8bcca6adf1fde">
|
|
<!ENTITY thunderbird-size "316 MB">
|
|
<!ENTITY thunderbird-buildsize "4.2 GB (151 MB installed)">
|
|
<!ENTITY thunderbird-time "31 SBU (with -j4, estimated 90 SBU with -j1)">
|
|
<!-- Verified the time at -j1 on another system for posterity's sake. -->
|
|
]>
|
|
|
|
<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
|
|
<?dbhtml filename="thunderbird.html" ?>
|
|
|
|
<sect1info>
|
|
<othername>$LastChangedBy$</othername>
|
|
<date>$Date$</date>
|
|
</sect1info>
|
|
|
|
<title>Thunderbird-&thunderbird-version;</title>
|
|
|
|
<indexterm zone="thunderbird">
|
|
<primary sortas="a-Thunderbird">Thunderbird</primary>
|
|
</indexterm>
|
|
|
|
<sect2 role="package">
|
|
<title>Introduction to Thunderbird</title>
|
|
|
|
<para>
|
|
<application>Thunderbird</application> is a stand-alone mail/news client
|
|
based on the <application>Mozilla</application> codebase. It uses the
|
|
Gecko rendering engine to enable it to display and compose HTML emails.
|
|
</para>
|
|
|
|
&lfs90_checked;
|
|
|
|
<bridgehead renderas="sect3">Package Information</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Download (HTTP): <ulink url="&thunderbird-download-http;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download (FTP): <ulink url="&thunderbird-download-ftp;"/>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download MD5 sum: &thunderbird-md5sum;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Download size: &thunderbird-size;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated disk space required: &thunderbird-buildsize;
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Estimated build time: &thunderbird-time;
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
|
|
|
|
<bridgehead renderas="sect4">Required</bridgehead>
|
|
<para role="required">
|
|
<!-- <xref linkend="alsa-lib"/>, no mention in log -->
|
|
<xref linkend="autoconf213"/>,
|
|
both <xref linkend="gtk3"/>
|
|
and <xref linkend="gtk2"/>,
|
|
<xref linkend="llvm"/>, <!-- Searched for and used a few times -->
|
|
<xref linkend="rust"/>,
|
|
<xref linkend="zip"/>,
|
|
<xref linkend="unzip"/>, and
|
|
<xref linkend="yasm"/>
|
|
</para>
|
|
|
|
<bridgehead renderas="sect4">Recommended</bridgehead>
|
|
<para role="recommended">
|
|
<xref linkend="icu"/>,
|
|
<xref linkend="libevent"/>,
|
|
<!-- Fails to build with version 1.8.0
|
|
<xref linkend="libvpx"/>,-->
|
|
<xref linkend="nspr"/>,
|
|
<xref linkend="nss"/>, and
|
|
<xref linkend="sqlite"/>
|
|
</para>
|
|
|
|
<note>
|
|
<para>
|
|
If you don't install recommended dependencies,
|
|
then internal copies of those packages will
|
|
be used. They might be tested to work, but
|
|
they can be out of date or contain security
|
|
holes.
|
|
</para>
|
|
</note>
|
|
|
|
<bridgehead renderas="sect4">Optional</bridgehead>
|
|
<para role="optional">
|
|
<!-- <xref linkend="curl"/>, not in build log-->
|
|
<xref linkend="cyrus-sasl"/>,
|
|
<xref linkend="dbus-glib"/>,
|
|
<xref linkend="doxygen"/>,
|
|
<xref linkend="GConf"/>,
|
|
<!--<xref linkend="gst10-plugins-base"/> (with
|
|
<xref linkend="gst10-plugins-good"/> and
|
|
<xref linkend="gst10-libav"/> at runtime),-->
|
|
<!-- <xref linkend="openjdk"/>, not in build log -->
|
|
<xref linkend="pulseaudio"/>,
|
|
<xref linkend="startup-notification"/>,
|
|
<xref linkend="wget"/>, and
|
|
<xref linkend="wireless_tools"/>
|
|
</para>
|
|
|
|
<para condition="html" role="usernotes">
|
|
User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
|
|
</para>
|
|
</sect2>
|
|
|
|
<sect2 role="installation">
|
|
<title>Installation of Thunderbird</title>
|
|
|
|
<note>
|
|
<para>
|
|
The build process for Thunderbird can use 8GB+ of RAM when linking.
|
|
Make sure that you have adequate swap or RAM before continuing.
|
|
</para>
|
|
</note>
|
|
|
|
<para>
|
|
The configuration of <application>Thunderbird</application> is
|
|
accomplished by creating a <filename>mozconfig</filename> file containing
|
|
the desired configuration options. A default
|
|
<filename>mozconfig</filename> is created below. To see the entire list
|
|
of available configuration options (and a brief description of each),
|
|
issue <command>mozilla/configure --help</command>. Create the file with
|
|
the following command:
|
|
</para>
|
|
|
|
<screen><userinput>cat > mozconfig << "EOF"
|
|
<literal># If you have a multicore machine, the build may be faster if using parallel
|
|
# jobs. The build system automatically adds -jN to the "make" flags, where N
|
|
# is the number of CPU cores. The option below is therefore useless, unless
|
|
# you want to use a smaller number of jobs:
|
|
#mk_add_options MOZ_MAKE_FLAGS="-j1"
|
|
|
|
# If you have installed dbus-glib, comment out this line:
|
|
ac_add_options --disable-dbus
|
|
|
|
# If you have installed wireless-tools comment out this line:
|
|
ac_add_options --disable-necko-wifi
|
|
|
|
# Uncomment these lines if you have installed optional dependencies:
|
|
#ac_add_options --enable-startup-notification
|
|
|
|
# Comment out following option if you have PulseAudio installed
|
|
ac_add_options --disable-pulseaudio
|
|
|
|
# Comment out following option if you have gconf installed
|
|
ac_add_options --disable-gconf
|
|
|
|
# If you want to compile the Mozilla Calendar, uncomment this line:
|
|
#ac_add_options --enable-calendar
|
|
|
|
# Comment out following options if you have not installed
|
|
# recommended dependencies:
|
|
ac_add_options --enable-system-sqlite
|
|
ac_add_options --with-system-libevent
|
|
ac_add_options --with-system-nspr
|
|
ac_add_options --with-system-nss
|
|
ac_add_options --with-system-icu
|
|
<!--Not with libvpx-1.8.0 or later
|
|
ac_add_options - -with-system-libvpx
|
|
====
|
|
These do not seem to be needed any more
|
|
# Set CFLAGS and CXXFLAGS to prevent segfaults due to aggressive
|
|
# optimizations in GCC-6:
|
|
export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
|
|
export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
|
|
-->
|
|
# The BLFS editors recommend not changing anything below this line:
|
|
ac_add_options --prefix=/usr
|
|
ac_add_options --enable-application=comm/mail
|
|
|
|
ac_add_options --disable-crashreporter
|
|
ac_add_options --disable-updater
|
|
ac_add_options --disable-debug
|
|
ac_add_options --disable-tests
|
|
|
|
ac_add_options --enable-optimize=-O2
|
|
ac_add_options --enable-strip
|
|
ac_add_options --enable-install-strip
|
|
|
|
ac_add_options --enable-official-branding
|
|
|
|
ac_add_options --enable-system-ffi
|
|
ac_add_options --enable-system-pixman
|
|
|
|
ac_add_options --with-system-bz2
|
|
ac_add_options --with-system-jpeg
|
|
ac_add_options --with-system-png
|
|
ac_add_options --with-system-zlib</literal>
|
|
EOF</userinput></screen>
|
|
|
|
<para>
|
|
Compile <application>Thunderbird</application> by issuing the following
|
|
commands:
|
|
</para>
|
|
|
|
<note><para>
|
|
If you are compiling <application>Thunderbird</application> in chroot,
|
|
prepend <envar>SHELL=/bin/sh</envar> to the build command below.
|
|
</para></note>
|
|
<!--
|
|
<para>
|
|
First, disable failure caused by undocumented rust macros:
|
|
</para>
|
|
|
|
<screen><userinput remap="pre">sed -i -e '/#!\[deny(missing_docs)\]/d' servo/components/style/lib.rs &&
|
|
sed -i -e 's/#!\[deny(unsafe_code, missing_docs)\]/#!\[deny(unsafe_code)\]/g' servo/components/style_traits/lib.rs</userinput></screen>
|
|
|
|
<para>
|
|
Remove a function definition, which is incompatible with the one in
|
|
glibc-2.30:
|
|
</para>
|
|
|
|
<screen><userinput>sed -i -e '/pid_t gettid/s@^@//@' tools/profiler/core/platform.h</userinput></screen>
|
|
|
|
<para>
|
|
Next, build the package:
|
|
</para>
|
|
-->
|
|
<screen><userinput>./mach build</userinput></screen>
|
|
|
|
<para>
|
|
This package does not come with a test suite.
|
|
</para>
|
|
|
|
<para>
|
|
Install <application>Thunderbird</application> by running the following
|
|
commands as the <systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>./mach install</userinput></screen>
|
|
|
|
<!-- thunderbuild directory does not exist anymore. Leaving as comment,
|
|
in case an editor figures out how to install the development environment.
|
|
<para>
|
|
The above instruction just installs the parts you need to run
|
|
<application>Thunderbird</application>. Alternatively, if you want to
|
|
install the full <application>Thunderbird</application> development
|
|
environment, run the following command as the
|
|
<systemitem class="username">root</systemitem> user:
|
|
</para>
|
|
|
|
<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
|
|
-->
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
<!-- might be necessary
|
|
<para>
|
|
<command>test $(uname -m) = "i686" && sed ...</command>: On this
|
|
version of thunderbird, an old bug has reappeared in 32-bit builds. With
|
|
optimization, the install fails with a Python error. This command will
|
|
fix i686 builds and preserve the optimization on x86_64.
|
|
</para>
|
|
|
|
<para>
|
|
<command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
|
|
settings work around code which gcc6 would otherwise regard as
|
|
out-of-specification and allow it to produce a working program.
|
|
</para>-->
|
|
|
|
<para>
|
|
<command>./mach build</command>: <application>Thunderbird</application>
|
|
now uses this <application>python2</application> script to run the
|
|
build and install.
|
|
</para>
|
|
|
|
<para>
|
|
<option>./mach build --verbose</option>: Use this alternative if you
|
|
need details of which files are being compiled, together with any C or
|
|
C++ flags being used.
|
|
</para>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="configuration">
|
|
<title>Configuring Thunderbird</title>
|
|
|
|
<sect3><title>Configuration Information</title>
|
|
|
|
<para>
|
|
If your Window or Desktop Manager does not allow you to configure a
|
|
default browser, you can add a configuration parameter to
|
|
<application>Thunderbird</application> so that a browser will start when
|
|
when you click on an Internet/intranet/local URL. 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 opening the <quote>Edit</quote>
|
|
drop-down menu. Choose <quote>Preferences</quote> and then click on the
|
|
<quote>Advanced</quote> icon on the top menu bar. Choose the
|
|
<quote>General</quote> tab and click on the <quote>Config Editor</quote>
|
|
button. 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 configuration preference item you need to check so that
|
|
<application>Thunderbird</application> uses a specified browser is the
|
|
<parameter>network.protocol-handler.app.http</parameter> which should be
|
|
set to the path of the desired browser, e.g.
|
|
<option>/usr/bin/firefox</option>.
|
|
</para>
|
|
|
|
<tip>
|
|
<para>
|
|
There is a multitude of configuration parameters you can tweak to
|
|
customize <application>Thunderbird</application>. A very extensive,
|
|
but not so up-to-date list of these parameters can be found at
|
|
<ulink url="http://preferential.mozdev.org/preferences.html"/>.
|
|
</para>
|
|
</tip>
|
|
|
|
<para>
|
|
|
|
If you use a desktop environment such as <application>GNOME</application>
|
|
or <application>KDE</application>, a desktop file
|
|
<filename>thunderbird.desktop</filename> may be created, in order to
|
|
include a <quote><application>Thunderbird</application></quote> entry in
|
|
the menu. If you didn't enable
|
|
<application>startup-notification</application> in your mozconfig, then
|
|
change the StartupNotify line to false. Run the following commands as the
|
|
<systemitem class="username">root</systemitem> user:
|
|
|
|
</para>
|
|
|
|
<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &&
|
|
|
|
cat > /usr/share/applications/thunderbird.desktop << "EOF" &&
|
|
<literal>[Desktop Entry]
|
|
Name=Thunderbird Mail
|
|
Comment=Send and receive mail with Thunderbird
|
|
GenericName=Mail Client
|
|
Exec=thunderbird %u
|
|
Terminal=false
|
|
Type=Application
|
|
Icon=thunderbird
|
|
Categories=Network;Email;
|
|
MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
|
|
StartupNotify=true</literal>
|
|
EOF
|
|
|
|
ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
|
|
/usr/share/pixmaps/thunderbird.png</userinput></screen>
|
|
</sect3>
|
|
</sect2>
|
|
|
|
<sect2 role="content">
|
|
<title>Contents</title>
|
|
|
|
<segmentedlist>
|
|
<segtitle>Installed Program</segtitle>
|
|
<segtitle>Installed Libraries</segtitle>
|
|
<segtitle>Installed Directory</segtitle>
|
|
|
|
<seglistitem>
|
|
<seg>
|
|
thunderbird
|
|
</seg>
|
|
<seg>
|
|
libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
|
|
libmozsandbox.so, libprldap60.so, and libxul.so
|
|
</seg>
|
|
<seg>
|
|
/usr/lib/thunderbird
|
|
</seg>
|
|
</seglistitem>
|
|
</segmentedlist>
|
|
|
|
<variablelist>
|
|
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
|
|
<?dbfo list-presentation="list"?>
|
|
<?dbhtml list-presentation="table"?>
|
|
|
|
<varlistentry id="thunderbird-prog">
|
|
<term><command>thunderbird</command></term>
|
|
<listitem>
|
|
<para>
|
|
is <application>Mozilla</application>'s email and newsgroup client.
|
|
</para>
|
|
<indexterm zone="thunderbird thunderbird-prog">
|
|
<primary sortas="b-thunderbird">thunderbird</primary>
|
|
</indexterm>
|
|
</listitem>
|
|
</varlistentry>
|
|
|
|
</variablelist>
|
|
|
|
</sect2>
|
|
|
|
</sect1>
|