mirror of
https://github.com/Zeckmathederg/glfs.git
synced 2025-01-31 20:42:34 +08:00
a541e08052
Fix a security issue in apr-1.7.0 (with a sed) libgcrypt-1.9.4 (security fix) libcap-2.53 openssh-8.7p1 thunderbird-91.0.3 qemu-6.1.0
426 lines
15 KiB
XML
426 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 "f08dd55b8b1b0baf2c38a88aa3734cf8">
|
|
<!ENTITY thunderbird-size "390 MB">
|
|
<!ENTITY thunderbird-buildsize "6.9 GB (201 MB installed)">
|
|
<!ENTITY thunderbird-time "29 SBU (on a 4-core machine)">
|
|
<!-- Removed the -j1 time because python and rust do not obey it, although
|
|
the C/C++ code appears to obey it -->
|
|
]>
|
|
|
|
<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
|
|
<?dbhtml filename="thunderbird.html" ?>
|
|
|
|
<sect1info>
|
|
<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>
|
|
|
|
&lfs101_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">Additional Downloads</bridgehead>
|
|
<itemizedlist spacing="compact">
|
|
<listitem>
|
|
<para>
|
|
Required patch:
|
|
<ulink url="&patch-root;/thunderbird-&thunderbird-version;-glibc234-1.patch"/>
|
|
</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"/>,
|
|
<xref linkend="cbindgen"/>,
|
|
<xref linkend="dbus-glib"/>,
|
|
both <xref linkend="gtk3"/>
|
|
and <xref linkend="gtk2"/>,
|
|
<xref linkend="llvm"/> including clang, <!-- Searched for and used a few times -->
|
|
<xref linkend="nodejs"/>,
|
|
<xref linkend="pulseaudio"/> (or <xref linkend="alsa-lib"/> if you edit
|
|
the mozconfig; although it is now deprecated by mozilla),
|
|
<xref linkend="python3"/> (rebuilt with the sqlite module),
|
|
<xref linkend="startup-notification"/>,
|
|
<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="nasm"/>,
|
|
<xref linkend="nspr"/>, and
|
|
<xref linkend="nss"/>
|
|
</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="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="wget"/>,
|
|
<xref linkend="wireless_tools"/>, and
|
|
<ulink url="https://facebook.github.io/watchman/">watchman</ulink>
|
|
</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, all cores will be used.
|
|
|
|
# If you have installed wireless-tools comment out this line:
|
|
ac_add_options --disable-necko-wifi
|
|
|
|
# Uncomment the following option if you have not installed PulseAudio
|
|
#ac_add_options --disable-pulseaudio
|
|
# and uncomment this if you installed alsa-lib instead of PulseAudio
|
|
#ac_add_options --enable-alsa
|
|
<!-- always built in versions 78+. The option is a noop
|
|
# 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 --with-system-libevent
|
|
ac_add_options --with-system-nspr
|
|
ac_add_options --with-system-nss
|
|
ac_add_options --with-system-icu
|
|
# The elf-hack causes failed installs on some machines.
|
|
# It is supposed to improve startup time and it shrinks libxul.so
|
|
# by a few MB - comment this if you know your machine is not affected.
|
|
ac_add_options --disable-elf-hack
|
|
|
|
# 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-debug-symbols
|
|
ac_add_options --disable-tests
|
|
|
|
ac_add_options --enable-optimize=-O2
|
|
ac_add_options --enable-linker=gold
|
|
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-jpeg
|
|
ac_add_options --with-system-png
|
|
ac_add_options --with-system-zlib</literal>
|
|
EOF</userinput></screen>
|
|
|
|
<para>
|
|
Apply a patch which allows compilation on systems running glibc-2.34:
|
|
</para>
|
|
|
|
<screen><userinput remap="pre">patch -p1 -i ../thunderbird-&thunderbird-version;-glibc234-1.patch</userinput></screen>
|
|
|
|
<para>
|
|
Now invoke the Python <command>mach</command> script to compile
|
|
<application>Thunderbird</application>:
|
|
</para>
|
|
|
|
<note>
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/mozshm.xml"/>
|
|
|
|
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
|
|
href="../../xincludes/mozmach.xml"/>
|
|
|
|
</note>
|
|
|
|
<screen><userinput>export CC=gcc CXX=g++ &&
|
|
export MACH_USE_SYSTEM_PYTHON=1 &&
|
|
./mach create-mach-environment &&
|
|
./mach configure &&
|
|
./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_USE_SYSTEM_PYTHON=1 ./mach install</userinput></screen>
|
|
|
|
<para>
|
|
Empty the environment variables which were set above:
|
|
</para>
|
|
|
|
<screen><userinput>unset CC CXX MACH_USE_SYSTEM_PYTHON</userinput></screen>
|
|
|
|
</sect2>
|
|
|
|
<sect2 role="commands">
|
|
<title>Command Explanations</title>
|
|
<!-- might be necessary, we need to verify this.
|
|
<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>CC=gcc CXX=g++ ./mach configure</command>:
|
|
<application>Thunderbird</application>
|
|
now uses this <application>python3</application> script to run the
|
|
configuration,
|
|
build and install. Forcing GCC causes the build to come out smaller
|
|
and run faster.
|
|
<!-- For more info, see Ticket #13969. ~12GB to ~5GB build size,
|
|
significantly smaller build time.-->
|
|
</para>
|
|
|
|
<para>
|
|
<command>MACH_USE_SYSTEM_PYTHON=1</command>: Use the system python
|
|
to create a virtual environment for <command>mach</command> without
|
|
downloading any python wheels.
|
|
</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
|
|
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 scroll down
|
|
to the bottom of the page. Then, click the <quote>Config Editor</quote>
|
|
button. Click on the <quote>I accept the risk!</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, libmozsqlite3.so, libmozwayland.so,
|
|
libprldap60.so, librnp.so, and libxul.so, all in the
|
|
/usr/lib/thunderbird directory
|
|
</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>
|