source: xsoft/graphweb/firefox.xml@ f4f04a5e

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

Updated to firefox-2.0.0.6

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

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