source: xsoft/graphweb/firefox.xml@ f58ebdf

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 f58ebdf was f58ebdf, checked in by DJ Lucas <dj@…>, 14 years ago

Fixed incorrect directory in mozjs.pc

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

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