source: xsoft/graphweb/mozilla.xml@ 8087472

10.0 10.1 11.0 11.1 11.2 11.3 12.0 12.1 6.0 6.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 8087472 was f939f05, checked in by Bruce Dubbs <bdubbs@…>, 20 years ago

XML update for Chapter 35

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

  • Property mode set to 100644
File size: 13.4 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
3 "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY mozilla-download-http "http://ftp.mozilla.org/pub/mozilla/releases/mozilla&mozilla-version;/src/mozilla-source-&mozilla-version;.tar.bz2">
8 <!ENTITY mozilla-download-ftp "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/src/mozilla-source-&mozilla-version;.tar.bz2">
9 <!ENTITY mozilla-size "39 MB">
10 <!ENTITY mozilla-buildsize "550 MB">
11 <!ENTITY mozilla-time "22.64 SBU">
12
13 <!ENTITY enigmail-version "0.83.6">
14 <!ENTITY ipc-version "1.0.5">
15]>
16
17<sect1 id="mozilla" xreflabel="Mozilla-&mozilla-version;">
18<?dbhtml filename="mozilla.html" ?>
19<title>Mozilla-&mozilla-version;</title>
20
21<sect2>
22<title>Introduction to <application>Mozilla</application></title>
23
24<para><application>Mozilla</application> is a browser suite, the Open Source
25sibling of <application>Netscape</application>. It includes the browser,
26composer, mail client, a calendar client and an <acronym>IRC</acronym> client.</para>
27
28<para>The Mozilla project also hosts two subprojects that aim to satisfy the needs
29of users who don't need the complete browser suite or like to have separate applications
30for browsing and e-mail. These subprojects are
31<ulink url="http://www.mozilla.org/products/firefox/">Mozilla Firefox</ulink>,
32(a stand-alone browser based on the Mozilla source code) and
33<ulink url="http://www.mozilla.org/projects/thunderbird/">Mozilla Thunderbird</ulink>,
34(a stand-alone mail client based on the Mozilla source code). The build instructions
35for these two applications are discussed in separate sections:</para>
36
37<itemizedlist>
38<listitem><para><xref linkend="firefox"/></para></listitem>
39<listitem><para><xref linkend="thunderbird"/></para></listitem>
40</itemizedlist>
41
42<sect3><title>Package information</title>
43<itemizedlist spacing='compact'>
44<listitem><para>Download (HTTP): <ulink
45url="&mozilla-download-http;"/></para></listitem>
46<listitem><para>Download (FTP): <ulink
47url="&mozilla-download-ftp;"/></para></listitem>
48<listitem><para>Download size: &mozilla-size;</para></listitem>
49<listitem><para>Estimated Disk space required:
50&mozilla-buildsize;</para></listitem>
51<listitem><para>Estimated build time:
52&mozilla-time;</para></listitem></itemizedlist>
53</sect3>
54
55<sect3><title><application>Mozilla</application> dependencies</title>
56<sect4><title>Required</title>
57<para><xref linkend="zip"/>, <xref linkend="GTK2"/>,
58<xref linkend="libIDL"/>, <xref linkend="libmng"/> and
59<xref linkend="which"/>
60</para></sect4>
61<sect4><title>Recommended</title>
62<para><xref linkend="gnupg"/> (for Enigmail extension)
63</para></sect4>
64</sect3>
65
66<sect3><title>Additional downloads</title>
67<itemizedlist spacing='compact'>
68<listitem><para><ulink url="http://enigmail.mozdev.org/">Enigmail Extension
69(Version &enigmail-version;)</ulink>
70(Useful only if Mozilla Mail is built)
71<!-- <ulink
72url="http://downloads.mozdev.org/enigmail/src/enigmail-&enigmail-version;.tar.gz"/>
73-->
74</para></listitem>
75<listitem><para><ulink url="http://enigmail.mozdev.org/">Inter Process
76Communicaton Extension (Version &ipc-version;)</ulink>
77(Needed for Enigmail)
78<!--
79<ulink
80url="http://downloads.mozdev.org/enigmail/src/ipc-&ipc-version;.tar.gz"/>
81-->
82</para></listitem>
83</itemizedlist>
84</sect3>
85
86</sect2>
87
88<sect2>
89<title>Installation of <application>Mozilla</application></title>
90
91<!--
92<note>
93<para>According to the financial institutions, the following hack makes your
94browser insecure. You have been warned. Many sites use an MS-IE specific tag
95(autocomplete=off) to prevent autocomplete from working in some forms. This
96tag is now supported in <application>Mozilla</application> to appease the financial institutions. As per
97the requirements of the financial institutions, they will not even accept a
98solution where this a preference option. However our opinion is that it should
99be in the hands of the user. To enable autocomplete to bypass
100this restriction, we need to make a slight modification in the code.</para>
101
102<para>Open the file <filename>extensions/wallet/src/wallet.cpp</filename> in
103the <application>Mozilla</application> source tree and search for the line:
104<screen>#define WALLET_DONT_CACHE_ALL_PASSWORDS</screen>
105Then delete or comment out the line. Now, if anyone tells you MS-IE is user
106friendly, give them this example!</para>
107</note>
108-->
109
110<warning><para>Do not install Mozilla, Mozilla Firefox and Mozilla Thunderbird
111with a single prefix since they install identically named files. The BLFS Book
112installs Mozilla in <filename>/usr</filename> while Mozilla Firefox and Mozilla
113Thunderbird are installed in <filename>/opt</filename>.</para></warning>
114
115<para>If you plan to install Enigmail, extract the ipc and enigmail tarballs
116in the <filename class="directory">extensions</filename> directory.</para>
117
118<para>Compile <application>Mozilla</application> by running the following
119commands:</para>
120
121<screen><userinput><command>export MOZILLA_OFFICIAL="1" &amp;&amp;
122export BUILD_OFFICIAL="1" &amp;&amp;
123./configure --prefix=/usr \
124 --with-default-mozilla-five-home=/usr/lib/mozilla \
125 --enable-default-toolkit=gtk2 \
126 --with-x --with-system-zlib \
127 --with-system-jpeg --with-system-png --with-system-mng \
128 --enable-xft --enable-crypto \
129 --disable-accessibility \
130 --disable-tests --disable-debug \
131 --disable-logging --enable-reorder \
132 --enable-strip --disable-pedantic \
133 --enable-cpp-rtti --enable-extensions=all &amp;&amp;
134make</command></userinput></screen>
135
136<para>If installing Enigmail, execute the following steps:</para>
137
138<screen><userinput><command>build/autoconf/make-makefile extensions/ipc extensions/enigmail &amp;&amp;
139make -C extensions/ipc &amp;&amp;
140make -C extensions/enigmail</command></userinput></screen>
141
142<para>Install <application>Mozilla</application> as follows:</para>
143
144<screen><userinput><command>make install &amp;&amp;
145install -d /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
146cp -Lf dist/private/nss/*.h dist/public/nss/*.h \
147 /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
148ln -nsf mozilla-&mozilla-version; /usr/include/mozilla &amp;&amp;
149ln -nsf mozilla-&mozilla-version; /usr/lib/mozilla</command></userinput></screen>
150
151<para>Some libraries installed by mozilla are also needed by other packages. These
152libraries should be in <filename>/usr/lib</filename> so that other packages can
153link against them. Move them as follows:</para>
154
155<screen><userinput><command>for i in lib{nspr4,plc4,plds4,nss3,smime3,softokn3,ssl3}.so libsoftokn3.chk
156do
157 mv /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/
158 ln -sf ../$i /usr/lib/mozilla-&mozilla-version;/
159done</command></userinput></screen>
160
161<para>Install Enigmail as follows:</para>
162
163<screen><userinput><command>make -C extensions/ipc install &amp;&amp;
164make -C extensions/enigmail install</command></userinput></screen>
165
166<para>To enable multi-user operation, execute the following:</para>
167
168<screen><userinput><command>cd /usr/lib/mozilla-&mozilla-version; &amp;&amp;
169export LD_LIBRARY_PATH="/usr/lib/mozilla-&mozilla-version;" &amp;&amp;
170export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" &amp;&amp;
171./regxpcom &amp;&amp;
172./regchrome &amp;&amp;
173touch `find /usr/lib/mozilla-&mozilla-version; -name *.rdf`</command></userinput></screen>
174
175</sect2>
176
177<sect2>
178<title>Optional Extra Switches</title>
179
180<para>Each of these switches can be added to the configure line in order to
181have the described effect on the <application>Mozilla</application> compile.</para>
182
183<para><option>--enable-elf-dynstr-gc</option>: Removes un-referenced
184strings from <acronym>ELF</acronym> shared objects generated during the build.
185Note that this option breaks the build on alpha.</para>
186
187<para><option>--disable-mailnews</option>: Disable the mail and news
188clients.</para>
189
190<para><option>--disable-ldap</option>: Disable <acronym>LDAP</acronym>
191support, recommended if mail is disabled.</para>
192
193<para><option>--enable-calendar</option>: Build the calendar client.</para>
194
195<para><option>--enable-xterm-updates</option>: This option is
196for enabling the <command>xterm</command> title with the current command when
197compiling.</para>
198
199<para><option>--enable-plaintext-editor-only</option>: Disable support
200for <acronym>HTML</acronym> editing. Do not use this switch if you are building
201the mail-news component.</para>
202
203</sect2>
204
205<sect2>
206<title>Command explanations</title>
207
208<para><screen><command>export MOZILLA_OFFICIAL="1" &amp;&amp;
209export BUILD_OFFICIAL="1"</command></screen>
210Set some variables that affect what and how the package is built. The first two exports
211specify a distribution is being built.</para>
212
213<!--
214<para> The last export specifies that we
215are ok with the <acronym>LGPL</acronym> versioned libart.</para>
216-->
217
218<para><parameter>--prefix=/usr</parameter>: Previously mozilla did
219not support the make install option. Hence, the package was installed in
220<filename>/opt</filename>. The package now supports "make install" and follows
221the <acronym>FHS</acronym> guidelines for installation. Therefore the book now
222recommends installation in a system wide prefix such as <filename>/usr
223</filename>.</para>
224
225<para><screen><option>--enable-toolkit-gtk2</option></screen>Use gtk2
226toolkit.</para>
227
228<para><screen><option>--with-system-zlib --with-system-jpeg \
229--with-system-png --with-system-mng</option></screen>
230Use the system versions for these packages.</para>
231
232<para><option>--enable-xft</option>: Enable the Xft support. You need
233<application>fontconfig</application> or the latest <application>XFree86
234</application> version to enable xft.</para>
235
236<para><option>--enable-crypto</option>: Enable the Personal
237Security Manager to enable <acronym>SSL</acronym> connections.</para>
238
239<para><screen><option>--disable-jsd --disable-accessibility \
240--disable-tests --disable-debug \
241--disable-dtd-debug \
242--disable-logging --enable-reorder \
243--enable-strip \
244--enable-cpp-rtti</option></screen>
245Various options that affect what components are built and some optimization
246options. You can pick and choose from these options. More information on them
247can be found in the <application>Mozilla</application> <command>configure
248</command> script help. Not all options are used in the instructions given
249above.</para>
250
251<para><option>--enable-extensions=...</option>: Enables extensions. If you
252want, you can disable all extensions other than the browser by changing this
253switch to <parameter>--enable-extensions="default,-venkman,-inspector,-irc"</parameter>.
254For a short description of the various extensions available with the mozilla
255source, see
256<ulink url="http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt"/>.</para>
257
258<para><screen><command>install -d /usr/include/mozilla-&mozilla-version;/nss
259cp -Lf dist/private/nss/*.h dist/public/nss/*.h \
260 /usr/include/mozilla-&mozilla-version;/nss</command></screen>
261Copy the nss headers that are not copied by make install.</para>
262
263<!--
264<para><userinput>install -d /usr/lib/mozilla-&mozilla-version;/openoffice</userinput> :
265Make a directory to store static libraries that openoffice needs during compilation.
266These libraries are not installed by default.</para>
267-->
268
269<para><command>ln -nsf mozilla-&mozilla-version; ...</command>:
270<application>Mozilla</application> installs headers and libraries in version
271specific directories. This command makes symbolic links so that applications that
272depend on <application>Mozilla</application> (such as <application>OpenOffice
273</application>, <application>Galeon</application>, etc.) don't need to know
274which version of <application>Mozilla</application> is installed.</para>
275
276<para><screen><command>export LD_LIBRARY_PATH="/usr/lib/mozilla-&mozilla-version;" &amp;&amp;
277export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" &amp;&amp;
278./regxpcom &amp;&amp;
279./regchrome &amp;&amp;
280touch `find /usr/lib/mozilla-${VERSION} -name *.rdf`</command>
281</screen>
282Create the required component registries to enable multi-user installs. These
283steps should be preformed by the root user each time a mozilla add-on is
284installed. This will allow normal users to run mozilla.</para>
285
286</sect2>
287
288<sect2>
289<title>Configuring <application>Mozilla</application></title>
290
291<para>No specific configuration is required as long as the <command>mozilla
292</command> binary is in the path for the user. If <application>Mozilla</application>
293is installed in a non-standard location, then make a symlink to the
294<command>mozilla</command> binary from <filename class="directory">/usr/bin</filename>.
295The same thing applies for <application>Mozilla Firefox</application> and
296<application>Mozilla Thunderbird</application>.</para>
297
298<para>Many applications look for <command>netscape</command> when they need to
299open a browser. You may make the following symlink for convenience.</para>
300
301<screen><userinput><command>ln -sf mozilla /usr/bin/netscape</command></userinput></screen>
302
303<para>For installing various <application>Mozilla</application> plugins, refer
304to <ulink url="http://plugindoc.mozdev.org/linux.html">Mozdev's PluginDoc Project</ulink></para>
305
306</sect2>
307
308<sect2>
309<title>Contents</title>
310
311<para>The <application>Mozilla</application> package contains
312<command>mozilla</command>. The various components such as composer and mail-news can be accessed
313from the menu after <command>mozilla</command> starts or via command-line
314switches to the <command>mozilla</command> binary.
315</para>
316
317</sect2>
318
319</sect1>
320
Note: See TracBrowser for help on using the repository browser.