source: xsoft/graphweb/firefox.xml@ 556a307a

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 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 gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 556a307a was 2b89e0a, checked in by Andrew Benton <andy@…>, 12 years ago

Made some links from the Gnash page to the Firefox and Seamonkey pages

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

  • Property mode set to 100644
File size: 13.0 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 "80c3e5927274de7f181fb5f931ac5fd4">
12 <!ENTITY firefox-size "75 MB">
13 <!ENTITY firefox-buildsize "2.8 GB (31 MB installed)">
14 <!ENTITY firefox-time "24 SBU">
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 &lfs71_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">Firefox Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
78 <para role="required">
79 <xref linkend="alsa-lib"/>,
80 <xref linkend="gtk2"/>,
81 <xref linkend="zip"/> and
82 <xref linkend="unzip"/>.
83 </para>
84
85 <bridgehead renderas="sect4">Recommended</bridgehead>
86 <para role="recommended">
87 <xref linkend="yasm"/> or <xref linkend="libvpx"/>
88 (to allow <application>Firefox</application> to play webm videos).
89 </para>
90
91 <bridgehead renderas="sect4">Optional</bridgehead>
92 <para role="optional">
93 <xref linkend="dbus-glib"/>,
94 <xref linkend="startup-notification"/>,
95 <xref linkend="sqlite"/>,
96 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
97 <ulink url="http://libevent.org/">Libevent</ulink>,
98 <xref linkend="doxygen"/>,
99 <xref linkend="gnome-vfs"/> and
100 <xref linkend="libgnomeui"/> (for integration with the old version of
101 <application>Gnome</application>),
102 <xref linkend="libnotify"/>,
103 <xref linkend="nspr"/>, <xref linkend="nss"/>,
104 <xref linkend="wireless_tools"/>,
105 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
106 the jemalloc code) and
107 <xref linkend="wget"/>
108 </para>
109
110 <para condition="html" role="usernotes">
111 User Notes: <ulink url="&blfs-wiki;/firefox"/>
112 </para>
113 </sect2>
114
115 <sect2 role="installation">
116 <title>Installation of Firefox</title>
117
118 <para>
119 The configuration of <application>Firefox</application> is accomplished by
120 creating a <filename>mozconfig</filename> file containing the desired
121 configuration options. A default <filename>mozconfig</filename> is created
122 below. To see the entire list of available configuration options (and an
123 abbreviated description of each one), issue <command>./configure
124 --help</command>. You may also wish to review the entire file and
125 uncomment any other desired options. Create the file by issuing the
126 following command:
127 </para>
128
129<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
130# If you have a multicore machine you can speed up the build by running
131# several jobs at once, but if you have a single core, delete this line:
132mk_add_options MOZ_MAKE_FLAGS="-j4"
133
134# If you have installed Yasm delete this option:
135ac_add_options --disable-webm
136
137# If you have installed DBus-Glib delete this option:
138ac_add_options --disable-dbus
139
140# If you have installed wireless-tools delete this option:
141ac_add_options --disable-necko-wifi
142
143# If you have installed libnotify delete this option:
144ac_add_options --disable-libnotify
145
146# Uncomment these if you have installed them:
147# ac_add_options --enable-startup-notification
148# ac_add_options --enable-system-hunspell
149# ac_add_options --enable-system-sqlite
150# ac_add_options --with-system-libevent
151# ac_add_options --with-system-libvpx
152# ac_add_options --with-system-nspr
153# ac_add_options --with-system-nss
154
155mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
156ac_add_options --disable-crashreporter
157ac_add_options --disable-debug
158ac_add_options --disable-installer
159ac_add_options --disable-static
160ac_add_options --disable-tests
161ac_add_options --disable-updater
162ac_add_options --enable-official-branding
163ac_add_options --enable-shared
164ac_add_options --enable-system-cairo
165ac_add_options --enable-system-ffi
166ac_add_options --prefix=/usr
167ac_add_options --with-pthreads
168ac_add_options --with-system-jpeg
169ac_add_options --with-system-png
170ac_add_options --with-system-zlib
171EOF</userinput></screen>
172
173 <para>
174 Compile <application>Firefox</application> by issuing the following
175 commands:
176 </para>
177
178<screen><userinput>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;' \
179 ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc &amp;&amp;
180sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;' ipc/chromium/src/base/time_posix.cc &amp;&amp;
181sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
182make -f client.mk &amp;&amp;
183make -C firefox-build-dir/browser/installer</userinput></screen>
184
185 <para>
186 This package does not come with a test suite.
187 </para>
188
189 <para>
190 Now, as the <systemitem class="username">root</systemitem> user install
191 <application>Firefox</application>:
192 </para>
193
194<screen role="root"><userinput>mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
195tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
196 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
197ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
198mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
199ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
200chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
201
202 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
203 NPAPI Headers
204 </bridgehead>
205 <para>
206 The above instructions just install the parts you need to run
207 <application>Firefox</application>. If you want to compile
208 <xref linkend="gnash"/>, the open source version of Flash, copy some
209 headers that Gnash needs into /usr/include, as the
210 <systemitem class="username">root</systemitem> user:
211 </para>
212
213<screen role="root"><userinput>mkdir /usr/include/npapi
214cp dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
215
216 <bridgehead renderas="sect3" id="devel-firefox" xreflabel="Firefox">
217 All the Development Libraries and Headers
218 </bridgehead>
219 <para>
220 If you want to install the full <application>Firefox</application>
221 development environment (Note, this installs more than half a gigabyte of
222 extra files), as the <systemitem class="username">root</systemitem> user:
223 </para>
224
225<screen role="root"><userinput>make -C firefox-build-dir install</userinput></screen>
226 </sect2>
227
228 <sect2 role="commands">
229 <title>Command Explanations</title>
230
231 <para>
232 <command>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;'
233 ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc
234 &amp;&amp; sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;'
235 ipc/chromium/src/base/time_posix.cc</command>: These seds fix bugs that
236 would otherwise break the build if you're using
237 <application>GCC 4.7</application>.
238 </para>
239
240 <para>
241 <command>sed -i 's# ""##' browser/base/Makefile.in</command>: This sed
242 removes an unprintable control character from the title bar.
243 </para>
244
245 <para>
246 <command>make -f client.mk ...</command>: Mozilla products are packaged to
247 allow the use of a configuration file which can be used to pass the
248 configuration settings to the <command>configure</command> command.
249 <command>make</command> uses the <filename>client.mk</filename> file to
250 get initial configuration and setup parameters.
251 </para>
252
253 <para>
254 <command>make -C firefox-build-dir/browser/installer</command>: this
255 creates a <application>Firefox</application> tarball similar to the ones
256 you can download from Mozilla.
257 </para>
258
259 <para>
260 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
261 <application>Firefox</application> in /usr/lib. The
262 <option>--strip-components=1</option> option removes the leading
263 'firefox' directory from the filenames, allowing us to untar it
264 into a versioned directory.
265 </para>
266
267 <para>
268 <command>ln -sfv ... /usr/bin/firefox</command>: this puts a symbolic link
269 to the <command>firefox</command> executable in your ${PATH}.
270 </para>
271
272 <para>
273 <command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
274 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
275 exists.
276 </para>
277
278 <para>
279 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: this
280 makes a symbolic link to
281 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
282 really needed, <application>Firefox</application> checks
283 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
284 default, we make the symbolic link to keep all the plugins installed in
285 one folder.
286 </para>
287
288 <para>
289 <command>make -C firefox-build-dir install</command>: This runs
290 <command>make install</command> in
291 <filename class="directory">firefox-build-dir</filename>.
292 </para>
293 </sect2>
294
295 <sect2 role="configuration">
296 <title>Configuring Firefox</title>
297
298 <para>
299 If you deleted the <option>--disable-webm</option> option from your
300 <filename>mozconfig</filename>, your <application>Firefox</application>
301 can play most YouTube videos without the need for the flash plugin. To
302 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
303 on 'Join the HTML5 Trial' (needs cookies enabled).
304 </para>
305
306 <para>
307 If you use a desktop environment like <application>Gnome</application> or
308 <application>KDE</application> you may like to create a
309 <filename>firefox.desktop</filename> file so that
310 <application>Firefox</application> appears in the panel's menus. If you
311 didn't enable startup-notification in your mozconfig change the
312 StartupNotify line to false. As the
313 <systemitem class="username">root</systemitem> user:
314 </para>
315
316<screen role="root"><userinput>cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF"
317[Desktop Entry]
318Encoding=UTF-8
319Type=Application
320Name=Firefox
321Comment=Browse The Web
322Icon=firefox
323Exec=firefox
324Categories=Network;GTK;Application;Browser;WebBrowser;
325StartupNotify=true
326Terminal=false
327EOF
328ln -sv -f /usr/lib/firefox-&firefox-version;/icons/mozicon128.png /usr/share/pixmaps/firefox.png</userinput></screen>
329 </sect2>
330
331 <sect2 role="content">
332 <title>Contents</title>
333
334 <segmentedlist>
335 <segtitle>Installed Programs</segtitle>
336 <segtitle>Installed Libraries</segtitle>
337 <segtitle>Installed Directories</segtitle>
338
339 <seglistitem>
340 <seg>firefox</seg>
341 <seg>
342 Numerous libraries, browser components, plugins, extensions, and
343 helper modules installed in
344 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
345 </seg>
346 <seg>
347 /usr/include/npapi and
348 /usr/lib/firefox-&firefox-version;.
349 </seg>
350 </seglistitem>
351 </segmentedlist>
352
353 <variablelist>
354 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
355 <?dbfo list-presentation="list"?>
356 <?dbhtml list-presentation="table"?>
357
358 <varlistentry id="firefox-prog">
359 <term><command>firefox</command></term>
360 <listitem>
361 <para>
362 is a <application>Gtk 2</application> internet browser that uses the
363 Gecko rendering engine.
364 </para>
365 <indexterm zone="firefox firefox-prog">
366 <primary sortas="b-firefox">firefox</primary>
367 </indexterm>
368 </listitem>
369 </varlistentry>
370 </variablelist>
371 </sect2>
372</sect1>
Note: See TracBrowser for help on using the repository browser.