source: xsoft/graphweb/firefox.xml@ c9eb106

kde5-14686 systemd-13485
Last change on this file since c9eb106 was c9eb106, checked in by Christopher Gregory <cjg@…>, 10 years ago

Update to firefox-33.0.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@14630 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 15.6 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://ftp.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 "b0e793898bddf4f2bc46e42a331f3383">
12 <!ENTITY firefox-size "148 MB">
13 <!ENTITY firefox-buildsize "3.98 GB (66 MB installed)">
14 <!ENTITY firefox-time "53.4 SBU (using parallelism=2)">
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 &lfs76_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="unzip"/> and
82 <xref linkend="zip"/>
83 </para>
84
85 <bridgehead renderas="sect4">Recommended</bridgehead>
86 <para role="recommended">
87 <xref linkend="icu"/>,
88 <xref linkend="libevent"/>,
89 <xref linkend="libvpx"/>,
90 <xref linkend="nspr"/>,
91 <xref linkend="nss"/>,
92 <xref linkend="sqlite"/> and
93 <xref linkend="yasm"/>
94 </para>
95
96 <note>
97 <para>
98 If you don't install recommended dependencies,
99 then internal copies of those packages will
100 be used. They might be tested to work, but
101 they can be out of date or contain security
102 holes.
103 </para>
104 </note>
105
106 <note>
107 <para>
108 With <application>Firefox-31.0</application> and later versions, you
109 must have installed <application>OpenSSL</application> before
110 <application>Python 2</application>, or the build system will quickly
111 fail with output including "ImportError: cannot import name
112 HTTPSHandler". If you are in any doubt about this (e.g. upgrading
113 from an older version of Firefox), check if
114 <filename>/usr/lib/python2.7/lib-dynload/_ssl.so</filename> exists.
115 If it does not, reinstall <xref linkend="python2"/> (after
116 installing <xref linkend="openssl"/> - the latest version of any
117 <emphasis>currently maintained</emphasis> version of Openssl should
118 be satisfactory if already installed - if that package has not already
119 been installed).
120 </para>
121 </note>
122
123 <bridgehead renderas="sect4">Optional</bridgehead>
124 <para role="optional">
125 <xref linkend="curl"/>,
126 <xref linkend="dbus-glib"/>,
127 <xref linkend="doxygen"/>,
128 <xref linkend="gst-plugins-base"/> (with
129 <xref linkend="gst-plugins-good"/> and
130 <xref linkend="gst-ffmpeg"/> at runtime), or
131 <xref linkend="gst10-plugins-base"/> (with
132 <xref linkend="gst10-plugins-good"/> and
133 <xref linkend="gst10-libav"/> at runtime),
134 <xref linkend="libnotify"/>,
135 <xref linkend="openjdk"/>,
136 <xref linkend="pulseaudio"/>,
137 <xref linkend="startup-notification"/>,
138 <xref linkend="wget"/>,
139 <xref linkend="wireless_tools"/> and
140 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
141 <!-- <xref linkend="xulrunner"/> -->
142 </para>
143
144 <para condition="html" role="usernotes">
145 User Notes: <ulink url="&blfs-wiki;/firefox"/>
146 </para>
147 </sect2>
148
149 <sect2 role="installation">
150 <title>Installation of Firefox</title>
151
152 <!-- <para>
153 There are two major methods for building
154 <application>Firefox</application>. In the standard case, the entire suite
155 of libraries is built and installed. In the other, most of the system is
156 built using the procedures found in <xref linkend="xulrunner"/>. This is
157 advantageous if you are planning to build other related packages such as
158 <xref linkend="icedtea-web"/>. With either build method, you need to run
159 the main build procedure below with the appropriate options in the
160 <filename>mozconfig</filename> file. Then use the appropriate install
161 instructions depending on the chosen build method.
162 </para> -->
163
164 <para>
165 The configuration of <application>Firefox</application> is accomplished by
166 creating a <filename>mozconfig</filename> file containing the desired
167 configuration options. A default <filename>mozconfig</filename> is created
168 below. To see the entire list of available configuration options (and an
169 abbreviated description of each one), issue <command>./configure
170 --help</command>. You may also wish to review the entire file and
171 uncomment any other desired options.
172 Create the file by issuing the following command:
173 </para>
174
175<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
176<literal># If you have a multicore machine, firefox will now use all the cores by
177# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
178# by uncommenting the next line and setting a valid number of CPU cores.
179#mk_add_options MOZ_MAKE_FLAGS="-j1"
180
181# If you have installed DBus-Glib comment out this line:
182ac_add_options --disable-dbus
183
184# If you have installed dbus-glib, and you have installed (or will install)
185# wireless-tools, and you wish to use geolocation web services, comment out
186# this line
187ac_add_options --disable-necko-wifi
188
189# If you have installed libnotify comment out this line:
190ac_add_options --disable-libnotify
191
192# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
193# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
194# in about:config. If you do *not* have GStreamer 0.x.y, uncomment this line:
195#ac_add_options --disable-gstreamer
196# or uncomment this line, if you have GStreamer 1.x.y
197#ac_add_options --enable-gstreamer=1.0
198
199# Uncomment these lines if you have installed optional dependencies:
200#ac_add_options --enable-system-hunspell
201#ac_add_options --enable-startup-notification
202
203# Comment out following option if you have PulseAudio installed
204ac_add_options --disable-pulseaudio
205
206# If you have not installed Yasm then uncomment this line:
207#ac_add_options --disable-webm
208<!--
209# If you have installed xulrunner uncomment the next two ac_add_options lines
210# and check that the sdk will be set by running pkg-config in a subshell
211# and has not become hardcoded or empty when you created this file
212#ac_add_options -\-with-system-libxul
213#ac_add_options -\-with-libxul-sdk=$(pkg-config -\-variable=sdkdir libxul)
214-->
215# Comment out following options if you have not installed
216# recommended dependencies:
217ac_add_options --enable-system-sqlite
218ac_add_options --with-system-libevent
219ac_add_options --with-system-libvpx
220ac_add_options --with-system-nspr
221ac_add_options --with-system-nss
222ac_add_options --with-system-icu
223
224# The BLFS editors recommend not changing anything below this line:
225ac_add_options --prefix=/usr
226ac_add_options --enable-application=browser
227
228ac_add_options --disable-crashreporter
229ac_add_options --disable-updater
230ac_add_options --disable-tests
231
232ac_add_options --enable-optimize
233ac_add_options --enable-strip
234ac_add_options --enable-install-strip
235
236ac_add_options --enable-gio
237ac_add_options --enable-official-branding
238ac_add_options --enable-safe-browsing
239ac_add_options --enable-url-classifier
240
241ac_add_options --enable-system-cairo
242ac_add_options --enable-system-ffi
243ac_add_options --enable-system-pixman
244
245ac_add_options --with-pthreads
246
247ac_add_options --with-system-bz2
248ac_add_options --with-system-jpeg
249ac_add_options --with-system-png
250ac_add_options --with-system-zlib
251
252mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir</literal>
253EOF</userinput></screen>
254
255 <para>
256 Compile <application>Firefox</application> by issuing the following
257 commands:
258 </para>
259<!--
260 <note><para>
261 If you are compiling <application>Firefox</application> in chroot, prepend
262 <envar>SHELL=/bin/sh</envar> to the first make command below.
263 </para></note>
264-->
265<screen><userinput>test $(uname -m) = "i686" &amp;&amp; sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &amp;&amp;
266make -f client.mk</userinput></screen>
267
268 <para>
269 This package does not come with a test suite.
270 </para>
271
272 <!-- <para>
273 Now, as the <systemitem class="username">root</systemitem> user, if you
274 have <emphasis>not</emphasis> linked <application>Firefox</application>
275 against an installed <application>Xulrunner</application>, install the
276 package:
277 </para> -->
278
279 <para>
280 Install <application>Firefox</application> by running the following
281 commands as the <systemitem class="username">root</systemitem> user:
282 </para>
283
284<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
285
286mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
287ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
288
289 <para>
290 The above instruction just installs the parts you need to run
291 <application>Firefox</application>. Alternatively, if you want to
292 install the full <application>Firefox</application> development
293 environment, run the following command as the
294 <systemitem class="username">root</systemitem> user:
295 </para>
296
297<screen role="root"><userinput>make -C firefox-build-dir install</userinput></screen>
298
299 <!-- <para>
300 If you <emphasis>have</emphasis> linked against an already installed
301 <application>Xulrunner</application>, as the
302 <systemitem class="username">root</systemitem> user:
303 </para>
304
305<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
306ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
307ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
308
309mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
310ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen> -->
311
312 </sect2>
313
314 <sect2 role="commands">
315 <title>Command Explanations</title>
316
317 <para>
318 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>:
319 On this version of firefox, an old bug has reappeared in 32-bit builds.
320 With optimization, the install fails with a Python error. This
321 command will fix i686 builds and preserve the optimization on x86_64.
322 </para>
323
324 <para>
325 <command>make -f client.mk ...</command>: Mozilla products are packaged to
326 allow the use of a configuration file which can be used to pass the
327 configuration settings to the <command>configure</command> command.
328 <command>make</command> uses the <filename>client.mk</filename> file to
329 get initial configuration and setup parameters.
330 </para>
331
332 <!-- <para>
333 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
334 to the <command>firefox</command> executable in your <envar>PATH</envar>
335 variable.
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;
372
373cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
374<literal>[Desktop Entry]
375Encoding=UTF-8
376Name=Firefox Web Browser
377Comment=Browse the World Wide Web
378GenericName=Web Browser
379Exec=firefox %u
380Terminal=false
381Type=Application
382Icon=firefox
383Categories=GNOME;GTK;Network;WebBrowser;
384MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
385StartupNotify=true</literal>
386EOF
387
388for s in 16 32 48
389do
390install -v -Dm644 /usr/lib/firefox-&firefox-version;/browser/chrome/icons/default/default${s}.png \
391 /usr/share/icons/hicolor/${s}x${s}/apps/firefox.png
392done &amp;&amp;
393install -v -Dm644 /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
394 /usr/share/icons/hicolor/128x128/apps/firefox.png &amp;&amp;
395gtk-update-icon-cache -qf /usr/share/icons/hicolor &amp;&amp;
396unset s</userinput></screen>
397
398 </sect2>
399
400 <sect2 role="content">
401 <title>Contents</title>
402
403 <segmentedlist>
404 <segtitle>Installed Programs</segtitle>
405 <segtitle>Installed Libraries</segtitle>
406 <segtitle>Installed Directories</segtitle>
407
408 <seglistitem>
409 <seg>
410 firefox
411 </seg>
412 <seg>
413 None
414 </seg>
415 <seg>
416 /usr/lib/firefox-&firefox-version; and
417 /usr/lib/mozilla/plugins
418 </seg>
419 </seglistitem>
420 </segmentedlist>
421
422 <variablelist>
423 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
424 <?dbfo list-presentation="list"?>
425 <?dbhtml list-presentation="table"?>
426
427 <varlistentry id="firefox-prog">
428 <term><command>firefox</command></term>
429 <listitem>
430 <para>
431 is a <application>GTK+ 2</application> internet browser that uses the
432 Mozilla Gecko rendering engine.
433 </para>
434 <indexterm zone="firefox firefox-prog">
435 <primary sortas="b-firefox">firefox</primary>
436 </indexterm>
437 </listitem>
438 </varlistentry>
439
440 </variablelist>
441
442 </sect2>
443
444</sect1>
Note: See TracBrowser for help on using the repository browser.