source: xsoft/graphweb/firefox.xml@ f82d786

systemd-11177
Last change on this file since f82d786 was f82d786, checked in by Christopher Gregory <cjg@…>, 10 years ago

Merged firefox update from trunk.

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

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