source: xsoft/graphweb/firefox.xml@ 50cf9af

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 7.10 7.6 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gimp3 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 trunk upgradedb xry111/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 50cf9af was b9875028, checked in by Ken Moffat <ken@…>, 10 years ago

tags

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

  • Property mode set to 100644
File size: 13.5 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
[1b356a9d]7<!-- <!ENTITY firefox-download-http
8 "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">-->
[0e37869]9 <!ENTITY firefox-download-http
[1b356a9d]10 "http://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
[44a8f24e]11 <!ENTITY firefox-download-ftp
[0e37869]12 "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
[76713fc]13 <!ENTITY firefox-md5sum "859d0b6fe2d36b6959cf08cee4c783cc">
14 <!ENTITY firefox-size "143 MB">
[5be3a74]15 <!-- measured on LFS-7.5, x86_64 -->
[76713fc]16 <!ENTITY firefox-buildsize "5.2 GB (65 MB installed)">
17 <!ENTITY firefox-time "54 SBU">
[f939f05]18]>
19
[ffe47ca2]20<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
[b81991e1]21 <?dbhtml filename="firefox.html" ?>
22
23 <sect1info>
24 <othername>$LastChangedBy$</othername>
25 <date>$Date$</date>
26 </sect1info>
27
28 <title>Firefox-&firefox-version;</title>
29
30 <indexterm zone="firefox">
31 <primary sortas="a-Firefox">Firefox</primary>
32 </indexterm>
33
34 <sect2 role="package">
35 <title>Introduction to Firefox</title>
36
[c1ae13c]37 <para>
38 <application>Firefox</application> is a stand-alone browser based on the
39 <application>Mozilla</application> codebase.
40 </para>
[b81991e1]41
[b9875028]42 &lfs76_checked;
[76ae9a2]43
[b81991e1]44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
[c1ae13c]47 <para>
48 Download (HTTP): <ulink url="&firefox-download-http;"/>
49 </para>
[b81991e1]50 </listitem>
51 <listitem>
[c1ae13c]52 <para>
53 Download (FTP): <ulink url="&firefox-download-ftp;"/>
54 </para>
[b81991e1]55 </listitem>
56 <listitem>
[c1ae13c]57 <para>
58 Download MD5 sum: &firefox-md5sum;
59 </para>
[b81991e1]60 </listitem>
61 <listitem>
[c1ae13c]62 <para>
63 Download size: &firefox-size;
64 </para>
[b81991e1]65 </listitem>
66 <listitem>
[c1ae13c]67 <para>
68 Estimated disk space required: &firefox-buildsize;
69 </para>
[b81991e1]70 </listitem>
71 <listitem>
[c1ae13c]72 <para>
73 Estimated build time: &firefox-time;
74 </para>
[b81991e1]75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
79
80 <bridgehead renderas="sect4">Required</bridgehead>
[c1ae13c]81 <para role="required">
82 <xref linkend="alsa-lib"/>,
83 <xref linkend="gtk2"/>,
[f72a04a]84 <xref linkend="zip"/>, and
[0e37869]85 <xref linkend="unzip"/>
[c1ae13c]86 </para>
87
[1555d3d]88 <bridgehead renderas="sect4">Recommended</bridgehead>
[c1ae13c]89 <para role="recommended">
[7bf10b1]90 <xref linkend="icu"/>,
[0e37869]91 <xref linkend="libevent"/>,
92 <xref linkend="libvpx"/>,
93 <xref linkend="nspr"/>,
94 <xref linkend="nss"/>,
95 <xref linkend="sqlite"/> and
96 <xref linkend="yasm"/>
[c1ae13c]97 </para>
[1555d3d]98
[0e37869]99 <note>
100 <para>
[b9f61df]101 If you don't install recommended dependencies, then internal copies of
102 those packages will be used. They might be tested to work, but they can
103 be out of date or contain security holes.
[0e37869]104 </para>
105 </note>
106
[5be3a74]107 <note>
108 <para>
[204c71d5]109 With <application>Firefox-31.0</application> and later versions, you
110 must have installed <application>Openssl</application> before
[b9f61df]111 <application>Python 2</application> or the build system will quickly
[5be3a74]112 fail with output including "ImportError: cannot import name
113 HTTPSHandler". If you are in any doubt about this (e.g. upgrading
[204c71d5]114 from an older version of Firefox), check if
[5be3a74]115 <filename>/usr/lib/python2.7/lib-dynload/_ssl.so</filename> exists.
[80454f5]116 If it does not, reinstall <xref linkend="python2"/> (after
[b9f61df]117 installing <xref linkend="openssl"/>. The latest version of any
[204c71d5]118 <emphasis>currently maintained</emphasis> version of Openssl should
[b9f61df]119 be satisfactory if already installed.
[5be3a74]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),
[0e37869]134 <ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
[c1ae13c]135 <xref linkend="libnotify"/>,
[26fa7d2]136 <xref linkend="openjdk"/>,
137 <xref linkend="pulseaudio"/>,
[0e37869]138 <xref linkend="startup-notification"/>,
[b9f61df]139 <xref linkend="wget"/>, and
140 <xref linkend="wireless_tools"/>
[c1ae13c]141 </para>
142
143 <para condition="html" role="usernotes">
144 User Notes: <ulink url="&blfs-wiki;/firefox"/>
145 </para>
[b81991e1]146 </sect2>
147
148 <sect2 role="installation">
149 <title>Installation of Firefox</title>
150
[f72a04a]151 <para>
[b9f61df]152 The configuration of <application>Firefox</application> is accomplished
153 by creating a <filename>mozconfig</filename> file containing the desired
154 configuration options. A default <filename>mozconfig</filename> is
155 created below. To see the entire list of available configuration options
156 (and an abbreviated description of each one), issue <command>./configure
[c1ae13c]157 --help</command>. You may also wish to review the entire file and
[b9f61df]158 uncomment any other desired options. Create the file by issuing the
159 following command:
[c1ae13c]160 </para>
[5a13c45]161
[0e37869]162<screen><userinput>cat &gt; mozconfig &lt;&lt; "EOF"
[d2a469d2]163# If you have a multicore machine, firefox will now use all the cores by
164# default. Exceptionally, you can reduce the number of cores, e.g. to 1,
165# by uncommenting the next line and setting a valid number of CPU cores.
166#mk_add_options MOZ_MAKE_FLAGS="-j1"
[1555d3d]167
[0e37869]168# If you have installed DBus-Glib comment out this line:
[74eaf91]169ac_add_options --disable-dbus
[aed37975]170
[32cca2cd]171# If you have installed dbus-glib, and you have installed (or will install)
172# wireless-tools, and you wish to use geolocation web services, comment out
173# this line
[6d1bf0e]174ac_add_options --disable-necko-wifi
175
[0e37869]176# If you have installed libnotify comment out this line:
[e144d87]177ac_add_options --disable-libnotify
178
[686a89a3]179# GStreamer is necessary for H.264 video playback in HTML5 Video Player;
180# to be enabled, also remember to set "media.gstreamer.enabled" to "true"
[c011125]181# in about:config. If you have GStreamer 0.x.y, uncomment this line:
182#ac_add_options --enable-gstreamer
183# or uncomment this line, if you have GStreamer 1.x.y
184#ac_add_options --enable-gstreamer=1.0
[48ae92a]185
186# Uncomment these lines if you have installed optional dependencies:
[0e37869]187#ac_add_options --enable-system-hunspell
188#ac_add_options --enable-startup-notification
[495ebe07]189
[27fd492b]190# Comment out following option if you have PulseAudio installed
191ac_add_options --disable-pulseaudio
192
[0e37869]193# If you have not installed Yasm then uncomment this line:
194#ac_add_options --disable-webm
[38c6448]195
[0e37869]196# Comment out following options if you have not installed
197# recommended dependencies:
198ac_add_options --enable-system-sqlite
199ac_add_options --with-system-libevent
200ac_add_options --with-system-libvpx
201ac_add_options --with-system-nspr
202ac_add_options --with-system-nss
[7bf10b1]203ac_add_options --with-system-icu
[0e37869]204
[7251b1d]205# The BLFS editors recommend not changing anything below this line:
[495ebe07]206ac_add_options --prefix=/usr
[0e37869]207ac_add_options --enable-application=browser
[495ebe07]208
[5f5dcc2]209ac_add_options --disable-crashreporter
210ac_add_options --disable-updater
[0e37869]211ac_add_options --disable-tests
212
213ac_add_options --enable-optimize
214ac_add_options --enable-strip
215ac_add_options --enable-install-strip
216
217ac_add_options --enable-gio
218ac_add_options --enable-official-branding
219ac_add_options --enable-safe-browsing
220ac_add_options --enable-url-classifier
221
[7251b1d]222ac_add_options --enable-system-cairo
[41f2e90]223ac_add_options --enable-system-ffi
[0e37869]224ac_add_options --enable-system-pixman
225
[5f5dcc2]226ac_add_options --with-pthreads
[0e37869]227
228ac_add_options --with-system-bz2
[a0ace670]229ac_add_options --with-system-jpeg
230ac_add_options --with-system-png
231ac_add_options --with-system-zlib
[aed37975]232
[0e37869]233mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
234EOF</userinput></screen>
[b9b7146]235
[c1ae13c]236 <para>
237 Compile <application>Firefox</application> by issuing the following
238 commands:
239 </para>
[5a13c45]240
[8b3a8979]241 <note><para>
242 If you are compiling <application>Firefox</application> in chroot, prepend
[4ee8515]243 <envar>SHELL=/bin/sh</envar> to the first make command below.
[8b3a8979]244 </para></note>
[9e7816b]245
246<screen><userinput>test $(uname -m) = "i686" &amp;&amp; sed -i 's/enable-optimize/disable-optimize/' mozconfig || true &amp;&amp;
247make -f client.mk</userinput></screen>
[bccbdaea]248
[0e37869]249 <para>
250 This package does not come with a test suite.
251 </para>
[01ce75f8]252
[495ebe07]253 <para>
[b9f61df]254 Now, as the <systemitem class="username">root</systemitem> user:
[c1ae13c]255 </para>
[5a13c45]256
[0ccfdd3a]257<screen role="root"><userinput>make -f client.mk install INSTALL_SDK= &amp;&amp;
[74f73ede]258
[eb5f847a]259mkdir -pv /usr/lib/mozilla/plugins &amp;&amp;
[0e37869]260ln -sfv ../mozilla/plugins /usr/lib/firefox-&firefox-version;</userinput></screen>
[01ce75f8]261
[b81991e1]262 </sect2>
263
[361df3e]264 <sect2 role="commands">
265 <title>Command Explanations</title>
266
[9e7816b]267 <para>
268 <command>test $(uname -m) = "i686" &amp;&amp; sed ...</command>:
269 On this version of firefox, an old bug has reappeared in 32-bit builds.
270 With optimization, the install fails with a Python error. This
271 command will fix i686 builds and preserve the optimization on x86_64.
272 </para>
273
[c1ae13c]274 <para>
275 <command>make -f client.mk ...</command>: Mozilla products are packaged to
276 allow the use of a configuration file which can be used to pass the
277 configuration settings to the <command>configure</command> command.
278 <command>make</command> uses the <filename>client.mk</filename> file to
279 get initial configuration and setup parameters.
280 </para>
281
[495ebe07]282 <para>
283 <command>make -C firefox-build-dir install</command>: This runs
284 <command>make install</command> in firefox-build-dir.
285 </para>
286
[c1ae13c]287 <para>
[ec64d28]288 <command>ln -sfv ... /usr/bin/firefox</command>: This puts a symbolic link
289 to the <command>firefox</command> executable in your <envar>PATH</envar>
290 variable.
[c1ae13c]291 </para>
292
293 <para>
[ec64d28]294 <command>mkdir -p /usr/lib/mozilla/plugins</command>: This checks
[c1ae13c]295 that <filename class="directory">/usr/lib/mozilla/plugins</filename>
296 exists.
297 </para>
298
299 <para>
[ec64d28]300 <command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>: This
[0e37869]301 command creates a symbolic link to
[c1ae13c]302 <filename class="directory">/usr/lib/mozilla/plugins</filename>. It's not
[ec64d28]303 really needed, as <application>Firefox</application> checks
[c1ae13c]304 <filename class="directory">/usr/lib/mozilla/plugins</filename> by
[ec64d28]305 default, but the symbolic link is made to keep all the plugins installed in
[c1ae13c]306 one folder.
307 </para>
[fa1bc3e]308
[b81991e1]309 </sect2>
310
[88cec02]311 <sect2 role="configuration">
312 <title>Configuring Firefox</title>
313
[c1ae13c]314 <para>
315 If you deleted the <option>--disable-webm</option> option from your
316 <filename>mozconfig</filename>, your <application>Firefox</application>
317 can play most YouTube videos without the need for the flash plugin. To
318 enable this, go to <ulink url="http://www.youtube.com/html5"/> and click
319 on 'Join the HTML5 Trial' (needs cookies enabled).
320 </para>
321
322 <para>
323 If you use a desktop environment like <application>Gnome</application> or
324 <application>KDE</application> you may like to create a
325 <filename>firefox.desktop</filename> file so that
326 <application>Firefox</application> appears in the panel's menus. If you
327 didn't enable startup-notification in your mozconfig change the
328 StartupNotify line to false. As the
329 <systemitem class="username">root</systemitem> user:
330 </para>
[31de6e7]331
[eb5f847a]332<screen role="root"><userinput>mkdir -pv /usr/share/applications &amp;&amp;
[0e37869]333mkdir -pv /usr/share/pixmaps &amp;&amp;
[74f73ede]334
[c099902d]335cat &gt; /usr/share/applications/firefox.desktop &lt;&lt; "EOF" &amp;&amp;
[fcd66369]336<literal>[Desktop Entry]
[31de6e7]337Encoding=UTF-8
[0e37869]338Name=Firefox Web Browser
339Comment=Browse the World Wide Web
340GenericName=Web Browser
341Exec=firefox %u
342Terminal=false
[31de6e7]343Type=Application
344Icon=firefox
[0e37869]345Categories=GNOME;GTK;Network;WebBrowser;
346MimeType=text/html;text/xml;application/xhtml+xml;application/vnd.mozilla.xul+xml;text/mml;x-scheme-handler/http;x-scheme-handler/https;
[fcd66369]347StartupNotify=true</literal>
[31de6e7]348EOF
[74f73ede]349
[376c8c0]350ln -sfv /usr/lib/firefox-&firefox-version;/browser/icons/mozicon128.png \
[0e37869]351 /usr/share/pixmaps/firefox.png</userinput></screen>
352
[88cec02]353 </sect2>
354
[b81991e1]355 <sect2 role="content">
356 <title>Contents</title>
357
358 <segmentedlist>
359 <segtitle>Installed Programs</segtitle>
360 <segtitle>Installed Libraries</segtitle>
[c5f005b]361 <segtitle>Installed Directory</segtitle>
[b81991e1]362
363 <seglistitem>
[0e37869]364 <seg>
365 firefox
366 </seg>
[c1ae13c]367 <seg>
368 Numerous libraries, browser components, plugins, extensions, and
369 helper modules installed in
[0e37869]370 <filename class="directory">/usr/lib/firefox-&firefox-version;</filename>
[c1ae13c]371 </seg>
[7498751]372 <seg>
[0e37869]373 /usr/lib/firefox-&firefox-version;
[7498751]374 </seg>
[b81991e1]375 </seglistitem>
376 </segmentedlist>
377
378 <variablelist>
379 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
380 <?dbfo list-presentation="list"?>
381 <?dbhtml list-presentation="table"?>
382
383 <varlistentry id="firefox-prog">
384 <term><command>firefox</command></term>
385 <listitem>
[c1ae13c]386 <para>
[0e37869]387 is a <application>GTK+ 2</application> internet browser that uses the
[a38269c]388 Mozilla Gecko rendering engine.
[c1ae13c]389 </para>
[b81991e1]390 <indexterm zone="firefox firefox-prog">
391 <primary sortas="b-firefox">firefox</primary>
392 </indexterm>
393 </listitem>
394 </varlistentry>
[0e37869]395
[b81991e1]396 </variablelist>
[0e37869]397
[b81991e1]398 </sect2>
[0e37869]399
[4d37129]400</sect1>
Note: See TracBrowser for help on using the repository browser.