source: xsoft/graphweb/firefox.xml@ 54f740f

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

capitalization consistency and cleanup

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

  • Property mode set to 100644
File size: 15.7 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 Download (if linking against xulrunner)</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 necesary 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# If you have not installed Yasm then uncomment this line:
180#ac_add_options --disable-webm
181
182# If you have installed xulrunner uncomment the next two ac_add_options lines
183# and check that the sdk will be set by running pkg-config in a subshell
184# and has not become hardcoded or empty when you created this file
185#ac_add_options --with-system-libxul
186#ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
187
188# Comment out following options if you have not installed
189# recommended dependencies:
190ac_add_options --enable-system-sqlite
191ac_add_options --with-system-libevent
192ac_add_options --with-system-libvpx
193ac_add_options --with-system-nspr
194ac_add_options --with-system-nss
195
196# It is recommended not to touch anything below this line
197ac_add_options --prefix=/usr
198ac_add_options --enable-application=browser
199
200ac_add_options --disable-crashreporter
201ac_add_options --disable-installer
202ac_add_options --disable-updater
203ac_add_options --disable-debug
204ac_add_options --disable-tests
205
206ac_add_options --enable-optimize
207ac_add_options --enable-strip
208ac_add_options --enable-install-strip
209
210ac_add_options --enable-gio
211ac_add_options --enable-official-branding
212ac_add_options --enable-safe-browsing
213ac_add_options --enable-url-classifier
214
215ac_add_options --enable-system-ffi
216ac_add_options --enable-system-pixman
217
218ac_add_options --with-pthreads
219
220ac_add_options --with-system-bz2
221ac_add_options --with-system-jpeg
222ac_add_options --with-system-png
223ac_add_options --with-system-zlib
224
225mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
226EOF</userinput></screen>
227
228 <para>
229 If you are building against an already installed <application>Xulrunner</application>
230 apply the patch:
231 </para>
232
233<screen><userinput>patch -Np1 -i ../firefox-&firefox-version;-search_box_fix-1.patch
234</userinput></screen>
235
236 <para>
237 Compile <application>Firefox</application> by issuing the following
238 commands:
239 </para>
240
241<screen><userinput>sed -i 's@ ""@@' browser/base/Makefile.in &amp;&amp;
242make -f client.mk</userinput></screen>
243
244 <para>
245 This package does not come with a test suite.
246 </para>
247
248 <para>
249 If you have <emphasis>not</emphasis> linked
250 <application>Firefox</application> against an installed
251 <application>Xulrunner</application>:
252 </para>
253
254<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
255
256 <para>
257 Now, as the <systemitem class="username">root</systemitem> user, if you
258 have <emphasis>not</emphasis> linked <application>Firefox</application>
259 against an installed <application>Xulrunner</application>, install the
260 package:
261 </para>
262
263<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
264mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
265
266tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
267 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
268chown -R -v root:root /usr/lib/firefox-&firefox-version; &amp;&amp;
269
270ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
271
272mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
273ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
274
275 <para>
276 If you <emphasis>have</emphasis> linked against an already installed
277 <application>Xulrunner</application>, as the
278 <systemitem class="username">root</systemitem> user:
279 </para>
280
281<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
282ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
283ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
284
285mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
286ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
287
288 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
289 NPAPI Headers
290 </bridgehead>
291
292 <para>
293 The above instructions just install the parts you need to run
294 <application>Firefox</application>. If you want to compile
295 <xref linkend="gnash"/>, the open source version of Flash, copy some
296 headers that Gnash needs into /usr/include, as the
297 <systemitem class="username">root</systemitem> user:
298 </para>
299
300<screen role="root"><userinput>rm -rf /usr/include/npapi &amp;&amp;
301mkdir -v /usr/include/npapi &amp;&amp;
302cp -v dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
303
304 <note>
305 <para>
306 You don't need to install the headers if you have built
307 <application>Firefox</application> against
308 <application>Xulrunner</application>.
309 </para>
310 </note>
311
312 </sect2>
313
314 <sect2 role="commands">
315 <title>Command Explanations</title>
316
317 <para>
318 <command>sed -i 's@ ""@@' browser/base/Makefile.in</command>: This sed
319 removes an unprintable control character from the title bar.
320 </para>
321
322 <para>
323 <command>make -f client.mk ...</command>: Mozilla products are packaged to
324 allow the use of a configuration file which can be used to pass the
325 configuration settings to the <command>configure</command> command.
326 <command>make</command> uses the <filename>client.mk</filename> file to
327 get initial configuration and setup parameters.
328 </para>
329
330 <para>
331 <command>make -C firefox-build-dir/browser/installer</command>: this
332 creates a <application>Firefox</application> tarball similar to the ones
333 you can download from Mozilla.
334 </para>
335
336 <para>
337 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
338 <application>Firefox</application> in /usr/lib. The
339 <option>--strip-components=1</option> option removes the leading
340 'firefox' directory from the filenames, allowing us to untar it
341 into a versioned directory.
342 </para>
343
344 <para>
345 <command>make -C firefox-build-dir install</command>: This runs
346 <command>make install</command> in firefox-build-dir.
347 </para>
348
349 <para>
350 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
351 to the <command>firefox</command> executable in your <envar>PATH</envar>
352 variable.
353 </para>
354
355 <para>
356 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
357 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
358 exists.
359 </para>
360
361 <para>
362 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
363 command creates a symbolic link to
364 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
365 really needed, as <application>Firefox</application> checks
366 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
367 default, but the symbolic link is made to keep all the plugins installed in
368 one folder.
369 </para>
370
371 </sect2>
372
373 <sect2 role="configuration">
374 <title>Configuring Firefox</title>
375
376 <para>
377 If you deleted the <option>--disable-webm</option> option from your
378 <filename>mozconfig</filename>, your <application>Firefox</application>
379 can play most YouTube videos without the need for the flash plugin. To
380 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
381 on 'Join the HTML5 Trial' (needs cookies enabled).
382 </para>
383
384 <para>
385 If you use a desktop environment like <application>Gnome</application> or
386 <application>KDE</application> you may like to create a
387 <filename>firefox.desktop</filename> file so that
388 <application>Firefox</application> appears in the panel's menus. If you
389 didn't enable startup-notification in your mozconfig change the
390 StartupNotify line to false. As the
391 <systemitem class="username">root</systemitem> user:
392 </para>
393
394<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
395mkdir -pv /usr/share/pixmaps &amp;&amp;
396
397cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
398[Desktop Entry]
399Encoding=UTF-8
400Name=Firefox Web Browser
401Comment=Browse the World Wide Web
402GenericName=Web Browser
403Exec=firefox %u
404Terminal=false
405Type=Application
406Icon=firefox
407Categories=GNOME;GTK;Network;WebBrowser;
408MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
409StartupNotify=true
410EOF
411
412ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
413 /usr/share/pixmaps/firefox.png</userinput></screen>
414
415 </sect2>
416
417 <sect2 role="content">
418 <title>Contents</title>
419
420 <segmentedlist>
421 <segtitle>Installed Programs</segtitle>
422 <segtitle>Installed Libraries</segtitle>
423 <segtitle>Installed Directories</segtitle>
424
425 <seglistitem>
426 <seg>
427 firefox
428 </seg>
429 <seg>
430 Numerous libraries, browser components, plugins, extensions, and
431 helper modules installed in
432 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
433 </seg>
434 <seg>
435 /usr/include/npapi and
436 /usr/lib/firefox-&firefox-version;
437 </seg>
438 </seglistitem>
439 </segmentedlist>
440
441 <variablelist>
442 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
443 <?dbfo list-presentation="list"?>
444 <?dbhtml list-presentation="table"?>
445
446 <varlistentry id="firefox-prog">
447 <term><command>firefox</command></term>
448 <listitem>
449 <para>
450 is a <application>GTK+ 2</application> internet browser that uses the
451 Mozilla Gecko rendering engine.
452 </para>
453 <indexterm zone="firefox firefox-prog">
454 <primary sortas="b-firefox">firefox</primary>
455 </indexterm>
456 </listitem>
457 </varlistentry>
458
459 </variablelist>
460
461 </sect2>
462
463</sect1>
Note: See TracBrowser for help on using the repository browser.