source: xsoft/graphweb/firefox.xml@ a41f643

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 a41f643 was a41f643, checked in by Randy McMurchy <randy@…>, 14 years ago

Globally removed all extraneous spaces

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

  • Property mode set to 100644
File size: 20.9 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 "458051557ff49e6a352c1d56eee5782a">
10 <!ENTITY firefox-size "47 MB">
11 <!ENTITY firefox-buildsize "321 MB (stand-alone) or 303 MB (on xulrunner)">
12 <!ENTITY firefox-time "12 SBU (stand-alone) or 0.1 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 exactly 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.
226#ac_add_options --disable-crashreporter
227
228# Comment this if you have built dbus-glib.
229ac_add_options --disable-dbus
230
231# Comment this if you have gnome-vfs and libgnomeui, and wish to
232# integrate firefox into your gnome desktop
233ac_add_options --disable-gnomevfs
234
235# Comment this if you have wireless-tools installed and wish to use the new
236# Necko WiFi scanning.
237ac_add_options --disable-necko-wifi
238
239# This option is added so that the Mozilla Installer program is not
240# built or installed. The program is not required for a BLFS
241# installation of Xulrunner.
242ac_add_options --disable-installer
243
244# If you enable javaxpcom, you must have a java compiler installed.
245ac_add_options --disable-javaxpcom
246
247# This option is added so that test libraries and programs are not
248# built. These would only be required for debugging purposes.
249ac_add_options --disable-tests
250
251# Disable the updater, which is not appropriate if you build from source
252ac_add_options --disable-updater
253
254# (options to add extra parts of the package)
255# This option causes the installed binaries to have the official
256# Firefox name embedded in them. Due to license restrictions, you
257# may not distribute binaries created using this option. It also
258# means you get a popup EULA when you first run firefox.
259ac_add_options --enable-official-branding
260
261# Use the anti-phishing measures (a blacklist of sites).
262ac_add_options --enable-safe-browsing
263
264# This option is used so that the debugging symbols are removed from
265# the installed binaries during the installation process. Comment out
266# this option if you may have a need to retain the debugging symbols
267# in the installed binaries (the resulting binaries will be about 7MB
268# bigger).
269ac_add_options --enable-strip
270
271# Uncomment this option if you desire support for dual-monitor
272# display using the X-Window Xinerama libraries.
273#ac_add_options --enable-xinerama
274
275# This option identifies the default binary directory of the Xulrunner
276# installation and is used to locate Xulrunner's installed files. This
277# option is is only used for development purposes.
278#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;
279
280# Point to the xulrunner libraries - comment these for a standalone browser
281ac_add_options --with-system-libxul
282ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;</literal>
283EOF</userinput></screen>
284
285 <para>If you did not install <xref linkend="xulrunner"/> or
286 <xref linkend="nspr"/> and <xref linkend="nss"/>, then fix a couple of build
287 errors with the following commands:</para>
288
289<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-provide_system_nss_nspr-1.patch &amp;&amp;
290sed 's@stable@unstable@' -i xulrunner/installer/mozilla-js.pc.in </userinput></screen>
291
292 <para>Compile <application>Firefox</application> by issuing the
293 following commands:</para>
294
295<screen><userinput>make -f client.mk build</userinput></screen>
296
297 <para>This package does not come with a test suite.</para>
298
299 <para>Now, as the <systemitem class="username">root</systemitem> user,
300 install the package:</para>
301
302<screen role="root"><userinput>make -f client.mk install</userinput></screen>
303
304 <para>If you are building firefox on xulrunner, as the
305 <systemitem class="username">root</systemitem> user enter the following
306 symbolic link:</para>
307
308<screen role="root"><userinput>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins \
309 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
310
311 <para>If you've elected to use the included NSPR and NSS, while still the
312 <systemitem class="username">root</systemitem> user, complete the
313 installation with the following commands:</para>
314
315<screen role="root"><userinput>for DL in \
316 libnss3.so libnssutil3.so libsmime3.so libssl3.so libsoftokn3.so \
317 libplds4.so libplc4.so libnspr4.so
318do
319 ln -sv xulrunner-&xulrunner-version;/$DL /usr/lib/$DL
320done</userinput></screen>
321
322 </sect2>
323
324 <sect2 role="commands">
325 <title>Command Explanations</title>
326
327 <para><command>make -f client.mk ...</command>: Mozilla products are
328 packaged to allow the use of a configuration file which can be used to
329 pass the configuration settings to the <command>configure</command>
330 command. <command>make</command> uses the <filename>client.mk</filename>
331 file to get initial configuration and setup parameters, then depending on
332 the target parameter (<parameter>build</parameter> or
333 <parameter>install</parameter>), either runs the
334 <command>configure</command> script and compiles the package or installs
335 the package.</para>
336
337 <para><command>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
338 /usr/lib/firefox-&firefox-version;/plugins</command>:
339 <application>Firefox</application> looks for plugins in its own directory,
340 but when building on <application>xulrunner</application> the plugins were
341 installed by that package.</para>
342
343 <tip>
344 <para>If you upgrade firefox, ensure that any additional plugins are moved
345 to the plugin directory of the new version.</para>
346 </tip>
347
348 </sect2>
349
350 <sect2 role="configuration">
351 <title>Configuring Firefox</title>
352
353 <para>No specific configuration is required as long as the
354 <command>firefox</command> script is in the user's path. If
355 <application>Firefox</application> is installed in a non-standard location,
356 then make a symlink to the <command>firefox</command> script in the
357 <filename class="directory">/usr/bin</filename> directory.</para>
358
359 <para>If your Window or Desktop Manager does not allow you to configure
360 a default mail client, you can add a configuration parameter to
361 <application>Firefox</application> so that an email client will start
362 when you click on a <systemitem role='url'>mailto:</systemitem> URL.
363 There are two parameters you need to check. The procedure to check or
364 modify any of the configuration parameters is quite simple and the
365 instructions here can be used to view or modify any of the
366 parameters.</para>
367
368 <para>First, open the configuration dialog by entering
369 <systemitem role='url'>about:config</systemitem> in the address bar. This
370 will display a list of the configuration preferences and information
371 related to each one. You can use the <quote>Filter:</quote> bar to enter
372 search criteria and narrow down the listed items. Changing a preference
373 can be done using two methods. One, if the preference has a boolean value
374 (True/False), simply double-click on the preference to toggle the value
375 and two, for other preferences simply right-click on the desired line,
376 choose <quote>Modify</quote> from the menu and change the value. Creating
377 new preference items is accomplished in the same way, except choose
378 <quote>New</quote> from the menu and provide the desired data into the
379 fields when prompted.</para>
380
381 <para>The two configuration preference items you need to check so that
382 <application>Firefox</application> uses a specified default mail client
383 are the <parameter>network.protocol-handler.external.mailto</parameter>
384 which should be set to <option>True</option> and the
385 <parameter>network.protocol-handler.app.mailto</parameter> which should
386 be set to the path of the desired mail client, e.g.,
387 <option>/usr/bin/thunderbird</option>.</para>
388
389 <tip>
390 <para>There is a multitude of configuration parameters you can tweak to
391 customize <application>Firefox</application>. A very extensive and
392 up-to-date list of these parameters can be found at <ulink
393 url="http://preferential.mozdev.org/preferences.html"/>.</para>
394 </tip>
395
396 <para>Many applications look for <command>netscape</command> when they
397 need to open a browser. You may wish to make the following symlink for
398 convenience (as the <systemitem class="username">root</systemitem>
399 user).</para>
400
401<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
402
403 <para>For installing various <application>Firefox</application> plugins,
404 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
405 PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
406 installed, create the following link as the
407 <systemitem class="username">root</systemitem> user to utilize the installed
408 <application>Java</application> plugin: </para>
409
410<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
411 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
412
413 <para>Some packages install Mozilla plugins into the default system-wide
414 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
415 If you have not already done this for <application>Xulrunner</application>
416 create symbolic links in the <application>Firefox</application>
417 plugin directory
418 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
419 to the files in the default plugin directory (you should link to the actual
420 files and not other links). Alternatively, you can move or copy the files
421 in the default plugin directory to the
422 <application>Firefox</application> plugin directory. An example of creating
423 a symbolic link is shown below. Create the links as the
424 <systemitem class="username">root</systemitem> user:</para>
425
426<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>&lt;plugin.so&gt;</replaceable> \
427 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
428
429 </sect2>
430
431 <sect2 role="content">
432 <title>Contents</title>
433
434 <segmentedlist>
435 <segtitle>Installed Programs</segtitle>
436 <segtitle>Installed Libraries</segtitle>
437 <segtitle>Installed Directories</segtitle>
438
439 <seglistitem>
440 <seg>firefox and firefox-config</seg>
441 <seg>Numerous libraries, browser components, plugins, extensions, and
442 helper modules installed in <filename
443 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
444 <seg>/usr/include/firefox-&firefox-version;,
445 /usr/lib/firefox-&firefox-version;, and
446 /usr/share/idl/firefox-&firefox-version;</seg>
447 </seglistitem>
448 </segmentedlist>
449
450 <variablelist>
451 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
452 <?dbfo list-presentation="list"?>
453 <?dbhtml list-presentation="table"?>
454
455 <varlistentry id="firefox-prog">
456 <term><command>firefox</command></term>
457 <listitem>
458 <para>is a shell script that sets up the environment and
459 calls the <filename>firefox-bin</filename> binary.</para>
460 <indexterm zone="firefox firefox-prog">
461 <primary sortas="b-firefox">firefox</primary>
462 </indexterm>
463 </listitem>
464 </varlistentry>
465
466 <varlistentry id="firefox-config">
467 <term><command>firefox-config</command></term>
468 <listitem>
469 <para>determines the compile and linker flags that should be
470 used to compile and link programs that use
471 <application>Firefox</application> libraries and browser
472 components.</para>
473 <indexterm zone="firefox firefox-config">
474 <primary sortas="b-firefox-config">firefox-config</primary>
475 </indexterm>
476 </listitem>
477 </varlistentry>
478
479 </variablelist>
480
481 </sect2>
482
483</sect1>
Note: See TracBrowser for help on using the repository browser.