source: xsoft/graphweb/firefox.xml@ b66ece35

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 b66ece35 was b66ece35, checked in by DJ Lucas <dj@…>, 14 years ago

Update all jdk links to include optional IcedTea6 links.

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

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