source: xsoft/graphweb/firefox.xml@ b5155c56

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

Updated to {firefox,thunderbird}-1.5.0.4. Added patches to fix
the builds with --enable-pango.

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