source: xsoft/graphweb/firefox.xml@ 40452959

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 40452959 was 40452959, checked in by Igor Živković <igor@…>, 11 years ago

excess whitespace

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

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