source: xsoft/graphweb/firefox.xml@ 51ff1579

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

Firefox http link works now

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@9990 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 "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.