source: xsoft/graphweb/firefox.xml@ 6732c094

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 6732c094 was 6732c094, checked in by Randy McMurchy <randy@…>, 17 years ago

Updated all the XML files (and the one stylesheet) to use the 4.5 version of DocBook XML DTD

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

  • Property mode set to 100644
File size: 20.4 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 "383d3f3a17ba819ead94c2edc6739773">
10 <!ENTITY firefox-size "34.0 MB">
11 <!ENTITY firefox-buildsize "548 MB">
12 <!ENTITY firefox-time "13.9 SBU">
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 <bridgehead renderas="sect3">Package Information</bridgehead>
36 <itemizedlist spacing="compact">
37 <listitem>
38 <para>Download (HTTP): <ulink url="&firefox-download-http;"/></para>
39 </listitem>
40 <listitem>
41 <para>Download (FTP): <ulink url="&firefox-download-ftp;"/></para>
42 </listitem>
43 <listitem>
44 <para>Download MD5 sum: &firefox-md5sum;</para>
45 </listitem>
46 <listitem>
47 <para>Download size: &firefox-size;</para>
48 </listitem>
49 <listitem>
50 <para>Estimated disk space required: &firefox-buildsize;</para>
51 </listitem>
52 <listitem>
53 <para>Estimated build time: &firefox-time;</para>
54 </listitem>
55 </itemizedlist>
56
57 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
58 <itemizedlist spacing="compact">
59 <listitem>
60 <para>Required patch (if using system-installed versions of
61 <application>NSS</application> and <application>NSPR</application>):
62 <ulink
63 url="&patch-root;/firefox-&firefox-version;-system_nss-1.patch"/>
64 </para>
65 </listitem>
66 <listitem>
67 <para>Required patch (if enabling <application>Pango</application>
68 font rendering):
69 <ulink
70 url="&patch-root;/firefox-&firefox-version;-pangoxft-1.patch"/>
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
78 <para role="required"><xref linkend="gtk2"/>,
79 <xref linkend="libidl"/>, and
80 <xref linkend="zip"/></para>
81
82 <para>Note: <application>libjpeg</application> should have been installed
83 before <application>GTK+</application> and should exist on your system. If
84 for some reason you haven't installed <application>libjpeg</application>,
85 you should remove the <option>--with-system-jpeg</option> option from the
86 <filename>.mozconfig</filename> file created below.</para>
87
88 <bridgehead renderas="sect4">Recommended (if you will be installing any
89 other package that utilizes NSS/NSPR, such as
90 <application>Thunderbird</application>,
91 <application>Mozilla</application>,
92 <application>Evolution</application>, or
93 <application>OpenOffice</application>)</bridgehead>
94 <para role="recommended"><xref linkend="nss"/></para>
95
96 <bridgehead renderas="sect4">Optional</bridgehead>
97 <para role="optional"><xref linkend="unzip"/> and
98 <xref linkend="libgnomeui"/> (to build the gnomevfs extension)</para>
99
100 <para condition="html" role="usernotes">User Notes:
101 <ulink url="&blfs-wiki;/firefox"/></para>
102
103 </sect2>
104
105 <sect2 role="installation">
106 <title>Installation of Firefox</title>
107
108 <para>The configuration of <application>Firefox</application> is
109 accomplished by creating a <filename>.mozconfig</filename> file containing
110 the desired configuration options. A default <filename>.mozconfig</filename>
111 is created below. To see the entire list of available configuration options
112 (and an abbreviated description of each one), issue
113 <command>./configure --help</command>. If you are going to use
114 system-installed versions of the <application>NSS</application> and
115 <application>NSPR</application> libraries, ensure you uncomment the two
116 lines near the bottom of the file. If you are going to build the
117 <application>OpenOffice</application> package and you want to use this
118 <application>Firefox</application> installation as the default
119 <application>Mozilla</application> source, ensure you uncomment the
120 <option>--enable-ldap</option> option in the file created below.
121 You may also wish to review the entire file and uncomment any other desired
122 options. If you would prefer to download the file instead of creating it by
123 typing or cut-and-pasting, you can find it at <ulink
124 url="&files-anduin;/firefox-&firefox-version;-mozconfig"/>
125 (the file must be installed in the root of the source tree
126 <filename class='directory'>mozilla</filename> directory, and named
127 <filename>.mozconfig</filename>). Create the file by issuing the following
128 command:</para>
129
130<screen><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
131<literal># This file contains the options used in the Firefox build. You may
132# need to specify additional options for your specific build needs.
133# Use the information provided by running './configure --help' to
134# help you determine if you need to add any additional options.
135# Some additional options can be added by uncommenting the examples
136# in this file or adding options by inserting a line containing
137# 'ac_add_options --some-option-you-need'.
138
139
140# Use the default settings specified in the source tree
141. $topsrcdir/browser/config/mozconfig
142
143# Create an object directory and specify to build the package in that
144# directory. If desired, modify the location of the object directory
145# to a directory inside the source tree by removing '../' from the
146# line below.
147mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
148
149# Specify the installation prefix. If you would prefer Firefox
150# installed in a different prefix, modify the line below to fit
151# your needs. You'll also need to modify some of the instructions in
152# the BLFS book to point to your desired prefix.
153ac_add_options --prefix=/usr
154
155# These options are used so that the Firefox binaries are linked to
156# the system-installed copies of the specified libraries instead of
157# the source tree code which may not be the most recent versions.
158ac_add_options --with-system-zlib
159ac_add_options --with-system-png
160ac_add_options --with-system-jpeg
161ac_add_options --enable-system-cairo
162
163# This option causes the installed binaries to have the official
164# Firefox name embedded in them. Due to license restrictions, you
165# may not distribute binaries created using this option.
166ac_add_options --enable-official-branding
167
168# This option specifies to include support for rendering the HTML
169# &lt;canvas&gt;&lt;/canvas&gt; tag in the Firefox browser.
170ac_add_options --enable-canvas
171
172# This option is used to enable support for rendering SVG files in the
173# Firefox browser. Comment out the line to disable the option.
174ac_add_options --enable-svg
175
176# This option is used so that the debugging symbols are removed from
177# the installed binaries during the installation process. Comment out
178# this option if you may have a need to retain the debugging symbols
179# in the installed binaries. Note that this can substantially
180# increase the size of the installed binaries.
181ac_add_options --enable-strip
182
183# This option is added so that test libraries and programs are not
184# built. These would only be required for debugging purposes.
185ac_add_options --disable-tests
186
187# This option is added so that the Mozilla Installer program is not
188# built or installed. The program is not required for a BLFS
189# installation of Firefox.
190ac_add_options --disable-installer
191
192# This option is used to disable the a11y support in the Firefox
193# binaries. Comment out this option if you require a11y support.
194ac_add_options --disable-accessibility
195
196# This option is used to enable source tree included LDAP support in
197# the Firefox binaries.
198###################################################################
199#
200# NOTE: You must uncomment this option if there is any chance of
201# compiling the OpenOffice package from source code using this copy
202# of Firefox for your Mozilla support.
203#
204###################################################################
205#ac_add_options --enable-ldap
206
207# Uncomment this option if you desire support for dual-monitor
208# display of Firefox using the X-Window Xinerama libraries.
209#ac_add_options --enable-xinerama
210
211# These two options enable support for building Firefox with
212# system-installed versions of the Network Security Services (NSS)
213# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
214# lines to enable support for system-installed NSS/NSPR.
215#ac_add_options --with-system-nss
216#ac_add_options --with-system-nspr
217
218# Complex scripts such as Thai can only be rendered in Firefox with the
219# help of Pango. This option significantly slows rendering, so only use
220# it if necessary.
221#ac_add_options --enable-pango
222
223# This option identifies the default binary directory of the Firefox
224# installation and is used to locate Firefox's installed files. This
225# option is not required for end-user browsing, and is only used for
226# development purposes.
227#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;</literal>
228
229EOF</userinput></screen>
230
231 <para>If you wish to use <application>Pango</application> for font
232 rendering and have uncommented the appropriate option in
233 <filename>.mozconfig</filename>, apply the following patch:</para>
234
235<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-pangoxft-1.patch</userinput></screen>
236
237 <para>If you have system-installed Network Security Services (NSS) and
238 Netscape Portable Runtime (NSPR) libraries and you uncommented the
239 appropriate lines in the <filename>.mozconfig</filename> file to utilize
240 them, apply the following patch:</para>
241
242<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-system_nss-1.patch</userinput></screen>
243
244 <para>Compile <application>Firefox</application> by issuing the
245 following commands:</para>
246
247<screen><userinput>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" \
248 xpcom/reflect/xptinfo/public/xptinfo.h &amp;&amp;
249make -f client.mk build</userinput></screen>
250
251 <para>This package does not come with a test suite.</para>
252
253 <para>Now, as the <systemitem class="username">root</systemitem> user,
254 install the package:</para>
255
256<screen role="root"><userinput>make -f client.mk install &amp;&amp;
257
258install -v -m755 -d /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
259ln -v -s ../../../icons/default.xpm \
260 /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
261
262chown -v -R root:root \
263 /usr/lib/firefox-&firefox-version;/extensions/inspector@mozilla.org/*</userinput></screen>
264
265 <para>If you enabled LDAP support in the <application>Firefox</application>
266 build, install some additional interface headers as the
267 <systemitem class="username">root</systemitem> user:</para>
268
269<screen role="root"><userinput>install -v -m644 ../firefox-build/dist/public/ldap-private/* \
270 /usr/include/firefox-&firefox-version;/ldap</userinput></screen>
271
272 <para>If you built <application>Firefox</application> utilizing
273 system-installed NSS and NSPR libraries, the
274 <filename>firefox-ns*.pc</filename> <application>pkgconfig</application>
275 files are broken as they point to the wrong directories where the actual
276 libraries and interface headers are located. Issue the following commands
277 as the <systemitem class="username">root</systemitem> user to replace the
278 broken files with symbolic links to known good files:</para>
279
280<screen role="root"><userinput>ln -v -sf nss.pc /usr/lib/pkgconfig/firefox-nss.pc &amp;&amp;
281ln -v -sf nspr.pc /usr/lib/pkgconfig/firefox-nspr.pc</userinput></screen>
282
283 <para>If you did <emphasis role="strong">NOT</emphasis> build
284 <application>Firefox</application> utilizing system-installed NSS and
285 NSPR libraries, issue the following commands as the
286 <systemitem class="username">root</systemitem> user to install the NSS
287 interface headers:</para>
288
289<screen role="root"><userinput>install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &amp;&amp;
290cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
291 /usr/include/firefox-&firefox-version;/nss</userinput></screen>
292
293 <note>
294 <para>You should run <command>/usr/bin/firefox</command> once as the
295 <systemitem class="username">root</systemitem> user (or any user with
296 write privileges) to create some necessary additional files in the
297 <filename class='directory'>/usr</filename> hierarchy.</para>
298 </note>
299
300 </sect2>
301
302 <sect2 role="commands">
303 <title>Command Explanations</title>
304
305 <para><command>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" ...</command>:
306 This command is used to fix an anonymous enum in an external/public
307 interface header file.</para>
308
309 <para><command>make -f client.mk ...</command>: Mozilla products are
310 packaged to allow the use of a configuration file which can be used to
311 pass the configuration settings to the <command>configure</command>
312 command. <command>make</command> uses the <filename>client.mk</filename>
313 file to get initial configuration and setup parameters, then depending on
314 the target parameter (<parameter>build</parameter> or
315 <parameter>install</parameter>), either runs the
316 <command>configure</command> script and compiles the package or installs
317 the package.</para>
318
319 <para><command>install -v -m755 -d .../chrome/icons/default</command> and
320 <command>ln -v -s ../../../icons/default.xpm ...</command>: These two
321 commands are used to create a symlink in the required directory so that
322 the proper icon is displayed in the taskbar and when
323 <application>Firefox</application> windows are minimized.</para>
324
325 <para><command>chown -v -R root:root ...</command>: This command changes
326 the ownership of some installed files to more appropriate user:group
327 names.</para>
328
329 </sect2>
330
331 <sect2 role="configuration">
332 <title>Configuring Firefox</title>
333
334 <para>No specific configuration is required as long as the
335 <command>firefox</command> script is in the user's path. If
336 <application>Firefox</application> is installed in a non-standard location,
337 then make a symlink to the <command>firefox</command> script in the
338 <filename class="directory">/usr/bin</filename> directory.</para>
339
340 <para>If your Window or Desktop Manager does not allow you to configure
341 a default mail client, you can add a configuration parameter to
342 <application>Firefox</application> so that an email client will start
343 when you click on a <systemitem role='url'>mailto:</systemitem> URL.
344 There are two parameters you need to check. The procedure to check or
345 modify any of the configuration parameters is quite simple and the
346 instructions here can be used to view or modify any of the
347 parameters.</para>
348
349 <para>First, open the configuration dialog by entering
350 <systemitem role='url'>about:config</systemitem> in the address bar. This
351 will display a list of the configuration preferences and information
352 related to each one. You can use the <quote>Filter:</quote> bar to enter
353 search criteria and narrow down the listed items. Changing a preference
354 can be done using two methods. One, if the preference has a boolean value
355 (True/False), simply double-click on the preference to toggle the value
356 and two, for other preferences simply right-click on the desired line,
357 choose <quote>Modify</quote> from the menu and change the value. Creating
358 new preference items is accomplished in the same way, except choose
359 <quote>New</quote> from the menu and provide the desired data into the
360 fields when prompted.</para>
361
362 <para>The two configuration preference items you need to check so that
363 <application>Firefox</application> uses a specified default mail client
364 are the <parameter>network.protocol-handler.external.mailto</parameter>
365 which should be set to <option>True</option> and the
366 <parameter>network.protocol-handler.app.mailto</parameter> which should
367 be set to the path of the desired mail client, e.g.,
368 <option>/usr/bin/thunderbird</option>.</para>
369
370 <tip>
371 <para>There is a multitude of configuration parameters you can tweak to
372 customize <application>Firefox</application>. A very extensive and
373 up-to-date list of these parameters can be found at <ulink
374 url="http://preferential.mozdev.org/preferences.html"/>.</para>
375 </tip>
376
377 <para>Many applications look for <command>netscape</command> when they
378 need to open a browser. You may wish to make the following symlink for
379 convenience (as the <systemitem class="username">root</systemitem>
380 user).</para>
381
382<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
383
384 <para>For installing various <application>Firefox</application> plugins,
385 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
386 PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
387 installed, create the following link as the
388 <systemitem class="username">root</systemitem> user to utilize the installed
389 <application>Java</application> plugin: </para>
390
391<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
392 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
393
394 <para>Some packages install Mozilla plugins into the default system-wide
395 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
396 If desired, create symbolic links in the <application>Firefox</application>
397 plugin directory
398 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
399 to the files in the default plugin directory (you should link to the actual
400 files and not other links). Alternatively, you can move or copy the files
401 in the default plugin directory to the
402 <application>Firefox</application> plugin directory. An example of creating
403 a symbolic link is shown below. Create the links as the
404 <systemitem class="username">root</systemitem> user:</para>
405
406<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>&lt;plugin.so&gt;</replaceable> \
407 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
408
409 </sect2>
410
411 <sect2 role="content">
412 <title>Contents</title>
413
414 <segmentedlist>
415 <segtitle>Installed Programs</segtitle>
416 <segtitle>Installed Libraries</segtitle>
417 <segtitle>Installed Directories</segtitle>
418
419 <seglistitem>
420 <seg>firefox and firefox-config</seg>
421 <seg>Numerous libraries, browser components, plugins, extensions, and
422 helper modules installed in <filename
423 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
424 <seg>/usr/include/firefox-&firefox-version;,
425 /usr/lib/firefox-&firefox-version;, and
426 /usr/share/idl/firefox-&firefox-version;</seg>
427 </seglistitem>
428 </segmentedlist>
429
430 <variablelist>
431 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
432 <?dbfo list-presentation="list"?>
433 <?dbhtml list-presentation="table"?>
434
435 <varlistentry id="firefox-prog">
436 <term><command>firefox</command></term>
437 <listitem>
438 <para>is a shell script that sets up the environment and
439 calls the <filename>firefox-bin</filename> binary.</para>
440 <indexterm zone="firefox firefox-prog">
441 <primary sortas="b-firefox">firefox</primary>
442 </indexterm>
443 </listitem>
444 </varlistentry>
445
446 <varlistentry id="firefox-config">
447 <term><command>firefox-config</command></term>
448 <listitem>
449 <para>determines the compile and linker flags that should be
450 used to compile and link programs that use
451 <application>Firefox</application> libraries and browser
452 components.</para>
453 <indexterm zone="firefox firefox-config">
454 <primary sortas="b-firefox-config">firefox-config</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 </variablelist>
460
461 </sect2>
462
463</sect1>
Note: See TracBrowser for help on using the repository browser.