source: xsoft/other/thunderbird.xml@ d24c31e8

10.0 10.1 11.0 ken/refactor-virt lazarus qt5new trunk xry111/git-date xry111/git-date-for-trunk xry111/git-date-test
Last change on this file since d24c31e8 was d24c31e8, checked in by Douglas R. Reno <renodr@…>, 15 months ago

Update to Thunderbird-78.0.1

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

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