source: xsoft/graphweb/firefox.xml@ 1f78606

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 1f78606 was 1f78606, checked in by Fernando de Oliveira <fernando@…>, 11 years ago

Updates to icedtea-web-1.4.1, xulrunner-24.0 and firefox-24.0 linked to xulrunner

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

  • Property mode set to 100644
File size: 15.8 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
8 "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
9 <!ENTITY firefox-download-ftp
10 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
11 <!ENTITY firefox-md5sum "06a4c0fe8d3a979aea2fce8d0fdbf328">
12 <!ENTITY firefox-size "115 MB">
13 <!ENTITY firefox-buildsize "4.9 GB (48 MB installed) (or 814 MB and 4.6 MB if using Xulrunner)">
14 <!ENTITY firefox-time "58 SBU (0.47 SBU if using Xulrunner)">
15]>
16
17<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
18 <?dbhtml filename="firefox.html" ?>
19
20 <sect1info>
21 <othername>$LastChangedBy$</othername>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>Firefox-&firefox-version;</title>
26
27 <indexterm zone="firefox">
28 <primary sortas="a-Firefox">Firefox</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to Firefox</title>
33
34 <para>
35 <application>Firefox</application> is a stand-alone browser based on the
36 <application>Mozilla</application> codebase.
37 </para>
38
39 &lfs74_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&firefox-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&firefox-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &firefox-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &firefox-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &firefox-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &firefox-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
76 <itemizedlist spacing='compact'>
77 <listitem>
78 <para>Recommended patch: <ulink
79 url="&patch-root;/firefox-&firefox-version;-search_box_fix-1.patch"/></para>
80 </listitem>
81 </itemizedlist>
82
83 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
84
85 <bridgehead renderas="sect4">Required</bridgehead>
86 <para role="required">
87 <xref linkend="alsa-lib"/>,
88 <xref linkend="gtk2"/>,
89 <xref linkend="zip"/>, and
90 <xref linkend="unzip"/>
91 </para>
92
93 <bridgehead renderas="sect4">Recommended</bridgehead>
94 <para role="recommended">
95 <xref linkend="libevent"/>,
96 <xref linkend="libvpx"/>,
97 <xref linkend="nspr"/>,
98 <xref linkend="nss"/>,
99 <xref linkend="sqlite"/> and
100 <xref linkend="yasm"/>
101 </para>
102
103 <note>
104 <para>
105 If you don't install recommended dependencies,
106 then internal copies of those packages will
107 be used. They might be tested to work, but
108 they can be out of date or contain security
109 holes.
110 </para>
111 </note>
112
113 <bridgehead renderas="sect4">Optional</bridgehead>
114 <para role="optional">
115 <xref linkend="curl"/>,
116 <xref linkend="dbus-glib"/>,
117 <xref linkend="doxygen"/>,
118 <xref linkend="gst-plugins-base"/>,
119 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
120 <xref linkend="libnotify"/>,
121 <xref linkend="startup-notification"/>,
122 <xref linkend="wget"/>,
123 <xref linkend="wireless_tools"/> and
124 <xref linkend="xulrunner"/>
125 </para>
126
127 <para condition="html" role="usernotes">
128 User Notes: <ulink url="&blfs-wiki;/firefox"/>
129 </para>
130 </sect2>
131
132 <sect2 role="installation">
133 <title>Installation of Firefox</title>
134
135 <para>
136 There are two major methods for building
137 <application>Firefox</application>. In the standard case, the entire suite
138 of libraries is built and installed. In the other, most of the system is
139 built using the procedures found in <xref linkend="xulrunner"/>. This is
140 advantageous if you are planning to build other related packages such as
141 <xref linkend="icedtea-web"/>. With either build method, you need to run
142 the main build procedure below with the appropriate options in the
143 <filename>mozconfig</filename> file. Then use the appropriate install
144 instructions depending on the chosen build method.
145 </para>
146
147 <para>
148 The configuration of <application>Firefox</application> is accomplished by
149 creating a <filename>mozconfig</filename> file containing the desired
150 configuration options. A default <filename>mozconfig</filename> is created
151 below. To see the entire list of available configuration options (and an
152 abbreviated description of each one), issue <command>./configure
153 --help</command>. You may also wish to review the entire file and
154 uncomment any other desired options.
155 Create the file by issuing the following command:
156 </para>
157
158<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
159# If you have a multicore machine, firefox will now use all the cores by
160# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
161# by uncommenting the next line and setting a valid number of CPU cores.
162#mk_add_options MOZ_MAKE_FLAGS="-j1"
163
164# If you have installed DBus-Glib comment out this line:
165ac_add_options --disable-dbus
166
167# If you have installed wireless-tools comment out this line:
168ac_add_options --disable-necko-wifi
169
170# If you have installed libnotify comment out this line:
171ac_add_options --disable-libnotify
172
173# Uncomment these lines if you have installed optional dependencies:
174# GStreamer is necessary for H.264 video playback in HTML5 Video Player
175#ac_add_options --enable-gstreamer
176#ac_add_options --enable-system-hunspell
177#ac_add_options --enable-startup-notification
178
179# Uncomment this line if you compiled Cairo with --enable-tee switch and want
180# to use it instead of the bundled one:
181#ac_add_options --enable-system-cairo
182
183# If you have not installed Yasm then uncomment this line:
184#ac_add_options --disable-webm
185
186# If you have installed xulrunner uncomment the next two ac_add_options lines
187# and check that the sdk will be set by running pkg-config in a subshell
188# and has not become hardcoded or empty when you created this file
189#ac_add_options --with-system-libxul
190#ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
191
192# Comment out following options if you have not installed
193# recommended dependencies:
194ac_add_options --enable-system-sqlite
195ac_add_options --with-system-libevent
196ac_add_options --with-system-libvpx
197ac_add_options --with-system-nspr
198ac_add_options --with-system-nss
199
200# It is recommended not to touch anything below this line
201ac_add_options --prefix=/usr
202ac_add_options --enable-application=browser
203
204ac_add_options --disable-crashreporter
205ac_add_options --disable-installer
206ac_add_options --disable-updater
207ac_add_options --disable-debug
208ac_add_options --disable-tests
209
210ac_add_options --enable-optimize
211ac_add_options --enable-strip
212ac_add_options --enable-install-strip
213
214ac_add_options --enable-gio
215ac_add_options --enable-official-branding
216ac_add_options --enable-safe-browsing
217ac_add_options --enable-url-classifier
218
219ac_add_options --enable-system-ffi
220ac_add_options --enable-system-pixman
221
222ac_add_options --with-pthreads
223
224ac_add_options --with-system-bz2
225ac_add_options --with-system-jpeg
226ac_add_options --with-system-png
227ac_add_options --with-system-zlib
228
229mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
230EOF</userinput></screen>
231
232 <para>
233 If you are building against an already installed <application>Xulrunner</application>
234 apply the patch:
235 </para>
236
237<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-search_box_fix-1.patch</userinput></screen>
238
239 <para>
240 Compile <application>Firefox</application> by issuing the following
241 commands:
242 </para>
243
244<screen><userinput>sed -i 's@ ""@@' browser/base/Makefile.in &amp;&amp;
245make -f client.mk</userinput></screen>
246
247 <para>
248 This package does not come with a test suite.
249 </para>
250
251 <para>
252 If you have <emphasis>not</emphasis> linked
253 <application>Firefox</application> against an installed
254 <application>Xulrunner</application>:
255 </para>
256
257<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
258
259 <para>
260 Now, as the <systemitem class="username">root</systemitem> user, if you
261 have <emphasis>not</emphasis> linked <application>Firefox</application>
262 against an installed <application>Xulrunner</application>, install the
263 package:
264 </para>
265
266<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
267mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
268
269tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
270 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
271chown -R -v root:root /usr/lib/firefox-&firefox-version; &amp;&amp;
272
273ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
274
275mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
276ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
277
278 <para>
279 If you <emphasis>have</emphasis> linked against an already installed
280 <application>Xulrunner</application>, as the
281 <systemitem class="username">root</systemitem> user:
282 </para>
283
284<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
285ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
286ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
287
288mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
289ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
290
291 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
292 NPAPI Headers
293 </bridgehead>
294
295 <para>
296 The above instructions just install the parts you need to run
297 <application>Firefox</application>. If you want to compile
298 <xref linkend="gnash"/>, the open source version of Flash, copy some
299 headers that Gnash needs into /usr/include, as the
300 <systemitem class="username">root</systemitem> user:
301 </para>
302
303<screen role="root"><userinput>rm -rf /usr/include/npapi &amp;&amp;
304mkdir -v /usr/include/npapi &amp;&amp;
305cp -v dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
306
307 <note>
308 <para>
309 You don't need to install the headers if you have built
310 <application>Firefox</application> against
311 <application>Xulrunner</application>.
312 </para>
313 </note>
314
315 </sect2>
316
317 <sect2 role="commands">
318 <title>Command Explanations</title>
319
320 <para>
321 <command>sed -i 's@ ""@@' browser/base/Makefile.in</command>: This sed
322 removes an unprintable control character from the title bar.
323 </para>
324
325 <para>
326 <command>make -f client.mk ...</command>: Mozilla products are packaged to
327 allow the use of a configuration file which can be used to pass the
328 configuration settings to the <command>configure</command> command.
329 <command>make</command> uses the <filename>client.mk</filename> file to
330 get initial configuration and setup parameters.
331 </para>
332
333 <para>
334 <command>make -C firefox-build-dir/browser/installer</command>: this
335 creates a <application>Firefox</application> tarball similar to the ones
336 you can download from Mozilla.
337 </para>
338
339 <para>
340 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
341 <application>Firefox</application> in /usr/lib. The
342 <option>--strip-components=1</option> option removes the leading
343 'firefox' directory from the filenames, allowing us to untar it
344 into a versioned directory.
345 </para>
346
347 <para>
348 <command>make -C firefox-build-dir install</command>: This runs
349 <command>make install</command> in firefox-build-dir.
350 </para>
351
352 <para>
353 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
354 to the <command>firefox</command> executable in your <envar>PATH</envar>
355 variable.
356 </para>
357
358 <para>
359 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
360 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
361 exists.
362 </para>
363
364 <para>
365 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
366 command creates a symbolic link to
367 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
368 really needed, as <application>Firefox</application> checks
369 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
370 default, but the symbolic link is made to keep all the plugins installed in
371 one folder.
372 </para>
373
374 </sect2>
375
376 <sect2 role="configuration">
377 <title>Configuring Firefox</title>
378
379 <para>
380 If you deleted the <option>--disable-webm</option> option from your
381 <filename>mozconfig</filename>, your <application>Firefox</application>
382 can play most YouTube videos without the need for the flash plugin. To
383 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
384 on 'Join the HTML5 Trial' (needs cookies enabled).
385 </para>
386
387 <para>
388 If you use a desktop environment like <application>Gnome</application> or
389 <application>KDE</application> you may like to create a
390 <filename>firefox.desktop</filename> file so that
391 <application>Firefox</application> appears in the panel's menus. If you
392 didn't enable startup-notification in your mozconfig change the
393 StartupNotify line to false. As the
394 <systemitem class="username">root</systemitem> user:
395 </para>
396
397<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
398mkdir -pv /usr/share/pixmaps &amp;&amp;
399
400cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
401<literal>[Desktop Entry]
402Encoding=UTF-8
403Name=Firefox Web Browser
404Comment=Browse the World Wide Web
405GenericName=Web Browser
406Exec=firefox %u
407Terminal=false
408Type=Application
409Icon=firefox
410Categories=GNOME;GTK;Network;WebBrowser;
411MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
412StartupNotify=true</literal>
413EOF
414
415ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
416 /usr/share/pixmaps/firefox.png</userinput></screen>
417
418 </sect2>
419
420 <sect2 role="content">
421 <title>Contents</title>
422
423 <segmentedlist>
424 <segtitle>Installed Programs</segtitle>
425 <segtitle>Installed Libraries</segtitle>
426 <segtitle>Installed Directories</segtitle>
427
428 <seglistitem>
429 <seg>
430 firefox
431 </seg>
432 <seg>
433 Numerous libraries, browser components, plugins, extensions, and
434 helper modules installed in
435 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
436 </seg>
437 <seg>
438 /usr/include/npapi and
439 /usr/lib/firefox-&firefox-version;
440 </seg>
441 </seglistitem>
442 </segmentedlist>
443
444 <variablelist>
445 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
446 <?dbfo list-presentation="list"?>
447 <?dbhtml list-presentation="table"?>
448
449 <varlistentry id="firefox-prog">
450 <term><command>firefox</command></term>
451 <listitem>
452 <para>
453 is a <application>GTK+ 2</application> internet browser that uses the
454 Mozilla Gecko rendering engine.
455 </para>
456 <indexterm zone="firefox firefox-prog">
457 <primary sortas="b-firefox">firefox</primary>
458 </indexterm>
459 </listitem>
460 </varlistentry>
461
462 </variablelist>
463
464 </sect2>
465
466</sect1>
Note: See TracBrowser for help on using the repository browser.