source: xsoft/graphweb/firefox.xml@ 92b0b42

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 92b0b42 was d5595930, checked in by Krejzi <krejzi@…>, 11 years ago

Remove Cairo expose_snapshot patch and remove --enable-system-cairo switches from Mozilla products.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10919 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 <!ENTITY firefox-download-ftp
9 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
10 <!ENTITY firefox-md5sum "78e641c67dc4a40cb3f48fce3e782d41">
11 <!ENTITY firefox-size "85 MB">
12 <!ENTITY firefox-buildsize "994 MB (34 MB installed) (or 647 MB and 4.1 MB if using xulrunner)">
13 <!ENTITY firefox-time "27 SBU (0.4 SBU if using xulrunner)">
14]>
15
16<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
17 <?dbhtml filename="firefox.html" ?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Firefox-&firefox-version;</title>
25
26 <indexterm zone="firefox">
27 <primary sortas="a-Firefox">Firefox</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Firefox</title>
32
33 <para>
34 <application>Firefox</application> is a stand-alone browser based on the
35 <application>Mozilla</application> codebase.
36 </para>
37
38 &lfs72_checked;
39
40 <bridgehead renderas="sect3">Package Information</bridgehead>
41 <itemizedlist spacing="compact">
42 <listitem>
43 <para>
44 Download (HTTP): <ulink url="&firefox-download-http;"/>
45 </para>
46 </listitem>
47 <listitem>
48 <para>
49 Download (FTP): <ulink url="&firefox-download-ftp;"/>
50 </para>
51 </listitem>
52 <listitem>
53 <para>
54 Download MD5 sum: &firefox-md5sum;
55 </para>
56 </listitem>
57 <listitem>
58 <para>
59 Download size: &firefox-size;
60 </para>
61 </listitem>
62 <listitem>
63 <para>
64 Estimated disk space required: &firefox-buildsize;
65 </para>
66 </listitem>
67 <listitem>
68 <para>
69 Estimated build time: &firefox-time;
70 </para>
71 </listitem>
72 </itemizedlist>
73
74 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
75
76 <bridgehead renderas="sect4">Required</bridgehead>
77 <para role="required">
78 <xref linkend="alsa-lib"/>,
79 <xref linkend="gtk2"/>,
80 <xref linkend="zip"/>, and
81 <xref linkend="unzip"/>.
82 </para>
83
84 <bridgehead renderas="sect4">Recommended</bridgehead>
85 <para role="recommended">
86 <xref linkend="yasm"/> or <xref linkend="libvpx"/>
87 (to allow <application>Firefox</application> to play webm videos).
88 </para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional">
92 <xref linkend="dbus-glib"/>,
93 <xref linkend="startup-notification"/>,
94 <xref linkend="sqlite"/>,
95 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
96 <xref linkend="libevent"/>,
97 <xref linkend="doxygen"/>,
98 <xref linkend="gnome-vfs"/> and
99 <xref linkend="libgnomeui"/> (for integration with the old version of
100 <application>Gnome</application>),
101 <xref linkend="libnotify"/>,
102 <xref linkend="nspr"/>, <xref linkend="nss"/>,
103 <xref linkend="wireless_tools"/>,
104 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
105 the jemalloc code),
106 <xref linkend="wget"/>, and
107 <xref linkend="xulrunner"/>
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 There are two major methods for building
120 <application>Firefox</application>. In the standard case, the entire suite
121 of libraries is built and installed. In the other, most of the system is
122 built using the procedures found in <xref linkend="xulrunner"/>. This is
123 advantageous if you are planning to build other related packages such as
124 <xref linkend="icedtea-web"/>. With either build method, you need to run
125 the main build procedure below with the appropriate options in the
126 <filename>mozconfig</filename> file. Then use the appropriate install
127 instructions depending on the chosen build method.
128 </para>
129
130 <para>
131 The configuration of <application>Firefox</application> is accomplished by
132 creating a <filename>mozconfig</filename> file containing the desired
133 configuration options. A default <filename>mozconfig</filename> is created
134 below. To see the entire list of available configuration options (and an
135 abbreviated description of each one), issue <command>./configure
136 --help</command>. You may also wish to review the entire file and
137 uncomment any other desired options. The commented line for
138 <literal>--with-libxul-sdk</literal> has an escaped dollar sign - if you
139 have chosed to paste the entries into a <filename>mozconfig</filename> file
140 in your editor, you do not need the escape, it is only necessary when invoking
141 a subshell in a HERE document. Create the file by issuing the following command:
142 </para>
143
144<screen><userinput>cat &gt; mozconfig &lt;&lt; EOF
145# If you have a multicore machine you can speed up the build by running
146# several jobs at once, but if you have a single core, delete this line:
147mk_add_options MOZ_MAKE_FLAGS="-j4"
148
149# If you have not installed Yasm, uncomment this option:
150# ac_add_options --disable-webm
151
152# If you have installed DBus-Glib delete this option:
153ac_add_options --disable-dbus
154
155# If you have installed wireless-tools delete this option:
156ac_add_options --disable-necko-wifi
157
158# If you have installed libnotify delete this option:
159ac_add_options --disable-libnotify
160
161# If you have installed xulrunner uncomment these two lines:
162# ac_add_options --with-system-libxul
163# ac_add_options --with-libxul-sdk=\$(pkg-config --variable=sdkdir libxul)
164
165# Note: The backslash above is to facilitate a paste operation. It
166# should not appear in the mozconfig file.
167
168# Uncomment these if you have installed them:
169# ac_add_options --enable-startup-notification
170# ac_add_options --enable-system-hunspell
171# ac_add_options --enable-system-sqlite
172# ac_add_options --with-system-libevent
173# ac_add_options --with-system-libvpx
174# ac_add_options --with-system-nspr
175# ac_add_options --with-system-nss
176
177mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
178ac_add_options --enable-official-branding
179ac_add_options --prefix=/usr
180
181# The rest of these options have no effect if you're
182# building against an already installed xulrunner:
183ac_add_options --disable-crashreporter
184ac_add_options --disable-debug
185ac_add_options --disable-installer
186ac_add_options --disable-static
187ac_add_options --disable-tests
188ac_add_options --disable-updater
189ac_add_options --enable-shared
190ac_add_options --enable-system-ffi
191ac_add_options --with-pthreads
192ac_add_options --with-system-jpeg
193ac_add_options --with-system-png
194ac_add_options --with-system-zlib
195EOF</userinput></screen>
196
197 <para>
198 If you are building a stand-alone <application>firefox</application> with
199 system versions of <application>nspr</application>,
200 <application>nss</application>, or <application>sqlite</application>
201 issue the following command:
202 </para>
203
204<screen><userinput>sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' \
205 browser/installer/Makefile.in &amp;&amp;</userinput></screen>
206
207 <para>
208 Compile <application>Firefox</application> by issuing the following
209 commands:
210 </para>
211
212<screen><userinput>sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
213make -f client.mk</userinput></screen>
214
215 <para>This package does not come with a test suite.</para>
216
217 <para>
218 If you have <emphasis>not</emphasis> linked
219 <application>Firefox</application> against an installed
220 <application>Xulrunner</application>:
221 </para>
222
223<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
224
225 <para>
226 Now, as the <systemitem class="username">root</systemitem> user, if you
227 have <emphasis>not</emphasis> linked <application>Firefox</application>
228 against an installed <application>Xulrunner</application>, install the
229 package:
230 </para>
231
232<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
233mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
234
235tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
236 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
237
238ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
239mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
240ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
241chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
242
243 <para>
244 If you <emphasis>have</emphasis> linked against an already installed
245 <application>Xulrunner</application>, as the
246 <systemitem class="username">root</systemitem> user:
247 </para>
248
249<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
250rm /usr/bin/firefox &amp;&amp;
251
252cat &gt; /usr/bin/firefox &lt;&lt; "HERE_DOC" &amp;&amp;
253#!/bin/bash
254/usr/lib/xulrunner-&xulrunner-version;/xulrunner /usr/lib/firefox-&firefox-version;/application.ini "${@}"
255HERE_DOC
256
257chmod 755 /usr/bin/firefox &amp;&amp;
258mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
259ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
260
261 <bridgehead renderas="sect3" id="npapi-firefox" xreflabel="Firefox">
262 NPAPI Headers
263 </bridgehead>
264 <para>
265 The above instructions just install the parts you need to run
266 <application>Firefox</application>. If you want to compile
267 <xref linkend="gnash"/>, the open source version of Flash, copy some
268 headers that Gnash needs into /usr/include, as the
269 <systemitem class="username">root</systemitem> user:
270 </para>
271
272<screen role="root"><userinput>rm -rf /usr/include/npapi &amp;&amp;
273mkdir -v /usr/include/npapi &amp;&amp;
274cp -v dom/plugins/base/*.h /usr/include/npapi</userinput></screen>
275 </sect2>
276
277 <sect2 role="commands">
278 <title>Command Explanations</title>
279
280 <para>
281 <command>sed -i 's/\(MOZ_PKG_FATAL_WARNINGS =\).*/\1 0/' ...</command>: This
282 sed fixes an error in the internal packaging check..
283 </para>
284
285 <para>
286 <command>sed -i 's# ""##' browser/base/Makefile.in</command>: This sed
287 removes an unprintable control character from the title bar.
288 </para>
289
290 <para>
291 <command>make -f client.mk ...</command>: Mozilla products are packaged to
292 allow the use of a configuration file which can be used to pass the
293 configuration settings to the <command>configure</command> command.
294 <command>make</command> uses the <filename>client.mk</filename> file to
295 get initial configuration and setup parameters.
296 </para>
297
298 <para>
299 <command>make -C firefox-build-dir/browser/installer</command>: this
300 creates a <application>Firefox</application> tarball similar to the ones
301 you can download from Mozilla.
302 </para>
303
304 <para>
305 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
306 <application>Firefox</application> in /usr/lib. The
307 <option>--strip-components=1</option> option removes the leading
308 'firefox' directory from the filenames, allowing us to untar it
309 into a versioned directory.
310 </para>
311
312 <para>
313 <command>make -C firefox-build-dir install</command>: This runs
314 <command>make install</command> in firefox-build-dir.
315 </para>
316
317 <para>
318 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
319 to the <command>firefox</command> executable in your <envar>PATH</envar>
320 variable.
321 </para>
322
323 <para>
324 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
325 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
326 exists.
327 </para>
328
329 <para>
330 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
331 makes a symbolic link to
332 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
333 really needed, as <application>Firefox</application> checks
334 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
335 default, but the symbolic link is made to keep all the plugins installed in
336 one folder.
337 </para>
338 </sect2>
339
340 <sect2 role="configuration">
341 <title>Configuring Firefox</title>
342
343 <para>
344 If you deleted the <option>--disable-webm</option> option from your
345 <filename>mozconfig</filename>, your <application>Firefox</application>
346 can play most YouTube videos without the need for the flash plugin. To
347 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
348 on 'Join the HTML5 Trial' (needs cookies enabled).
349 </para>
350
351 <para>
352 If you use a desktop environment like <application>Gnome</application> or
353 <application>KDE</application> you may like to create a
354 <filename>firefox.desktop</filename> file so that
355 <application>Firefox</application> appears in the panel's menus. If you
356 didn't enable startup-notification in your mozconfig change the
357 StartupNotify line to false. As the
358 <systemitem class="username">root</systemitem> user:
359 </para>
360
361<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
362
363cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
364[Desktop Entry]
365Encoding=UTF-8
366Type=Application
367Name=Firefox
368Comment=Browse The Web
369Icon=firefox
370Exec=firefox
371Categories=Network;GTK;Application;Browser;WebBrowser;
372StartupNotify=true
373Terminal=false
374EOF
375
376ln -sfv /usr/lib/firefox-&firefox-version;/icons/mozicon128.png /usr/share/pixmaps/firefox.png</userinput></screen>
377 </sect2>
378
379 <sect2 role="content">
380 <title>Contents</title>
381
382 <segmentedlist>
383 <segtitle>Installed Programs</segtitle>
384 <segtitle>Installed Libraries</segtitle>
385 <segtitle>Installed Directories</segtitle>
386
387 <seglistitem>
388 <seg>firefox</seg>
389 <seg>
390 Numerous libraries, browser components, plugins, extensions, and
391 helper modules installed in
392 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>.
393 </seg>
394 <seg>
395 /usr/include/npapi and
396 /usr/lib/firefox-&firefox-version;.
397 </seg>
398 </seglistitem>
399 </segmentedlist>
400
401 <variablelist>
402 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
403 <?dbfo list-presentation="list"?>
404 <?dbhtml list-presentation="table"?>
405
406 <varlistentry id="firefox-prog">
407 <term><command>firefox</command></term>
408 <listitem>
409 <para>
410 is a <application>Gtk 2</application> internet browser that uses the
411 Mozilla Gecko rendering engine.
412 </para>
413 <indexterm zone="firefox firefox-prog">
414 <primary sortas="b-firefox">firefox</primary>
415 </indexterm>
416 </listitem>
417 </varlistentry>
418 </variablelist>
419 </sect2>
420</sect1>
Note: See TracBrowser for help on using the repository browser.