source: xsoft/graphweb/firefox.xml@ 22ee343

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 22ee343 was 22ee343, checked in by Chris Staub <chris@…>, 10 years ago

Option to disable necko-wifi is already explained in comments in the .mozconfig file

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@14032 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-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 "499b70a9f08a2291d528e87eaf8804a3">
14 <!ENTITY firefox-size "141 MB">
15 <!-- measured on LFS-7.5, x86_64 -->
16 <!ENTITY firefox-buildsize "5.0 GB (62 MB installed) (or 963 MB and 7.0 MB if using Xulrunner)">
17 <!ENTITY firefox-time "48 SBU (0.3 SBU if using Xulrunner)">
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 &lfs75_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,
102 then internal copies of those packages will
103 be used. They might be tested to work, but
104 they can be out of date or contain security
105 holes.
106 </para>
107 </note>
108
109 <note>
110 <para>
111 With <application>Firefox-31.0</application> and later versions, you
112 must have installed <application>Openssl</application> before
113 <application>Python 2</application>, or the build system will quickly
114 fail with output including "ImportError: cannot import name
115 HTTPSHandler". If you are in any doubt about this (e.g. upgrading
116 from an older version of Firefox), check if
117 <filename>/usr/lib/python2.7/lib-dynload/_ssl.so</filename> exists.
118 If it does not, reinstall <xref linkend="python2"/> (after
119 installing <xref linkend="openssl"/> - the latest version of any
120 <emphasis>currently maintained</emphasis> version of Openssl should
121 be satisfactory if already installed - if that package has not already
122 been installed).
123 </para>
124 </note>
125
126 <bridgehead renderas="sect4">Optional</bridgehead>
127 <para role="optional">
128 <xref linkend="curl"/>,
129 <xref linkend="dbus-glib"/>,
130 <xref linkend="doxygen"/>,
131 <xref linkend="gst-plugins-base"/> (with
132 <xref linkend="gst-plugins-good"/> and
133 <xref linkend="gst-ffmpeg"/> at runtime), or
134 <xref linkend="gst10-plugins-base"/> (with
135 <xref linkend="gst10-plugins-good"/> and
136 <xref linkend="gst10-libav"/> at runtime),
137 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
138 <xref linkend="libnotify"/>,
139 <xref linkend="openjdk"/>,
140 <xref linkend="pulseaudio"/>,
141 <xref linkend="startup-notification"/>,
142 <xref linkend="wget"/>,
143 <xref linkend="wireless_tools"/> and
144 <xref linkend="xulrunner"/>
145 </para>
146
147 <para condition="html" role="usernotes">
148 User Notes: <ulink url="&blfs-wiki;/firefox"/>
149 </para>
150 </sect2>
151
152 <sect2 role="installation">
153 <title>Installation of Firefox</title>
154
155 <para>
156 There are two major methods for building
157 <application>Firefox</application>. In the standard case, the entire suite
158 of libraries is built and installed. In the other, most of the system is
159 built using the procedures found in <xref linkend="xulrunner"/>. This is
160 advantageous if you are planning to build other related packages such as
161 <xref linkend="icedtea-web"/>. With either build method, you need to run
162 the main build procedure below with the appropriate options in the
163 <filename>mozconfig</filename> file. Then use the appropriate install
164 instructions depending on the chosen build method.
165 </para>
166
167 <para>
168 The configuration of <application>Firefox</application> is accomplished by
169 creating a <filename>mozconfig</filename> file containing the desired
170 configuration options. A default <filename>mozconfig</filename> is created
171 below. To see the entire list of available configuration options (and an
172 abbreviated description of each one), issue <command>./configure
173 --help</command>. You may also wish to review the entire file and
174 uncomment any other desired options.
175 Create the file by issuing the following command:
176 </para>
177
178<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
179# If you have a multicore machine, firefox will now use all the cores by
180# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
181# by uncommenting the next line and setting a valid number of CPU cores.
182#mk_add_options MOZ_MAKE_FLAGS="-j1"
183
184# If you have installed DBus-Glib comment out this line:
185ac_add_options --disable-dbus
186
187# If you have installed dbus-glib, and you have installed (or will install)
188# wireless-tools, and you wish to use geolocation web services, comment out
189# this line
190ac_add_options --disable-necko-wifi
191
192# If you have installed libnotify comment out this line:
193ac_add_options --disable-libnotify
194
195# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
196# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
197# in about:config. If you have GStreamer 0.x.y, uncomment this line:
198#ac_add_options --enable-gstreamer
199# or uncomment this line, if you have GStreamer 1.x.y
200#ac_add_options --enable-gstreamer=1.0
201
202# Uncomment these lines if you have installed optional dependencies:
203#ac_add_options --enable-system-hunspell
204#ac_add_options --enable-startup-notification
205
206# Comment out following option if you have PulseAudio installed
207ac_add_options --disable-pulseaudio
208
209# If you have not installed Yasm then uncomment this line:
210#ac_add_options --disable-webm
211
212# If you have installed xulrunner uncomment the next two ac_add_options lines
213# and check that the sdk will be set by running pkg-config in a subshell
214# and has not become hardcoded or empty when you created this file
215#ac_add_options --with-system-libxul
216#ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
217
218# Comment out following options if you have not installed
219# recommended dependencies:
220ac_add_options --enable-system-sqlite
221ac_add_options --with-system-libevent
222ac_add_options --with-system-libvpx
223ac_add_options --with-system-nspr
224ac_add_options --with-system-nss
225ac_add_options --with-system-icu
226
227# The BLFS editors recommend not changing anything below this line:
228ac_add_options --prefix=/usr
229ac_add_options --enable-application=browser
230
231ac_add_options --disable-crashreporter
232ac_add_options --disable-updater
233ac_add_options --disable-tests
234
235ac_add_options --enable-optimize
236ac_add_options --enable-strip
237ac_add_options --enable-install-strip
238
239ac_add_options --enable-gio
240ac_add_options --enable-official-branding
241ac_add_options --enable-safe-browsing
242ac_add_options --enable-url-classifier
243
244ac_add_options --enable-system-cairo
245ac_add_options --enable-system-ffi
246ac_add_options --enable-system-pixman
247
248ac_add_options --with-pthreads
249
250ac_add_options --with-system-bz2
251ac_add_options --with-system-jpeg
252ac_add_options --with-system-png
253ac_add_options --with-system-zlib
254
255mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
256EOF</userinput></screen>
257
258 <para>
259 Compile <application>Firefox</application> by issuing the following
260 commands:
261 </para>
262
263 <note><para>
264 If you are compiling <application>Firefox</application> in chroot, prepend
265 <envar>SHELL=/bin/sh</envar> to the first make command below.
266 </para></note>
267
268<screen><userinput>make -f client.mk</userinput></screen>
269
270 <para>
271 This package does not come with a test suite.
272 </para>
273
274<!-- <para>
275 If you have <emphasis>not</emphasis> linked
276 <application>Firefox</application> against an installed
277 <application>Xulrunner</application>:
278 </para>
279
280<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
281-->
282 <para>
283 Now, as the <systemitem class="username">root</systemitem> user, if you
284 have <emphasis>not</emphasis> linked <application>Firefox</application>
285 against an installed <application>Xulrunner</application>, install the
286 package:
287 </para>
288
289<!--<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
290mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
291
292tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
293 -C /usr/lib/firefox-&firefox-version; -\-strip-components=1 &amp;&amp;
294chown -R -v root:root /usr/lib/firefox-&firefox-version; &amp;&amp;
295
296ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;-->
297<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
298
299mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
300ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
301
302 <para>
303 If you <emphasis>have</emphasis> linked against an already installed
304 <application>Xulrunner</application>, as the
305 <systemitem class="username">root</systemitem> user:
306 </para>
307
308<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
309ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
310ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
311
312mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
313ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
314
315 </sect2>
316
317 <sect2 role="commands">
318 <title>Command Explanations</title>
319
320 <para>
321 <command>make -f client.mk ...</command>: Mozilla products are packaged to
322 allow the use of a configuration file which can be used to pass the
323 configuration settings to the <command>configure</command> command.
324 <command>make</command> uses the <filename>client.mk</filename> file to
325 get initial configuration and setup parameters.
326 </para>
327
328 <para>
329 <command>make -C firefox-build-dir install</command>: This runs
330 <command>make install</command> in firefox-build-dir.
331 </para>
332
333 <para>
334 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
335 to the <command>firefox</command> executable in your <envar>PATH</envar>
336 variable.
337 </para>
338
339 <para>
340 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
341 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
342 exists.
343 </para>
344
345 <para>
346 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
347 command creates a symbolic link to
348 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
349 really needed, as <application>Firefox</application> checks
350 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
351 default, but the symbolic link is made to keep all the plugins installed in
352 one folder.
353 </para>
354
355 </sect2>
356
357 <sect2 role="configuration">
358 <title>Configuring Firefox</title>
359
360 <para>
361 If you deleted the <option>--disable-webm</option> option from your
362 <filename>mozconfig</filename>, your <application>Firefox</application>
363 can play most YouTube videos without the need for the flash plugin. To
364 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
365 on 'Join the HTML5 Trial' (needs cookies enabled).
366 </para>
367
368 <para>
369 If you use a desktop environment like <application>Gnome</application> or
370 <application>KDE</application> you may like to create a
371 <filename>firefox.desktop</filename> file so that
372 <application>Firefox</application> appears in the panel's menus. If you
373 didn't enable startup-notification in your mozconfig change the
374 StartupNotify line to false. As the
375 <systemitem class="username">root</systemitem> user:
376 </para>
377
378<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
379mkdir -pv /usr/share/pixmaps &amp;&amp;
380
381cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
382<literal>[Desktop Entry]
383Encoding=UTF-8
384Name=Firefox Web Browser
385Comment=Browse the World Wide Web
386GenericName=Web Browser
387Exec=firefox %u
388Terminal=false
389Type=Application
390Icon=firefox
391Categories=GNOME;GTK;Network;WebBrowser;
392MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
393StartupNotify=true</literal>
394EOF
395
396ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
397 /usr/share/pixmaps/firefox.png</userinput></screen>
398
399 </sect2>
400
401 <sect2 role="content">
402 <title>Contents</title>
403
404 <segmentedlist>
405 <segtitle>Installed Programs</segtitle>
406 <segtitle>Installed Libraries</segtitle>
407 <segtitle>Installed Directory</segtitle>
408
409 <seglistitem>
410 <seg>
411 firefox
412 </seg>
413 <seg>
414 Numerous libraries, browser components, plugins, extensions, and
415 helper modules installed in
416 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
417 </seg>
418 <seg>
419 /usr/lib/firefox-&firefox-version;
420 </seg>
421 </seglistitem>
422 </segmentedlist>
423
424 <variablelist>
425 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
426 <?dbfo list-presentation="list"?>
427 <?dbhtml list-presentation="table"?>
428
429 <varlistentry id="firefox-prog">
430 <term><command>firefox</command></term>
431 <listitem>
432 <para>
433 is a <application>GTK+ 2</application> internet browser that uses the
434 Mozilla Gecko rendering engine.
435 </para>
436 <indexterm zone="firefox firefox-prog">
437 <primary sortas="b-firefox">firefox</primary>
438 </indexterm>
439 </listitem>
440 </varlistentry>
441
442 </variablelist>
443
444 </sect2>
445
446</sect1>
Note: See TracBrowser for help on using the repository browser.