source: xsoft/graphweb/firefox.xml@ d7654ac

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 d7654ac was d7654ac, checked in by Dan Nichilson <dnicholson@…>, 17 years ago

Updated to firefox-2.0.0.3, finally

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

  • Property mode set to 100644
File size: 19.9 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 "24398e3d98673a2a92a01a8f771ca12a">
10 <!ENTITY firefox-size "35.4 MB">
11 <!ENTITY firefox-buildsize "455 MB">
12 <!ENTITY firefox-time "9.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 is used to enable support for rendering SVG files in the
169# Firefox browser. Comment out the line to disable the option.
170ac_add_options --enable-svg
171
172# This option is used so that the debugging symbols are removed from
173# the installed binaries during the installation process. Comment out
174# this option if you may have a need to retain the debugging symbols
175# in the installed binaries. Note that this can substantially
176# increase the size of the installed binaries.
177ac_add_options --enable-strip
178
179# This option is added so that test libraries and programs are not
180# built. These would only be required for debugging purposes.
181ac_add_options --disable-tests
182
183# This option is added so that the Mozilla Installer program is not
184# built or installed. The program is not required for a BLFS
185# installation of Firefox.
186ac_add_options --disable-installer
187
188# This option is used to disable the a11y support in the Firefox
189# binaries. Comment out this option if you require a11y support.
190ac_add_options --disable-accessibility
191
192# This option is used to enable source tree included LDAP support in
193# the Firefox binaries.
194###################################################################
195#
196# NOTE: You must uncomment this option if there is any chance of
197# compiling the OpenOffice package from source code using this copy
198# of Firefox for your Mozilla support.
199#
200###################################################################
201#ac_add_options --enable-ldap
202
203# Uncomment this option if you desire support for dual-monitor
204# display of Firefox using the X-Window Xinerama libraries.
205#ac_add_options --enable-xinerama
206
207# These two options enable support for building Firefox with
208# system-installed versions of the Network Security Services (NSS)
209# and Netscape Portable Runtime (NSPR) libraries. Uncomment both
210# lines to enable support for system-installed NSS/NSPR.
211#ac_add_options --with-system-nss
212#ac_add_options --with-system-nspr
213
214# Complex scripts such as Thai can only be rendered in Firefox with the
215# help of Pango. This option significantly slows rendering, so only use
216# it if necessary.
217#ac_add_options --enable-pango
218
219# This option identifies the default binary directory of the Firefox
220# installation and is used to locate Firefox's installed files. This
221# option is not required for end-user browsing, and is only used for
222# development purposes.
223#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;</literal>
224
225EOF</userinput></screen>
226
227 <para>Compile <application>Firefox</application> by issuing the
228 following commands:</para>
229
230<screen><userinput>cat &gt;&gt; layout/build/Makefile.in &lt;&lt; "EOF" &amp;&amp;
231ifdef MOZ_ENABLE_CANVAS
232EXTRA_DSO_LDOPTS += -lX11 -lXrender
233endif
234EOF
235sed -i "s/^ enum$/&amp; xptinfo_enum_1/" \
236 xpcom/reflect/xptinfo/public/xptinfo.h &amp;&amp;
237make -f client.mk build</userinput></screen>
238
239 <para>This package does not come with a test suite.</para>
240
241 <para>Now, as the <systemitem class="username">root</systemitem> user,
242 install the package:</para>
243
244<screen role="root"><userinput>make -f client.mk install &amp;&amp;
245
246install -v -m755 -d /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
247ln -v -s ../../../icons/default.xpm \
248 /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
249
250chown -v -R root:root \
251 /usr/lib/firefox-&firefox-version;/extensions/inspector@mozilla.org/*</userinput></screen>
252
253 <para>If you enabled LDAP support in the <application>Firefox</application>
254 build, install some additional interface headers as the
255 <systemitem class="username">root</systemitem> user:</para>
256
257<screen role="root"><userinput>install -v -m644 ../firefox-build/dist/public/ldap-private/* \
258 /usr/include/firefox-&firefox-version;/ldap</userinput></screen>
259
260 <para>If you built <application>Firefox</application> utilizing
261 system-installed NSS and NSPR libraries, the
262 <filename>firefox-ns*.pc</filename> <application>pkgconfig</application>
263 files are broken as they point to the wrong directories where the actual
264 libraries and interface headers are located. Issue the following commands
265 as the <systemitem class="username">root</systemitem> user to replace the
266 broken files with symbolic links to known good files:</para>
267
268<screen role="root"><userinput>ln -v -sf nss.pc /usr/lib/pkgconfig/firefox-nss.pc &amp;&amp;
269ln -v -sf nspr.pc /usr/lib/pkgconfig/firefox-nspr.pc</userinput></screen>
270
271 <para>If you did <emphasis role="strong">NOT</emphasis> build
272 <application>Firefox</application> utilizing system-installed NSS and
273 NSPR libraries, issue the following commands as the
274 <systemitem class="username">root</systemitem> user to install the NSS
275 interface headers:</para>
276
277<screen role="root"><userinput>install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &amp;&amp;
278cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
279 /usr/include/firefox-&firefox-version;/nss</userinput></screen>
280
281 <note>
282 <para>You should run <command>/usr/bin/firefox</command> once as the
283 <systemitem class="username">root</systemitem> user (or any user with
284 write privileges) to create some necessary additional files in the
285 <filename class='directory'>/usr</filename> hierarchy.</para>
286 </note>
287
288 </sect2>
289
290 <sect2 role="commands">
291 <title>Command Explanations</title>
292
293 <para><command>'EXTRA_DSO_LDOPTS' += -lX11 -lXrender ...</command>:
294 Building the layout backend will break when the canvas element is enabled
295 without adding these two required libraries.</para>
296
297 <para><command>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" ...</command>:
298 This command is used to fix an anonymous enum in an external/public
299 interface header file.</para>
300
301 <para><command>make -f client.mk ...</command>: Mozilla products are
302 packaged to allow the use of a configuration file which can be used to
303 pass the configuration settings to the <command>configure</command>
304 command. <command>make</command> uses the <filename>client.mk</filename>
305 file to get initial configuration and setup parameters, then depending on
306 the target parameter (<parameter>build</parameter> or
307 <parameter>install</parameter>), either runs the
308 <command>configure</command> script and compiles the package or installs
309 the package.</para>
310
311 <para><command>install -v -m755 -d .../chrome/icons/default</command> and
312 <command>ln -v -s ../../../icons/default.xpm ...</command>: These two
313 commands are used to create a symlink in the required directory so that
314 the proper icon is displayed in the taskbar and when
315 <application>Firefox</application> windows are minimized.</para>
316
317 <para><command>chown -v -R root:root ...</command>: This command changes
318 the ownership of some installed files to more appropriate user:group
319 names.</para>
320
321 </sect2>
322
323 <sect2 role="configuration">
324 <title>Configuring Firefox</title>
325
326 <para>No specific configuration is required as long as the
327 <command>firefox</command> script is in the user's path. If
328 <application>Firefox</application> is installed in a non-standard location,
329 then make a symlink to the <command>firefox</command> script in the
330 <filename class="directory">/usr/bin</filename> directory.</para>
331
332 <para>If your Window or Desktop Manager does not allow you to configure
333 a default mail client, you can add a configuration parameter to
334 <application>Firefox</application> so that an email client will start
335 when you click on a <systemitem role='url'>mailto:</systemitem> URL.
336 There are two parameters you need to check. The procedure to check or
337 modify any of the configuration parameters is quite simple and the
338 instructions here can be used to view or modify any of the
339 parameters.</para>
340
341 <para>First, open the configuration dialog by entering
342 <systemitem role='url'>about:config</systemitem> in the address bar. This
343 will display a list of the configuration preferences and information
344 related to each one. You can use the <quote>Filter:</quote> bar to enter
345 search criteria and narrow down the listed items. Changing a preference
346 can be done using two methods. One, if the preference has a boolean value
347 (True/False), simply double-click on the preference to toggle the value
348 and two, for other preferences simply right-click on the desired line,
349 choose <quote>Modify</quote> from the menu and change the value. Creating
350 new preference items is accomplished in the same way, except choose
351 <quote>New</quote> from the menu and provide the desired data into the
352 fields when prompted.</para>
353
354 <para>The two configuration preference items you need to check so that
355 <application>Firefox</application> uses a specified default mail client
356 are the <parameter>network.protocol-handler.external.mailto</parameter>
357 which should be set to <option>True</option> and the
358 <parameter>network.protocol-handler.app.mailto</parameter> which should
359 be set to the path of the desired mail client, e.g.,
360 <option>/usr/bin/thunderbird</option>.</para>
361
362 <tip>
363 <para>There is a multitude of configuration parameters you can tweak to
364 customize <application>Firefox</application>. A very extensive and
365 up-to-date list of these parameters can be found at <ulink
366 url="http://preferential.mozdev.org/preferences.html"/>.</para>
367 </tip>
368
369 <para>Many applications look for <command>netscape</command> when they
370 need to open a browser. You may wish to make the following symlink for
371 convenience (as the <systemitem class="username">root</systemitem>
372 user).</para>
373
374<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
375
376 <para>For installing various <application>Firefox</application> plugins,
377 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
378 PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
379 installed, create the following link as the
380 <systemitem class="username">root</systemitem> user to utilize the installed
381 <application>Java</application> plugin: </para>
382
383<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
384 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
385
386 <para>Some packages install Mozilla plugins into the default system-wide
387 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
388 If desired, create symbolic links in the <application>Firefox</application>
389 plugin directory
390 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
391 to the files in the default plugin directory (you should link to the actual
392 files and not other links). Alternatively, you can move or copy the files
393 in the default plugin directory to the
394 <application>Firefox</application> plugin directory. An example of creating
395 a symbolic link is shown below. Create the links as the
396 <systemitem class="username">root</systemitem> user:</para>
397
398<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>&lt;plugin.so&gt;</replaceable> \
399 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
400
401 </sect2>
402
403 <sect2 role="content">
404 <title>Contents</title>
405
406 <segmentedlist>
407 <segtitle>Installed Programs</segtitle>
408 <segtitle>Installed Libraries</segtitle>
409 <segtitle>Installed Directories</segtitle>
410
411 <seglistitem>
412 <seg>firefox and firefox-config</seg>
413 <seg>Numerous libraries, browser components, plugins, extensions, and
414 helper modules installed in <filename
415 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
416 <seg>/usr/include/firefox-&firefox-version;,
417 /usr/lib/firefox-&firefox-version;, and
418 /usr/share/idl/firefox-&firefox-version;</seg>
419 </seglistitem>
420 </segmentedlist>
421
422 <variablelist>
423 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
424 <?dbfo list-presentation="list"?>
425 <?dbhtml list-presentation="table"?>
426
427 <varlistentry id="firefox-prog">
428 <term><command>firefox</command></term>
429 <listitem>
430 <para>is a shell script that sets up the environment and
431 calls the <filename>firefox-bin</filename> binary.</para>
432 <indexterm zone="firefox firefox-prog">
433 <primary sortas="b-firefox">firefox</primary>
434 </indexterm>
435 </listitem>
436 </varlistentry>
437
438 <varlistentry id="firefox-config">
439 <term><command>firefox-config</command></term>
440 <listitem>
441 <para>determines the compile and linker flags that should be
442 used to compile and link programs that use
443 <application>Firefox</application> libraries and browser
444 components.</para>
445 <indexterm zone="firefox firefox-config">
446 <primary sortas="b-firefox-config">firefox-config</primary>
447 </indexterm>
448 </listitem>
449 </varlistentry>
450
451 </variablelist>
452
453 </sect2>
454
455</sect1>
Note: See TracBrowser for help on using the repository browser.