source: xsoft/graphweb/firefox.xml@ e165fddb

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

Changed the default to render SVG graphics in the Firefox instructions

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

  • Property mode set to 100644
File size: 21.0 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 "fa915ddcadecda30ed3e13694f26a779">
10 <!ENTITY firefox-size "34.4 MB">
11 <!ENTITY firefox-buildsize "568 MB">
12 <!ENTITY firefox-time "15.8 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> or
88 <application>Mozilla</application>)</bridgehead>
89 <para role="recommended"><xref linkend="nss"/></para>
90
91 <bridgehead renderas="sect4">Optional</bridgehead>
92 <para role="optional"><xref linkend="unzip"/> and
93 <xref linkend="libgnomeui"/> (to build the gnomevfs extension)</para>
94
95 </sect2>
96
97 <sect2 role="installation">
98 <title>Installation of Firefox</title>
99
100 <!-- This is now obsolete (I'm almost certain). During the next update
101 of Firefox, please remove everything contained in this comment if
102 there's been no mention to reactivate this. -Randy
103
104 <para><application>Firefox</application> default behavior when invoked
105 with a URL parameter is to open a new browser window. If you would rather
106 <application>Firefox</application> open a new tab in an existing browser
107 window, issue the following command:</para>
108
109<screen><userinput>sed -i 's|openURL(${_optLast}|&amp;, new-tab|' browser/app/mozilla.in</userinput></screen>
110 -->
111
112 <para>The configuration of <application>Firefox</application> is
113 accomplished by creating a <filename>.mozconfig</filename> file containing
114 the desired configuration options. A default <filename>.mozconfig</filename>
115 is created below. To see the entire list of available configuration options
116 (and an abbreviated description of each one), issue
117 <command>./configure --help</command>. If you are going to use
118 system-installed versions of the <application>NSS</application> and
119 <application>NSPR</application> libraries, ensure you uncomment the two
120 lines near the bottom of the file. If you are going to build the
121 <application>OpenOffice</application> package and you want to use this
122 <application>Firefox</application> installation as the default
123 <application>Mozilla</application> source, ensure you uncomment the
124 <option>--enable-ldap</option> option in the file created below.
125 You may also wish to review the entire file and uncomment any other desired
126 options. If you would prefer to download the file instead of creating it by
127 typing or cut-and-pasting, you can find it at <ulink
128 url="http://anduin.linuxfromscratch.org/files/BLFS/firefox-&firefox-version;-mozconfig"/>
129 (the file must be installed in the root of the source tree
130 <filename class='directory'>mozilla</filename> directory, and named
131 <filename>.mozconfig</filename>). Create the file by issuing the following
132 command:</para>
133
134<screen><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
135<literal># This file contains the options used in the Firefox build. You may
136# need to specify additional options for your specific build needs.
137# Use the information provided by running './configure --help' to
138# help you determine if you need to add any additional options.
139# Some additional options can be added by uncommenting the examples
140# in this file or adding options by inserting a line containing
141# 'ac_add_options --some-option-you-need'.
142
143
144# Use the default settings specified in the source tree
145. $topsrcdir/browser/config/mozconfig
146
147# Create an object directory and specify to build the package in that
148# directory. If desired, modify the location of the object directory
149# to a directory inside the source tree by removing '../' from the
150# line below.
151mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
152
153# Specify the installation prefix. If you would prefer Firefox
154# installed in a different prefix, modify the line below to fit
155# your needs. You'll also need to modify some of the instructions in
156# the BLFS book to point to your desired prefix.
157ac_add_options --prefix=/usr
158
159# These options are used so that the Firefox binaries are linked to
160# the system-installed copies of the specified libraries instead of
161# the source tree code which may not be the most recent versions.
162ac_add_options --with-system-zlib
163ac_add_options --with-system-png
164ac_add_options --with-system-jpeg
165ac_add_options --enable-system-cairo
166
167# This option causes the installed binaries to have the official
168# Firefox name embedded in them. Due to license restrictions, you
169# may not distribute binaries created using this option.
170ac_add_options --enable-official-branding
171
172# This option specifies to include support for rendering the HTML
173# &lt;canvas&gt;&lt;/canvas&gt; tag in the Firefox browser.
174ac_add_options --enable-canvas
175
176# This option is used to enable support for rendering SVG files in the
177# Firefox browser. Uncomment the line below to enable the option.
178ac_add_options --enable-svg
179
180# This option is used so that the debugging symbols are removed from
181# the installed binaries during the installation process. Comment out
182# this option if you may have a need to retain the debugging symbols
183# in the installed binaries. Note that this can substantially
184# increase the size of the installed binaries.
185ac_add_options --enable-strip
186
187# This option is added so that test libraries and programs are not
188# built. These would only be required for debugging purposes.
189ac_add_options --disable-tests
190
191# This option is added so that the Mozilla Installer program is not
192# built or installed. The program is not required for a BLFS
193# installation of Firefox.
194ac_add_options --disable-installer
195
196# This option is used to disable the a11y support in the Firefox
197# binaries. Comment out this option if you require a11y support.
198ac_add_options --disable-accessibility
199
200# This option is used to enable source tree included LDAP support in
201# the Firefox binaries.
202###################################################################
203#
204# NOTE: You must uncomment this option if there is any chance of
205# compiling the OpenOffice package from source code using this copy
206# of Firefox for your Mozilla support.
207#
208###################################################################
209#ac_add_options --enable-ldap
210
211# Uncomment this option if you desire support for dual-monitor
212# display of Firefox using the X-Window Xinerama libraries.
213#ac_add_options --enable-xinerama
214
215# These two options enable support for building Firefox with
216# system-installed versions of the Network Security Services (NSS)
217# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
218# lines to enable support for system-installed NSS/NSPR.
219#ac_add_options --with-system-nss
220#ac_add_options --with-system-nspr
221
222# This option identifies the default binary directory of the Firefox
223# installation and is used to locate Firefox's installed files. This
224# option is not required for end-user browsing, and is only used for
225# development purposes.
226#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;</literal>
227
228EOF</userinput></screen>
229
230 <para>If you have system-installed Network Security Services (NSS) and
231 Netscape Portable Runtime (NSPR) libraries and you uncommented the
232 appropriate lines in the <filename>.mozconfig</filename> file to utilize
233 them, apply the following patch:</para>
234
235<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-system_nss-1.patch</userinput></screen>
236
237 <para>Compile <application>Firefox</application> by issuing the
238 following commands:</para>
239
240<screen><userinput>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" \
241 xpcom/reflect/xptinfo/public/xptinfo.h &amp;&amp;
242make -f client.mk build</userinput></screen>
243
244 <para>This package does not come with a test suite.</para>
245
246 <para>Now, as the <systemitem class="username">root</systemitem> user,
247 install the package:</para>
248
249<screen role="root"><userinput>make -f client.mk install &amp;&amp;
250
251install -v -m755 -d /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
252ln -v -s ../../../icons/default.xpm \
253 /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
254
255chown -v -R root:root \
256 /usr/lib/firefox-&firefox-version;/extensions/inspector@mozilla.org/*</userinput></screen>
257
258 <para>If you enabled LDAP support in the <application>Firefox</application>
259 build, install some additional interface headers as the
260 <systemitem class="username">root</systemitem> user:</para>
261
262<screen role="root"><userinput>install -v -m644 ../firefox-build/dist/public/ldap-private/* \
263 /usr/include/firefox-&firefox-version;/ldap</userinput></screen>
264
265 <para>If you built <application>Firefox</application> utilizing
266 system-installed NSS and NSPR libraries, the
267 <filename>firefox-ns*.pc</filename> <application>pkgconfig</application>
268 files need to be modified. Issue the following command as the
269 <systemitem class="username">root</systemitem> user:</para>
270
271<screen role="root"><userinput>sed -i 's|/firefox-1.5||' /usr/lib/pkgconfig/firefox-ns*.pc</userinput></screen>
272
273 <para>If you did <emphasis role="strong">NOT</emphasis> build
274 <application>Firefox</application> utilizing system-installed NSS and
275 NSPR libraries, issue the following commands as the
276 <systemitem class="username">root</systemitem> user to install the NSS
277 interface headers:</para>
278
279<screen role="root"><userinput>install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &amp;&amp;
280cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
281 /usr/include/firefox-&firefox-version;/nss</userinput></screen>
282
283 <!-- This appears to not be required any longer. The regchrome program
284 is not built any longer, and multi-user access to Firefox appears
285 to work fine without running regxpcom and touching the files. -Randy
286
287 <para>To enable multi-user operation, execute the following as the
288 <systemitem class="username">root</systemitem> user:</para>
289
290<screen role="root"><userinput>cd /usr/lib/firefox-&firefox-version; &amp;&amp;
291export LD_LIBRARY_PATH="$PWD" &amp;&amp;
292export MOZILLA_FIVE_HOME="$PWD" &amp;&amp;
293./regxpcom &amp;&amp;
294./regchrome &amp;&amp;
295touch `find . -name *.rdf`</userinput></screen>
296
297 -->
298
299 <note>
300 <para>You should run <command>/usr/bin/firefox</command> once as the
301 <systemitem class="username">root</systemitem> user (or any user with
302 write privileges) to create some necessary additional files in the
303 <filename class='directory'>/usr</filename> hierarchy.</para>
304 </note>
305
306 </sect2>
307
308 <sect2 role="commands">
309 <title>Command Explanations</title>
310
311 <para><command>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" ...</command>:
312 This command is used to fix an anonymous enum in an external/public
313 interface header file.</para>
314
315 <para><command>make -f client.mk ...</command>: Mozilla products are
316 packaged to allow the use of a configuration file which can be used to
317 pass the configuration settings to the <command>configure</command>
318 command. <command>make</command> uses the <filename>client.mk</filename>
319 file to get initial configuration and setup parameters, then depending on
320 the target parameter (<parameter>build</parameter> or
321 <parameter>install</parameter>), either runs the
322 <command>configure</command> script and compiles the package or installs
323 the package.</para>
324
325 <para><command>install -v -m755 -d .../chrome/icons/default</command> and
326 <command>ln -v -s ../../../icons/default.xpm ...</command>: These two
327 commands are used to create a symlink in the required directory so that
328 the proper icon is displayed in the taskbar and when
329 <application>Firefox</application> windows are minimized.</para>
330
331 <para><command>chown -v -R root:root ...</command>: This command changes
332 the ownership of some installed files to more appropriate user:group
333 names.</para>
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 applications look for <command>netscape</command> when they
384 need to open a browser. You may wish to make the following symlink for
385 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>Some packages install Mozilla plugins into the default system-wide
401 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
402 If desired, create symbolic links in the <application>Firefox</application>
403 plugin directory
404 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
405 to the files in the default plugin directory (you should link to the actual
406 files and not other links). Alternatively, you can move or copy the files
407 in the default plugin directory to the
408 <application>Firefox</application> plugin directory. An example of creating
409 a symbolic link is shown below. Create the links as the
410 <systemitem class="username">root</systemitem> user:</para>
411
412<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>[plugin.so]</replaceable> \
413 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
414
415<!-- Commenting this out as it is replaced with text above saying to
416 create the symlinks manually.
417
418<screen role="root"><userinput>if [ -f /usr/lib/mozilla/plugins/* ]; then
419 for PLUGIN_FILE in $(ls /usr/lib/mozilla/plugins/*)
420 do
421 ln -v -s ../../mozilla/plugins/$(basename $PLUGIN_FILE) \
422 /usr/lib/firefox-&firefox-version;/plugins
423 done
424fi</userinput></screen>
425
426-->
427
428 </sect2>
429
430 <sect2 role="content">
431 <title>Contents</title>
432
433 <segmentedlist>
434 <segtitle>Installed Programs</segtitle>
435 <segtitle>Installed Libraries</segtitle>
436 <segtitle>Installed Directories</segtitle>
437
438 <seglistitem>
439 <seg>firefox and firefox-config</seg>
440 <seg>Numerous libraries, browser components, plugins, extensions, and
441 helper modules installed in <filename
442 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
443 <seg>/usr/include/firefox-&firefox-version;,
444 /usr/lib/firefox-&firefox-version;, and
445 /usr/share/idl/firefox-&firefox-version;</seg>
446 </seglistitem>
447 </segmentedlist>
448
449 <variablelist>
450 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
451 <?dbfo list-presentation="list"?>
452 <?dbhtml list-presentation="table"?>
453
454 <varlistentry id="firefox-prog">
455 <term><command>firefox</command></term>
456 <listitem>
457 <para>is a shell script that sets up the environment and
458 calls the <filename>firefox-bin</filename> binary.</para>
459 <indexterm zone="firefox firefox-prog">
460 <primary sortas="b-firefox">firefox</primary>
461 </indexterm>
462 </listitem>
463 </varlistentry>
464
465 <varlistentry id="firefox-config">
466 <term><command>firefox-config</command></term>
467 <listitem>
468 <para>determines the compile and linker flags that should be
469 used to compile and link programs that use
470 <application>Firefox</application> libraries and browser
471 components.</para>
472 <indexterm zone="firefox firefox-config">
473 <primary sortas="b-firefox-config">firefox-config</primary>
474 </indexterm>
475 </listitem>
476 </varlistentry>
477
478 </variablelist>
479
480 </sect2>
481
482</sect1>
Note: See TracBrowser for help on using the repository browser.