source: xsoft/graphweb/firefox.xml@ 068bb16

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 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 068bb16 was 6067373, checked in by DJ Lucas <dj@…>, 18 years ago

Updated OpenOffice to new system-moz patch and added notes to moz product pages about OOo and system NSS.

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

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