source: xsoft/graphweb/firefox.xml@ 5c79a939

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 7.10 7.4 7.5 7.6 7.6-blfs 7.6-systemd 7.7 7.8 7.9 8.0 8.1 8.2 8.3 8.4 9.0 9.1 basic bdubbs/svn elogind gnome kde5-13430 kde5-14269 kde5-14686 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 systemd-11177 systemd-13485 trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 5c79a939 was 5c79a939, checked in by Andrew Benton <andy@…>, 12 years ago

firefox-9.0 needs a patch to compile with libpng-1.5

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

  • Property mode set to 100644
File size: 12.3 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 <!-- hopefully just for a couple of days
8 <!ENTITY firefox-download-http "http://releases.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
9 -->
10 <!ENTITY firefox-download-http " ">
11 <!ENTITY firefox-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/firefox/releases/&firefox-version;/source/firefox-&firefox-version;.source.tar.bz2">
12 <!ENTITY firefox-md5sum "d8d0c8c79660752b02d9e9ab69a68f94">
13 <!ENTITY firefox-size "70.8 MB">
14 <!ENTITY firefox-buildsize "3 GB (33 MB installed)">
15 <!ENTITY firefox-time "24 SBU (or 0.3 SBU if you&apos;re building against
16 an installed Xulrunner)">
17]>
18
19<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
20 <?dbhtml filename="firefox.html" ?>
21
22 <sect1info>
23 <othername>$LastChangedBy$</othername>
24 <date>$Date$</date>
25 </sect1info>
26
27 <title>Firefox-&firefox-version;</title>
28
29 <indexterm zone="firefox">
30 <primary sortas="a-Firefox">Firefox</primary>
31 </indexterm>
32
33 <sect2 role="package">
34 <title>Introduction to Firefox</title>
35
36 <para><application>Firefox</application> is a stand-alone browser
37 based on the <application>Mozilla</application> codebase.</para>
38
39 &lfs70_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>Download (HTTP): <ulink url="&firefox-download-http;"/></para>
45 </listitem>
46 <listitem>
47 <para>Download (FTP): <ulink url="&firefox-download-ftp;"/></para>
48 </listitem>
49 <listitem>
50 <para>Download MD5 sum: &firefox-md5sum;</para>
51 </listitem>
52 <listitem>
53 <para>Download size: &firefox-size;</para>
54 </listitem>
55 <listitem>
56 <para>Estimated disk space required: &firefox-buildsize;</para>
57 </listitem>
58 <listitem>
59 <para>Estimated build time: &firefox-time;</para>
60 </listitem>
61 </itemizedlist>
62
63 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
64 <itemizedlist spacing="compact">
65 <listitem>
66 <para>Required patch: <ulink
67 url="&patch-root;/firefox-&firefox-version;-libpng-1.5-1.patch"/></para>
68 </listitem>
69 </itemizedlist>
70
71 <bridgehead renderas="sect3">Firefox Dependencies</bridgehead>
72
73 <bridgehead renderas="sect4">Required</bridgehead>
74 <para role="required"><xref linkend="alsa-lib"/>, <xref linkend="gtk2"/>,
75 <xref linkend="libidl"/> and <xref linkend="zip"/></para>
76
77 <para>Note: <application>libjpeg</application> and
78 <application>libpng</application> (patched for apng support) should have
79 been installed before <application>gdk-pixbuf</application> and should
80 exist on your system. If for some strange reason you haven&apos;t installed
81 them, you should remove the <option>--with-system-jpeg</option> and
82 <option>--with-system-png</option> options from the
83 <filename>mozconfig</filename> file created below.</para>
84
85 <bridgehead renderas="sect4">Recommended</bridgehead>
86 <para role="recommended"><xref linkend="yasm"/> or
87 <xref linkend="libvpx"/> (to allow <application>Firefox</application> to
88 play webm videos).</para>
89
90 <bridgehead renderas="sect4">Optional</bridgehead>
91 <para role="optional"><xref linkend="dbus-glib"/>,
92 <xref linkend="startup-notification"/>, <xref linkend="sqlite"/>,
93 <ulink url="http://www.webmproject.org/code/">libvpx</ulink>,
94 <ulink url="http://sourceforge.net/projects/hunspell/">Hunspell</ulink>,
95 <xref linkend="doxygen"/>, <xref linkend="gnome-vfs"/> and
96 <xref linkend="libgnomeui"/> (for gnome integration),
97 <xref linkend="libnotify"/>, <xref linkend="nspr"/>, <xref linkend="nss"/>,
98 <xref linkend="xulrunner"/> (linking against an installed xulrunner makes
99 Firefox about 32 MB smaller, which is trivial compared to the size of
100 xulrunner), <xref linkend="unzip"/>, <xref linkend="wireless_tools"/>,
101 <ulink url="http://www.valgrind.org/">Valgrind</ulink> (only for testing
102 the jemalloc code) and <xref linkend="wget"/></para>
103
104 <para condition="html" role="usernotes">User Notes:
105 <ulink url="&blfs-wiki;/firefox"/></para>
106
107 </sect2>
108
109 <sect2 role="installation">
110 <title>Installation of Firefox</title>
111
112 <para>The configuration of <application>Firefox</application> is
113 accomplished by creating a <filename>mozconfig</filename> file containing
114 the desired configuration options. A default <filename>mozconfig</filename>
115 is created below. To see the entire list of available configuration options
116 (and an abbreviated description of each one), issue
117 <command>./configure --help</command>. You may also wish to review the
118 entire file and uncomment any other desired options. Create the file by
119 issuing the following command:</para>
120
121<screen><?dbfo keep-together="auto"?><userinput>patch -p1 &lt; ../firefox-9.0-libpng-1.5-1.patch &amp;&amp;
122cat &gt; mozconfig &lt;&lt; "EOF"
123# If you have a multicore machine you can speed up the build by running
124# several jobs at once, but if you have a single core, delete this line:
125mk_add_options MOZ_MAKE_FLAGS="-j4"
126
127# If you have installed Yasm delete this option:
128ac_add_options --disable-webm
129
130# If you have installed DBus-Glib delete this option:
131ac_add_options --disable-dbus
132
133# If you have installed wireless-tools delete this option:
134ac_add_options --disable-necko-wifi
135
136# If you have installed libnotify delete this option:
137ac_add_options --disable-libnotify
138
139# If you have installed xulrunner uncomment these two lines:
140# ac_add_options --with-system-libxul
141# ac_add_options --with-libxul-sdk=/usr/lib/xulrunner-devel-&xulrunner-version;
142
143# Uncomment these if you have installed them and
144# you&apos;re not using an already installed xulrunner:
145# ac_add_options --with-system-nspr
146# ac_add_options --with-system-nss
147# ac_add_options --enable-system-sqlite
148# ac_add_options --enable-system-lcms
149# ac_add_options --with-system-libvpx
150# ac_add_options --enable-startup-notification
151
152mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/firefox-build-dir
153ac_add_options --enable-official-branding
154ac_add_options --prefix=/usr
155
156# The rest of these options have no effect if you&apos;re
157# building against an already installed xulrunner:
158ac_add_options --enable-pthreads
159ac_add_options --enable-system-ffi
160ac_add_options --enable-system-jpeg
161ac_add_options --enable-system-png
162ac_add_options --enable-system-cairo
163ac_add_options --enable-system-zlib
164ac_add_options --enable-shared
165ac_add_options --disable-static
166ac_add_options --disable-debug
167ac_add_options --disable-crashreporter
168ac_add_options --disable-installer
169ac_add_options --disable-updater
170ac_add_options --disable-tests
171EOF</userinput></screen>
172
173 <para>Compile <application>Firefox</application> by issuing the
174 following commands:</para>
175
176<screen><userinput>sed -i 's# ""##' browser/base/Makefile.in &amp;&amp;
177make -f client.mk</userinput></screen>
178
179 <para>If you have <emphasis>not</emphasis> linked
180 <application>Firefox</application> against an installed
181 <application>Xulrunner</application>:</para>
182
183<screen><userinput>make -C firefox-build-dir/browser/installer</userinput></screen>
184
185 <para>This package does not come with a test suite.</para>
186
187 <para>Now, if you have <emphasis>not</emphasis> linked
188 <application>Firefox</application> against an installed
189 <application>Xulrunner</application>, as the
190 <systemitem class="username">root</systemitem> user, install the
191 package:</para>
192
193<screen role="root"><userinput>mkdir /usr/lib/firefox-&firefox-version; &amp;&amp;
194tar -xvf firefox-build-dir/dist/firefox-*.tar.bz2 -C /usr/lib/firefox-&firefox-version; --strip-components=1 &amp;&amp;
195ln -sfv ../lib/firefox-&firefox-version;/firefox /usr/bin/firefox &amp;&amp;
196mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
197ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
198chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
199
200 <para>If you <emphasis>have</emphasis> linked against an already installed
201 <application>Xulrunner</application>, as the
202 <systemitem class="username">root</systemitem> user:</para>
203
204<screen role="root"><userinput>make -C firefox-build-dir install &amp;&amp;
205rm /usr/bin/firefox &amp;&amp;
206cat &gt; /usr/bin/firefox &lt;&lt; "EOF" &amp;&amp;
207#!/bin/bash
208/usr/lib/xulrunner-&xulrunner-version;/xulrunner /usr/lib/firefox-&firefox-version;/application.ini "${@}"
209EOF
210chmod 755 /usr/bin/firefox &amp;&amp;
211mkdir -p /usr/lib/mozilla/plugins &amp;&amp;
212ln -sv ../mozilla/plugins /usr/lib/firefox-&firefox-version; &amp;&amp;
213chown -R -v root:root /usr/lib/firefox-&firefox-version;</userinput></screen>
214
215 </sect2>
216
217 <sect2 role="commands">
218 <title>Command Explanations</title>
219
220 <para><command>sed -i 's# ""##' browser/base/Makefile.in</command>: This
221 removes an unprintable control character from the title bar.</para>
222
223 <para><command>make -f client.mk ...</command>: Mozilla products are
224 packaged to allow the use of a configuration file which can be used to
225 pass the configuration settings to the <command>configure</command>
226 command. <command>make</command> uses the <filename>client.mk</filename>
227 file to get initial configuration and setup parameters.</para>
228
229 <para><command>make -C firefox-build-dir/browser/installer</command>:
230 this creates a <application>Firefox</application> tarball.</para>
231
232 <para><command>tar -xfv firefox-build-dir/dist ...</command>: This untars
233 <application>Firefox</application> in /usr/lib. The
234 <option>--strip-components=1</option> option removes the leading
235 &apos;firefox&apos; directory from the filenames, allowing us to untar it
236 into a versioned directory. Untaring it (instead of running make install)
237 prevents it installing /usr/lib/firefox-devel-&firefox-version; which
238 contains about 430 MB of files. If you need any of those files,
239 they&apos;re in <xref linkend="xulrunner"/></para>
240
241 <para><command>make -C firefox-build-dir install</command>: This runs
242 <command>make install</command> in firefox-build-dir.</para>
243
244 <para><command>ln -sfv ... /usr/bin/firefox</command>: this puts a symbolic
245 link to the <command>firefox</command> executable in your ${PATH}.</para>
246
247 <para><command>mkdir -p /usr/lib/mozilla/plugins</command>: this checks
248 that /usr/lib/mozilla/plugins exists (if you installed
249 <xref linkend="librsvg"/>, it was probably already there).</para>
250
251 <para><command>ln -sv ... /usr/lib/firefox-&firefox-version;</command>:
252 this makes a symbolic link to /usr/lib/mozilla/plugins.</para>
253
254 </sect2>
255
256 <sect2 role="configuration">
257 <title>Configuring Firefox</title>
258
259 <para>If you deleted the <option>--disable-webm</option> option from your
260 <filename>mozconfig</filename>, your <application>Firefox</application>
261 can play most YouTube videos without the need for the flash plugin. To
262 enable this, go to <ulink
263 url="http://www.youtube.com/html5">http://www.youtube.com/html5</ulink>
264 and click on &apos;Join the HTML5 Trial&apos; (needs cookies
265 enabled).</para>
266
267 </sect2>
268
269 <sect2 role="content">
270 <title>Contents</title>
271
272 <segmentedlist>
273 <segtitle>Installed Programs</segtitle>
274 <segtitle>Installed Libraries</segtitle>
275 <segtitle>Installed Directories</segtitle>
276
277 <seglistitem>
278 <seg>firefox</seg>
279 <seg>Numerous libraries, browser components, plugins, extensions, and
280 helper modules installed in <filename
281 class="directory">/usr/lib/firefox-&firefox-version;</filename>.</seg>
282 <seg>/usr/lib/firefox-&firefox-version;</seg>
283 </seglistitem>
284 </segmentedlist>
285
286 <variablelist>
287 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
288 <?dbfo list-presentation="list"?>
289 <?dbhtml list-presentation="table"?>
290
291 <varlistentry id="firefox-prog">
292 <term><command>firefox</command></term>
293 <listitem>
294 <para>is a gtk2 internet browser that uses the gecko rendering
295 engine.</para>
296 <indexterm zone="firefox firefox-prog">
297 <primary sortas="b-firefox">firefox</primary>
298 </indexterm>
299 </listitem>
300 </varlistentry>
301
302 </variablelist>
303
304 </sect2>
305
306</sect1>
Note: See TracBrowser for help on using the repository browser.