source: xsoft/graphweb/firefox.xml@ 17fd9b0

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 17fd9b0 was 17fd9b0, checked in by Andrew Benton <andy@…>, 12 years ago

Seamonkey tweaks.
They've changed the build so that make install now install the whole
development environment, all 0.6 GB of it so we will just untar what we need
to run it.

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

  • Property mode set to 100644
File size: 14.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 <!-- Link not updated yet "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 (or 0.3 SBU if you're building against
15 an installed Xulrunner)">
16]>
17
18<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
19 <?dbhtml filename="firefox.html" ?>
20
21 <sect1info>
22 <othername>$LastChangedBy$</othername>
23 <date>$Date$</date>
24 </sect1info>
25
26 <title>Firefox-&firefox-version;</title>
27
28 <indexterm zone="firefox">
29 <primary sortas="a-Firefox">Firefox</primary>
30 </indexterm>
31
32 <sect2 role="package">
33 <title>Introduction to Firefox</title>
34
35 <para>
36 <application>Firefox</application> is a stand-alone browser based on the
37 <application>Mozilla</application> codebase.
38 </para>
39
40 &lfs71_checked;
41
42 <bridgehead renderas="sect3">Package Information</bridgehead>
43 <itemizedlist spacing="compact">
44 <listitem>
45 <para>
46 Download (HTTP): <ulink url="&firefox-download-http;"/>
47 </para>
48 </listitem>
49 <listitem>
50 <para>
51 Download (FTP): <ulink url="&firefox-download-ftp;"/>
52 </para>
53 </listitem>
54 <listitem>
55 <para>
56 Download MD5 sum: &firefox-md5sum;
57 </para>
58 </listitem>
59 <listitem>
60 <para>
61 Download size: &firefox-size;
62 </para>
63 </listitem>
64 <listitem>
65 <para>
66 Estimated disk space required: &firefox-buildsize;
67 </para>
68 </listitem>
69 <listitem>
70 <para>
71 Estimated build time: &firefox-time;
72 </para>
73 </listitem>
74 </itemizedlist>
75
76 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
77
78 <bridgehead renderas="sect4">Required</bridgehead>
79 <para role="required">
80 <xref linkend="alsa-lib"/>,
81 <xref linkend="gtk2"/>,
82 <xref linkend="zip"/> and
83 <xref linkend="unzip"/>.
84 </para>
85
86 <para>
87 Note: <application>libjpeg</application> and
88 <application>libpng</application> (patched for apng support) should have
89 been installed before <application>gdk-pixbuf</application> and should
90 exist on your system. If for some strange reason you haven't installed
91 them, you should remove the <option>--with-system-jpeg</option> and
92 <option>--with-system-png</option> options from the
93 <filename>mozconfig</filename> file created below.
94 </para>
95
96 <bridgehead renderas="sect4">Recommended</bridgehead>
97 <para role="recommended">
98 <xref linkend="yasm"/> or <xref linkend="libvpx"/>
99 (to allow <application>Firefox</application> to play webm videos).
100 </para>
101
102 <bridgehead renderas="sect4">Optional</bridgehead>
103 <para role="optional">
104 <xref linkend="dbus-glib"/>,
105 <xref linkend="startup-notification"/>,
106 <xref linkend="sqlite"/>,
107 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
108 <ulink url="http://libevent.org/">Libevent</ulink>,
109 <xref linkend="doxygen"/>,
110 <xref linkend="gnome-vfs"/> and
111 <xref linkend="libgnomeui"/> (for integration with the old version of
112 <application>Gnome</application>),
113 <xref linkend="libnotify"/>,
114 <xref linkend="nspr"/>, <xref linkend="nss"/>,
115 <xref linkend="xulrunner"/> (linking against an installed xulrunner makes
116 Firefox about 32 MB smaller, which is trivial compared to the size of
117 xulrunner),
118 <xref linkend="wireless_tools"/>,
119 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
120 the jemalloc code) and
121 <xref linkend="wget"/>
122 </para>
123
124 <para condition="html" role="usernotes">
125 User Notes: <ulink url="&blfs-wiki;/firefox"/>
126 </para>
127 </sect2>
128
129 <sect2 role="installation">
130 <title>Installation of Firefox</title>
131
132 <para>
133 The configuration of <application>Firefox</application> is accomplished by
134 creating a <filename>mozconfig</filename> file containing the desired
135 configuration options. A default <filename>mozconfig</filename> is created
136 below. To see the entire list of available configuration options (and an
137 abbreviated description of each one), issue <command>./configure
138 --help</command>. You may also wish to review the entire file and
139 uncomment any other desired options. Create the file by issuing the
140 following command:
141 </para>
142
143<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
144# If you have a multicore machine you can speed up the build by running
145# several jobs at once, but if you have a single core, delete this line:
146mk_add_options MOZ_MAKE_FLAGS="-j4"
147
148# If you have installed Yasm delete this option:
149ac_add_options --disable-webm
150
151# If you have installed DBus-Glib delete this option:
152ac_add_options --disable-dbus
153
154# If you have installed wireless-tools delete this option:
155ac_add_options --disable-necko-wifi
156
157# If you have installed libnotify delete this option:
158ac_add_options --disable-libnotify
159
160# If you have installed xulrunner uncomment these two lines:
161# ac_add_options --with-system-libxul
162# ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;
163
164# Uncomment these if you have installed them:
165# ac_add_options --enable-startup-notification
166# ac_add_options --enable-system-hunspell
167# ac_add_options --enable-system-sqlite
168# ac_add_options --with-system-libevent
169# ac_add_options --with-system-libvpx
170# ac_add_options --with-system-nspr
171# ac_add_options --with-system-nss
172
173mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
174ac_add_options --enable-official-branding
175ac_add_options --prefix=/usr
176
177# The rest of these options have no effect if you're
178# building against an already installed xulrunner:
179ac_add_options --disable-crashreporter
180ac_add_options --disable-debug
181ac_add_options --disable-installer
182ac_add_options --disable-static
183ac_add_options --disable-tests
184ac_add_options --disable-updater
185ac_add_options --enable-shared
186ac_add_options --enable-system-cairo
187ac_add_options --enable-system-ffi
188ac_add_options --with-pthreads
189ac_add_options --with-system-jpeg
190ac_add_options --with-system-png
191ac_add_options --with-system-zlib
192EOF</userinput></screen>
193
194 <para>
195 Compile <application>Firefox</application> by issuing the following
196 commands:
197 </para>
198
199<screen><userinput>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;' \
200 ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc &amp;&amp;
201sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;' ipc/chromium/src/base/time_posix.cc &amp;&amp;
202sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
203make -f client.mk</userinput></screen>
204
205 <para>
206 This package does not come with a test suite.
207 </para>
208
209 <para>
210 If you have <emphasis>not</emphasis> linked
211 <application>Firefox</application> against an installed
212 <application>Xulrunner</application>:
213 </para>
214
215<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
216
217 <para>
218 Now, as the <systemitem class="username">root</systemitem> user, if you
219 have <emphasis>not</emphasis> linked <application>Firefox</application>
220 against an installed <application>Xulrunner</application>, install the
221 package:
222 </para>
223
224<screen role="root"><userinput>mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
225tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
226 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
227ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
228mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
229ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
230chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
231
232 <para>
233 If you <emphasis>have</emphasis> linked against an already installed
234 <application>Xulrunner</application>, as the
235 <systemitem class="username">root</systemitem> user:
236 </para>
237
238<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
239rm /usr/bin/firefox &amp;&amp;
240cat &gt; /usr/bin/firefox &lt;&lt; "EOF" &amp;&amp;
241#!/bin/bash
242/usr/lib/xulrunner-&xulrunner-version;/xulrunner /usr/lib/firefox-&firefox-version;/application.ini "${@}"
243EOF
244chmod 755 /usr/bin/firefox &amp;&amp;
245mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
246ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
247chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
248 </sect2>
249
250 <sect2 role="commands">
251 <title>Command Explanations</title>
252
253 <para>
254 <command>sed -i '/fcntl.h/a#include &lt;unistd.h&gt;'
255 ipc/chromium/src/base/{file_util_linux,message_pump_libevent}.cc
256 &amp;&amp; sed -i '/sys\/time\.h/a#include &lt;unistd.h&gt;'
257 ipc/chromium/src/base/time_posix.cc</command>: These seds fix bugs that
258 would otherwise break the build if you're using
259 <application>GCC 4.7</application>.
260 </para>
261
262 <para>
263 <command>sed -i 's# ""##' browser/base/Makefile.in</command>: This sed
264 removes an unprintable control character from the title bar.
265 </para>
266
267 <para>
268 <command>make -f client.mk ...</command>: Mozilla products are packaged to
269 allow the use of a configuration file which can be used to pass the
270 configuration settings to the <command>configure</command> command.
271 <command>make</command> uses the <filename>client.mk</filename> file to
272 get initial configuration and setup parameters.
273 </para>
274
275 <para>
276 <command>make -C firefox-build-dir/browser/installer</command>: this
277 creates a <application>Firefox</application> tarball similar to the ones
278 you can download from Mozilla.
279 </para>
280
281 <para>
282 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
283 <application>Firefox</application> in /usr/lib. The
284 <option>--strip-components=1</option> option removes the leading
285 'firefox' directory from the filenames, allowing us to untar it
286 into a versioned directory. Untaring it (instead of running make install)
287 prevents it installing
288 <filename class="directory">/usr/lib/firefox-devel-&firefox-version;</filename>
289 which contains about 430 MB of files. If you need any of those files,
290 they're in <xref linkend="xulrunner"/>
291 </para>
292
293 <para>
294 <command>make -C firefox-build-dir install</command>: This runs
295 <command>make install</command> in firefox-build-dir.
296 </para>
297
298 <para>
299 <command>ln -sfv ... /usr/bin/firefox</command>: this puts a symbolic link
300 to the <command>firefox</command> executable in your ${PATH}.
301 </para>
302
303 <para>
304 <command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
305 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
306 exists.
307 </para>
308
309 <para>
310 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: this
311 makes a symbolic link to
312 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
313 really needed, <application>Firefox</application> checks
314 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
315 default, we make the symbolic link to keep all the plugins installed in
316 one folder.
317 </para>
318 </sect2>
319
320 <sect2 role="configuration">
321 <title>Configuring Firefox</title>
322
323 <para>
324 If you deleted the <option>--disable-webm</option> option from your
325 <filename>mozconfig</filename>, your <application>Firefox</application>
326 can play most YouTube videos without the need for the flash plugin. To
327 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
328 on 'Join the HTML5 Trial' (needs cookies enabled).
329 </para>
330
331 <para>
332 If you use a desktop environment like <application>Gnome</application> or
333 <application>KDE</application> you may like to create a
334 <filename>firefox.desktop</filename> file so that
335 <application>Firefox</application> appears in the panel's menus. If you
336 didn't enable startup-notification in your mozconfig change the
337 StartupNotify line to false. As the
338 <systemitem class="username">root</systemitem> user:
339 </para>
340
341<screen role="root"><userinput>cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF"
342[Desktop Entry]
343Encoding=UTF-8
344Type=Application
345Name=Firefox
346Comment=Browse The Web
347Icon=firefox
348Exec=firefox
349Categories=Network;GTK;Application;Browser;WebBrowser;
350StartupNotify=true
351Terminal=false
352EOF
353ln -sv -f /usr/lib/firefox-&firefox-version;/icons/mozicon128.png /usr/share/pixmaps/firefox.png</userinput></screen>
354 </sect2>
355
356 <sect2 role="content">
357 <title>Contents</title>
358
359 <segmentedlist>
360 <segtitle>Installed Programs</segtitle>
361 <segtitle>Installed Libraries</segtitle>
362 <segtitle>Installed Directories</segtitle>
363
364 <seglistitem>
365 <seg>firefox</seg>
366 <seg>
367 Numerous libraries, browser components, plugins, extensions, and
368 helper modules installed in
369 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
370 </seg>
371 <seg>/usr/lib/firefox-&firefox-version;</seg>
372 </seglistitem>
373 </segmentedlist>
374
375 <variablelist>
376 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
377 <?dbfo list-presentation="list"?>
378 <?dbhtml list-presentation="table"?>
379
380 <varlistentry id="firefox-prog">
381 <term><command>firefox</command></term>
382 <listitem>
383 <para>
384 is a gtk2 internet browser that uses the Gecko rendering engine.
385 </para>
386 <indexterm zone="firefox firefox-prog">
387 <primary sortas="b-firefox">firefox</primary>
388 </indexterm>
389 </listitem>
390 </varlistentry>
391 </variablelist>
392 </sect2>
393</sect1>
Note: See TracBrowser for help on using the repository browser.