source: xsoft/graphweb/firefox.xml@ bf85b79

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 bf85b79 was bf85b79, checked in by Ken Moffat <ken@…>, 12 years ago

more tags

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

  • Property mode set to 100644
File size: 14.9 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 "c2f884f0f6c41c65cf20f678a1ee7191">
12 <!ENTITY firefox-size "79 MB">
13 <!ENTITY firefox-buildsize "3.1 GB (36 MB installed) (or 582MB and 3.3MB if using xulrunner)">
14 <!ENTITY firefox-time "18 SBU (0.3 SBU if using xulrunner)">
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 &lfs72_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 <xref linkend="libevent"/>,
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),
107 <xref linkend="wget"/>, and
108 <xref linkend="xulrunner"/>
109 </para>
110
111 <para condition="html" role="usernotes">
112 User Notes: <ulink url="&blfs-wiki;/firefox"/>
113 </para>
114 </sect2>
115
116 <sect2 role="installation">
117 <title>Installation of Firefox</title>
118
119 <para>
120 There are two major methods for building
121 <application>Firefox</application>. In the standard case, the entire suite
122 of libraries is built and installed. In the other, most of the system is
123 built using the procedures found in <xref linkend="xulrunner"/>. This is
124 advantageous if you are planning to build other related packages such as
125 <xref linkend="icedtea-web"/>. With either build method, you need to run
126 the main build procedure below with the appropriate options in the
127 <filename>mozconfig</filename> file. Then use the appropriate install
128 instructions depending on the chosen build method.
129 </para>
130
131 <para>
132 The configuration of <application>Firefox</application> is accomplished by
133 creating a <filename>mozconfig</filename> file containing the desired
134 configuration options. A default <filename>mozconfig</filename> is created
135 below. To see the entire list of available configuration options (and an
136 abbreviated description of each one), issue <command>./configure
137 --help</command>. You may also wish to review the entire file and
138 uncomment any other desired options. The commented line for
139 <literal>--with-libxul-sdk</literal> has an escaped dollar sign - if you
140 have chosed to paste the entries into a <filename>mozconfig</filename> file
141 in your editor, you do not need the escape, it is only necessary when invoking
142 a subshell in a HERE document. Create the file by issuing the following command:
143 </para>
144
145<screen><userinput>cat &gt; mozconfig &lt;&lt; EOF
146# If you have a multicore machine you can speed up the build by running
147# several jobs at once, but if you have a single core, delete this line:
148mk_add_options MOZ_MAKE_FLAGS="-j4"
149
150# If you have not installed Yasm, uncomment this option:
151# ac_add_options --disable-webm
152
153# If you have installed DBus-Glib delete this option:
154ac_add_options --disable-dbus
155
156# If you have installed wireless-tools delete this option:
157ac_add_options --disable-necko-wifi
158
159# If you have installed libnotify delete this option:
160ac_add_options --disable-libnotify
161
162# If you have installed xulrunner uncomment these two lines:
163# ac_add_options --with-system-libxul
164# ac_add_options --with-libxul-sdk=\$(pkg-config --variable=sdkdir libxul)
165
166# Uncomment these if you have installed them:
167# ac_add_options --enable-startup-notification
168# ac_add_options --enable-system-hunspell
169# ac_add_options --enable-system-sqlite
170# ac_add_options --with-system-libevent
171# ac_add_options --with-system-libvpx
172# ac_add_options --with-system-nspr
173# ac_add_options --with-system-nss
174
175mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
176ac_add_options --enable-official-branding
177ac_add_options --prefix=/usr
178
179# The rest of these options have no effect if you're
180# building against an already installed xulrunner:
181ac_add_options --disable-crashreporter
182ac_add_options --disable-debug
183ac_add_options --disable-installer
184ac_add_options --disable-static
185ac_add_options --disable-tests
186ac_add_options --disable-updater
187ac_add_options --enable-shared
188ac_add_options --enable-system-cairo
189ac_add_options --enable-system-ffi
190ac_add_options --with-pthreads
191ac_add_options --with-system-jpeg
192ac_add_options --with-system-png
193ac_add_options --with-system-zlib
194EOF</userinput></screen>
195
196 <para>
197 If you are building a stand-alone <application>firefox</application> with
198 system versions of <application>nspr</application>,
199 <application>nss</application>, or <application>sqlite</application>
200 issue the following command:
201 </para>
202
203<screen><userinput>sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \
204 browser/installer/Makefile.in &amp;&amp;</userinput></screen>
205
206 <para>
207 Compile <application>Firefox</application> by issuing the following
208 commands:
209 </para>
210
211<screen><userinput>sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
212make -f client.mk</userinput></screen>
213
214 <para>This package does not come with a test suite.</para>
215
216 <para>
217 If you have <emphasis>not</emphasis> linked
218 <application>Firefox</application> against an installed
219 <application>Xulrunner</application>:
220 </para>
221
222<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
223
224 <para>
225 Now, as the <systemitem class="username">root</systemitem> user, if you
226 have <emphasis>not</emphasis> linked <application>Firefox</application>
227 against an installed <application>Xulrunner</application>, install the
228 package:
229 </para>
230
231<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
232mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
233tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
234 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
235ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
236mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
237ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
238chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
239
240 <para>
241 If you <emphasis>have</emphasis> linked against an already installed
242 <application>Xulrunner</application>, as the
243 <systemitem class="username">root</systemitem> user:
244 </para>
245
246<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
247rm /usr/bin/firefox &amp;&amp;
248cat &gt; /usr/bin/firefox &lt;&lt; "HERE_DOC" &amp;&amp;
249#!/bin/bash
250/usr/lib/xulrunner-&xulrunner-version;/xulrunner /usr/lib/firefox-&firefox-version;/application.ini "${@}"
251HERE_DOC
252chmod 755 /usr/bin/firefox &amp;&amp;
253mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
254ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
255
256 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
257 NPAPI Headers
258 </bridgehead>
259 <para>
260 The above instructions just install the parts you need to run
261 <application>Firefox</application>. If you want to compile
262 <xref linkend="gnash"/>, the open source version of Flash, copy some
263 headers that Gnash needs into /usr/include, as the
264 <systemitem class="username">root</systemitem> user:
265 </para>
266
267<screen role="root"><userinput>rm -rf /usr/include/npapi &amp;&amp;
268mkdir -v /usr/include/npapi &amp;&amp;
269cp -v dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
270 </sect2>
271
272 <sect2 role="commands">
273 <title>Command Explanations</title>
274
275 <para>
276 <command>sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' ...</command>: This
277 sed fixes an error in the internal packaging check..
278 </para>
279
280 <para>
281 <command>sed -i 's# ""##' browser/base/Makefile.in</command>: This sed
282 removes an unprintable control character from the title bar.
283 </para>
284
285 <para>
286 <command>make -f client.mk ...</command>: Mozilla products are packaged to
287 allow the use of a configuration file which can be used to pass the
288 configuration settings to the <command>configure</command> command.
289 <command>make</command> uses the <filename>client.mk</filename> file to
290 get initial configuration and setup parameters.
291 </para>
292
293 <para>
294 <command>make -C firefox-build-dir/browser/installer</command>: this
295 creates a <application>Firefox</application> tarball similar to the ones
296 you can download from Mozilla.
297 </para>
298
299 <para>
300 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
301 <application>Firefox</application> in /usr/lib. The
302 <option>--strip-components=1</option> option removes the leading
303 'firefox' directory from the filenames, allowing us to untar it
304 into a versioned directory.
305 </para>
306
307 <para>
308 <command>make -C firefox-build-dir install</command>: This runs
309 <command>make install</command> in firefox-build-dir.
310 </para>
311
312 <para>
313 <command>ln -sfv ... /usr/bin/firefox</command>: this puts a symbolic link
314 to the <command>firefox</command> executable in your ${PATH}.
315 </para>
316
317 <para>
318 <command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
319 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
320 exists.
321 </para>
322
323 <para>
324 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: this
325 makes a symbolic link to
326 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
327 really needed, <application>Firefox</application> checks
328 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
329 default, we make the symbolic link to keep all the plugins installed in
330 one folder.
331 </para>
332 </sect2>
333
334 <sect2 role="configuration">
335 <title>Configuring Firefox</title>
336
337 <para>
338 If you deleted the <option>--disable-webm</option> option from your
339 <filename>mozconfig</filename>, your <application>Firefox</application>
340 can play most YouTube videos without the need for the flash plugin. To
341 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
342 on 'Join the HTML5 Trial' (needs cookies enabled).
343 </para>
344
345 <para>
346 If you use a desktop environment like <application>Gnome</application> or
347 <application>KDE</application> you may like to create a
348 <filename>firefox.desktop</filename> file so that
349 <application>Firefox</application> appears in the panel's menus. If you
350 didn't enable startup-notification in your mozconfig change the
351 StartupNotify line to false. As the
352 <systemitem class="username">root</systemitem> user:
353 </para>
354
355<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
356cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
357[Desktop Entry]
358Encoding=UTF-8
359Type=Application
360Name=Firefox
361Comment=Browse The Web
362Icon=firefox
363Exec=firefox
364Categories=Network;GTK;Application;Browser;WebBrowser;
365StartupNotify=true
366Terminal=false
367EOF
368ln -sfv /usr/lib/firefox-&firefox-version;/icons/mozicon128.png /usr/share/pixmaps/firefox.png</userinput></screen>
369 </sect2>
370
371 <sect2 role="content">
372 <title>Contents</title>
373
374 <segmentedlist>
375 <segtitle>Installed Programs</segtitle>
376 <segtitle>Installed Libraries</segtitle>
377 <segtitle>Installed Directories</segtitle>
378
379 <seglistitem>
380 <seg>firefox</seg>
381 <seg>
382 Numerous libraries, browser components, plugins, extensions, and
383 helper modules installed in
384 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
385 </seg>
386 <seg>
387 /usr/include/npapi and
388 /usr/lib/firefox-&firefox-version;.
389 </seg>
390 </seglistitem>
391 </segmentedlist>
392
393 <variablelist>
394 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
395 <?dbfo list-presentation="list"?>
396 <?dbhtml list-presentation="table"?>
397
398 <varlistentry id="firefox-prog">
399 <term><command>firefox</command></term>
400 <listitem>
401 <para>
402 is a <application>Gtk 2</application> internet browser that uses the
403 Mozilla Gecko rendering engine.
404 </para>
405 <indexterm zone="firefox firefox-prog">
406 <primary sortas="b-firefox">firefox</primary>
407 </indexterm>
408 </listitem>
409 </varlistentry>
410 </variablelist>
411 </sect2>
412</sect1>
Note: See TracBrowser for help on using the repository browser.