source: xsoft/graphweb/firefox.xml@ e49ffb5

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 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 e49ffb5 was e49ffb5, checked in by Randy McMurchy <randy@…>, 13 years ago

Minor modifications to the Xulrunner and Firefox mozconfig files

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@8804 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.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 "d7c90aed8209beefa74badf02e8eeae1">
10 <!ENTITY firefox-size "51 MB">
11 <!ENTITY firefox-buildsize "780 MB (stand-alone) or 440 MB (on Xulrunner)">
12 <!ENTITY firefox-time "19 SBU (stand-alone) or 0.3 SBU (on Xulrunner)">
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 <para>With the introduction of Firefox-3.x, the
36 <application>pkgconfig</application> files for the Gecko engine (and for
37 <application>NSS</application> and <application>NSPR</application>) are not
38 installed. This means that applications such as <application>Yelp
39 </application> can no longer be built against firefox, and must instead be
40 built against Xulrunner (which is actually the same code, but built in a
41 different way). If you wish to build other packages which use Gecko (of the
42 applications in this book, probably only the gnome applications
43 will recognize this version of Xulrunner), build <xref linkend="xulrunner"/>
44 first.</para>
45
46 <tip>
47 <para>Firefox is updated frequently as new vulnerabilities are found.
48 Consult
49 <ulink url="http://www.mozilla.org/security/known-vulnerabilities/">mozilla security</ulink>
50 for details of what is fixed in newer releases. The editors cannot guess
51 what will differ in newer versions: it should be straightforward to upgrade
52 within the same series (3.6), but it is always possible that newer versions
53 will have increased dependencies, or that something using the nss or gecko
54 libraries will break. If you update, begin by updating
55 <application>Xulrunner</application> if you use that, then update Firefox
56 (ensuring the libxul-sdk option points to the new version).</para>
57 </tip>
58
59 &lfs67_checked;
60 <para>&lfssvn_checked;20101029&lfssvn_checked2;</para>
61
62 <bridgehead renderas="sect3">Package Information</bridgehead>
63 <itemizedlist spacing="compact">
64 <listitem>
65 <para>Download (HTTP): <ulink url="&firefox-download-http;"/></para>
66 </listitem>
67 <listitem>
68 <para>Download (FTP): <ulink url="&firefox-download-ftp;"/></para>
69 </listitem>
70 <listitem>
71 <para>Download MD5 sum: &firefox-md5sum;</para>
72 </listitem>
73 <listitem>
74 <para>Download size: &firefox-size;</para>
75 </listitem>
76 <listitem>
77 <para>Estimated disk space required: &firefox-buildsize;</para>
78 </listitem>
79 <listitem>
80 <para>Estimated build time: &firefox-time;</para>
81 </listitem>
82 </itemizedlist>
83
84 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
85 <itemizedlist spacing="compact">
86 <listitem>
87 <para>Optional patch: <ulink
88 url="&patch-root;/firefox-&firefox-version;-provide_system_nspr_nss-1.patch"/>
89 (Required if using the included NSPR and NSS libs as system versions for
90 other packages)</para>
91 </listitem>
92 </itemizedlist>
93
94 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
95
96 <bridgehead renderas="sect4">Recommended</bridgehead>
97 <para role="recommended"><xref linkend="xulrunner"/> which shares all these
98 dependencies, or for a standalone <application>Firefox</application> the
99 following Required and Optional dependencies:</para>
100
101 <bridgehead renderas="sect4">Required</bridgehead>
102 <para role="required"><xref linkend="alsa-lib"/>,
103 <xref linkend="gtk2"/>,
104 <xref linkend="libidl"/>,
105 <xref linkend="pango"/>,
106 <xref linkend="python"/>, and
107 <xref linkend="zip"/></para>
108
109 <para>Note: <application>libjpeg</application> should have been installed
110 before <application>GTK+</application> and should exist on your system. If
111 for some reason you haven't installed <application>libjpeg</application>,
112 you should remove the <option>--with-system-jpeg</option> option from the
113 <filename>mozconfig</filename> file created below.</para>
114
115 <bridgehead renderas="sect4">Optional</bridgehead>
116 <para role="optional"><xref linkend="dbus-glib"/>,
117 <xref linkend="doxygen"/>,
118 <xref linkend="curl"/> (only for crash-reporter),
119 <xref linkend="gnome-vfs"/> and <xref linkend="libgnomeui"/> (for gnome integration),
120 <xref linkend="libnotify"/>,
121 <xref linkend="libpng"/> (patched for apng support),
122 <xref linkend="nss"/> (recommended if you build any other Mozilla.org packages),
123 <xref linkend="startup-notification"/>,
124 <xref linkend="sqlite"/>,
125 <xref linkend="unzip"/>,
126 <ulink url="http://sourceforge.net/projects/hunspell/">Hunspell</ulink>,
127 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing the jemalloc code), and
128 <xref linkend="wget"/></para>
129
130 <para condition="html" role="usernotes">User Notes:
131 <ulink url="&blfs-wiki;/firefox"/></para>
132
133 </sect2>
134
135 <sect2 role="installation">
136 <title>Installation of Firefox</title>
137
138 <para>The configuration of <application>Firefox</application> is
139 accomplished by creating a <filename>mozconfig</filename> file containing
140 the desired configuration options. A default <filename>mozconfig</filename>
141 is created below. To see the entire list of available configuration options
142 (and an abbreviated description of each one), issue
143 <command>./configure --help</command>. If you are not building against
144 <application>Xulrunner</application> you must comment the 'Xulrunner' items.
145 You may also wish to review the entire file and uncomment any other desired
146 options. If you would prefer to download the file instead of creating it by
147 typing or cut-and-pasting, you can find it at <ulink
148 url="&files-anduin;/firefox-&firefox-version;-mozconfig"/>
149 (the file must be installed in the root of the source tree
150 <filename class='directory'>mozilla</filename> directory, and named
151 <filename>mozconfig</filename> or <filename>.mozconfig</filename>). Create
152 the file by issuing the following command:</para>
153
154<screen><?dbfo keep-together="auto"?><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
155<literal># This file contains the options used in the Firefox build. You may
156# need to specify additional options for your specific build needs.
157# Use the information provided by running './configure --help' to
158# help you determine if you need to add any additional options.
159# Some additional options can be added by uncommenting the examples
160# in this file or adding options by inserting a line containing
161# 'ac_add_options --some-option-you-need'. Be aware that some accepted
162# options, such as '--with-system-bz2', do not affect the build.
163
164# Specify that Firefox should be built. Note that this line is commented out
165# because it is redundant with the next setting.
166#ac_add_options --enable-application=browser
167
168# Use the default settings specified in the source tree. The
169# --enable-application=browser is set in this file.
170. $topsrcdir/browser/config/mozconfig
171
172# Create an object directory and specify to build the package in that
173# directory. If desired, modify the location of the object directory
174# to a directory inside the source tree by removing '../' from the
175# line below.
176mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
177
178# Specify the installation prefix. If you would prefer Firefox installed in a
179# different prefix, modify the line below to fit your needs.
180ac_add_options --prefix=/usr
181
182# Apply a minimal level of optimization (-O).
183ac_add_options --enable-optimize
184
185# These options are used so that the Firefox binaries are linked to
186# the system-installed copies of the specified libraries instead of
187# the source tree code which may not be the most recent versions.
188# With the exception of libsqlite3, the libraries are statically linked.
189
190# (Options to use system installed libraries)
191# Using the shipped version of libsqlite3 has been reported to cause
192# problems with other applications which were using sqlite3.
193# Only comment this line if you know exactly what you are doing!
194ac_add_options --enable-system-sqlite
195
196# Comment this only if you want to use whatever patched version of cairo
197# is in the shipped mozilla tree, together with the system headers.
198ac_add_options --enable-system-cairo
199
200# Comment this if you have not installed lcms.
201ac_add_options --enable-system-lcms
202
203# Uncomment this if you have installed Hunspell
204#ac_add_options --enable-system-hunspell
205
206# Uncomment this if you have installed startup-notification
207#ac_add_options --enable-startup-notification
208
209# Comment this if you did not build libjpeg before GTK+-2.
210ac_add_options --with-system-jpeg
211
212# These two options enable support for building Xulrunner with
213# system-installed versions of the Network Security Services (NSS)
214# and Netscape Portable Runtime (NSPR) libraries. Comment them if
215# you wish to use the included copies (not recommended).
216ac_add_options --with-system-nspr
217ac_add_options --with-system-nss
218
219# Comment this if you have not built png with the apng patch.
220ac_add_options --with-system-png
221
222# The pthreads option is only used when building nspr
223# Uncomment this if you build the included nspr.
224#ac_add_options --with-pthreads
225
226# Zlib is included in LFS. Do not comment this line.
227ac_add_options --with-system-zlib
228
229# (Options to disable parts of the package)
230# This option is used to disable the a11y support in the Xulrunner
231# binaries. Comment out this option if you require a11y support.
232ac_add_options --disable-accessibility
233
234# Uncomment this if you did not build cURL.
235#ac_add_options --disable-crashreporter
236
237# Comment this if you have built DBus-Glib.
238ac_add_options --disable-dbus
239
240# Comment this if you have Gnome-VFS and libgnomeui, and wish to
241# integrate Firefox into your Gnome desktop
242ac_add_options --disable-gnomevfs
243
244# Comment this if you have wireless-tools installed and wish to use the new
245# Necko WiFi scanning.
246ac_add_options --disable-necko-wifi
247
248# Comment this if you have installed libnotify.
249ac_add_options --disable-libnotify
250
251# This option is added so that the Mozilla Installer program is not
252# built or installed. The program is not required for a BLFS
253# installation of Xulrunner.
254ac_add_options --disable-installer
255
256# If you enable javaxpcom, you must have a java compiler installed.
257ac_add_options --disable-javaxpcom
258
259# This option is added so that test libraries and programs are not
260# built. These would only be required for debugging purposes.
261ac_add_options --disable-tests
262
263# Disable the updater, which is not appropriate if you build from source.
264ac_add_options --disable-updater
265
266# (options to add extra parts of the package)
267# This option causes the installed Firefox binaries to have the official
268# Firefox name embedded in them. Due to license restrictions, you
269# may not distribute binaries created using this option. It also
270# means you get a popup EULA when you first run Firefox.
271ac_add_options --enable-official-branding
272
273# Use the anti-phishing measures (a blacklist of sites).
274ac_add_options --enable-safe-browsing
275
276# This option is used so that the debugging symbols are removed from
277# the installed binaries during the installation process. Comment out
278# this option if you may have a need to retain the debugging symbols
279# in the installed binaries (the resulting binaries will be about 7MB
280# bigger).
281ac_add_options --enable-strip
282
283# Uncomment this option if you desire support for dual-monitor
284# display using the X-Window Xinerama libraries.
285#ac_add_options --enable-xinerama
286
287# This option identifies the default binary directory of the Firefox
288# installation and is used to locate Firefox's installed files. This
289# option is is only used for development purposes.
290#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;
291
292# Point to the Xulrunner libraries - comment these for a standalone browser.
293ac_add_options --with-system-libxul
294ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;</literal>
295EOF</userinput></screen>
296
297 <para>Compile <application>Firefox</application> by issuing the
298 following commands:</para>
299
300<screen><userinput>make -f client.mk build</userinput></screen>
301
302 <para>This package does not come with a test suite.</para>
303
304 <para>Now, as the <systemitem class="username">root</systemitem> user,
305 install the package:</para>
306
307<screen role="root"><userinput>make -f client.mk install &amp;&amp;
308
309chown -R -v root:root /usr/share/idl/firefox-&firefox-version; \
310 /usr/include/firefox-&firefox-version; \
311 destdir/usr/lib/firefox-devel-3.6.13/sdk/lib</userinput></screen>
312
313 <para>If you are building Firefox on Xulrunner, as the
314 <systemitem class="username">root</systemitem> user enter the following
315 symbolic link:</para>
316
317<screen role="root"><userinput>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins \
318 /usr/lib/firefox-&firefox-version;</userinput></screen>
319
320 </sect2>
321
322 <sect2 role="commands">
323 <title>Command Explanations</title>
324
325 <para><command>make -f client.mk ...</command>: Mozilla products are
326 packaged to allow the use of a configuration file which can be used to
327 pass the configuration settings to the <command>configure</command>
328 command. <command>make</command> uses the <filename>client.mk</filename>
329 file to get initial configuration and setup parameters, then depending on
330 the target parameter (<parameter>build</parameter> or
331 <parameter>install</parameter>), either runs the
332 <command>configure</command> script and compiles the package or installs
333 the package.</para>
334
335 <para><command>ln -sv /usr/lib/xulrunner-&xulrunner-version;/plugins
336 /usr/lib/firefox-&firefox-version;/plugins</command>:
337 <application>Firefox</application> looks for plugins in its own directory,
338 but when building on <application>Xulrunner</application> the plugins were
339 installed by that package. Note that any plugins in
340 <filename class="directory">/usr/lib/mozilla/plugins</filename> will also be
341 found.</para>
342
343 <tip>
344 <para>If you upgrade firefox, ensure that any additional plugins are moved
345 to the plugin directory of the new version.</para>
346 </tip>
347
348 </sect2>
349
350 <sect2 role="configuration">
351 <title>Configuring Firefox</title>
352
353 <para>No specific configuration is required as long as the
354 <command>firefox</command> script is in the user's path. If
355 <application>Firefox</application> is installed in a non-standard location,
356 then make a symlink to the <command>firefox</command> script in the
357 <filename class="directory">/usr/bin</filename> directory.</para>
358
359 <para>If your Window or Desktop Manager does not allow you to configure
360 a default mail client, you can add a configuration parameter to
361 <application>Firefox</application> so that an email client will start
362 when you click on a <systemitem role='url'>mailto:</systemitem> URL.
363 There are two parameters you need to check. The procedure to check or
364 modify any of the configuration parameters is quite simple and the
365 instructions here can be used to view or modify any of the
366 parameters.</para>
367
368 <para>First, open the configuration dialog by entering
369 <systemitem role='url'>about:config</systemitem> in the address bar. This
370 will display a list of the configuration preferences and information
371 related to each one. You can use the <quote>Filter:</quote> bar to enter
372 search criteria and narrow down the listed items. Changing a preference
373 can be done using two methods. One, if the preference has a boolean value
374 (True/False), simply double-click on the preference to toggle the value
375 and two, for other preferences simply right-click on the desired line,
376 choose <quote>Modify</quote> from the menu and change the value. Creating
377 new preference items is accomplished in the same way, except choose
378 <quote>New</quote> from the menu and provide the desired data into the
379 fields when prompted.</para>
380
381 <para>The two configuration preference items you need to check so that
382 <application>Firefox</application> uses a specified default mail client
383 are the <parameter>network.protocol-handler.external.mailto</parameter>
384 which should be set to <option>True</option> and the
385 <parameter>network.protocol-handler.app.mailto</parameter> which should
386 be set to the path of the desired mail client, e.g.,
387 <option>/usr/bin/thunderbird</option>.</para>
388
389 <tip>
390 <para>There is a multitude of configuration parameters you can tweak to
391 customize <application>Firefox</application>. A very extensive and
392 up-to-date list of these parameters can be found at <ulink
393 url="http://preferential.mozdev.org/preferences.html"/>.</para>
394 </tip>
395
396 <para>Many old applications used to look for <command>netscape</command>
397 when they needed to open a browser. You may wish to make the following
398 symlink for convenience (as the <systemitem class="username">root</systemitem>
399 user).</para>
400
401<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
402
403 <para>For installing various <application>Firefox</application> plugins,
404 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
405 PluginDoc Project</ulink>. If you have the <xref linkend="jdk"/> already
406 installed, create the following link as the
407 <systemitem class="username">root</systemitem> user to utilize the installed
408 <application>Java</application> plugin: </para>
409
410<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/lib/i386/libnpjp2.so \
411 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
412
413 <para>If you have <xref linkend="icedtea6"/> installed as opposed to the
414 <xref linkend="jdk"/>, create the following link (again as the
415 <systemitem class="username">root</systemitem> user) to use the
416 <application>IcedTea6</application> plugin: </para>
417
418<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/IcedTeaPlugin.so \
419 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
420
421 <para>Some packages install Mozilla plugins into the default system-wide
422 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
423 If you have not already done this for <application>Xulrunner</application>
424 create symbolic links in the <application>Firefox</application>
425 plugin directory
426 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
427 to the files in the default plugin directory (you should link to the actual
428 files and not other links). Alternatively, you can move or copy the files
429 in the default plugin directory to the
430 <application>Firefox</application> plugin directory. An example of creating
431 a symbolic link is shown below. Create the links as the
432 <systemitem class="username">root</systemitem> user:</para>
433
434<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>&lt;plugin.so&gt;</replaceable> \
435 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
436
437 </sect2>
438
439 <sect2 role="content">
440 <title>Contents</title>
441
442 <segmentedlist>
443 <segtitle>Installed Programs</segtitle>
444 <segtitle>Installed Libraries</segtitle>
445 <segtitle>Installed Directories</segtitle>
446
447 <seglistitem>
448 <seg>firefox</seg>
449 <seg>Numerous libraries, browser components, plugins, extensions, and
450 helper modules installed in <filename
451 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
452 <seg>/usr/include/firefox-&firefox-version;,
453 /usr/lib/firefox-&firefox-version;,
454 /usr/lib/firefox-devel-&firefox-version;, and
455 /usr/share/idl/firefox-&firefox-version;</seg>
456 </seglistitem>
457 </segmentedlist>
458
459 <variablelist>
460 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
461 <?dbfo list-presentation="list"?>
462 <?dbhtml list-presentation="table"?>
463
464 <varlistentry id="firefox-prog">
465 <term><command>firefox</command></term>
466 <listitem>
467 <para>in a stand-alone build is a symbolic link to shell script in
468 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
469 that sets up the environment and calls the <filename>firefox-bin</filename>
470 binary. When built on <application>Xulrunner</application>,
471 <command>firefox</command> is a symbolic link to a
472 <command>firefox</command> binary in
473 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
474 </para>
475 <indexterm zone="firefox firefox-prog">
476 <primary sortas="b-firefox">firefox</primary>
477 </indexterm>
478 </listitem>
479 </varlistentry>
480
481 </variablelist>
482
483 </sect2>
484
485</sect1>
Note: See TracBrowser for help on using the repository browser.