source: xsoft/graphweb/firefox.xml@ a7d71e2

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.2 6.2.0 6.2.0-rc1 6.2.0-rc2 6.3 6.3-rc1 6.3-rc2 6.3-rc3 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 a7d71e2 was a7d71e2, checked in by Randy McMurchy <randy@…>, 18 years ago

Modified the sed command in the Firefox instructions so that it can be run multiple times, also modified the instructions for creating symlinks to the system-wide mozilla plugin directory

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

  • Property mode set to 100644
File size: 16.3 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
3 "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY firefox-download-http "http://ftp.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 "fa915ddcadecda30ed3e13694f26a779">
10 <!ENTITY firefox-size "34.4 MB">
11 <!ENTITY firefox-buildsize "568 MB">
12 <!ENTITY firefox-time "15.8 SBU">
13]>
14
15<sect1 id="firefox" xreflabel="Firefox-&firefox-version;">
16 <?dbhtml filename="firefox.html" ?>
17
18 <sect1info>
19 <othername>$LastChangedBy$</othername>
20 <date>$Date$</date>
21 <keywordset>
22 <keyword role="package">firefox-&firefox-version;-source.tar</keyword>
23 <keyword role="ftpdir">firefox</keyword>
24 </keywordset>
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 <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="gtk2"/>,
65 <xref linkend="libidl"/> and
66 <xref linkend="zip"/></para>
67
68 <para>Note: <application>libjpeg</application> should have been installed
69 before <application>GTK+</application> and should exist on your system. If
70 for some reason you haven't installed <application>libjpeg</application>,
71 you should remove the <option>--with-system-jpeg</option> option from the
72 <filename>.mozconfig</filename> file created below.</para>
73
74 <bridgehead renderas="sect4">Optional</bridgehead>
75 <para role="optional"><xref linkend="unzip"/> and
76 <xref linkend="libgnomeui"/> (to build the gnomevfs extension)</para>
77
78 </sect2>
79
80 <sect2 role="installation">
81 <title>Installation of Firefox</title>
82
83 <!-- This is now obsolete (I'm almost certain). During the next update
84 of Firefox, please remove everything contained in this comment if
85 there's been no mention to reactivate this. -Randy
86
87 <para><application>Firefox</application> default behavior when invoked
88 with a URL parameter is to open a new browser window. If you would rather
89 <application>Firefox</application> open a new tab in an existing browser
90 window, issue the following command:</para>
91
92<screen><userinput>sed -i 's|openURL(${_optLast}|&amp;, new-tab|' browser/app/mozilla.in</userinput></screen>
93 -->
94
95 <para>The configuration of <application>Firefox</application> is
96 accomplished by creating a <filename>.mozconfig</filename> file containing
97 the desired configuration options. A default <filename>.mozconfig</filename>
98 is created below. To see the entire list of available configuration options
99 (and an abbreviated description of each one), issue
100 <command>./configure --help</command>. If you are going to build the
101 <application>OpenOffice</application> package and you want to use this
102 <application>Firefox</application> installation as the default
103 <application>Mozilla</application> source, ensure you uncomment the
104 <option>--enable-ldap</option> option from the default file created below.
105 You may also wish to review the entire file and uncomment any other desired
106 options. If you would prefer to download the file instead of creating it by
107 typing or cut-and-pasting, here is the URL: <ulink
108 url="http://anduin.linuxfromscratch.org/files/BLFS/firefox-&firefox-version;-mozconfig"/>
109 (the file must be installed in the
110 <filename class='directory'>mozilla</filename> directory and named
111 <filename>.mozconfig</filename>). Create the file by issuing the following
112 command:</para>
113
114<screen><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
115<literal># This file contains the options used in the Firefox build. You may
116# need to specify additional options for your specific build needs.
117# Use the information provided by running './configure --help' to
118# help you determine if you need to add any additional options.
119# Some additional options can be added by uncommenting the examples
120# in this file or adding options by inserting a line containing
121# 'ac_add_options --some-option-you-need'.
122
123
124# Use the default settings specified in the source tree
125. $topsrcdir/browser/config/mozconfig
126
127# Create an object directory and specify to build the package in that
128# directory. If desired, modify the location of the object directory
129# to a directory inside the source tree by removing '../' from the
130# line below.
131mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../firefox-build
132
133# Specify the installation prefix. If you would prefer Firefox
134# installed in a different prefix, modify the line below to fit
135# your needs. You'll also need to modify some of the instructions in
136# the BLFS book to point to your desired prefix.
137ac_add_options --prefix=/usr
138
139# These options are used so that the Firefox binaries are linked to
140# the system-installed copies of the specified libraries instead of
141# the source tree code which may not be the most recent versions.
142ac_add_options --with-system-zlib
143ac_add_options --with-system-png
144ac_add_options --with-system-jpeg
145ac_add_options --enable-system-cairo
146
147# This option causes the installed binaries to have the official
148# Firefox name embedded in them. Due to license restrictions, you
149# may not distribute binaries created using this option.
150ac_add_options --enable-official-branding
151
152# This option specifies to include support for rendering the HTML
153# &lt;canvas&gt;&lt;/canvas&gt; tag in the Firefox browser.
154ac_add_options --enable-canvas
155
156# This option is used so that the debugging symbols are removed from
157# the installed binaries during the installation process. Comment out
158# this option if you may have a need to retain the debugging symbols
159# in the installed binaries. Note that this can substantially
160# increase the size of the installed binaries.
161ac_add_options --enable-strip
162
163# This option is added so that test libraries and programs are not
164# built. These would only be required for debugging purposes.
165ac_add_options --disable-tests
166
167# This option is added so that the Mozilla Installer program is not
168# built or installed. The program is not required for a BLFS
169# installation of Firefox.
170ac_add_options --disable-installer
171
172# This option is used to disable the a11y support in the Firefox
173# binaries. Comment out this option if you require a11y support.
174ac_add_options --disable-accessibility
175
176# This option is used to enable source tree included LDAP support in
177# the Firefox binaries.
178###################################################################
179#
180# NOTE: You must uncomment this option if there is any chance of
181# compiling the OpenOffice package from source code using this copy
182# of Firefox for your Mozilla support.
183#
184###################################################################
185#ac_add_options --enable-ldap
186
187# This option is used to enable support for rendering SVG files in the
188# Firefox browser. Uncomment the line below to enable the option.
189#ac_add_options --enable-svg
190
191# Uncomment this option if you desire support for dual-monitor
192# display of Firefox using the X-Window Xinerama libraries.
193#ac_add_options --enable-xinerama
194
195# This option identifies the default binary directory of the Firefox
196# installation and is used to locate Firefox's installed files. This
197# option is not required for end-user browsing, and is only used for
198# development purposes.
199#ac_add_options --with-default-mozilla-five-home=/usr/lib/firefox-&firefox-version;</literal>
200
201EOF</userinput></screen>
202
203 <para>Compile <application>Firefox</application> by issuing the
204 following commands:</para>
205
206<screen><userinput>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" \
207 xpcom/reflect/xptinfo/public/xptinfo.h &amp;&amp;
208make -f client.mk build</userinput></screen>
209
210 <para>This package does not come with a test suite.</para>
211
212 <para>Now, as the <systemitem class="username">root</systemitem> user,
213 install the package:</para>
214
215<screen role="root"><userinput>make -f client.mk install &amp;&amp;
216
217install -v -m755 -d /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
218ln -v -s ../../../icons/default.xpm \
219 /usr/lib/firefox-&firefox-version;/chrome/icons/default &amp;&amp;
220
221install -v -m755 -d /usr/include/firefox-&firefox-version;/nss &amp;&amp;
222cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h \
223 /usr/include/firefox-&firefox-version;/nss &amp;&amp;
224
225chown -v -R root:root \
226 /usr/lib/firefox-&firefox-version;/extensions/inspector@mozilla.org/*</userinput></screen>
227
228 <para>If you enabled LDAP support in the <application>Firefox</application>
229 build, install some additional interface headers as the
230 <systemitem class="username">root</systemitem> user:</para>
231
232<screen role="root"><userinput>install -v -m644 ../firefox-build/dist/public/ldap-private/* \
233 /usr/include/firefox-&firefox-version;/ldap</userinput></screen>
234
235 <!-- This appears to not be required any longer. The regchrome program
236 is not built any longer, and multi-user access to Firefox appears
237 to work fine without running regxpcom and touching the files. -Randy
238
239 <para>To enable multi-user operation, execute the following as the
240 <systemitem class="username">root</systemitem> user:</para>
241
242<screen role="root"><userinput>cd /usr/lib/firefox-&firefox-version; &amp;&amp;
243export LD_LIBRARY_PATH="$PWD" &amp;&amp;
244export MOZILLA_FIVE_HOME="$PWD" &amp;&amp;
245./regxpcom &amp;&amp;
246./regchrome &amp;&amp;
247touch `find . -name *.rdf`</userinput></screen>
248
249 -->
250
251 <note>
252 <para>You should run <command>/usr/bin/firefox</command> once as the
253 <systemitem class="username">root</systemitem> user (or any user with
254 write privileges) to create some necessary additional files in the
255 <filename class='directory'>/usr</filename> hierarchy.</para>
256 </note>
257
258 </sect2>
259
260 <sect2 role="commands">
261 <title>Command Explanations</title>
262
263 <para><command>sed -i "s/^ enum$/&amp; xptinfo_enum_1/" ...</command>:
264 This command is used to fix an anonymous enum in an external/public
265 interface header file.</para>
266
267 <para><command>install -v -m755 -d .../chrome/icons/default</command> and
268 <command>ln -v -s ../../../icons/default.xpm ...</command>: These two
269 commands are used to create a symlink in the required directory so that
270 the proper icon is displayed in the taskbar and when
271 <application>Firefox</application> windows are minimized.</para>
272
273 <para><command>install -v -m755 -d /usr/include/firefox-&firefox-version;/nss</command>
274 and <command>cp -v -Lf ../firefox-build/dist/{private,public}/nss/*.h ...</command>:
275 These commands are used to install the Mozilla Network Security Services
276 (NSS) interface headers to a system-wide location.</para>
277
278 <para><command>chown -v -R root:root ...</command>: This command changes
279 the ownership of some installed files to more appropriate user:group
280 names.</para>
281
282 </sect2>
283
284 <sect2 role="configuration">
285 <title>Configuring Firefox</title>
286
287 <para>No specific configuration is required as long as the
288 <command>firefox</command> script is in the user's path. If
289 <application>Firefox</application> is installed in a non-standard location,
290 then make a symlink to the <command>firefox</command> script in the
291 <filename class="directory">/usr/bin</filename> directory.</para>
292
293 <para>Many applications look for <command>netscape</command> when they
294 need to open a browser. You may make the following symlink for convenience
295 (as the <systemitem class="username">root</systemitem> user).</para>
296
297<screen role="root"><userinput>ln -v -sf firefox /usr/bin/netscape</userinput></screen>
298
299 <para>For installing various <application>Firefox</application> plugins,
300 refer to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's
301 PluginDoc Project</ulink>. If you have <xref linkend="jdk"/> already
302 installed, create the following link as the
303 <systemitem class="username">root</systemitem> user to utilize the installed
304 <application>Java</application> plugin: </para>
305
306<screen role="root"><userinput>ln -v -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
307 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
308
309 <para>Some packages install Mozilla plugins into the default system-wide
310 directory <filename class='directory'>/usr/lib/mozilla/plugins</filename>.
311 If desired, create symbolic links in the <application>Firefox</application>
312 plugin directory
313 <filename class='directory'>/usr/lib/firefox-&firefox-version;/plugins</filename>
314 to the files in the default plugin directory. Alternatively, you can move
315 or copy the files in the default plugin directory to the
316 <application>Firefox</application> plugin directory. An example of creating
317 a symbolic link is shown below. Create the links as the
318 <systemitem class="username">root</systemitem> user:</para>
319
320<screen role="root"><userinput>ln -v -s ../../mozilla/plugins/<replaceable>[plugin.so]</replaceable> \
321 /usr/lib/firefox-&firefox-version;/plugins</userinput></screen>
322
323<!-- Commenting this out as it is replaced with text above saying to
324 create the symlinks manually.
325
326<screen role="root"><userinput>if [ -f /usr/lib/mozilla/plugins/* ]; then
327 for PLUGIN_FILE in $(ls /usr/lib/mozilla/plugins/*)
328 do
329 ln -v -s ../../mozilla/plugins/$(basename $PLUGIN_FILE) \
330 /usr/lib/firefox-&firefox-version;/plugins
331 done
332fi</userinput></screen>
333
334-->
335
336 </sect2>
337
338 <sect2 role="content">
339 <title>Contents</title>
340
341 <segmentedlist>
342 <segtitle>Installed Programs</segtitle>
343 <segtitle>Installed Libraries</segtitle>
344 <segtitle>Installed Directories</segtitle>
345
346 <seglistitem>
347 <seg>firefox and firefox-config</seg>
348 <seg>Numerous libraries, browser components, plugins, extensions, and
349 helper modules installed in <filename
350 class='directory'>/usr/lib/firefox-&firefox-version;</filename></seg>
351 <seg>/usr/include/firefox-&firefox-version;,
352 /usr/lib/firefox-&firefox-version;, and
353 /usr/share/idl/firefox-&firefox-version;</seg>
354 </seglistitem>
355 </segmentedlist>
356
357 <variablelist>
358 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
359 <?dbfo list-presentation="list"?>
360 <?dbhtml list-presentation="table"?>
361
362 <varlistentry id="firefox-prog">
363 <term><command>firefox</command></term>
364 <listitem>
365 <para>is a shell script that sets up the environment and
366 calls the <filename>firefox-bin</filename> binary.</para>
367 <indexterm zone="firefox firefox-prog">
368 <primary sortas="b-firefox">firefox</primary>
369 </indexterm>
370 </listitem>
371 </varlistentry>
372
373 <varlistentry id="firefox-config">
374 <term><command>firefox-config</command></term>
375 <listitem>
376 <para>determines the compile and linker flags that should be
377 used to compile and link programs that use
378 <application>Firefox</application> libraries and browser
379 components.</para>
380 <indexterm zone="firefox firefox-config">
381 <primary sortas="b-firefox-config">firefox-config</primary>
382 </indexterm>
383 </listitem>
384 </varlistentry>
385
386 </variablelist>
387
388 </sect2>
389
390</sect1>
Note: See TracBrowser for help on using the repository browser.