source: xsoft/graphweb/firefox.xml@ 4694b140

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

Replaced the commands to modify the *ns*.pc pkgconfig files with commands to create symlinks to the actual NSS/NSPR .pc files in the Firefox, Mozilla and Thunderbird instructions as suggested by Dan Nicholson

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

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