source: xsoft/graphweb/firefox.xml@ 7bf10b1

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 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 7bf10b1 was 7bf10b1, checked in by Ken Moffat <ken@…>, 10 years ago

firefox,xulrunner 29.0

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

  • Property mode set to 100644
File size: 15.1 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-http
10 "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
11 <!ENTITY firefox-download-ftp
12 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
13 <!ENTITY firefox-md5sum "07c515fc487824f107a947d23f420e9d">
14 <!ENTITY firefox-size "137 MB">
15 <!ENTITY firefox-buildsize "4.7 GB (57 MB installed) (or 928 MB and 5.6 MB if using Xulrunner)">
16 <!ENTITY firefox-time "60 SBU (0.3 SBU if using Xulrunner)">
17]>
18
19<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
20 <?dbhtml filename="firefox.html" ?>
21
22 <sect1info>
23 <othername>$LastChangedBy$</othername>
24 <date>$Date$</date>
25 </sect1info>
26
27 <title>Firefox-&firefox-version;</title>
28
29 <indexterm zone="firefox">
30 <primary sortas="a-Firefox">Firefox</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to Firefox</title>
35
36 <para>
37 <application>Firefox</application> is a stand-alone browser based on the
38 <application>Mozilla</application> codebase.
39 </para>
40
41 &lfs75_checked;
42
43 <bridgehead renderas="sect3">Package Information</bridgehead>
44 <itemizedlist spacing="compact">
45 <listitem>
46 <para>
47 Download (HTTP): <ulink url="&firefox-download-http;"/>
48 </para>
49 </listitem>
50 <listitem>
51 <para>
52 Download (FTP): <ulink url="&firefox-download-ftp;"/>
53 </para>
54 </listitem>
55 <listitem>
56 <para>
57 Download MD5 sum: &firefox-md5sum;
58 </para>
59 </listitem>
60 <listitem>
61 <para>
62 Download size: &firefox-size;
63 </para>
64 </listitem>
65 <listitem>
66 <para>
67 Estimated disk space required: &firefox-buildsize;
68 </para>
69 </listitem>
70 <listitem>
71 <para>
72 Estimated build time: &firefox-time;
73 </para>
74 </listitem>
75 </itemizedlist>
76
77 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
78
79 <bridgehead renderas="sect4">Required</bridgehead>
80 <para role="required">
81 <xref linkend="alsa-lib"/>,
82 <xref linkend="gtk2"/>,
83 <xref linkend="zip"/>, and
84 <xref linkend="unzip"/>
85 </para>
86
87 <bridgehead renderas="sect4">Recommended</bridgehead>
88 <para role="recommended">
89 <xref linkend="icu"/>,
90 <xref linkend="libevent"/>,
91 <xref linkend="libvpx"/>,
92 <xref linkend="nspr"/>,
93 <xref linkend="nss"/>,
94 <xref linkend="sqlite"/> and
95 <xref linkend="yasm"/>
96 </para>
97
98 <note>
99 <para>
100 If you don't install recommended dependencies,
101 then internal copies of those packages will
102 be used. They might be tested to work, but
103 they can be out of date or contain security
104 holes.
105 </para>
106 </note>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="curl"/>,
111 <xref linkend="dbus-glib"/>,
112 <xref linkend="doxygen"/>,
113 <xref linkend="gst-plugins-base"/> (with
114 <xref linkend="gst-plugins-good"/> and
115 <xref linkend="gst-ffmpeg"/> at runtime),
116 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
117 <xref linkend="libnotify"/>,
118 <xref linkend="openjdk"/>,
119 <xref linkend="pulseaudio"/>,
120 <xref linkend="startup-notification"/>,
121 <xref linkend="wget"/>,
122 <xref linkend="wireless_tools"/> and
123 <xref linkend="xulrunner"/>
124 </para>
125
126 <para condition="html" role="usernotes">
127 User Notes: <ulink url="&blfs-wiki;/firefox"/>
128 </para>
129 </sect2>
130
131 <sect2 role="installation">
132 <title>Installation of Firefox</title>
133
134 <para>
135 There are two major methods for building
136 <application>Firefox</application>. In the standard case, the entire suite
137 of libraries is built and installed. In the other, most of the system is
138 built using the procedures found in <xref linkend="xulrunner"/>. This is
139 advantageous if you are planning to build other related packages such as
140 <xref linkend="icedtea-web"/>. With either build method, you need to run
141 the main build procedure below with the appropriate options in the
142 <filename>mozconfig</filename> file. Then use the appropriate install
143 instructions depending on the chosen build method.
144 </para>
145
146 <para>
147 The configuration of <application>Firefox</application> is accomplished by
148 creating a <filename>mozconfig</filename> file containing the desired
149 configuration options. A default <filename>mozconfig</filename> is created
150 below. To see the entire list of available configuration options (and an
151 abbreviated description of each one), issue <command>./configure
152 --help</command>. You may also wish to review the entire file and
153 uncomment any other desired options.
154 Create the file by issuing the following command:
155 </para>
156
157<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
158# If you have a multicore machine, firefox will now use all the cores by
159# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
160# by uncommenting the next line and setting a valid number of CPU cores.
161#mk_add_options MOZ_MAKE_FLAGS="-j1"
162
163# If you have installed DBus-Glib comment out this line:
164ac_add_options --disable-dbus
165
166# If you have installed wireless-tools comment out this line:
167ac_add_options --disable-necko-wifi
168
169# If you have installed libnotify comment out this line:
170ac_add_options --disable-libnotify
171
172# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
173# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
174# in about:config. If you have installed GStreamer comment out this line:
175ac_add_options --disable-gstreamer
176
177# Uncomment these lines if you have installed optional dependencies:
178#ac_add_options --enable-system-hunspell
179#ac_add_options --enable-startup-notification
180
181# Comment out following option if you have PulseAudio installed
182ac_add_options --disable-pulseaudio
183
184# Uncomment this line if you compiled Cairo with --enable-tee switch and want
185# to use it instead of the bundled one:
186#ac_add_options --enable-system-cairo
187
188# If you have not installed Yasm then uncomment this line:
189#ac_add_options --disable-webm
190
191# If you have installed xulrunner uncomment the next two ac_add_options lines
192# and check that the sdk will be set by running pkg-config in a subshell
193# and has not become hardcoded or empty when you created this file
194#ac_add_options --with-system-libxul
195#ac_add_options --with-libxul-sdk=$(pkg-config --variable=sdkdir libxul)
196
197# Comment out following options if you have not installed
198# recommended dependencies:
199ac_add_options --enable-system-sqlite
200ac_add_options --with-system-libevent
201ac_add_options --with-system-libvpx
202ac_add_options --with-system-nspr
203ac_add_options --with-system-nss
204ac_add_options --with-system-icu
205
206# It is recommended not to touch anything below this line
207ac_add_options --prefix=/usr
208ac_add_options --enable-application=browser
209
210ac_add_options --disable-crashreporter
211ac_add_options --disable-installer
212ac_add_options --disable-updater
213ac_add_options --disable-debug
214ac_add_options --disable-tests
215
216ac_add_options --enable-optimize
217ac_add_options --enable-strip
218ac_add_options --enable-install-strip
219
220ac_add_options --enable-gio
221ac_add_options --enable-official-branding
222ac_add_options --enable-safe-browsing
223ac_add_options --enable-url-classifier
224
225ac_add_options --enable-system-ffi
226ac_add_options --enable-system-pixman
227
228ac_add_options --with-pthreads
229
230ac_add_options --with-system-bz2
231ac_add_options --with-system-jpeg
232ac_add_options --with-system-png
233ac_add_options --with-system-zlib
234
235mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
236EOF</userinput></screen>
237
238 <para>
239 Compile <application>Firefox</application> by issuing the following
240 commands:
241 </para>
242
243 <note><para>
244 If you are compiling <application>Firefox</application> in chroot, prepend
245 <envar>SHELL=/bin/bash</envar> to the first make command below.
246 </para></note>
247
248<screen><userinput>make -f client.mk</userinput></screen>
249
250 <para>
251 This package does not come with a test suite.
252 </para>
253
254 <para>
255 If you have <emphasis>not</emphasis> linked
256 <application>Firefox</application> against an installed
257 <application>Xulrunner</application>:
258 </para>
259
260<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
261
262 <para>
263 Now, as the <systemitem class="username">root</systemitem> user, if you
264 have <emphasis>not</emphasis> linked <application>Firefox</application>
265 against an installed <application>Xulrunner</application>, install the
266 package:
267 </para>
268
269<screen role="root"><userinput>rm -rf /usr/lib/firefox-&firefox-version; &amp;&amp;
270mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
271
272tar -xvf firefox-build-dir/dist/firefox-&firefox-version;.en-US.linux-$(uname -m).tar.bz2 \
273 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
274chown -R -v root:root /usr/lib/firefox-&firefox-version; &amp;&amp;
275
276ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
277
278mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
279ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
280
281 <para>
282 If you <emphasis>have</emphasis> linked against an already installed
283 <application>Xulrunner</application>, as the
284 <systemitem class="username">root</systemitem> user:
285 </para>
286
287<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
288ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
289ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
290
291mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
292ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
293
294 </sect2>
295
296 <sect2 role="commands">
297 <title>Command Explanations</title>
298
299 <para>
300 <command>make -f client.mk ...</command>: Mozilla products are packaged to
301 allow the use of a configuration file which can be used to pass the
302 configuration settings to the <command>configure</command> command.
303 <command>make</command> uses the <filename>client.mk</filename> file to
304 get initial configuration and setup parameters.
305 </para>
306
307 <para>
308 <command>make -C firefox-build-dir/browser/installer</command>: this
309 creates a <application>Firefox</application> tarball similar to the ones
310 you can download from Mozilla.
311 </para>
312
313 <para>
314 <command>tar -xfv firefox-build-dir/dist ...</command>: This untars
315 <application>Firefox</application> in /usr/lib. The
316 <option>--strip-components=1</option> option removes the leading
317 'firefox' directory from the filenames, allowing us to untar it
318 into a versioned directory.
319 </para>
320
321 <para>
322 <command>make -C firefox-build-dir install</command>: This runs
323 <command>make install</command> in firefox-build-dir.
324 </para>
325
326 <para>
327 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
328 to the <command>firefox</command> executable in your <envar>PATH</envar>
329 variable.
330 </para>
331
332 <para>
333 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
334 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
335 exists.
336 </para>
337
338 <para>
339 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
340 command creates a symbolic link to
341 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
342 really needed, as <application>Firefox</application> checks
343 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
344 default, but the symbolic link is made to keep all the plugins installed in
345 one folder.
346 </para>
347
348 </sect2>
349
350 <sect2 role="configuration">
351 <title>Configuring Firefox</title>
352
353 <para>
354 If you deleted the <option>--disable-webm</option> option from your
355 <filename>mozconfig</filename>, your <application>Firefox</application>
356 can play most YouTube videos without the need for the flash plugin. To
357 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
358 on 'Join the HTML5 Trial' (needs cookies enabled).
359 </para>
360
361 <para>
362 If you use a desktop environment like <application>Gnome</application> or
363 <application>KDE</application> you may like to create a
364 <filename>firefox.desktop</filename> file so that
365 <application>Firefox</application> appears in the panel's menus. If you
366 didn't enable startup-notification in your mozconfig change the
367 StartupNotify line to false. As the
368 <systemitem class="username">root</systemitem> user:
369 </para>
370
371<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
372mkdir -pv /usr/share/pixmaps &amp;&amp;
373
374cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
375<literal>[Desktop Entry]
376Encoding=UTF-8
377Name=Firefox Web Browser
378Comment=Browse the World Wide Web
379GenericName=Web Browser
380Exec=firefox %u
381Terminal=false
382Type=Application
383Icon=firefox
384Categories=GNOME;GTK;Network;WebBrowser;
385MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
386StartupNotify=true</literal>
387EOF
388
389ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
390 /usr/share/pixmaps/firefox.png</userinput></screen>
391
392 </sect2>
393
394 <sect2 role="content">
395 <title>Contents</title>
396
397 <segmentedlist>
398 <segtitle>Installed Programs</segtitle>
399 <segtitle>Installed Libraries</segtitle>
400 <segtitle>Installed Directory</segtitle>
401
402 <seglistitem>
403 <seg>
404 firefox
405 </seg>
406 <seg>
407 Numerous libraries, browser components, plugins, extensions, and
408 helper modules installed in
409 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
410 </seg>
411 <seg>
412 /usr/lib/firefox-&firefox-version;
413 </seg>
414 </seglistitem>
415 </segmentedlist>
416
417 <variablelist>
418 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
419 <?dbfo list-presentation="list"?>
420 <?dbhtml list-presentation="table"?>
421
422 <varlistentry id="firefox-prog">
423 <term><command>firefox</command></term>
424 <listitem>
425 <para>
426 is a <application>GTK+ 2</application> internet browser that uses the
427 Mozilla Gecko rendering engine.
428 </para>
429 <indexterm zone="firefox firefox-prog">
430 <primary sortas="b-firefox">firefox</primary>
431 </indexterm>
432 </listitem>
433 </varlistentry>
434
435 </variablelist>
436
437 </sect2>
438
439</sect1>
Note: See TracBrowser for help on using the repository browser.