source: xsoft/graphweb/firefox.xml@ fcf1fd62

systemd-13485
Last change on this file since fcf1fd62 was fcf1fd62, checked in by Christopher Gregory <cjg@…>, 9 years ago

Merge more updates from trunk.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/branches/systemd@14866 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 "ef274d62fffc2cdcfc287ccb84aeeb5d">
12 <!ENTITY firefox-size "148 MB">
13 <!ENTITY firefox-buildsize "3.8 GB (74 MB installed)">
14 <!ENTITY firefox-time "13 SBU (using parallelism=8)">
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<!--<screen><userinput>test $(uname -m) = "i686" &amp;&amp; sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &amp;&amp;-->
265<screen><userinput>make -f client.mk</userinput></screen>
266
267 <para>
268 This package does not come with a test suite.
269 </para>
270
271 <!-- <para>
272 Now, as the <systemitem class="username">root</systemitem> user, if you
273 have <emphasis>not</emphasis> linked <application>Firefox</application>
274 against an installed <application>Xulrunner</application>, install the
275 package:
276 </para> -->
277
278 <para>
279 Install <application>Firefox</application> by running the following
280 commands as the <systemitem class="username">root</systemitem> user:
281 </para>
282
283<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
284
285mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
286ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
287
288 <para>
289 The above instruction just installs the parts you need to run
290 <application>Firefox</application>. Alternatively, if you want to
291 install the full <application>Firefox</application> development
292 environment, run the following command as the
293 <systemitem class="username">root</systemitem> user:
294 </para>
295
296<screen role="root"><userinput>make -C firefox-build-dir install</userinput></screen>
297
298 <!-- <para>
299 If you <emphasis>have</emphasis> linked against an already installed
300 <application>Xulrunner</application>, as the
301 <systemitem class="username">root</systemitem> user:
302 </para>
303
304<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
305ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
306ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
307
308mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
309ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen> -->
310
311 </sect2>
312
313 <sect2 role="commands">
314 <title>Command Explanations</title>
315<!--
316 <para>
317 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>:
318 On this version of firefox, an old bug has reappeared in 32-bit builds.
319 With optimization, the install fails with a Python error. This
320 command will fix i686 builds and preserve the optimization on x86_64.
321 </para>-->
322
323 <para>
324 <command>make -f client.mk ...</command>: Mozilla products are packaged to
325 allow the use of a configuration file which can be used to pass the
326 configuration settings to the <command>configure</command> command.
327 <command>make</command> uses the <filename>client.mk</filename> file to
328 get initial configuration and setup parameters.
329 </para>
330
331 <!-- <para>
332 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
333 to the <command>firefox</command> executable in your <envar>PATH</envar>
334 variable.
335 </para> -->
336
337 <para>
338 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
339 command creates a symbolic link to
340 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
341 really needed, as <application>Firefox</application> checks
342 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
343 default, but the symbolic link is made to keep all the plugins installed in
344 one folder.
345 </para>
346
347 </sect2>
348
349 <sect2 role="configuration">
350 <title>Configuring Firefox</title>
351
352 <para>
353 If you deleted the <option>--disable-webm</option> option from your
354 <filename>mozconfig</filename>, your <application>Firefox</application>
355 can play most YouTube videos without the need for the flash plugin. To
356 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
357 on 'Join the HTML5 Trial' (needs cookies enabled).
358 </para>
359
360 <para>
361 If you use a desktop environment like <application>Gnome</application> or
362 <application>KDE</application> you may like to create a
363 <filename>firefox.desktop</filename> file so that
364 <application>Firefox</application> appears in the panel's menus. If you
365 didn't enable startup-notification in your mozconfig change the
366 StartupNotify line to false. As the
367 <systemitem class="username">root</systemitem> user:
368 </para>
369
370<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
371
372cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
373<literal>[Desktop Entry]
374Encoding=UTF-8
375Name=Firefox Web Browser
376Comment=Browse the World Wide Web
377GenericName=Web Browser
378Exec=firefox %u
379Terminal=false
380Type=Application
381Icon=firefox
382Categories=GNOME;GTK;Network;WebBrowser;
383MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
384StartupNotify=true</literal>
385EOF
386
387for s in 16 32 48
388do
389install -v -Dm644 /usr/lib/firefox-&firefox-version;/browser/chrome/icons/default/default${s}.png \
390 /usr/share/icons/hicolor/${s}x${s}/apps/firefox.png
391done &amp;&amp;
392install -v -Dm644 /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
393 /usr/share/icons/hicolor/128x128/apps/firefox.png &amp;&amp;
394gtk-update-icon-cache -qf /usr/share/icons/hicolor &amp;&amp;
395unset s</userinput></screen>
396
397 </sect2>
398
399 <sect2 role="content">
400 <title>Contents</title>
401
402 <segmentedlist>
403 <segtitle>Installed Programs</segtitle>
404 <segtitle>Installed Libraries</segtitle>
405 <segtitle>Installed Directories</segtitle>
406
407 <seglistitem>
408 <seg>
409 firefox
410 </seg>
411 <seg>
412 None
413 </seg>
414 <seg>
415 /usr/lib/firefox-&firefox-version; and
416 /usr/lib/mozilla/plugins
417 </seg>
418 </seglistitem>
419 </segmentedlist>
420
421 <variablelist>
422 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
423 <?dbfo list-presentation="list"?>
424 <?dbhtml list-presentation="table"?>
425
426 <varlistentry id="firefox-prog">
427 <term><command>firefox</command></term>
428 <listitem>
429 <para>
430 is a <application>GTK+ 2</application> internet browser that uses the
431 Mozilla Gecko rendering engine.
432 </para>
433 <indexterm zone="firefox firefox-prog">
434 <primary sortas="b-firefox">firefox</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
438
439 </variablelist>
440
441 </sect2>
442
443</sect1>
Note: See TracBrowser for help on using the repository browser.