source: xsoft/graphweb/firefox-systemd.xml@ 4b8d102

systemd-13485
Last change on this file since 4b8d102 was 56a82a5, checked in by Christopher Gregory <cjg@…>, 10 years ago

Re-added note about building firefox in chroot. Moved firefox.xml to firefox-systemd.xml so that future updates do not remove needed instruction.

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

  • Property mode set to 100644
File size: 15.6 KB
RevLine 
[f939f05]1<?xml version="1.0" encoding="ISO-8859-1"?>
[6732c094]2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
[f939f05]4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[0e37869]7 <!ENTITY firefox-download-http
[1b356a9d]8 "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
[44a8f24e]9 <!ENTITY firefox-download-ftp
[0e37869]10 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
[fcf1fd62]11 <!ENTITY firefox-md5sum "ef274d62fffc2cdcfc287ccb84aeeb5d">
[c9eb106]12 <!ENTITY firefox-size "148 MB">
[fcf1fd62]13 <!ENTITY firefox-buildsize "3.8 GB (74 MB installed)">
14 <!ENTITY firefox-time "13 SBU (using parallelism=8)">
[f939f05]15]>
16
[ffe47ca2]17<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
[b81991e1]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
[c1ae13c]34 <para>
35 <application>Firefox</application> is a stand-alone browser based on the
36 <application>Mozilla</application> codebase.
37 </para>
[b81991e1]38
[09ae65ca]39 &lfs76_checked;
[76ae9a2]40
[b81991e1]41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
[c1ae13c]44 <para>
45 Download (HTTP): <ulink url="&firefox-download-http;"/>
46 </para>
[b81991e1]47 </listitem>
48 <listitem>
[c1ae13c]49 <para>
50 Download (FTP): <ulink url="&firefox-download-ftp;"/>
51 </para>
[b81991e1]52 </listitem>
53 <listitem>
[c1ae13c]54 <para>
55 Download MD5 sum: &firefox-md5sum;
56 </para>
[b81991e1]57 </listitem>
58 <listitem>
[c1ae13c]59 <para>
60 Download size: &firefox-size;
61 </para>
[b81991e1]62 </listitem>
63 <listitem>
[c1ae13c]64 <para>
65 Estimated disk space required: &firefox-buildsize;
66 </para>
[b81991e1]67 </listitem>
68 <listitem>
[c1ae13c]69 <para>
70 Estimated build time: &firefox-time;
71 </para>
[b81991e1]72 </listitem>
73 </itemizedlist>
74
75 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
76
77 <bridgehead renderas="sect4">Required</bridgehead>
[c1ae13c]78 <para role="required">
79 <xref linkend="alsa-lib"/>,
80 <xref linkend="gtk2"/>,
[9527e96]81 <xref linkend="unzip"/> and
82 <xref linkend="zip"/>
[c1ae13c]83 </para>
84
[1555d3d]85 <bridgehead renderas="sect4">Recommended</bridgehead>
[c1ae13c]86 <para role="recommended">
[7bf10b1]87 <xref linkend="icu"/>,
[0e37869]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"/>
[c1ae13c]94 </para>
[1555d3d]95
[0e37869]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
[c2c16c9]106 <note>
107 <para>
108 With <application>Firefox-31.0</application> and later versions, you
[9527e96]109 must have installed <application>OpenSSL</application> before
[c2c16c9]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.
[99d528c]115 If it does not, reinstall <xref linkend="python2"/> (after
116 installing <xref linkend="openssl"/> - the latest version of any
[c2c16c9]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
[b81991e1]123 <bridgehead renderas="sect4">Optional</bridgehead>
[c1ae13c]124 <para role="optional">
[6c64623f]125 <xref linkend="curl"/>,
[c1ae13c]126 <xref linkend="dbus-glib"/>,
127 <xref linkend="doxygen"/>,
[7bf10b1]128 <xref linkend="gst-plugins-base"/> (with
[db73840]129 <xref linkend="gst-plugins-good"/> and
[c011125]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),
[c1ae13c]134 <xref linkend="libnotify"/>,
[26fa7d2]135 <xref linkend="openjdk"/>,
136 <xref linkend="pulseaudio"/>,
[0e37869]137 <xref linkend="startup-notification"/>,
138 <xref linkend="wget"/>,
139 <xref linkend="wireless_tools"/> and
[9527e96]140 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>
141 <!-- <xref linkend="xulrunner"/> -->
[c1ae13c]142 </para>
143
144 <para condition="html" role="usernotes">
145 User Notes: <ulink url="&blfs-wiki;/firefox"/>
146 </para>
[b81991e1]147 </sect2>
148
149 <sect2 role="installation">
150 <title>Installation of Firefox</title>
151
[9527e96]152 <!-- <para>
[a38269c]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.
[9527e96]162 </para> -->
[f72a04a]163
[c1ae13c]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
[d2a469d2]171 uncomment any other desired options.
172 Create the file by issuing the following command:
[c1ae13c]173 </para>
[5a13c45]174
[0e37869]175<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[2ce3f7b3]176<literal># If you have a multicore machine, firefox will now use all the cores by
[d2a469d2]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"
[1555d3d]180
[0e37869]181# If you have installed DBus-Glib comment out this line:
[74eaf91]182ac_add_options --disable-dbus
[aed37975]183
[32cca2cd]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
[6d1bf0e]187ac_add_options --disable-necko-wifi
188
[0e37869]189# If you have installed libnotify comment out this line:
[e144d87]190ac_add_options --disable-libnotify
191
[686a89a3]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"
[de106f59]194# in about:config. If you do *not* have GStreamer 0.x.y, uncomment this line:
195#ac_add_options --disable-gstreamer
[c011125]196# or uncomment this line, if you have GStreamer 1.x.y
197#ac_add_options --enable-gstreamer=1.0
[48ae92a]198
199# Uncomment these lines if you have installed optional dependencies:
[0e37869]200#ac_add_options --enable-system-hunspell
201#ac_add_options --enable-startup-notification
[495ebe07]202
[27fd492b]203# Comment out following option if you have PulseAudio installed
204ac_add_options --disable-pulseaudio
205
[0e37869]206# If you have not installed Yasm then uncomment this line:
207#ac_add_options --disable-webm
[9527e96]208<!--
[d2a469d2]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
[9527e96]212#ac_add_options -\-with-system-libxul
213#ac_add_options -\-with-libxul-sdk=$(pkg-config -\-variable=sdkdir libxul)
214-->
[0e37869]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
[7bf10b1]222ac_add_options --with-system-icu
[0e37869]223
[7251b1d]224# The BLFS editors recommend not changing anything below this line:
[495ebe07]225ac_add_options --prefix=/usr
[0e37869]226ac_add_options --enable-application=browser
[495ebe07]227
[5f5dcc2]228ac_add_options --disable-crashreporter
229ac_add_options --disable-updater
[0e37869]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
[7251b1d]241ac_add_options --enable-system-cairo
[41f2e90]242ac_add_options --enable-system-ffi
[0e37869]243ac_add_options --enable-system-pixman
244
[5f5dcc2]245ac_add_options --with-pthreads
[0e37869]246
247ac_add_options --with-system-bz2
[a0ace670]248ac_add_options --with-system-jpeg
249ac_add_options --with-system-png
250ac_add_options --with-system-zlib
[aed37975]251
[2ce3f7b3]252mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir</literal>
[0e37869]253EOF</userinput></screen>
[b9b7146]254
[c1ae13c]255 <para>
256 Compile <application>Firefox</application> by issuing the following
257 commands:
258 </para>
[56a82a5]259
[de106f59]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>
[56a82a5]264<!--<screen><userinput>test $(uname -m) = "i686" &amp;&amp; sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &amp;&amp;-->
[fcf1fd62]265<screen><userinput>make -f client.mk</userinput></screen>
[bccbdaea]266
[0e37869]267 <para>
268 This package does not come with a test suite.
269 </para>
[01ce75f8]270
[9527e96]271 <!-- <para>
[495ebe07]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:
[9527e96]276 </para> -->
277
278 <para>
279 Install <application>Firefox</application> by running the following
280 commands as the <systemitem class="username">root</systemitem> user:
[c1ae13c]281 </para>
[5a13c45]282
[0ccfdd3a]283<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
[74f73ede]284
[0e37869]285mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
286ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
[495ebe07]287
288 <para>
[9527e96]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>
[495ebe07]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;
[31ab0f7]305ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin &amp;&amp;
306ln -sfv ../xulrunner-&firefox-version; /usr/lib/firefox-&firefox-version;/xulrunner &amp;&amp;
[74f73ede]307
[eb5f847a]308mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
[9527e96]309ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen> -->
[01ce75f8]310
[b81991e1]311 </sect2>
312
[361df3e]313 <sect2 role="commands">
314 <title>Command Explanations</title>
[fcf1fd62]315<!--
[75725c9]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.
[fcf1fd62]321 </para>-->
[75725c9]322
[c1ae13c]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
[9527e96]331 <!-- <para>
[ec64d28]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.
[9527e96]335 </para> -->
[c1ae13c]336
337 <para>
[ec64d28]338 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
[0e37869]339 command creates a symbolic link to
[c1ae13c]340 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
[ec64d28]341 really needed, as <application>Firefox</application> checks
[c1ae13c]342 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
[ec64d28]343 default, but the symbolic link is made to keep all the plugins installed in
[c1ae13c]344 one folder.
345 </para>
[fa1bc3e]346
[b81991e1]347 </sect2>
348
[88cec02]349 <sect2 role="configuration">
350 <title>Configuring Firefox</title>
351
[c1ae13c]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>
[31de6e7]369
[eb5f847a]370<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
[74f73ede]371
[c099902d]372cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
[fcd66369]373<literal>[Desktop Entry]
[31de6e7]374Encoding=UTF-8
[0e37869]375Name=Firefox Web Browser
376Comment=Browse the World Wide Web
377GenericName=Web Browser
378Exec=firefox %u
379Terminal=false
[31de6e7]380Type=Application
381Icon=firefox
[0e37869]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;
[fcd66369]384StartupNotify=true</literal>
[31de6e7]385EOF
[74f73ede]386
[09ae65ca]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>
[0e37869]396
[88cec02]397 </sect2>
398
[b81991e1]399 <sect2 role="content">
400 <title>Contents</title>
401
402 <segmentedlist>
403 <segtitle>Installed Programs</segtitle>
404 <segtitle>Installed Libraries</segtitle>
[09ae65ca]405 <segtitle>Installed Directories</segtitle>
[b81991e1]406
407 <seglistitem>
[0e37869]408 <seg>
409 firefox
410 </seg>
[c1ae13c]411 <seg>
[09ae65ca]412 None
[c1ae13c]413 </seg>
[7498751]414 <seg>
[09ae65ca]415 /usr/lib/firefox-&firefox-version; and
416 /usr/lib/mozilla/plugins
[7498751]417 </seg>
[b81991e1]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>
[c1ae13c]429 <para>
[0e37869]430 is a <application>GTK+ 2</application> internet browser that uses the
[a38269c]431 Mozilla Gecko rendering engine.
[c1ae13c]432 </para>
[b81991e1]433 <indexterm zone="firefox firefox-prog">
434 <primary sortas="b-firefox">firefox</primary>
435 </indexterm>
436 </listitem>
437 </varlistentry>
[0e37869]438
[b81991e1]439 </variablelist>
[0e37869]440
[b81991e1]441 </sect2>
[0e37869]442
[4d37129]443</sect1>
Note: See TracBrowser for help on using the repository browser.