source: xsoft/other/thunderbird.xml@ d41a4f8

10.1 11.0 11.1 11.2 lazarus qt5new trunk upgradedb xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since d41a4f8 was d41a4f8, checked in by Ken Moffat <ken@…>, 19 months ago

Thunderbird-78.8.0 (security fix).

I have brought the instructions a little more into line with firefox,
but retained gold: that makes the build marginally slower (but still
rounds to the same SBU with 4 cores) but saves 2MB in the install.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@24292 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 "67ad58f6e1654d999fdc939bdaaa7b3e">
10 <!ENTITY thunderbird-size "337 MB">
11 <!ENTITY thunderbird-buildsize "5.3 GB (183 MB installed)">
12 <!ENTITY thunderbird-time "29 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 installs on some machines.
198# It is supposed to improve startup time and it shrinks libxul.so
199# by a few MB - comment this if you know your machine is not affected.
200ac_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<!--
228 <para>
229 Apply a patch to allow this to be compiled with <xref linkend="rust"/>:
230 </para>
231
232<screen><userinput remap="pre">patch -p1 -i ../thunderbird-&thunderbird-version;-rustc1470-1.patch</userinput></screen>
233-->
234
235 <para>
236 Compile <application>Thunderbird</application> by issuing the following
237 commands:
238 </para>
239
240 <note>
241 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
242 href="../../xincludes/mozshm.xml"/>
243
244 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
245 href="../../xincludes/mozmach.xml"/>
246
247 </note>
248
249<screen><userinput>export CC=gcc CXX=g++ &amp;&amp;
250./mach configure &amp;&amp;
251./mach build</userinput></screen>
252
253 <para>
254 This package does not come with a test suite.
255 </para>
256
257 <para>
258 Install <application>Thunderbird</application> by running the following
259 commands as the <systemitem class="username">root</systemitem> user:
260 </para>
261
262<screen role="root"><userinput>./mach install</userinput></screen>
263
264 </sect2>
265
266 <sect2 role="commands">
267 <title>Command Explanations</title>
268<!-- might be necessary, we need to verify this.
269 <para>
270 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>: On this
271 version of thunderbird, an old bug has reappeared in 32-bit builds. With
272 optimization, the install fails with a Python error. This command will
273 fix i686 builds and preserve the optimization on x86_64.
274 </para>-->
275
276 <para>
277 <command>CC=gcc CXX=g++ ./mach build</command>:
278 <application>Thunderbird</application>
279 now uses this <application>python3</application> script to run the
280 build and install. Forcing GCC causes the build to come out smaller
281 and run faster.
282 <!-- For more info, see Ticket #13969. ~12GB to ~5GB build size,
283 significantly smaller build time.-->
284 </para>
285
286 <para>
287 <option>./mach build --verbose</option>: Use this alternative if you
288 need details of which files are being compiled, together with any C or
289 C++ flags being used.
290 </para>
291
292 </sect2>
293
294 <sect2 role="configuration">
295 <title>Configuring Thunderbird</title>
296
297 <sect3><title>Configuration Information</title>
298
299 <para>
300 If your Window or Desktop Manager does not allow you to configure a
301 default browser, you can add a configuration parameter to
302 <application>Thunderbird</application> so that a browser will start when
303 you click on an Internet/intranet/local URL. The procedure to check
304 or modify any of the configuration parameters is quite simple and the
305 instructions here can be used to view or modify any of the parameters.
306 </para>
307
308 <para>
309 First, open the configuration dialog by opening the <quote>Edit</quote>
310 drop-down menu. Choose <quote>Preferences</quote> and then scroll down
311 to the bottom of the page. Then, click the <quote>Config Editor</quote>
312 button. Click on the <quote>I accept the risk!</quote> button.
313 This will display a list of the configuration preferences and
314 information related to each one. You can use the <quote>Filter:</quote>
315 bar to enter search criteria and narrow down the listed items. Changing
316 a preference can be done using two methods. One, if the preference has a
317 boolean value (True/False), simply double-click on the preference to
318 toggle the value and two, for other preferences simply right-click on
319 the desired line, choose <quote>Modify</quote> from the menu and change
320 the value. Creating new preference items is accomplished in the same
321 way, except choose <quote>New</quote> from the menu and provide the
322 desired data into the fields when prompted.
323 </para>
324
325 <para>
326 The configuration preference item you need to check so that
327 <application>Thunderbird</application> uses a specified browser is the
328 <parameter>network.protocol-handler.app.http</parameter> which should be
329 set to the path of the desired browser, e.g.
330 <option>/usr/bin/firefox</option>.
331 </para>
332
333 <tip>
334 <para>
335 There is a multitude of configuration parameters you can tweak to
336 customize <application>Thunderbird</application>. A very extensive,
337 but not so up-to-date list of these parameters can be found at
338 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
339 </para>
340 </tip>
341
342 <para>
343
344 If you use a desktop environment such as <application>GNOME</application>
345 or <application>KDE</application>, a desktop file
346 <filename>thunderbird.desktop</filename> may be created, in order to
347 include a <quote><application>Thunderbird</application></quote> entry in
348 the menu. <!--If you didn't enable
349 <application>startup-notification</application> in your mozconfig, then
350 change the StartupNotify line to false.--> Run the following commands as the
351 <systemitem class="username">root</systemitem> user:
352
353 </para>
354
355<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
356
357cat &gt; /usr/share/applications/thunderbird.desktop &lt;&lt; "EOF" &amp;&amp;
358<literal>[Desktop Entry]
359Name=Thunderbird Mail
360Comment=Send and receive mail with Thunderbird
361GenericName=Mail Client
362Exec=thunderbird %u
363Terminal=false
364Type=Application
365Icon=thunderbird
366Categories=Network;Email;
367MimeType=text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;x-scheme-handler/mailto;
368StartupNotify=true</literal>
369EOF
370
371ln -sfv /usr/lib/thunderbird/chrome/icons/default/default256.png \
372 /usr/share/pixmaps/thunderbird.png</userinput></screen>
373 </sect3>
374 </sect2>
375
376 <sect2 role="content">
377 <title>Contents</title>
378
379 <segmentedlist>
380 <segtitle>Installed Program</segtitle>
381 <segtitle>Installed Libraries</segtitle>
382 <segtitle>Installed Directory</segtitle>
383
384 <seglistitem>
385 <seg>
386 thunderbird
387 </seg>
388 <seg>
389 libldap60.so, libldif60.so, liblgpllibs.so, libmozgtk.so,
390 libmozsandbox.so, libmozsqlite3.so, libmozwayland.so,
391 libprldap60.so, librnp.so, and libxul.so, all in the
392 /usr/lib/thunderbird directory
393 </seg>
394 <seg>
395 /usr/lib/thunderbird
396 </seg>
397 </seglistitem>
398 </segmentedlist>
399
400 <variablelist>
401 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
402 <?dbfo list-presentation="list"?>
403 <?dbhtml list-presentation="table"?>
404
405 <varlistentry id="thunderbird-prog">
406 <term><command>thunderbird</command></term>
407 <listitem>
408 <para>
409 is <application>Mozilla</application>'s email and newsgroup client
410 </para>
411 <indexterm zone="thunderbird thunderbird-prog">
412 <primary sortas="b-thunderbird">thunderbird</primary>
413 </indexterm>
414 </listitem>
415 </varlistentry>
416
417 </variablelist>
418
419 </sect2>
420
421</sect1>
Note: See TracBrowser for help on using the repository browser.