source: xsoft/other/thunderbird.xml@ 2da8e365

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 9.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 2da8e365 was 6b4fe743, checked in by Douglas R. Reno <renodr@…>, 4 years ago

Update to thunderbird-68.4.1. It's recommended that you update as soon as possible due to a 0-day fix, similar to Firefox.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@22566 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 15.1 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY thunderbird-download-http "&mozilla-http;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">
8 <!ENTITY thunderbird-download-ftp " ">
9 <!ENTITY thunderbird-md5sum "23e0b519bfb62a1c85ee04b849671f7d">
10 <!ENTITY thunderbird-size "316 MB">
11 <!ENTITY thunderbird-buildsize "9.1 GB (149 MB installed)">
12 <!ENTITY thunderbird-time "27 SBU (with -j4, estimated 81 SBU with -j1)">
13 <!-- Verified the time at -j1 on another system for posterity's sake. -->
14]>
15
16<sect1 id="thunderbird" xreflabel="Thunderbird-&thunderbird-version;">
17 <?dbhtml filename="thunderbird.html" ?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Thunderbird-&thunderbird-version;</title>
25
26 <indexterm zone="thunderbird">
27 <primary sortas="a-Thunderbird">Thunderbird</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Thunderbird</title>
32
33 <para>
34 <application>Thunderbird</application> is a stand-alone mail/news client
35 based on the <application>Mozilla</application> codebase. It uses the
36 Gecko rendering engine to enable it to display and compose HTML emails.
37 </para>
38
39 &lfs90_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&thunderbird-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&thunderbird-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &thunderbird-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &thunderbird-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &thunderbird-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &thunderbird-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Thunderbird Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
78 <para role="required">
79<!-- <xref linkend="alsa-lib"/>, no mention in log -->
80 <xref linkend="autoconf213"/>,
81 <xref linkend="cbindgen"/>,
82 both <xref linkend="gtk3"/>
83 and <xref linkend="gtk2"/>,
84 <xref linkend="llvm"/>, <!-- Searched for and used a few times -->
85 <xref linkend="nodejs"/>,
86 <xref linkend="rust"/>,
87 <xref linkend="zip"/>,
88 <xref linkend="unzip"/>, and
89 <xref linkend="yasm"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="icu"/>,
95 <xref linkend="libevent"/>,
96<!-- Fails to build with version 1.8.0
97 <xref linkend="libvpx"/>,-->
98 <xref linkend="nspr"/>,
99 <xref linkend="nss"/>, and
100 <xref linkend="sqlite"/>
101 </para>
102
103 <note>
104 <para>
105 If you don't install recommended dependencies,
106 then internal copies of those packages will
107 be used. They might be tested to work, but
108 they can be out of date or contain security
109 holes.
110 </para>
111 </note>
112
113 <bridgehead renderas="sect4">Optional</bridgehead>
114 <para role="optional">
115 <!-- <xref linkend="curl"/>, not in build log-->
116 <xref linkend="cyrus-sasl"/>,
117 <xref linkend="dbus-glib"/>,
118 <xref linkend="doxygen"/>,
119 <xref linkend="GConf"/>,
120 <!--<xref linkend="gst10-plugins-base"/> (with
121 <xref linkend="gst10-plugins-good"/> and
122 <xref linkend="gst10-libav"/> at runtime),-->
123 <!-- <xref linkend="openjdk"/>, not in build log -->
124 <xref linkend="pulseaudio"/>,
125 <xref linkend="startup-notification"/>,
126 <xref linkend="wget"/>, and
127 <xref linkend="wireless_tools"/>
128 </para>
129
130 <para condition="html" role="usernotes">
131 User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
132 </para>
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of Thunderbird</title>
137
138 <note>
139 <para>
140 The build process for Thunderbird can use 8GB+ of RAM when linking.
141 Make sure that you have adequate swap or RAM before continuing.
142 </para>
143 </note>
144
145 <para>
146 The configuration of <application>Thunderbird</application> is
147 accomplished by creating a <filename>mozconfig</filename> file containing
148 the desired configuration options. A default
149 <filename>mozconfig</filename> is created below. To see the entire list
150 of available configuration options (and a brief description of each),
151 issue <command>mozilla/configure --help</command>. Create the file with
152 the following command:
153 </para>
154
155<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
156<literal># If you have a multicore machine, the build may be faster if using parallel
157# jobs. The build system automatically adds -jN to the "make" flags, where N
158# is the number of CPU cores. The option below is therefore useless, unless
159# you want to use a smaller number of jobs:
160#mk_add_options MOZ_MAKE_FLAGS="-j1"
161
162# If you have installed dbus-glib, comment out this line:
163ac_add_options --disable-dbus
164
165# If you have installed wireless-tools comment out this line:
166ac_add_options --disable-necko-wifi
167
168# Uncomment these lines if you have installed optional dependencies:
169#ac_add_options --enable-startup-notification
170
171# Comment out following option if you have PulseAudio installed
172ac_add_options --disable-pulseaudio
173
174# Comment out following option if you have gconf installed
175ac_add_options --disable-gconf
176
177# If you want to compile the Mozilla Calendar, uncomment this line:
178#ac_add_options --enable-calendar
179
180# Comment out following options if you have not installed
181# recommended dependencies:
182ac_add_options --enable-system-sqlite
183ac_add_options --with-system-libevent
184ac_add_options --with-system-nspr
185ac_add_options --with-system-nss
186ac_add_options --with-system-icu
187<!--Not with libvpx-1.8.0 or later
188ac_add_options - -with-system-libvpx
189====
190These do not seem to be needed any more
191# Set CFLAGS and CXXFLAGS to prevent segfaults due to aggressive
192# optimizations in GCC-6:
193export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
194export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
195-->
196# The elf-hack causes failed builds on clang-9.0.1 with some CFLAGS including
197# -march=native on Ryzen. It is supposed to improve startup time and it shrinks
198# libxul.so by a few MB - Uncomment this if your build is affected.
199#ac_add_options --disable-elf-hack
200
201# The BLFS editors recommend not changing anything below this line:
202ac_add_options --prefix=/usr
203ac_add_options --enable-application=comm/mail
204
205ac_add_options --disable-crashreporter
206ac_add_options --disable-updater
207ac_add_options --disable-debug
208ac_add_options --disable-tests
209
210ac_add_options --enable-optimize=-O2
211ac_add_options --enable-strip
212ac_add_options --enable-install-strip
213
214ac_add_options --enable-official-branding
215
216ac_add_options --enable-system-ffi
217ac_add_options --enable-system-pixman
218
219ac_add_options --with-system-bz2
220ac_add_options --with-system-jpeg
221ac_add_options --with-system-png
222ac_add_options --with-system-zlib</literal>
223EOF</userinput></screen>
224
225 <para>
226 Compile <application>Thunderbird</application> by issuing the following
227 commands:
228 </para>
229
230 <note><para>
231 If you are compiling <application>Thunderbird</application> in chroot,
232 prepend <envar>SHELL=/bin/sh</envar> to the build command below.
233 </para></note>
234<!--
235 <para>
236 First, disable failure caused by undocumented rust macros:
237 </para>
238
239<screen><userinput remap="pre">sed -i -e '/#!\[deny(missing_docs)\]/d' servo/components/style/lib.rs &amp;&amp;
240sed -i -e 's/#!\[deny(unsafe_code, missing_docs)\]/#!\[deny(unsafe_code)\]/g' servo/components/style_traits/lib.rs</userinput></screen>
241
242 <para>
243 Remove a function definition, which is incompatible with the one in
244 glibc-2.30:
245 </para>
246
247<screen><userinput>sed -i -e '/pid_t gettid/s@^@//@' tools/profiler/core/platform.h</userinput></screen>
248
249 <para>
250 Next, build the package:
251 </para>
252-->
253<screen><userinput>./mach build</userinput></screen>
254
255 <para>
256 This package does not come with a test suite.
257 </para>
258
259 <para>
260 Install <application>Thunderbird</application> by running the following
261 commands as the <systemitem class="username">root</systemitem> user:
262 </para>
263
264<screen role="root"><userinput>./mach install</userinput></screen>
265
266<!-- thunderbuild directory does not exist anymore. Leaving as comment,
267in case an editor figures out how to install the development environment.
268 <para>
269 The above instruction just installs the parts you need to run
270 <application>Thunderbird</application>. Alternatively, if you want to
271 install the full <application>Thunderbird</application> development
272 environment, run the following command as the
273 <systemitem class="username">root</systemitem> user:
274 </para>
275
276<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
277-->
278 </sect2>
279
280 <sect2 role="commands">
281 <title>Command Explanations</title>
282<!-- might be necessary
283 <para>
284 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
285 version of thunderbird, an old bug has reappeared in 32-bit builds. With
286 optimization, the install fails with a Python error. This command will
287 fix i686 builds and preserve the optimization on x86_64.
288 </para>
289
290 <para>
291 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
292 settings work around code which gcc6 would otherwise regard as
293 out-of-specification and allow it to produce a working program.
294 </para>-->
295
296 <para>
297 <command>./mach build</command>: <application>Thunderbird</application>
298 now uses this <application>python2</application> script to run the
299 build and install.
300 </para>
301
302 <para>
303 <option>./mach build --verbose</option>: Use this alternative if you
304 need details of which files are being compiled, together with any C or
305 C++ flags being used.
306 </para>
307
308 </sect2>
309
310 <sect2 role="configuration">
311 <title>Configuring Thunderbird</title>
312
313 <sect3><title>Configuration Information</title>
314
315 <para>
316 If your Window or Desktop Manager does not allow you to configure a
317 default browser, you can add a configuration parameter to
318 <application>Thunderbird</application> so that a browser will start when
319 when you click on an Internet/intranet/local URL. The procedure to check
320 or modify any of the configuration parameters is quite simple and the
321 instructions here can be used to view or modify any of the parameters.
322 </para>
323
324 <para>
325 First, open the configuration dialog by opening the <quote>Edit</quote>
326 drop-down menu. Choose <quote>Preferences</quote> and then click on the
327 <quote>Advanced</quote> icon on the top menu bar. Choose the
328 <quote>General</quote> tab and click on the <quote>Config Editor</quote>
329 button. This will display a list of the configuration preferences and
330 information related to each one. You can use the <quote>Filter:</quote>
331 bar to enter search criteria and narrow down the listed items. Changing
332 a preference can be done using two methods. One, if the preference has a
333 boolean value (True/False), simply double-click on the preference to
334 toggle the value and two, for other preferences simply right-click on
335 the desired line, choose <quote>Modify</quote> from the menu and change
336 the value. Creating new preference items is accomplished in the same
337 way, except choose <quote>New</quote> from the menu and provide the
338 desired data into the fields when prompted.
339 </para>
340
341 <para>
342 The configuration preference item you need to check so that
343 <application>Thunderbird</application> uses a specified browser is the
344 <parameter>network.protocol-handler.app.http</parameter> which should be
345 set to the path of the desired browser, e.g.
346 <option>/usr/bin/firefox</option>.
347 </para>
348
349 <tip>
350 <para>
351 There is a multitude of configuration parameters you can tweak to
352 customize <application>Thunderbird</application>. A very extensive,
353 but not so up-to-date list of these parameters can be found at
354 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
355 </para>
356 </tip>
357
358 <para>
359
360 If you use a desktop environment such as <application>GNOME</application>
361 or <application>KDE</application>, a desktop file
362 <filename>thunderbird.desktop</filename> may be created, in order to
363 include a <quote><application>Thunderbird</application></quote> entry in
364 the menu. If you didn't enable
365 <application>startup-notification</application> in your mozconfig, then
366 change the StartupNotify line to false. Run the following commands as the
367 <systemitem class="username">root</systemitem> user:
368
369 </para>
370
371<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
372
373cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
374<literal>[Desktop Entry]
375Name=Thunderbird Mail
376Comment=Send and receive mail with Thunderbird
377GenericName=Mail Client
378Exec=thunderbird %u
379Terminal=false
380Type=Application
381Icon=thunderbird
382Categories=Network;Email;
383MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
384StartupNotify=true</literal>
385EOF
386
387ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
388 /usr/share/pixmaps/thunderbird.png</userinput></screen>
389 </sect3>
390 </sect2>
391
392 <sect2 role="content">
393 <title>Contents</title>
394
395 <segmentedlist>
396 <segtitle>Installed Program</segtitle>
397 <segtitle>Installed Libraries</segtitle>
398 <segtitle>Installed Directory</segtitle>
399
400 <seglistitem>
401 <seg>
402 thunderbird
403 </seg>
404 <seg>
405 libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
406 libmozsandbox.so, libprldap60.so, and libxul.so
407 </seg>
408 <seg>
409 /usr/lib/thunderbird
410 </seg>
411 </seglistitem>
412 </segmentedlist>
413
414 <variablelist>
415 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
416 <?dbfo list-presentation="list"?>
417 <?dbhtml list-presentation="table"?>
418
419 <varlistentry id="thunderbird-prog">
420 <term><command>thunderbird</command></term>
421 <listitem>
422 <para>
423 is <application>Mozilla</application>'s email and newsgroup client.
424 </para>
425 <indexterm zone="thunderbird thunderbird-prog">
426 <primary sortas="b-thunderbird">thunderbird</primary>
427 </indexterm>
428 </listitem>
429 </varlistentry>
430
431 </variablelist>
432
433 </sect2>
434
435</sect1>
Note: See TracBrowser for help on using the repository browser.