source: xsoft/graphweb/firefox.xml@ a818e3c

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 12.2 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 gimp3 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/for-12.3 xry111/intltool xry111/llvm18 xry111/soup3 xry111/spidermonkey128 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since a818e3c was a818e3c, checked in by Andrew Benton <andy@…>, 13 years ago

Firefox and Xulrunner tweaks
Thanks to Fernando de Oliveira

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

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