source: xsoft/graphweb/firefox.xml@ ab7b9fc

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 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 gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since ab7b9fc was ab7b9fc, checked in by DJ Lucas <dj@…>, 14 years ago

Updated to Berkeley DB 5.1.19.

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