source: xsoft/other/thunderbird.xml@ 8632267

10.1 11.0 11.1 lazarus qt5new trunk upgradedb xry111/intltool xry111/test-20220226
Last change on this file since 8632267 was 8632267, checked in by Douglas R. Reno <renodr@…>, 18 months ago

Update to Thunderbird-78.4.2 (Security Update).

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

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