source: xsoft/other/thunderbird.xml@ 7d09fcb9

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt perl-modules 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 7d09fcb9 was 7d09fcb9, checked in by Pierre Labastie <pieere@…>, 7 years ago

Fix ECDSA code in mozilla apps,
so that more web sites are accessible. From upstream, thanks to DJ Lucas.

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

  • Property mode set to 100644
File size: 16.6 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 "&mozilla-ftp;/thunderbird/releases/&thunderbird-version;/source/thunderbird-&thunderbird-version;.source.tar.xz">-->
9 <!ENTITY thunderbird-download-ftp " ">
10 <!ENTITY thunderbird-md5sum "efb6b195c9c27a654ba115d7eda4362e">
11 <!ENTITY thunderbird-size "192 MB">
12 <!ENTITY thunderbird-buildsize "3.6 GB (85 MB installed)">
13 <!ENTITY thunderbird-time "12 SBU (with -j4, estimated 36 SBU with -j1)">
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 &lfs7a_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"/>,
80 <xref linkend="gtk2"/>,
81 <xref linkend="zip"/>,
82 <xref linkend="unzip"/>, and
83 <xref linkend="yasm"/>
84 </para>
85
86 <bridgehead renderas="sect4">Recommended</bridgehead>
87 <para role="recommended">
88 <xref linkend="libevent"/>,
89 <xref linkend="libvpx"/>,
90 <xref linkend="nspr"/>, and
91 <xref linkend="nss"/><!-- , and
92 <xref linkend="sqlite"/>
93 Do not use system SQLite until TB-48/52 because it uses insecure
94 routines (FTS3) that are not built in BLFS -->
95 </para>
96
97 <note>
98 <para>
99 If you don't install recommended dependencies,
100 then internal copies of those packages will
101 be used. They might be tested to work, but
102 they can be out of date or contain security
103 holes.
104 </para>
105 </note>
106
107 <note>
108 <para>
109 With <application>Thunderbird-31.0</application> and later versions,
110 you must have installed <application>Openssl</application> before
111 <application>Python 2</application>, or the build system will quickly
112 fail with output including "ImportError: cannot import name
113 HTTPSHandler". If you are in any doubt about this (e.g. upgrading from
114 an older version of Thunderbird), check if
115 <filename>/usr/lib/python&python2-majorver;/lib-dynload/_ssl.so</filename>
116 exists. If it does not, reinstall <xref linkend="python2"/> (after
117 installing <xref linkend="openssl"/> - the latest version of any
118 <emphasis>currently maintained</emphasis> version of Openssl should be
119 satisfactory if already installed - if that package has not already
120 been installed).
121 </para>
122 </note>
123
124 <bridgehead renderas="sect4">Optional</bridgehead>
125 <para role="optional">
126 <xref linkend="curl"/>,
127 <xref linkend="cyrus-sasl"/>,
128 <xref linkend="dbus-glib"/>,
129 <xref linkend="doxygen"/>,
130 <xref linkend="GConf"/>,
131 <xref linkend="gst10-plugins-base"/> (with
132 <xref linkend="gst10-plugins-good"/> and
133 <xref linkend="gst10-libav"/> at runtime),
134 <xref linkend="llvm"/>,
135 <xref linkend="openjdk"/>,
136 <xref linkend="pulseaudio"/>,
137 <xref linkend="sqlite"/> (not recommended due to potential
138 security concerns),
139 <xref linkend="startup-notification"/>,
140 <xref linkend="wget"/>,
141 <xref linkend="wireless_tools"/>, and
142 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
143 </para>
144
145 <para condition="html" role="usernotes">
146 User Notes: <ulink url="&blfs-wiki;/Thunderbird"/>
147 </para>
148 </sect2>
149
150 <sect2 role="installation">
151 <title>Installation of Thunderbird</title>
152
153 <para>
154 The configuration of <application>Thunderbird</application> is
155 accomplished by creating a <filename>mozconfig</filename> file containing
156 the desired configuration options. A default
157 <filename>mozconfig</filename> is created below. To see the entire list
158 of available configuration options (and a brief description of each),
159 issue <command>mozilla/configure --help</command>. Create the file with
160 the following command:
161 </para>
162
163<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
164<literal># If you have a multicore machine, the build may be faster if using parallel
165# jobs. The build system automatically adds -jN to the "make" flags, where N
166# is the number of CPU cores. The option below is therefore useless, unless
167# you want to use a smaller number of jobs:
168#mk_add_options MOZ_MAKE_FLAGS="-j1"
169
170# If you have installed dbus-glib, comment out this line:
171ac_add_options --disable-dbus
172
173# If you have installed wireless-tools comment out this line:
174ac_add_options --disable-necko-wifi
175
176# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
177# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
178# in about:config. If you have GStreamer 1.x.y, comment out this line and
179# uncomment the following one:
180ac_add_options --disable-gstreamer
181#ac_add_options --enable-gstreamer=1.0
182
183# Uncomment these lines if you have installed optional dependencies:
184#ac_add_options --enable-system-hunspell
185#ac_add_options --enable-startup-notification
186
187# Comment out following option if you have PulseAudio installed
188ac_add_options --disable-pulseaudio
189
190# Comment out following option if you have gconf installed
191ac_add_options --disable-gconf
192<!-- Uncommenting does not work
193# If you have not installed Yasm then uncomment this line:
194#ac_add_options - -disable-webm
195-->
196# If you want to compile the Mozilla Calendar, uncomment this line:
197#ac_add_options --enable-calendar
198
199# Comment out following options if you have not installed
200# recommended dependencies:
201# Do not use system SQLite for Thunderbird 45.x
202#ac_add_options --enable-system-sqlite
203ac_add_options --with-system-libevent
204ac_add_options --with-system-libvpx
205ac_add_options --with-system-nspr
206ac_add_options --with-system-nss
207ac_add_options --with-system-icu
208
209# Set CFLAGS and CXXFLAGS to prevent segfaults due to agressive
210# optimizations in GCC-6:
211export CFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
212export CXXFLAGS+=" -fno-delete-null-pointer-checks -fno-lifetime-dse -fno-schedule-insns2"
213
214# The BLFS editors recommend not changing anything below this line:
215ac_add_options --prefix=/usr
216ac_add_options --enable-application=mail
217
218ac_add_options --disable-crashreporter
219ac_add_options --disable-installer
220ac_add_options --disable-updater
221ac_add_options --disable-debug
222ac_add_options --disable-tests
223
224ac_add_options --enable-optimize
225ac_add_options --enable-strip
226ac_add_options --enable-install-strip
227
228ac_add_options --enable-gio
229ac_add_options --enable-official-branding
230ac_add_options --enable-safe-browsing
231ac_add_options --enable-url-classifier
232
233# Use internal cairo due to reports of unstable execution with
234# system cairo
235#ac_add_options --enable-system-cairo
236ac_add_options --enable-system-ffi
237ac_add_options --enable-system-pixman
238
239ac_add_options --with-pthreads
240
241ac_add_options --with-system-bz2
242ac_add_options --with-system-jpeg
243ac_add_options --with-system-png
244ac_add_options --with-system-zlib</literal>
245EOF</userinput></screen>
246
247<!-- might be necessary
248test $(uname -m) = "i686" && sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &&-->
249
250 <para>
251 Compile <application>Thunderbird</application> by issuing the following
252 commands:
253 </para>
254
255 <note><para>
256 If you are compiling <application>Thunderbird</application> in chroot,
257 prepend <envar>SHELL=/bin/sh</envar> to the make command below.
258 </para></note>
259
260<screen><userinput>sed -e '/#include/i\
261 print OUT "#define _GLIBCXX_INCLUDE_NEXT_C_HEADERS\\n"\;' \
262 -i mozilla/nsprpub/config/make-system-wrappers.pl &amp;&amp;
263
264sed -e '/#include/a\
265 print OUT "#undef _GLIBCXX_INCLUDE_NEXT_C_HEADERS\\n"\;' \
266 -i mozilla/nsprpub/config/make-system-wrappers.pl &amp;&amp;
267
268sed -e 's/256/224/' \
269 -i mozilla/netwerk/protocol/http/Http2Session.cpp &amp;&amp;
270
271make -f client.mk</userinput></screen>
272
273 <para>
274 This package does not come with a test suite.
275 </para>
276
277 <para>
278 Install <application>Thunderbird</application> by running the following
279 commands as the <systemitem class="username">root</systemitem> user:
280 </para>
281
282<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
283chown -R 0:0 /usr/lib/thunderbird-&thunderbird-version;</userinput></screen>
284
285<!-- thunderbuild directory does not exist anymore. Leaving as comment,
286in case an editor figures out how to install the development environment.
287 <para>
288 The above instruction just installs the parts you need to run
289 <application>Thunderbird</application>. Alternatively, if you want to
290 install the full <application>Thunderbird</application> development
291 environment, run the following command as the
292 <systemitem class="username">root</systemitem> user:
293 </para>
294
295<screen role="root"><userinput>make -C thunderbuild install</userinput></screen>
296-->
297 </sect2>
298
299 <sect2 role="commands">
300 <title>Command Explanations</title>
301<!-- might be necessary
302 <para>
303 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
304 version of thunderbird, an old bug has reappeared in 32-bit builds. With
305 optimization, the install fails with a Python error. This command will
306 fix i686 builds and preserve the optimization on x86_64.
307 </para>-->
308
309 <para>
310 <command>sed ...</command>: These commands correct the source to be
311 compatible with gcc6 by preventing c++ scope errors.
312 </para>
313
314 <para>
315 <command>sed -e 's/256/224/' ...</command>: Make the required key
316 length for ECDSA encryption compatible with RFC7540 9.2.1. Otherwise
317 some web sites cannot be accessed.
318 </para>
319
320 <para>
321 <command>export CFLAGS= ... export CXXFLAGS= ...</command>: These
322 settings work around code which gcc6 would otherwise regard as
323 out-of-specification and allow it to produce a working program.
324 </para>
325
326 <para>
327 <command>make -f client.mk</command>: Mozilla products are packaged to
328 allow the use of a configuration file which can be used to pass the
329 configuration settings to the <command>configure</command> command.
330 <command>make</command> uses the <filename>client.mk</filename> file to
331 get initial configuration and setup parameters.
332 </para>
333
334 </sect2>
335
336 <sect2 role="configuration">
337 <title>Configuring Thunderbird</title>
338
339 <sect3><title>Configuration Information</title>
340
341 <para>
342 If your Window or Desktop Manager does not allow you to configure a
343 default browser, you can add a configuration parameter to
344 <application>Thunderbird</application> so that a browser will start when
345 when you click on an Internet/intranet/local URL. The procedure to check
346 or modify any of the configuration parameters is quite simple and the
347 instructions here can be used to view or modify any of the parameters.
348 </para>
349
350 <para>
351 First, open the configuration dialog by opening the <quote>Edit</quote>
352 drop-down menu. Choose <quote>Preferences</quote> and then click on the
353 <quote>Advanced</quote> icon on the top menu bar. Choose the
354 <quote>General</quote> tab and click on the <quote>Config Editor</quote>
355 button. This will display a list of the configuration preferences and
356 information related to each one. You can use the <quote>Filter:</quote>
357 bar to enter search criteria and narrow down the listed items. Changing
358 a preference can be done using two methods. One, if the preference has a
359 boolean value (True/False), simply double-click on the preference to
360 toggle the value and two, for other preferences simply right-click on
361 the desired line, choose <quote>Modify</quote> from the menu and change
362 the value. Creating new preference items is accomplished in the same
363 way, except choose <quote>New</quote> from the menu and provide the
364 desired data into the fields when prompted.
365 </para>
366
367 <para>
368 The configuration preference item you need to check so that
369 <application>Thunderbird</application> uses a specified browser is the
370 <parameter>network.protocol-handler.app.http</parameter> which should be
371 set to the path of the desired browser, e.g.
372 <option>/usr/bin/firefox</option>.
373 </para>
374
375 <tip>
376 <para>
377 There is a multitude of configuration parameters you can tweak to
378 customize <application>Thunderbird</application>. A very extensive,
379 but not so up-to-date list of these parameters can be found at
380 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
381 </para>
382 </tip>
383
384 <para>
385
386 If you use a desktop environment such as <application>GNOME</application>
387 or <application>KDE</application>, a desktop file
388 <filename>thunderbird.desktop</filename> may be created, in order to
389 include a <quote><application>Thunderbird</application></quote> entry in
390 the menu. If you didn't enable
391 <application>startup-notification</application> in your mozconfig, then
392 change the StartupNotify line to false. Run the following commands as the
393 <systemitem class="username">root</systemitem> user:
394
395 </para>
396
397<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
398
399cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
400<literal>[Desktop Entry]
401Encoding=UTF-8
402Name=Thunderbird Mail
403Comment=Send and receive mail with Thunderbird
404GenericName=Mail Client
405Exec=thunderbird %u
406Terminal=false
407Type=Application
408Icon=thunderbird
409Categories=Application;Network;Email;
410MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
411StartupNotify=true</literal>
412EOF
413
414ln -sfv /usr/lib/thunderbird-&thunderbird-version;/chrome/icons/default/default256.png \
415 /usr/share/pixmaps/thunderbird.png</userinput></screen>
416 </sect3>
417 </sect2>
418
419 <sect2 role="content">
420 <title>Contents</title>
421
422 <segmentedlist>
423 <segtitle>Installed Program</segtitle>
424 <segtitle>Installed Libraries</segtitle>
425 <segtitle>Installed Directory</segtitle>
426
427 <seglistitem>
428 <seg>
429 thunderbird
430 </seg>
431 <seg>
432 None
433 </seg>
434 <seg>
435 /usr/lib/thunderbird-&thunderbird-version;
436 </seg>
437 </seglistitem>
438 </segmentedlist>
439
440 <variablelist>
441 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
442 <?dbfo list-presentation="list"?>
443 <?dbhtml list-presentation="table"?>
444
445 <varlistentry id="thunderbird-prog">
446 <term><command>thunderbird</command></term>
447 <listitem>
448 <para>
449 is <application>Mozilla</application>'s email and newsgroup client.
450 </para>
451 <indexterm zone="thunderbird thunderbird-prog">
452 <primary sortas="b-thunderbird">thunderbird</primary>
453 </indexterm>
454 </listitem>
455 </varlistentry>
456
457 </variablelist>
458
459 </sect2>
460
461</sect1>
Note: See TracBrowser for help on using the repository browser.