source: xsoft/graphweb/firefox.xml@ 2082307d

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts krejzi/svn lazarus lxqt nosym perl-modules plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 2082307d was 2082307d, checked in by DJ Lucas <dj@…>, 15 years ago

Updated to Xulrunner-1.9.1.2 and Firefox-3.5.2.

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

  • Property mode set to 100644
File size: 21.0 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 firefox-download-http "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
8 <!ENTITY firefox-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;-source.tar.bz2">
9 <!ENTITY firefox-md5sum "136867f95c86f3988b7f825e874b85de">
10 <!ENTITY firefox-size " MB">
11 <!ENTITY firefox-buildsize "322 MB (stand-alone) or 291 MB (on xulrunner)">
12 <!ENTITY firefox-time "11 SBU (stand-alone) or 0.2 SBU (on xulrunner)">
13]>
14
15<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
16 <?dbhtml filename="firefox.html" ?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 </sect1info>
22
23 <title>Firefox-&firefox-version;</title>
24
25 <indexterm zone="firefox">
26 <primary sortas="a-Firefox">Firefox</primary>
27 </indexterm>
28
29 <sect2 role="package">
30 <title>Introduction to Firefox</title>
31
32 <para><application>Firefox</application> is a stand-alone browser
33 based on the <application>Mozilla</application> codebase.</para>
34
35 <para>With the introduction of firefox-3.x, the
36 <application>pkgconfig</application> files for the Gecko engine (and for
37 <application>nss</application> and <application>nspr</application>) are not
38 installed. This means that applications such as
39 <application>Epiphany</application> can no longer be built against firefox,
40 and must instead be built against xulrunner (which is actually the same
41 code, but built in a different way). If you wish to build other packages
42 which use Gecko (for the moment, probably only gnome-2.24 or later versions
43 will recognize xulrunner), build <xref linkend="xulrunner"/> first.</para>
44
45 <tip>
46 <para>Firefox is updated frequently as new vulnerabilities are found.
47 Consult
48 <ulink url="http://www.mozilla.org/security/known-vulnerabilities/">mozilla security</ulink>
49 for details of what is fixed in newer releases. The editors cannot guess
50 what will differ in newer versions: it should be straightforward to upgrade
51 within the same series (3.5), but it is always possible that newer versions
52 will have increased dependencies, or that something using the nss or gecko
53 libraries will break. If you update, begin by updating
54 <application>xulrunner</application> if you use that, then update firefox
55 (ensuring the libxul-sdk option points to the new version).</para>
56 </tip>
57
58 <bridgehead renderas="sect3">Package Information</bridgehead>
59 <itemizedlist spacing="compact">
60 <listitem>
61 <para>Download (HTTP): <ulink url="&firefox-download-http;"/></para>
62 </listitem>
63 <listitem>
64 <para>Download (FTP): <ulink url="&firefox-download-ftp;"/></para>
65 </listitem>
66 <listitem>
67 <para>Download MD5 sum: &firefox-md5sum;</para>
68 </listitem>
69 <listitem>
70 <para>Download size: &firefox-size;</para>
71 </listitem>
72 <listitem>
73 <para>Estimated disk space required: &firefox-buildsize;</para>
74 </listitem>
75 <listitem>
76 <para>Estimated build time: &firefox-time;</para>
77 </listitem>
78 </itemizedlist>
79
80 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
81 <itemizedlist spacing="compact">
82 <listitem>
83 <para>Optional patch: <ulink
84 url="&patch-root;/firefox-&firefox-version;-provide_system_nspr_nss-1.patch"/>
85 (Required if using the included NSPR and NSS libs as system versions for
86 other packages)</para>
87 </listitem>
88 </itemizedlist>
89
90 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended"><xref linkend="xulrunner"/> which shares all these
94 dependencies, or for a standalone firefox the following Required and
95 Optional dependencies:</para>
96
97 <bridgehead renderas="sect4">Required</bridgehead>
98 <para role="required"><xref linkend="alsa-lib"/>,
99 <xref linkend="gtk2"/>,
100 <xref linkend="libidl"/>
101 <xref linkend="pango"/>
102 <xref linkend="python"/>, and
103 <xref linkend="zip"/></para>
104
105 <para>Note: <application>libjpeg</application> should have been installed
106 before <application>GTK+</application> and should exist on your system. If
107 for some reason you haven't installed <application>libjpeg</application>,
108 you should remove the <option>--with-system-jpeg</option> option from the
109 <filename>.mozconfig</filename> file created below.</para>
110
111 <bridgehead renderas="sect4">Optional</bridgehead>
112 <para role="optional"><xref linkend="dbus-glib"/>,
113 <xref linkend="doxygen"/>,
114 <xref linkend="curl"/> (only for crash-reporter),
115 <xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/>
116 (for gnome integration),
117 <xref linkend="lcms"/>,
118 <xref linkend="libpng"/> (patched for apng support),
119 <xref linkend="nspr"/>,
120 <xref linkend="nss"/>,
121 <xref linkend="startup-notification"/>.
122 <xref linkend="sqlite"/>,
123 <xref linkend="unzip"/>,
124 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing the
125 jemalloc code), and
126 <xref linkend="wget"/></para>
127
128 <para condition="html" role="usernotes">User Notes:
129 <ulink url="&blfs-wiki;/firefox"/></para>
130
131 </sect2>
132
133 <sect2 role="installation">
134 <title>Installation of Firefox</title>
135
136 <para>The configuration of <application>Firefox</application> is
137 accomplished by creating a <filename>.mozconfig</filename> file containing
138 the desired configuration options. A default <filename>.mozconfig</filename>
139 is created below. To see the entire list of available configuration options
140 (and an abbreviated description of each one), issue
141 <command>./configure --help</command>. If you are not building against
142 <application>Xulrunner</application> you must comment the 'xulrunner' items.
143 You may also wish to review the entire file and uncomment any other desired
144 options. If you would prefer to download the file instead of creating it by
145 typing or cut-and-pasting, you can find it at <ulink
146 url="&files-anduin;/firefox-&firefox-version;-mozconfig"/>
147 (the file must be installed in the root of the source tree
148 <filename class='directory'>mozilla</filename> directory, and named
149 <filename>.mozconfig</filename>). Create the file by issuing the following
150 command:</para>
151
152<screen><?dbfo keep-together="auto"?><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
153<literal># This file contains the options used in the Firefox build. You may
154# need to specify additional options for your specific build needs.
155# Use the information provided by running './configure --help' to
156# help you determine if you need to add any additional options.
157# Some additional options can be added by uncommenting the examples
158# in this file or adding options by inserting a line containing
159# 'ac_add_options --some-option-you-need'. Be aware that some accepted
160# options, such as '--with-system-bz2', do not affect the build.
161
162# specify that we want to build firefox
163ac_add_options --enable-application=browser
164
165# Use the default settings specified in the source tree
166. $topsrcdir/browser/config/mozconfig
167
168# Create an object directory and specify to build the package in that
169# directory. If desired, modify the location of the object directory
170# to a directory inside the source tree by removing '../' from the
171# line below.
172mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
173
174# Specify the installation prefix. If you would prefer Xulrunner
175# installed in a different prefix, modify the line below to fit
176# your needs (the config will always be written to /etc/gre.d)
177ac_add_options --prefix=/usr
178
179# apply a minimal level of optimization (-O)
180ac_add_options --enable-optimize
181
182# These options are used so that the Xulrunner binaries are linked to
183# the system-installed copies of the specified libraries instead of
184# the source tree code which may not be the most recent versions.
185# With the exception of libsqlite3, the libraries are statically linked.
186
187# (Options to use system installed libraries)
188# Using the shipped version of libsqlite3 has been reported to cause
189# problems with other applications which were using sqlite3.
190# Only comment this line if you know excatly what you are doing!
191ac_add_options --enable-system-sqlite
192
193# Comment this only if you want to use whatever patched version of cairo
194# is in the shipped mozilla tree, together with the system headers.
195ac_add_options --enable-system-cairo
196
197# Comment this if you have not installed lcms.
198ac_add_options --enable-system-lcms
199
200# Comment this if you did not build libjpeg before GTK+-2.
201ac_add_options --with-system-jpeg
202
203# These two options enable support for building Xulrunner with
204# system-installed versions of the Network Security Services (NSS)
205# and Netscape Portable Runtime (NSPR) libraries. Comment them if
206# you wish to use the included copies (not recommended).
207ac_add_options --with-system-nspr
208ac_add_options --with-system-nss
209
210# Comment this if you have not built png with the apng patch.
211ac_add_options --with-system-png
212
213# The pthreads option is only used when building nspr
214# Uncomment this if you build the included nspr.
215#ac_add_options --with-pthreads
216
217# zlib is included in LFS. Do not comment this line.
218ac_add_options --with-system-zlib
219
220# (Options to disable parts of the package)
221# This option is used to disable the a11y support in the Xulrunner
222# binaries. Comment out this option if you require a11y support.
223ac_add_options --disable-accessibility
224
225# Uncomment this if you did not build curl.
226ac_add_options --disable-crashreporter
227
228# Comment this if you have built dbus-glib.
229#ac_add_options --disable-dbus
230
231# Comment this if you have gnome-vfs and libgnomeui, and wish to
232# integrate xulrunner into your gnome desktop
233ac_add_options --disable-gnomevfs
234
235# This option is added so that the Mozilla Installer program is not
236# built or installed. The program is not required for a BLFS
237# installation of Xulrunner.
238ac_add_options --disable-installer
239
240# If you enable javaxpcom, you must have a java compiler installed.
241ac_add_options --disable-javaxpcom
242
243# mochitest often causes problems
244ac_add_options --disable-mochitest
245
246# This option is added so that test libraries and programs are not
247# built. These would only be required for debugging purposes.
248ac_add_options --disable-tests
249
250# Disable the updater, which is not appropriate if you build from source
251ac_add_options --disable-updater
252
253# (options to add extra parts of the package)
254# This option is used to enable source tree included LDAP support in
255# the Xulrunner binaries.
256###################################################################
257#
258# NOTE: You must uncomment this option if there is any chance of
259# compiling the OpenOffice package from source code using this copy
260# of Xulrunner for your Mozilla support.
261#
262# This has NOT been tested, the current status of OpenOffice
263# and xulrunner is unknown! (Remove this comment before release)
264#
265###################################################################
266#ac_add_options --enable-ldap
267
268# Use the anti-phishing measures (a blacklist of sites).
269ac_add_options --enable-safe-browsing
270
271# This option is used so that the debugging symbols are removed from
272# the installed binaries during the installation process. Comment out
273# this option if you may have a need to retain the debugging symbols
274# in the installed binaries (the resulting binaries will be about 7MB
275# bigger).
276ac_add_options --enable-strip
277
278# Uncomment this option if you desire support for dual-monitor
279# display using the X-Window Xinerama libraries.
280#ac_add_options --enable-xinerama
281
282# This option identifies the default binary directory of the Xulrunner
283# installation and is used to locate Xulrunner's installed files. This
284# option is is only used for development purposes.
285#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;
286
287# Point to the xulrunner libraries - comment these for a standalone browser
288ac_add_options --with-system-libxul
289ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;</literal>
290EOF</userinput></screen>
291
292 <para>If you did not install <xref linkend="xulrunner"/> or
293 <xref linkend="nspr"/> and <xref linkend="nss"/>, then apply the patch
294 with the following command:</para>
295
296<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-provide_system_nss_nspr-1.patch</userinput></screen>
297
298 <para>Compile <application>Firefox</application> by issuing the
299 following commands:</para>
300
301<screen><userinput>make -f client.mk build</userinput></screen>
302
303 <para>This package does not come with a test suite.</para>
304
305 <para>Now, as the <systemitem class="username">root</systemitem> user,
306 install the package:</para>
307
308<screen role="root"><userinput>make -f client.mk install</userinput></screen>
309
310 <para>If you are building firefox on xulrunner, as the
311 <systemitem class="username">root</systemitem> user enter the following
312 symbolic link:</para>
313
314<screen role="root"><userinput>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins \
315 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
316
317 <para>If you've elected to use the included NSPR and NSS, while still the
318 <systemitem class="username">root</systemitem> user, complete the
319 installation with the following commands:</para>
320
321<screen role="root"><userinput>for DL in \
322 libnss3.so libnssutil3.so libsmime3.so libssl3.so libsoftokn3.so \
323 libplds4.so libplc4.so libnspr4.so
324do
325 ln -sv xulrunner-&xulrunner-version;/$DL /usr/lib/$DL
326done</userinput></screen>
327
328 </sect2>
329
330 <sect2 role="commands">
331 <title>Command Explanations</title>
332
333 <para><command>make -f client.mk ...</command>: Mozilla products are
334 packaged to allow the use of a configuration file which can be used to
335 pass the configuration settings to the <command>configure</command>
336 command. <command>make</command> uses the <filename>client.mk</filename>
337 file to get initial configuration and setup parameters, then depending on
338 the target parameter (<parameter>build</parameter> or
339 <parameter>install</parameter>), either runs the
340 <command>configure</command> script and compiles the package or installs
341 the package.</para>
342
343 <para><command>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
344 /usr/lib/firefox-&firefox-version;/plugins</command>:
345 <application>Firefox</application> looks for plugins in its own directory,
346 but when building on <application>xulrunner</application> the plugins were
347 installed by that package.</para>
348
349 <tip>
350 <para>If you upgrade firefox, ensure that any additional plugins are moved
351 to the plugin directory of the new version.</para>
352 </tip>
353
354 </sect2>
355
356 <sect2 role="configuration">
357 <title>Configuring Firefox</title>
358
359 <para>No specific configuration is required as long as the
360 <command>firefox</command> script is in the user's path. If
361 <application>Firefox</application> is installed in a non-standard location,
362 then make a symlink to the <command>firefox</command> script in the
363 <filename class="directory">/usr/bin</filename> directory.</para>
364
365 <para>If your Window or Desktop Manager does not allow you to configure
366 a default mail client, you can add a configuration parameter to
367 <application>Firefox</application> so that an email client will start
368 when you click on a <systemitem role='url'>mailto:</systemitem> URL.
369 There are two parameters you need to check. The procedure to check or
370 modify any of the configuration parameters is quite simple and the
371 instructions here can be used to view or modify any of the
372 parameters.</para>
373
374 <para>First, open the configuration dialog by entering
375 <systemitem role='url'>about:config</systemitem> in the address bar. This
376 will display a list of the configuration preferences and information
377 related to each one. You can use the <quote>Filter:</quote> bar to enter
378 search criteria and narrow down the listed items. Changing a preference
379 can be done using two methods. One, if the preference has a boolean value
380 (True/False), simply double-click on the preference to toggle the value
381 and two, for other preferences simply right-click on the desired line,
382 choose <quote>Modify</quote> from the menu and change the value. Creating
383 new preference items is accomplished in the same way, except choose
384 <quote>New</quote> from the menu and provide the desired data into the
385 fields when prompted.</para>
386
387 <para>The two configuration preference items you need to check so that
388 <application>Firefox</application> uses a specified default mail client
389 are the <parameter>network.protocol-handler.external.mailto</parameter>
390 which should be set to <option>True</option> and the
391 <parameter>network.protocol-handler.app.mailto</parameter> which should
392 be set to the path of the desired mail client, e.g.,
393 <option>/usr/bin/thunderbird</option>.</para>
394
395 <tip>
396 <para>There is a multitude of configuration parameters you can tweak to
397 customize <application>Firefox</application>. A very extensive and
398 up-to-date list of these parameters can be found at <ulink
399 url="http://preferential.mozdev.org/preferences.html"/>.</para>
400 </tip>
401
402 <para>Many applications look for <command>netscape</command> when they
403 need to open a browser. You may wish to make the following symlink for
404 convenience (as the <systemitem class="username">root</systemitem>
405 user).</para>
406
407<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
408
409 <para>For installing various <application>Firefox</application> plugins,
410 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
411 PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
412 installed, create the following link as the
413 <systemitem class="username">root</systemitem> user to utilize the installed
414 <application>Java</application> plugin: </para>
415
416<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
417 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
418
419 <para>Some packages install Mozilla plugins into the default system-wide
420 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
421 If you have not already done this for <application>Xulrunner</application>
422 create symbolic links in the <application>Firefox</application>
423 plugin directory
424 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
425 to the files in the default plugin directory (you should link to the actual
426 files and not other links). Alternatively, you can move or copy the files
427 in the default plugin directory to the
428 <application>Firefox</application> plugin directory. An example of creating
429 a symbolic link is shown below. Create the links as the
430 <systemitem class="username">root</systemitem> user:</para>
431
432<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>&lt;plugin.so&gt;</replaceable> \
433 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
434
435 </sect2>
436
437 <sect2 role="content">
438 <title>Contents</title>
439
440 <segmentedlist>
441 <segtitle>Installed Programs</segtitle>
442 <segtitle>Installed Libraries</segtitle>
443 <segtitle>Installed Directories</segtitle>
444
445 <seglistitem>
446 <seg>firefox and firefox-config</seg>
447 <seg>Numerous libraries, browser components, plugins, extensions, and
448 helper modules installed in <filename
449 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
450 <seg>/usr/include/firefox-&firefox-version;,
451 /usr/lib/firefox-&firefox-version;, and
452 /usr/share/idl/firefox-&firefox-version;</seg>
453 </seglistitem>
454 </segmentedlist>
455
456 <variablelist>
457 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
458 <?dbfo list-presentation="list"?>
459 <?dbhtml list-presentation="table"?>
460
461 <varlistentry id="firefox-prog">
462 <term><command>firefox</command></term>
463 <listitem>
464 <para>is a shell script that sets up the environment and
465 calls the <filename>firefox-bin</filename> binary.</para>
466 <indexterm zone="firefox firefox-prog">
467 <primary sortas="b-firefox">firefox</primary>
468 </indexterm>
469 </listitem>
470 </varlistentry>
471
472 <varlistentry id="firefox-config">
473 <term><command>firefox-config</command></term>
474 <listitem>
475 <para>determines the compile and linker flags that should be
476 used to compile and link programs that use
477 <application>Firefox</application> libraries and browser
478 components.</para>
479 <indexterm zone="firefox firefox-config">
480 <primary sortas="b-firefox-config">firefox-config</primary>
481 </indexterm>
482 </listitem>
483 </varlistentry>
484
485 </variablelist>
486
487 </sect2>
488
489</sect1>
Note: See TracBrowser for help on using the repository browser.