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