source: xsoft/graphweb/mozilla.xml@ ce39b28

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 ce39b28 was faa80ab, checked in by Randy McMurchy <randy@…>, 20 years ago

Added new package Doxygen-1.3.9.1

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

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