source: xsoft/other/thunderbird.xml@ 3927e328

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 3927e328 was 3927e328, checked in by Douglas R. Reno <renodr@…>, 15 months ago

Update to Thunderbird-78.0

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