source: xsoft/graphweb/seamonkey.xml@ 3b3720a8

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

Patch seamonkey for CVE-2020-26950

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

  • Property mode set to 100644
File size: 15.2 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 seamonkey-download-http "&mozilla-http;/seamonkey/releases/&seamonkey-version;/source/seamonkey-&seamonkey-version;.source.tar.xz">
8 <!ENTITY seamonkey-download-ftp " ">
9 <!ENTITY seamonkey-md5sum "bbf02af3586f1d488e77517f8cd9f439">
10 <!ENTITY seamonkey-size "281 MB">
11 <!ENTITY seamonkey-buildsize "6.8 GB (145 MB installed)">
12 <!ENTITY seamonkey-time "18 SBU (on a 4-core machine)">
13]>
14
15<sect1 id="seamonkey" xreflabel="SeaMonkey-&seamonkey-version;">
16 <?dbhtml filename="seamonkey.html" ?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>SeaMonkey-&seamonkey-version;</title>
24
25 <indexterm zone="seamonkey">
26 <primary sortas="a-SeaMonkey">SeaMonkey</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to SeaMonkey</title>
31
32 <para>
33 <application>SeaMonkey</application> is a browser suite, the Open Source
34 sibling of <application>Netscape</application>. It includes the browser,
35 composer, mail and news clients, and an IRC client. It is the follow-on
36 to the Mozilla browser suite.
37 </para>
38
39 <para>
40 The Mozilla project also hosts two subprojects that aim to satisfy the
41 needs of users who don't need the complete browser suite or prefer to have
42 separate applications for browsing and e-mail. These subprojects are
43 <xref linkend="firefox"/> and <xref linkend="thunderbird"/>. Both are
44 based on the <application>Mozilla</application> source code.
45 </para>
46
47 &lfs10_checked;
48
49 <bridgehead renderas="sect3">Package Information</bridgehead>
50 <itemizedlist spacing="compact">
51 <listitem>
52 <para>
53 Download (HTTP): <ulink url="&seamonkey-download-http;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download (FTP): <ulink url="&seamonkey-download-ftp;"/>
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download MD5 sum: &seamonkey-md5sum;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Download size: &seamonkey-size;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated disk space required: &seamonkey-buildsize;
74 </para>
75 </listitem>
76 <listitem>
77 <para>
78 Estimated build time: &seamonkey-time;
79 </para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
84 <itemizedlist spacing="compact">
85 <listitem>
86 <para>
87 Required patch:
88 <ulink url="&patch-root;/seamonkey-&seamonkey-version;-security_fixes-1.patch"/>
89 </para>
90 </listitem>
91 </itemizedlist>
92
93 <note>
94 <para>
95 The tarball
96 <emphasis>seamonkey-&seamonkey-version;.source.tar.xz</emphasis> will
97 untar to <emphasis>seamonkey-&seamonkey-version;</emphasis> directory.
98 </para>
99 </note>
100
101 <bridgehead renderas="sect3">SeaMonkey Dependencies</bridgehead>
102
103 <bridgehead renderas="sect4">Required</bridgehead>
104 <para role="required">
105 <xref linkend="autoconf213"/>,
106 both <xref linkend="gtk2"/> and <xref linkend="gtk3"/>,
107 <xref linkend="python2"/>,
108 <xref linkend="rust"/>,
109 <xref linkend="unzip"/>,
110 <xref linkend="yasm"/>, and
111 <xref linkend="zip"/>
112 </para>
113
114 <bridgehead renderas="sect4">Recommended</bridgehead>
115 <para role="recommended">
116 <xref linkend="icu"/>,
117 <xref linkend="libevent"/>,
118 <!--<xref linkend="libvpx"/>, Causes build failures similar to Firefox -->
119 <xref linkend="nspr"/>,
120 <xref linkend="nss"/>,
121 <xref linkend="pulseaudio"/>, and
122 <xref linkend="sqlite"/>
123 </para>
124<!--
125 <bridgehead renderas="sect4">Optional</bridgehead>
126 <para role="optional">
127 <xref linkend="sqlite"/> (not recommended due to potential
128 security concerns)
129 </para>
130-->
131 <note>
132 <para>
133 If you don't install recommended dependencies, then internal copies of
134 those packages will be used. They might be tested to work, but they can
135 be out of date or contain security holes.
136 </para>
137 </note>
138<!--
139 <note>
140 <para>
141 You must have installed <application>Openssl</application> before
142 <application>Python 2</application> or the build system will quickly
143 fail with output including "ImportError: cannot import name
144 HTTPSHandler". If you are in any doubt about this (e.g. upgrading from
145 an older version of Seamonkey), check if
146 <filename>/usr/lib/python&python2-majorver;/lib-dynload/_ssl.so</filename>
147 exists. If it does not, reinstall <xref linkend="python2"/> (after
148 installing <xref linkend="openssl"/>. The latest version of any
149 <emphasis>currently maintained</emphasis> version of Openssl should be
150 satisfactory if already installed.
151 </para>
152 </note>
153-->
154 <bridgehead renderas="sect4">Optional</bridgehead>
155 <para role="optional">
156 <xref linkend="alsa-lib"/>,
157 <xref linkend="curl"/>,
158 <xref linkend="dbus-glib"/>,
159 <xref linkend="doxygen"/>,
160 <xref linkend="GConf"/>,
161 <xref linkend="gst10-plugins-base"/> (and other plugins, only for tests),
162 <xref linkend="openjdk"/>,
163 <xref linkend="startup-notification"/>,
164 <xref linkend="valgrind"/>,
165 <xref linkend="wget"/>,
166 <xref linkend="wireless_tools"/>, and
167 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
168 </para>
169
170 <para condition="html" role="usernotes">
171 User Notes: <ulink url="&blfs-wiki;/seamonkey"/>
172 </para>
173
174 </sect2>
175
176 <sect2 role="installation">
177 <title>Installation of SeaMonkey</title>
178
179 <para>
180 The configuration of <application>SeaMonkey</application> is accomplished
181 by creating a <filename>mozconfig</filename> file containing the desired
182 configuration options. A default <filename>mozconfig</filename> file is
183 created below. To see the entire list of available configuration options
184 (and an abbreviated description of each one), issue
185 <command>./configure --help</command>. You may also wish to review the
186 entire file and uncomment any other desired options. Create the file by
187 issuing the following command:
188 </para>
189
190<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
191<literal># If you have a multicore machine, all cores will be used by default.
192# If desired, you can reduce the number of cores used, e.g. to 1, by
193# uncommenting the next line and setting a valid number of CPU cores.
194#mk_add_options MOZ_MAKE_FLAGS="-j1"
195
196# If you have installed DBus-Glib comment out this line:
197ac_add_options --disable-dbus
198
199# If you have installed dbus-glib, and you have installed (or will install)
200# wireless-tools, and you wish to use geolocation web services, comment out
201# this line
202ac_add_options --disable-necko-wifi
203
204# Uncomment these lines if you have installed optional dependencies:
205#ac_add_options --enable-system-hunspell
206#ac_add_options --enable-startup-notification
207
208# Uncomment the following option if you have not installed PulseAudio
209#ac_add_options --disable-pulseaudio
210# and uncomment this if you installed alsa-lib instead of PulseAudio
211#ac_add_options --enable-alsa
212
213# Comment out following option if you have gconf installed
214ac_add_options --disable-gconf
215
216# Comment out following options if you have not installed
217# recommended dependencies:
218ac_add_options --enable-system-sqlite
219ac_add_options --with-system-libevent
220ac_add_options --with-system-nspr
221ac_add_options --with-system-nss
222ac_add_options --with-system-icu
223<!-- seems OK with icu-60, seamonkey-2.49
224# Use the internal version of icu due to execution problems-->
225
226# The BLFS editors recommend not changing anything below this line:
227ac_add_options --prefix=/usr
228ac_add_options --enable-application=suite
229
230ac_add_options --disable-crashreporter
231ac_add_options --disable-updater
232ac_add_options --disable-tests
233
234ac_add_options --enable-optimize="-O2"
235ac_add_options --enable-strip
236ac_add_options --enable-install-strip
237
238# not recognized since 2.53.1 - ac_add_options --enable-gio
239ac_add_options --enable-official-branding
240# not recognized since 2.53.1 - ac_add_options --enable-safe-browsing
241# not recognized since 2.53.1 - ac_add_options --enable-url-classifier
242
243# From firefox-40 (and the corresponding version of seamonkey),
244# using system cairo caused seamonkey to crash
245# frequently when it was doing background rendering in a tab.
246# This appears to again work in seamonkey-2.49.2
247ac_add_options --enable-system-cairo
248ac_add_options --enable-system-ffi
249ac_add_options --enable-system-pixman
250
251ac_add_options --with-pthreads
252
253ac_add_options --with-system-bz2
254ac_add_options --with-system-jpeg
255ac_add_options --with-system-png
256ac_add_options --with-system-zlib</literal>
257EOF</userinput></screen>
258
259 <note>
260 <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
261 href="../../xincludes/mozshm.xml"/>
262 <!-- if this package switches to using ./mach, replace the
263 folliowing by including mozmach.xml -->
264 <para>
265 Second, either as the <systemitem class="username">root</systemitem>
266 user export the <envar>$SHELL</envar> environment variable using
267 <command>export SHELL=/bin/sh</command> or else prepend
268 <envar>SHELL=/bin/sh</envar> when running the first
269 <command>make</command> command.
270 </para>
271 </note>
272
273 <para>
274 Apply a patch to fix a 0day vulnerability in Seamonkey:
275 </para>
276
277
278<screen><userinput>patch -Np1 -i ../seamonkey-&seamonkey-version;-security_fixes-1.patch</userinput></screen>
279
280
281 <para>
282 Remove a deprecated include which breaks the build with glibc-2.32:
283 </para>
284
285<screen><userinput>sed /sysctl/d -i mozilla/memory/build/mozjemalloc.cpp</userinput></screen>
286
287 <para>
288 Compile <application>SeaMonkey</application> by running the following
289 commands:
290 </para>
291
292<screen><userinput>CC=gcc CXX=g++ make -f client.mk</userinput></screen>
293
294 <note>
295 <para>
296 The CC and CXX variables above are only needed if
297 <xref linkend="llvm"/> is installed and you do not want to use clang.
298 </para>
299 </note>
300
301 <para>
302 This package does not come with a test suite.
303 </para>
304
305 <para>
306 Install <application>SeaMonkey</application> by issuing the following
307 commands as the <systemitem class="username">root</systemitem> user:
308 </para>
309
310
311<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
312chown -R 0:0 /usr/lib/seamonkey &amp;&amp;
313
314cp -v $(find -name seamonkey.1 | head -n1) /usr/share/man/man1</userinput></screen>
315
316 </sect2>
317
318 <sect2 role="commands">
319 <title>Command Explanations</title>
320
321 <para>
322 <command>make -f client.mk</command>: Mozilla products are packaged to
323 allow the use of a configuration file which can be used to pass the
324 configuration settings to the <command>configure</command> command.
325 <command>make</command> uses the <filename>client.mk</filename> file to
326 get initial configuration and setup parameters.
327 </para>
328
329 </sect2>
330
331 <sect2 role="configuration">
332 <title>Configuring SeaMonkey</title>
333
334 <para>
335 For installing various <application>SeaMonkey</application> plugins, refer
336 to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc
337 Project</ulink>.
338 </para>
339
340 <para>
341 Along with using the <quote>Preferences</quote> menu to configure
342 <application>SeaMonkey</application>'s options and preferences to suit
343 individual tastes, finer grain control of many options is only available
344 using a tool not available from the general menu system. To access this
345 tool, you'll need to open a browser window and enter
346 <systemitem role="url">about:config</systemitem> in the address bar. This
347 will display a list of the configuration preferences and information
348 related to each one. You can use the <quote>Filter:</quote> bar to enter
349 search criteria and narrow down the listed items. Changing a preference
350 can be done using two methods. One, if the preference has a boolean value
351 (True/False), simply double-click on the preference to toggle the value
352 and two, for other preferences simply right-click on the desired line,
353 choose <quote>Modify</quote> from the menu and change the value. Creating
354 new preference items is accomplished in the same way, except choose
355 <quote>New</quote> from the menu and provide the desired data into the
356 fields when prompted.
357 </para>
358
359 <tip>
360 <para>
361 There is a multitude of configuration parameters you can tweak to
362 customize <application>SeaMonkey</application>. A very extensive list of
363 these parameters can be found at
364 <ulink url="http://preferential.mozdev.org/preferences.html"/>.
365 </para>
366 </tip>
367
368 <para>
369 If you use a desktop environment like <application>Gnome</application> or
370 <application>KDE</application> you may wish to create a
371 <filename>seamonkey.desktop</filename> file so that
372 <application>SeaMonkey</application> appears in the panel's menus. If you
373 didn't enable <application>Startup-Notification</application> in your
374 mozconfig change the StartupNotify line to false. As the
375 <systemitem class="username">root</systemitem> user:
376 </para>
377
378<screen role="root"><userinput>mkdir -pv /usr/share/{applications,pixmaps} &amp;&amp;
379
380cat &gt; /usr/share/applications/seamonkey.desktop &lt;&lt; "EOF"
381<literal>[Desktop Entry]
382Encoding=UTF-8
383Type=Application
384Name=SeaMonkey
385Comment=The Mozilla Suite
386Icon=seamonkey
387Exec=seamonkey
388Categories=Network;GTK;Application;Email;Browser;WebBrowser;News;
389StartupNotify=true
390Terminal=false</literal>
391EOF
392
393ln -sfv /usr/lib/seamonkey/chrome/icons/default/default128.png \
394 /usr/share/pixmaps/seamonkey.png</userinput></screen>
395 </sect2>
396
397 <sect2 role="content">
398 <title>Contents</title>
399
400 <segmentedlist>
401 <segtitle>Installed Programs</segtitle>
402 <segtitle>Installed Libraries</segtitle>
403 <segtitle>Installed Directory</segtitle>
404
405 <seglistitem>
406 <seg>seamonkey</seg>
407 <seg>
408 Numerous libraries, browser, and email/newsgroup components, plugins,
409 extensions, and helper modules installed in <filename
410 class="directory">/usr/lib/seamonkey-&seamonkey-version;</filename>
411 </seg>
412 <seg>
413 /usr/lib/seamonkey-&seamonkey-version;
414 </seg>
415 </seglistitem>
416 </segmentedlist>
417
418 <variablelist>
419 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
420 <?dbfo list-presentation="list"?>
421 <?dbhtml list-presentation="table"?>
422
423 <varlistentry id="seamonkey-prog">
424 <term><command>seamonkey</command></term>
425 <listitem>
426 <para>
427 is the Mozilla browser/email/newsgroup/chat client suite.
428 </para>
429 <indexterm zone="seamonkey seamonkey-prog">
430 <primary sortas="b-seamonkey">seamonkey</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434 </variablelist>
435 </sect2>
436</sect1>
Note: See TracBrowser for help on using the repository browser.