source: xsoft/graphweb/firefox.xml@ b9875028

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind 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 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since b9875028 was b9875028, checked in by Ken Moffat <ken@…>, 10 years ago

tags

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

  • Property mode set to 100644
File size: 13.5 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-http
10 "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
11 <!ENTITY firefox-download-ftp
12 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
13 <!ENTITY firefox-md5sum "859d0b6fe2d36b6959cf08cee4c783cc">
14 <!ENTITY firefox-size "143 MB">
15 <!-- measured on LFS-7.5, x86_64 -->
16 <!ENTITY firefox-buildsize "5.2 GB (65 MB installed)">
17 <!ENTITY firefox-time "54 SBU">
18]>
19
20<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
21 <?dbhtml filename="firefox.html" ?>
22
23 <sect1info>
24 <othername>$LastChangedBy$</othername>
25 <date>$Date$</date>
26 </sect1info>
27
28 <title>Firefox-&firefox-version;</title>
29
30 <indexterm zone="firefox">
31 <primary sortas="a-Firefox">Firefox</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to Firefox</title>
36
37 <para>
38 <application>Firefox</application> is a stand-alone browser based on the
39 <application>Mozilla</application> codebase.
40 </para>
41
42 &lfs76_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&firefox-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&firefox-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &firefox-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &firefox-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &firefox-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &firefox-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
79
80 <bridgehead renderas="sect4">Required</bridgehead>
81 <para role="required">
82 <xref linkend="alsa-lib"/>,
83 <xref linkend="gtk2"/>,
84 <xref linkend="zip"/>, and
85 <xref linkend="unzip"/>
86 </para>
87
88 <bridgehead renderas="sect4">Recommended</bridgehead>
89 <para role="recommended">
90 <xref linkend="icu"/>,
91 <xref linkend="libevent"/>,
92 <xref linkend="libvpx"/>,
93 <xref linkend="nspr"/>,
94 <xref linkend="nss"/>,
95 <xref linkend="sqlite"/> and
96 <xref linkend="yasm"/>
97 </para>
98
99 <note>
100 <para>
101 If you don't install recommended dependencies, then internal copies of
102 those packages will be used. They might be tested to work, but they can
103 be out of date or contain security holes.
104 </para>
105 </note>
106
107 <note>
108 <para>
109 With <application>Firefox-31.0</application> and later versions, you
110 must have installed <application>Openssl</application> before
111 <application>Python 2</application> or the build system will quickly
112 fail with output including "ImportError: cannot import name
113 HTTPSHandler". If you are in any doubt about this (e.g. upgrading
114 from an older version of Firefox), check if
115 <filename>/usr/lib/python2.7/lib-dynload/_ssl.so</filename> exists.
116 If it does not, reinstall <xref linkend="python2"/> (after
117 installing <xref linkend="openssl"/>. The latest version of any
118 <emphasis>currently maintained</emphasis> version of Openssl should
119 be satisfactory if already installed.
120 </para>
121 </note>
122
123 <bridgehead renderas="sect4">Optional</bridgehead>
124 <para role="optional">
125 <xref linkend="curl"/>,
126 <xref linkend="dbus-glib"/>,
127 <xref linkend="doxygen"/>,
128 <xref linkend="gst-plugins-base"/> (with
129 <xref linkend="gst-plugins-good"/> and
130 <xref linkend="gst-ffmpeg"/> at runtime), or
131 <xref linkend="gst10-plugins-base"/> (with
132 <xref linkend="gst10-plugins-good"/> and
133 <xref linkend="gst10-libav"/> at runtime),
134 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
135 <xref linkend="libnotify"/>,
136 <xref linkend="openjdk"/>,
137 <xref linkend="pulseaudio"/>,
138 <xref linkend="startup-notification"/>,
139 <xref linkend="wget"/>, and
140 <xref linkend="wireless_tools"/>
141 </para>
142
143 <para condition="html" role="usernotes">
144 User Notes: <ulink url="&blfs-wiki;/firefox"/>
145 </para>
146 </sect2>
147
148 <sect2 role="installation">
149 <title>Installation of Firefox</title>
150
151 <para>
152 The configuration of <application>Firefox</application> is accomplished
153 by creating a <filename>mozconfig</filename> file containing the desired
154 configuration options. A default <filename>mozconfig</filename> is
155 created below. To see the entire list of available configuration options
156 (and an 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. Create the file by issuing the
159 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 dbus-glib, and you have installed (or will install)
172# wireless-tools, and you wish to use geolocation web services, comment out
173# this line
174ac_add_options --disable-necko-wifi
175
176# If you have installed libnotify comment out this line:
177ac_add_options --disable-libnotify
178
179# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
180# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
181# in about:config. If you have GStreamer 0.x.y, uncomment this line:
182#ac_add_options --enable-gstreamer
183# or uncomment this line, if you have GStreamer 1.x.y
184#ac_add_options --enable-gstreamer=1.0
185
186# Uncomment these lines if you have installed optional dependencies:
187#ac_add_options --enable-system-hunspell
188#ac_add_options --enable-startup-notification
189
190# Comment out following option if you have PulseAudio installed
191ac_add_options --disable-pulseaudio
192
193# If you have not installed Yasm then uncomment this line:
194#ac_add_options --disable-webm
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
203ac_add_options --with-system-icu
204
205# The BLFS editors recommend not changing anything below this line:
206ac_add_options --prefix=/usr
207ac_add_options --enable-application=browser
208
209ac_add_options --disable-crashreporter
210ac_add_options --disable-updater
211ac_add_options --disable-tests
212
213ac_add_options --enable-optimize
214ac_add_options --enable-strip
215ac_add_options --enable-install-strip
216
217ac_add_options --enable-gio
218ac_add_options --enable-official-branding
219ac_add_options --enable-safe-browsing
220ac_add_options --enable-url-classifier
221
222ac_add_options --enable-system-cairo
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 Compile <application>Firefox</application> by issuing the following
238 commands:
239 </para>
240
241 <note><para>
242 If you are compiling <application>Firefox</application> in chroot, prepend
243 <envar>SHELL=/bin/sh</envar> to the first make command below.
244 </para></note>
245
246<screen><userinput>test $(uname -m) = "i686" &amp;&amp; sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &amp;&amp;
247make -f client.mk</userinput></screen>
248
249 <para>
250 This package does not come with a test suite.
251 </para>
252
253 <para>
254 Now, as the <systemitem class="username">root</systemitem> user:
255 </para>
256
257<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
258
259mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
260ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
261
262 </sect2>
263
264 <sect2 role="commands">
265 <title>Command Explanations</title>
266
267 <para>
268 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>:
269 On this version of firefox, an old bug has reappeared in 32-bit builds.
270 With optimization, the install fails with a Python error. This
271 command will fix i686 builds and preserve the optimization on x86_64.
272 </para>
273
274 <para>
275 <command>make -f client.mk ...</command>: Mozilla products are packaged to
276 allow the use of a configuration file which can be used to pass the
277 configuration settings to the <command>configure</command> command.
278 <command>make</command> uses the <filename>client.mk</filename> file to
279 get initial configuration and setup parameters.
280 </para>
281
282 <para>
283 <command>make -C firefox-build-dir install</command>: This runs
284 <command>make install</command> in firefox-build-dir.
285 </para>
286
287 <para>
288 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
289 to the <command>firefox</command> executable in your <envar>PATH</envar>
290 variable.
291 </para>
292
293 <para>
294 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
295 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
296 exists.
297 </para>
298
299 <para>
300 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
301 command creates a symbolic link to
302 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
303 really needed, as <application>Firefox</application> checks
304 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
305 default, but the symbolic link is made to keep all the plugins installed in
306 one folder.
307 </para>
308
309 </sect2>
310
311 <sect2 role="configuration">
312 <title>Configuring Firefox</title>
313
314 <para>
315 If you deleted the <option>--disable-webm</option> option from your
316 <filename>mozconfig</filename>, your <application>Firefox</application>
317 can play most YouTube videos without the need for the flash plugin. To
318 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
319 on 'Join the HTML5 Trial' (needs cookies enabled).
320 </para>
321
322 <para>
323 If you use a desktop environment like <application>Gnome</application> or
324 <application>KDE</application> you may like to create a
325 <filename>firefox.desktop</filename> file so that
326 <application>Firefox</application> appears in the panel's menus. If you
327 didn't enable startup-notification in your mozconfig change the
328 StartupNotify line to false. As the
329 <systemitem class="username">root</systemitem> user:
330 </para>
331
332<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
333mkdir -pv /usr/share/pixmaps &amp;&amp;
334
335cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
336<literal>[Desktop Entry]
337Encoding=UTF-8
338Name=Firefox Web Browser
339Comment=Browse the World Wide Web
340GenericName=Web Browser
341Exec=firefox %u
342Terminal=false
343Type=Application
344Icon=firefox
345Categories=GNOME;GTK;Network;WebBrowser;
346MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
347StartupNotify=true</literal>
348EOF
349
350ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
351 /usr/share/pixmaps/firefox.png</userinput></screen>
352
353 </sect2>
354
355 <sect2 role="content">
356 <title>Contents</title>
357
358 <segmentedlist>
359 <segtitle>Installed Programs</segtitle>
360 <segtitle>Installed Libraries</segtitle>
361 <segtitle>Installed Directory</segtitle>
362
363 <seglistitem>
364 <seg>
365 firefox
366 </seg>
367 <seg>
368 Numerous libraries, browser components, plugins, extensions, and
369 helper modules installed in
370 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
371 </seg>
372 <seg>
373 /usr/lib/firefox-&firefox-version;
374 </seg>
375 </seglistitem>
376 </segmentedlist>
377
378 <variablelist>
379 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
380 <?dbfo list-presentation="list"?>
381 <?dbhtml list-presentation="table"?>
382
383 <varlistentry id="firefox-prog">
384 <term><command>firefox</command></term>
385 <listitem>
386 <para>
387 is a <application>GTK+ 2</application> internet browser that uses the
388 Mozilla Gecko rendering engine.
389 </para>
390 <indexterm zone="firefox firefox-prog">
391 <primary sortas="b-firefox">firefox</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
395
396 </variablelist>
397
398 </sect2>
399
400</sect1>
Note: See TracBrowser for help on using the repository browser.