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
|
---|
25 | sibling of <application>Netscape</application>. It includes the browser,
|
---|
26 | composer, 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
|
---|
29 | of users who don't need the complete browser suite or like to have separate applications
|
---|
30 | for 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
|
---|
35 | for 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
|
---|
45 | url="&mozilla-download-http;"/></para></listitem>
|
---|
46 | <listitem><para>Download (FTP): <ulink
|
---|
47 | url="&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
|
---|
72 | url="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
|
---|
76 | Communicaton Extension (Version &ipc-version;)</ulink>
|
---|
77 | (Needed for Enigmail)
|
---|
78 | <!--
|
---|
79 | <ulink
|
---|
80 | url="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
|
---|
94 | browser 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
|
---|
96 | tag is now supported in <application>Mozilla</application> to appease the financial institutions. As per
|
---|
97 | the requirements of the financial institutions, they will not even accept a
|
---|
98 | solution where this a preference option. However our opinion is that it should
|
---|
99 | be in the hands of the user. To enable autocomplete to bypass
|
---|
100 | this 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
|
---|
103 | the <application>Mozilla</application> source tree and search for the line:
|
---|
104 | <screen>#define WALLET_DONT_CACHE_ALL_PASSWORDS</screen>
|
---|
105 | Then delete or comment out the line. Now, if anyone tells you MS-IE is user
|
---|
106 | friendly, give them this example!</para>
|
---|
107 | </note>
|
---|
108 | -->
|
---|
109 |
|
---|
110 | <warning><para>Do not install Mozilla, Mozilla Firefox and Mozilla Thunderbird
|
---|
111 | with a single prefix since they install identically named files. The BLFS Book
|
---|
112 | installs Mozilla in <filename>/usr</filename> while Mozilla Firefox and Mozilla
|
---|
113 | Thunderbird are installed in <filename>/opt</filename>.</para></warning>
|
---|
114 |
|
---|
115 | <para>If you plan to install Enigmail, extract the ipc and enigmail tarballs
|
---|
116 | in the <filename class="directory">extensions</filename> directory.</para>
|
---|
117 |
|
---|
118 | <para>Compile <application>Mozilla</application> by running the following
|
---|
119 | commands:</para>
|
---|
120 |
|
---|
121 | <screen><userinput><command>export MOZILLA_OFFICIAL="1" &&
|
---|
122 | export BUILD_OFFICIAL="1" &&
|
---|
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 &&
|
---|
134 | make</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 &&
|
---|
139 | make -C extensions/ipc &&
|
---|
140 | make -C extensions/enigmail</command></userinput></screen>
|
---|
141 |
|
---|
142 | <para>Install <application>Mozilla</application> as follows:</para>
|
---|
143 |
|
---|
144 | <screen><userinput><command>make install &&
|
---|
145 | install -d /usr/include/mozilla-&mozilla-version;/nss &&
|
---|
146 | cp -Lf dist/private/nss/*.h dist/public/nss/*.h \
|
---|
147 | /usr/include/mozilla-&mozilla-version;/nss &&
|
---|
148 | ln -nsf mozilla-&mozilla-version; /usr/include/mozilla &&
|
---|
149 | ln -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
|
---|
152 | libraries should be in <filename>/usr/lib</filename> so that other packages can
|
---|
153 | link 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
|
---|
156 | do
|
---|
157 | mv /usr/lib/mozilla-&mozilla-version;/$i /usr/lib/
|
---|
158 | ln -sf ../$i /usr/lib/mozilla-&mozilla-version;/
|
---|
159 | done</command></userinput></screen>
|
---|
160 |
|
---|
161 | <para>Install Enigmail as follows:</para>
|
---|
162 |
|
---|
163 | <screen><userinput><command>make -C extensions/ipc install &&
|
---|
164 | make -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; &&
|
---|
169 | export LD_LIBRARY_PATH="/usr/lib/mozilla-&mozilla-version;" &&
|
---|
170 | export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" &&
|
---|
171 | ./regxpcom &&
|
---|
172 | ./regchrome &&
|
---|
173 | touch `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
|
---|
181 | have the described effect on the <application>Mozilla</application> compile.</para>
|
---|
182 |
|
---|
183 | <para><option>--enable-elf-dynstr-gc</option>: Removes un-referenced
|
---|
184 | strings from <acronym>ELF</acronym> shared objects generated during the build.
|
---|
185 | Note that this option breaks the build on alpha.</para>
|
---|
186 |
|
---|
187 | <para><option>--disable-mailnews</option>: Disable the mail and news
|
---|
188 | clients.</para>
|
---|
189 |
|
---|
190 | <para><option>--disable-ldap</option>: Disable <acronym>LDAP</acronym>
|
---|
191 | support, 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
|
---|
196 | for enabling the <command>xterm</command> title with the current command when
|
---|
197 | compiling.</para>
|
---|
198 |
|
---|
199 | <para><option>--enable-plaintext-editor-only</option>: Disable support
|
---|
200 | for <acronym>HTML</acronym> editing. Do not use this switch if you are building
|
---|
201 | the mail-news component.</para>
|
---|
202 |
|
---|
203 | </sect2>
|
---|
204 |
|
---|
205 | <sect2>
|
---|
206 | <title>Command explanations</title>
|
---|
207 |
|
---|
208 | <para><screen><command>export MOZILLA_OFFICIAL="1" &&
|
---|
209 | export BUILD_OFFICIAL="1"</command></screen>
|
---|
210 | Set some variables that affect what and how the package is built. The first two exports
|
---|
211 | specify a distribution is being built.</para>
|
---|
212 |
|
---|
213 | <!--
|
---|
214 | <para> The last export specifies that we
|
---|
215 | are ok with the <acronym>LGPL</acronym> versioned libart.</para>
|
---|
216 | -->
|
---|
217 |
|
---|
218 | <para><parameter>--prefix=/usr</parameter>: Previously mozilla did
|
---|
219 | not support the make install option. Hence, the package was installed in
|
---|
220 | <filename>/opt</filename>. The package now supports "make install" and follows
|
---|
221 | the <acronym>FHS</acronym> guidelines for installation. Therefore the book now
|
---|
222 | recommends 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
|
---|
226 | toolkit.</para>
|
---|
227 |
|
---|
228 | <para><screen><option>--with-system-zlib --with-system-jpeg \
|
---|
229 | --with-system-png --with-system-mng</option></screen>
|
---|
230 | Use 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
|
---|
237 | Security 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>
|
---|
245 | Various options that affect what components are built and some optimization
|
---|
246 | options. You can pick and choose from these options. More information on them
|
---|
247 | can be found in the <application>Mozilla</application> <command>configure
|
---|
248 | </command> script help. Not all options are used in the instructions given
|
---|
249 | above.</para>
|
---|
250 |
|
---|
251 | <para><option>--enable-extensions=...</option>: Enables extensions. If you
|
---|
252 | want, you can disable all extensions other than the browser by changing this
|
---|
253 | switch to <parameter>--enable-extensions="default,-venkman,-inspector,-irc"</parameter>.
|
---|
254 | For a short description of the various extensions available with the mozilla
|
---|
255 | source, 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
|
---|
259 | cp -Lf dist/private/nss/*.h dist/public/nss/*.h \
|
---|
260 | /usr/include/mozilla-&mozilla-version;/nss</command></screen>
|
---|
261 | Copy 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> :
|
---|
265 | Make a directory to store static libraries that openoffice needs during compilation.
|
---|
266 | These 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
|
---|
271 | specific directories. This command makes symbolic links so that applications that
|
---|
272 | depend on <application>Mozilla</application> (such as <application>OpenOffice
|
---|
273 | </application>, <application>Galeon</application>, etc.) don't need to know
|
---|
274 | which version of <application>Mozilla</application> is installed.</para>
|
---|
275 |
|
---|
276 | <para><screen><command>export LD_LIBRARY_PATH="/usr/lib/mozilla-&mozilla-version;" &&
|
---|
277 | export MOZILLA_FIVE_HOME="/usr/lib/mozilla-&mozilla-version;" &&
|
---|
278 | ./regxpcom &&
|
---|
279 | ./regchrome &&
|
---|
280 | touch `find /usr/lib/mozilla-${VERSION} -name *.rdf`</command>
|
---|
281 | </screen>
|
---|
282 | Create the required component registries to enable multi-user installs. These
|
---|
283 | steps should be preformed by the root user each time a mozilla add-on is
|
---|
284 | installed. 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>
|
---|
293 | is installed in a non-standard location, then make a symlink to the
|
---|
294 | <command>mozilla</command> binary from <filename class="directory">/usr/bin</filename>.
|
---|
295 | The 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
|
---|
299 | open 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
|
---|
304 | to <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
|
---|
313 | from the menu after <command>mozilla</command> starts or via command-line
|
---|
314 | switches to the <command>mozilla</command> binary.
|
---|
315 | </para>
|
---|
316 |
|
---|
317 | </sect2>
|
---|
318 |
|
---|
319 | </sect1>
|
---|
320 |
|
---|