Author: randy
Date: 2006-01-25 15:08:21 -0700 (Wed, 25 Jan 2006)
New Revision: 5593
Modified:
trunk/BOOK/general.ent
trunk/BOOK/introduction/welcome/changelog.xml
trunk/BOOK/xsoft/graphweb/mozilla.xml
Log:
Updated to Mozilla-1.7.12, changed the build method to use 'client.mk' and
'.mozconfig', added instructions to use system-installed NSS/NSPR libraries and
added additional configuration information
Modified: trunk/BOOK/general.ent
===================================================================
--- trunk/BOOK/general.ent 2006-01-25 20:50:45 UTC (rev 5592)
+++ trunk/BOOK/general.ent 2006-01-25 22:08:21 UTC (rev 5593)
@@ -484,7 +484,7 @@
<!ENTITY openoffice-version "2.0.0">
<!-- Chapter 35 -->
-<!ENTITY mozilla-version "1.7.11">
+<!ENTITY mozilla-version "1.7.12">
<!ENTITY firefox-version "1.5">
<!ENTITY galeon-version "1.3.21">
<!ENTITY dillo-version "0.8.5">
Modified: trunk/BOOK/introduction/welcome/changelog.xml
===================================================================
--- trunk/BOOK/introduction/welcome/changelog.xml 2006-01-25 20:50:45 UTC
(rev 5592)
+++ trunk/BOOK/introduction/welcome/changelog.xml 2006-01-25 22:08:21 UTC
(rev 5593)
@@ -45,6 +45,12 @@
<para>January 25th, 2006</para>
<itemizedlist>
<listitem>
+ <para>[randy] - Updated to Mozilla-1.7.12, changed the build
+ method to use 'client.mk' and '.mozconfig', added instructions
+ to use system-installed NSS/NSPR libraries and added additional
+ configuration information.</para>
+ </listitem>
+ <listitem>
<para>[randy] - Changed the default to render SVG graphics in the
Firefox instructions.</para>
</listitem>
@@ -55,12 +61,14 @@
<para>January 23rd, 2006</para>
<itemizedlist>
<listitem>
- <para>[randy] - Updated to Thunderbird-1.5 and changed the build
- method to use 'client.mk' and '.mozconfig'.</para>
+ <para>[randy] - Updated to Thunderbird-1.5, changed the build
+ method to use 'client.mk' and '.mozconfig', added instructions
+ to use system-installed NSS/NSPR libraries and added additional
+ configuration information.</para>
</listitem>
<listitem>
<para>[randy] - Added information about using system-installed
- versions of the NSS libraries and added additional configuration
+ versions of the NSS/NSPR libraries and added additional configuration
information to the Firefox instructions.</para>
</listitem>
<listitem>
Modified: trunk/BOOK/xsoft/graphweb/mozilla.xml
===================================================================
--- trunk/BOOK/xsoft/graphweb/mozilla.xml 2006-01-25 20:50:45 UTC (rev
5592)
+++ trunk/BOOK/xsoft/graphweb/mozilla.xml 2006-01-25 22:08:21 UTC (rev
5593)
@@ -4,17 +4,40 @@
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
- <!ENTITY mozilla-download-http
"http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
- <!ENTITY mozilla-download-ftp
"ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
- <!ENTITY mozilla-md5sum "ed54ad54b4b5de85c7916e7d1efa0ae3">
- <!ENTITY mozilla-size "29 MB">
- <!ENTITY mozilla-buildsize "620 MB">
- <!ENTITY mozilla-time "12.8 SBU">
+ <!ENTITY mozilla-download-http
"http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
+ <!ENTITY mozilla-download-ftp
"ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
+ <!ENTITY mozilla-md5sum "f1ad6adbbc0510eb76d352c94c801fac">
+ <!ENTITY mozilla-size "30.4 MB">
+ <!ENTITY mozilla-buildsize "575 MB">
+ <!ENTITY mozilla-time "9.4 SBU">
- <!ENTITY mozilla-enigmail-version "0.92.0">
- <!ENTITY mozilla-enigmail-md5sum "50c369ce6d6fcb2d275cd30319a601ff">
- <!ENTITY mozilla-ipc-version "1.1.3">
- <!ENTITY mozilla-ipc-md5sum "64ba4c6e3b52568468c4f6680ec7e679">
+ <!--
+
+ BLFS Devs:
+
+ The information below is for the Enigmail and IPC downloads. Additionally,
+ a makemake file is download because we cannot build Enigmail using an
+ object directory without it. Informaiton about the Enigmail source to
+ check for updates is located at http://enigmail.mozdev.org/source.html.
+
+ The link to the makemake file is near the end of the page in the section
+ titled "Using OBJDIR when building Enigmail". Ensure you check the rev
+ level of the link and update the "enigmail-makemake-version" entitity
+ if necessary. In case you are wondering why the version has the question
+ mark and "rev=" in it, it is because the complete URL is used in a command
+ and it would extend past the 71 characters that PDF render is limited to.
+ It should make sense after you see it rendered in the wget command.
+
+ -->
+
+ <!ENTITY mozilla-enigmail-version "0.93.0">
+ <!ENTITY mozilla-ipc-version "1.1.3">
+ <!ENTITY enigmail-makemake-version "?rev=1.3">
+ <!ENTITY mozilla-enigmail-download
"http://www.mozilla-enigmail.org/downloads/src/enigmail-&mozilla-enigmail-version;.tar.gz">
+ <!ENTITY mozilla-ipc-download
"http://www.mozilla-enigmail.org/downloads/src/ipc-&mozilla-ipc-version;.tar.gz">
+ <!ENTITY enigmail-makemake-download
"http://www.mozdev.org/source/browse/~checkout~/enigmail/src/makemake">
+ <!ENTITY mozilla-enigmail-md5sum "cb7126705924cb7f0de205b4ff4e28b4">
+ <!ENTITY mozilla-ipc-md5sum "64ba4c6e3b52568468c4f6680ec7e679">
]>
<sect1 id="mozilla" xreflabel="Mozilla-&mozilla-version;">
@@ -47,11 +70,11 @@
subprojects that aim to satisfy the needs of users who don't need the
complete browser suite or prefer to have separate applications for
browsing and e-mail. These subprojects are <ulink
- url="http://www.mozilla.org/products/firefox/">Mozilla Firefox</ulink>,
+ url="http://www.mozilla.com/firefox/">Mozilla Firefox</ulink>,
(a stand-alone browser based on the <application>Mozilla</application>
source code) and <ulink
- url="http://www.mozilla.org/products/thunderbird/">Mozilla
- Thunderbird</ulink>, (a stand-alone mail client based on the
+ url="http://www.mozilla.com/thunderbird/">Mozilla Thunderbird</ulink>,
+ (a stand-alone mail/newsgroup client based on the
<application>Mozilla</application> source code). The build instructions
for these two applications are discussed in separate sections:</para>
@@ -90,128 +113,290 @@
<itemizedlist spacing="compact">
<listitem>
<para>Required patch: <ulink
- url="&patch-root;/mozilla-&mozilla-version;-gcc4-2.patch"/></para>
+ url="&patch-root;/mozilla-&mozilla-version;-gcc4-1.patch"/></para>
</listitem>
+ <listitem>
+ <para>Required patch: <ulink
+ url="&patch-root;/mozilla-&mozilla-version;-gfx_fixes.patch"/></para>
+ </listitem>
+ <listitem>
+ <para>Required patch (if using system-installed versions of
+ <application>NSS</application> and <application>NSPR</application>):
+ <ulink
+ url="&patch-root;/mozilla-&mozilla-version;-system_nss-1.patch"/>
+ </para>
+ </listitem>
</itemizedlist>
<para>To enable the <application>Enigmail</application> extension to
the <application>Mozilla</application> mail client, you'll need to
- download the two tarballs below. The <application>Enigmail</application>
- extension allows users to access the authentication and encryption
- features provided by the <application>GnuPG</application> package.</para>
+ download the two tarballs and <command>makemake</command> file listed
+ below. The <application>Enigmail</application> extension allows users to
+ access the authentication and encryption features provided by the
+ <application>GnuPG</application> package. The
+ <application>Enigmail</application> extension will not operate correctly
+ unless you have <xref linkend="gnupg"/> installed.</para>
<itemizedlist spacing='compact'>
<listitem>
- <para><ulink
-
url="http://downloads.mozdev.org/enigmail/src/enigmail-&mozilla-enigmail-version;.tar.gz"/>
- </para>
+ <para><ulink url="&mozilla-enigmail-download;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum;</para>
</listitem>
<listitem>
- <para><ulink
-
url="http://downloads.mozdev.org/enigmail/src/ipc-&mozilla-ipc-version;.tar.gz"/>
- </para>
+ <para><ulink url="&mozilla-ipc-download;"/></para>
</listitem>
<listitem>
<para>Download MD5 sum (IPC): &mozilla-ipc-md5sum;</para>
</listitem>
+ <listitem>
+ <para><ulink
+ url="&enigmail-makemake-download;&enigmail-makemake-version;"/></para>
+ </listitem>
</itemizedlist>
+ <para>The <command>makemake</command> file is an enhanced version that will
+ be copied into the source tree to replace an existing file during the
+ installation instructions. The instructions expect the file to be named
+ <filename>mozilla-&mozilla-version;-enigmail_makemake</filename>. If you
+ have <xref linkend="wget"/> installed, you can download and rename the file
+ in one step using the following command:</para>
+
+<screen><userinput>wget -O mozilla-&mozilla-version;-enigmail_makemake \
+&enigmail-makemake-download;\
+&enigmail-makemake-version;</userinput></screen>
+
<bridgehead renderas="sect3">Mozilla Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
- <para role="required"><xref linkend="zip"/>,
- <xref linkend="gtk2"/>,
- <xref linkend="libidl"/></para>
+ <para role="required"><xref linkend="gtk2"/>,
+ <xref linkend="libidl"/>, and
+ <xref linkend="zip"/></para>
- <bridgehead renderas="sect4">Recommended</bridgehead>
- <para role="recommended"><xref linkend="gnupg"/> (for the
- <application>Enigmail</application> extension)</para>
+ <para>Note: <application>libjpeg</application> should have been installed
+ before <application>GTK+</application> and should exist on your system. If
+ for some reason you haven't installed <application>libjpeg</application>,
+ you should remove the <option>--with-system-jpeg</option> option from the
+ <filename>.mozconfig</filename> file created below.</para>
+ <bridgehead renderas="sect4">Recommended (if you will be installing any
+ other package that utilizes NSS/NSPR, such as
+ <application>Firefox</application> or
+ <application>Thunderbird</application>)</bridgehead>
+ <para role="recommended"><xref linkend="nss"/></para>
+
<bridgehead renderas="sect4">Optional</bridgehead>
- <para role="optional"><xref linkend="libjpeg"/>,
- <xref linkend="unzip"/>,
+ <para role="optional"><xref linkend="unzip"/>,
<xref linkend="gnome-vfs"/> (to build the gnomevfs extension),
- <xref linkend="libart_lgpl"/>,
+ <xref linkend="libart_lgpl"/>, and
<xref linkend="heimdal"/> or <xref linkend="mitkrb"/>
- (for the GSSAPI libraries to build the negotiateauth extension),
- <xref linkend="doxygen"/>,
- <ulink url="http://xprint.mozdev.org/">Xprint</ulink>,
- <ulink url="http://perens.com/FreeSoftware/">Electric Fence</ulink></para>
+ (for the GSSAPI libraries to build the negotiateauth extension)</para>
</sect2>
<sect2 role="installation">
<title>Installation of Mozilla</title>
+ <para>The configuration of <application>Mozilla</application> is
+ accomplished by creating a <filename>.mozconfig</filename> file containing
+ the desired configuration options. A default
<filename>.mozconfig</filename>
+ file is created below. To see the entire list of available configuration
+ options (and an abbreviated description of each one), issue
+ <command>./configure --help</command>. Additional information can also be
+ found below in the section titled <xref linkend="add-mozconfig"/>. If you
+ are going to use system-installed versions of the
+ <application>NSS</application> and <application>NSPR</application>
+ libraries, ensure you uncomment the two lines at the bottom of the file. If
+ you would prefer to download the file instead of creating it by typing or
+ cut-and-pasting, you can find it at <ulink
+
url="http://anduin.linuxfromscratch.org/files/BLFS/mozilla-&mozilla-version;-mozconfig"/>
+ (the file must be installed in the root of the source tree
+ <filename class='directory'>mozilla</filename> directory, and named
+ <filename>.mozconfig</filename>). Create the file by issuing the following
+ command:</para>
+
+<screen><userinput>cat > .mozconfig << "EOF"
+<literal># Options for client.mk
+
+mk_add_options [EMAIL PROTECTED]@/../mozilla-build
+
+# Options for 'configure' (same as command-line options)
+
+# Mandatory options
+ac_add_options --enable-application=suite
+ac_add_options --prefix=/usr
+
+# Options for system-installed software
+ac_add_options --with-system-zlib
+ac_add_options --with-system-png
+ac_add_options --with-system-jpeg
+
+# Options in all Mozilla-family builds
+ac_add_options --enable-official-branding
+ac_add_options --enable-strip
+ac_add_options --disable-tests
+ac_add_options --disable-installer
+ac_add_options --disable-accessibility
+
+# Options used for graphics settings in Mozilla Suite (Not Seamonkey)
+ac_add_options --enable-default-toolkit=gtk2
+ac_add_options --enable-xft
+ac_add_options --disable-freetype2
+
+# Options used just for Mozilla Suite (Not Seamonkey)
+ac_add_options --enable-optimize
+ac_add_options --disable-debug
+ac_add_options --disable-logging
+ac_add_options --enable-crypto
+ac_add_options --enable-extensions=all
+
+# Options used just for Mozilla Suite
+ac_add_options --enable-ldap
+ac_add_options --enable-calendar
+
+# Options used for system-installed NSS/NSPR
+#ac_add_options --with-system-nspr
+#ac_add_options --with-system-nss</literal>
+
+EOF</userinput></screen>
+
+ <para>If you have system-installed Network Security Services (NSS) and
+ Netscape Portable Runtime (NSPR) libraries and you uncommented the
+ appropriate lines in the <filename>.mozconfig</filename> file to utilize
+ them, apply the following patch:</para>
+
+<screen><userinput>patch -Np1 -i
../mozilla-&mozilla-version;-system_nss-1.patch</userinput></screen>
+
<para>Compile <application>Mozilla</application> by running the
following commands:</para>
-<screen><userinput>patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-2.patch
&&
-export MOZILLA_OFFICIAL="1" &&
+<screen><userinput>export MOZILLA_OFFICIAL="1" &&
export BUILD_OFFICIAL="1" &&
-export MOZ_CO_PROJECT="suite" &&
-./configure --prefix=/usr \
- --with-default-mozilla-five-home=/usr/lib/mozilla \
- --with-system-zlib \
- --with-system-png \
- --enable-application=suite \
- --enable-default-toolkit=gtk2 \
- --enable-extensions=all \
- --enable-crypto \
- --enable-xft \
- --enable-xinerama \
- --enable-optimize \
- --enable-reorder \
- --enable-strip \
- --enable-cpp-rtti \
- --enable-calendar \
- --disable-freetype2 \
- --disable-accessibility \
- --disable-debug \
- --disable-tests \
- --disable-logging \
- --disable-pedantic \
- --disable-installer &&
-make</userinput></screen>
- <para>You should add the <option>--with-system-jpeg</option> switch
- to the <command>configure</command> script if you have
- <application>libjpeg</application> installed.</para>
+patch -Np1 -i ../mozilla-&mozilla-version;-gfx_fixes-1.patch &&
+patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-1.patch &&
- <para>If you're building the <application>Mozilla</application> mail
- and news clients and plan to install the
<application>Enigmail</application>
- extension, execute the following steps:</para>
+make -f client.mk build</userinput></screen>
+ <para>If you're building the <application>Mozilla</application>
+ mail/newsgroup client and plan to install the
+ <application>Enigmail</application> extension, issue the following
+ commands:</para>
+
<screen><userinput>tar -xf ../enigmail-&mozilla-enigmail-version;.tar.gz -C
extensions &&
tar -xf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions &&
-build/autoconf/make-makefile extensions/ipc extensions/enigmail &&
-make -C extensions/ipc &&
-make -C extensions/enigmail</userinput></screen>
- <para>Install <application>Mozilla</application> (as the
- <systemitem class="username">root user</systemitem>) as follows:</para>
+install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
+ extensions/ipc/makemake &&
+install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
+ extensions/enigmail/makemake &&
-<screen role="root"><userinput>make install &&
-install -v -d -m755 /usr/include/mozilla-&mozilla-version;/nss &&
-cp -v -Lf dist/private/nss/*.h dist/public/nss/*.h \
- /usr/include/mozilla-&mozilla-version;/nss &&
-ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla &&
+cd extensions/ipc &&
+./makemake -r &&
+
+cd ../enigmail &&
+./makemake -r &&
+
+cd ../.. &&
+make -C ../mozilla-build/extensions/ipc &&
+make -C ../mozilla-build/extensions/enigmail &&
+make -C ../mozilla-build/extensions/enigmail xpi</userinput></screen>
+
+ <para>Install <application>Mozilla</application> by issuing the following
+ commands as the <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>make -f client.mk install &&
+
+install -v -m644 ../mozilla-build/dist/public/ldap-private/* \
+ /usr/include/mozilla-&mozilla-version;/ldap &&
+
+install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/defaults/isp/US
&&
+install -v -m644 mailnews/base/ispdata/movemail.rdf \
+ /usr/lib/mozilla-&mozilla-version;/defaults/isp &&
+ln -v -s ../movemail.rdf /usr/lib/mozilla-&mozilla-version;/defaults/isp/US
&&
+
if [ -d /usr/lib/mozilla/plugins ]; then
+ if [ -f /usr/lib/mozilla/plugins/libnullplugin.so ]; then
+ rm -vf /usr/lib/mozilla/plugins/libnullplugin.so
+ fi
mv -v /usr/lib/mozilla/plugins/* /usr/lib/mozilla-&mozilla-version;/plugins
rm -v -rf /usr/lib/mozilla
fi &&
-ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla</userinput></screen>
- <para>If you're installing the <application>Enigmail</application>
- extension, issue the following commands as the
+ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla &&
+ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla</userinput></screen>
+
+ <para>If you built <application>Mozilla</application> utilizing
+ system-installed NSS and NSPR libraries, the
+ <filename>mozilla-ns*.pc</filename> <application>pkgconfig</application>
+ files need to be modified. Issue the following command as the
<systemitem class="username">root</systemitem> user:</para>
-<screen role="root"><userinput>make -C extensions/ipc install &&
-make -C extensions/enigmail install</userinput></screen>
+<screen role="root"><userinput>sed -i 's|/mozilla-&mozilla-version;||'
/usr/lib/pkgconfig/mozilla-ns*.pc</userinput></screen>
+ <para>If you did <emphasis role="strong">NOT</emphasis> build
+ <application>Mozilla</application> utilizing system-installed NSS and
+ NSPR libraries, issue the following commands as the
+ <systemitem class="username">root</systemitem> user to install the NSS
+ interface headers:</para>
+
+<screen role="root"><userinput>install -v -m755 -d
/usr/include/mozilla-&mozilla-version;/nss &&
+cp -v -Lf ../mozilla-build/dist/{private,public}/nss/*.h \
+ /usr/include/mozilla-&mozilla-version;/nss</userinput></screen>
+
+ <para>If you built the <application>Enigmail</application> extension,
+ issue the following commands as the <systemitem
+ class="username">root</systemitem> user to install the
+ <filename>.xpi</filename> file into the
+ <filename class='directory'>/usr/lib/mozilla-&mozilla-version;</filename>
+ directory:</para>
+
+<screen role="root"><userinput>install -v -m755 -d
/usr/lib/mozilla-&mozilla-version;/xpi_store &&
+install -v -m644
../mozilla-build/dist/bin/enigmail-&mozilla-enigmail-version;-*.xpi \
+ /usr/lib/mozilla-&mozilla-version;/xpi_store</userinput></screen>
+
+ <para>There are two methods you can use to install the
+ <application>Enigmail</application> extension. Both are shown here and
+ provide the same functionality. The first method must be accomplished
+ now (before the object directory is removed) and uses the conventional
+ <command>make install</command> command to install the
+ <application>Enigmail</application> files straight from the distribution
+ directory of the object directory. An alternate method is shown as it
+ installs using the <filename class='extension'>.xpi</filename> file
+ created earlier and can be done later (at any time you desire) as the
+ file used to install <application>Enigmail</application> was copied into
+ <filename
+ class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>
+ in the previous step. This method can be used to install any
+ downloaded <application>Mozilla</application> extension distributed in a
+ <filename class='extension'>.xpi</filename> file. There are many
+ extensions available for <application>Mozilla</application>. A list
+ containing many of them can be found at
+ <ulink url="http://extensionroom.mozdev.org/"/>.</para>
+
+ <para>If you want to install the <application>Enigmail</application>
+ extension now, issue the following commands as the
+ <systemitem class="username">root</systemitem> user:</para>
+
+<screen role="root"><userinput>make -C ../mozilla-build/extensions/ipc install
&&
+make -C ../mozilla-build/extensions/enigmail install</userinput></screen>
+
+ <para>To install an extension from a created or download
+ <filename class='extension'>.xpi</filename> file, you simply need to
+ <quote>open</quote> the <filename class='extension'>.xpi</filename> file
+ using the <quote>Open File</quote> option of the <quote>File</quote>
+ menu of the Navigator window. You can browse to find the file (for example,
+ the <application>Enigmail</application>
+ <filename class='extension'>.xpi</filename> file is located in
+ <filename
+ class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>,
+ select it, then follow the prompts to install the extension.</para>
+
+ <!-- Commenting this out as there really is no need to put the Mozilla
+ Suite versions of NSS/NSPR in a system-wide location when there
+ is now a BLFS package that does this.
+
<para>Some libraries, including the Netscape Portable Runtime (NSPR) and
Network Security Services (NSS) libraries, installed by
<application>Mozilla</application> are also needed by other packages.
@@ -226,6 +411,13 @@
ln -v -sf ../$i /usr/lib/mozilla-&mozilla-version;/
done</userinput></screen>
+ -->
+
+ <!-- Commenting this out for now, as I believe this is only necessary
+ for the binary versions of Mozilla. I've built this and had many
+ system users access Mozilla simultaneously without having to do
+ the steps shown here.
+
<para>Create the required component registries to enable multi-user
installs. These steps should be preformed by the <systemitem
class="username">root</systemitem> user each time a
@@ -240,81 +432,93 @@
./regchrome &&
touch `find . -name *.rdf`</userinput></screen>
+ -->
+
+ <para>Unset the build variables from the unprivileged user's
+ environment:</para>
+
+<screen><userinput>unset MOZILLA_OFFICIAL &&
+unset BUILD_OFFICIAL</userinput></screen>
+
<note>
<para>You should run <command>/usr/bin/mozilla</command> once as the
<systemitem class="username">root</systemitem> user (or any user with
write privileges) to create some necessary additional files in the
- <filename class='directory'>/usr</filename> hierarchy.</para>
+ <filename class='directory'>/usr</filename> hierarchy. Also do this
+ each time you install additional extensions.</para>
</note>
- <para>Lastly, unset the build variables from the unprivileged user's
- environment:</para>
-
-<screen><userinput>unset MOZILLA_OFFICIAL &&
-unset BUILD_OFFICIAL &&
-unset MOZ_CO_PROJECT</userinput></screen>
-
</sect2>
- <sect2 role="commands">
- <title>Optional Extra Switches</title>
+ <sect2 role="commands" id="add-mozconfig"
+ xreflabel="Additional .mozconfig Options">
- <para>You may wish to run <command>./configure --help</command> and review
- each of the listed options to discover what affect they have on the build.
- Feel free to add or remove options to tailor the build to your desires.
- Listed below are some common options not listed above but can be added to
- the <command>configure</command> command in order to have the described
- effect on the <application>Mozilla</application> compile.</para>
+ <title>Additional .mozconfig Options</title>
- <para><option>--with-system-jpeg</option>: Uses the system-installed copy
- of <application>libjpeg</application> instead of the bundled copy.</para>
+ <para>Information about some of the additional options which can be added
+ to the <filename>.mozconfig</filename> configuration file is shown below.
+ Note that this is just a few of the options. You may wish to run
+ <command>./configure --help</command> and review each of the listed options
+ to discover what affect they have on the build. Feel free to add or remove
+ options to tailor the build to your desires. Listed below are some common
+ options not in the default <filename>.mozconfig</filename> file but can be
+ added in order to have the described effect on the Mozilla compile.</para>
+
+ <para><option>ac_add_options --enable-elf-dynstr-gc</option>: Removes
+ un-referenced strings from ELF shared objects generated during the build.
+ Note that this option breaks the build on alpha.</para>
- <para><option>--enable-elf-dynstr-gc</option>: Removes un-referenced
- strings from ELF shared objects generated during the build. Note that this
- option breaks the build on alpha.</para>
+ <para><option>ac_add_options --disable-mailnews</option>: Disables the mail
+ and news clients.</para>
- <para><option>--disable-mailnews</option>: Disables the mail and news
- clients.</para>
+ <para><option>ac_add_options --disable-ldap</option>: Disables LDAP
support,
+ recommended if mail is disabled.</para>
- <para><option>--disable-ldap</option>: Disables LDAP support, recommended
- if mail is disabled.</para>
+ <para><option>ac_add_options --enable-xterm-updates</option>: Displays the
+ current command in the <command>xterm</command> window title during the
+ compilation.</para>
- <para><option>--enable-xterm-updates</option>: Displays the current command
- in the <command>xterm</command> window title during the compilation.</para>
+ <para><option>ac_add_options --enable-plaintext-editor-only</option>:
+ Disables support for HTML editing. Do not use this switch if you are
+ building the mail-news component.</para>
- <para><option>--enable-plaintext-editor-only</option>: Disables support
- for HTML editing. Do not use this switch if you are building the mail-news
- component.</para>
-
</sect2>
<sect2 role="commands">
- <title>Command Explanations</title>
+ <title>.mozconfig Option Explanations</title>
- <para><command>export MOZILLA_OFFICIAL="1";
- export BUILD_OFFICIAL="1"</command>: Set some variables that affect what
and
- how the package is built. These two exports specify a distribution is being
- built.</para>
+ <para>To simplify reading the options below, they are labeled without
+ <parameter>ac_add_options</parameter> inserted at the beginning of the
+ option.</para>
-
<para><parameter>--with-default-mozilla-five-home=/usr/lib/mozilla</parameter>:
- Sets the default value for <envar>MOZILLA_FIVE_HOME</envar>.</para>
+ <para><parameter>mk_add_options
+ [EMAIL PROTECTED]@/../mozilla-build</parameter>: Creates an object
+ directory and specifies to build the package in that directory. If desired,
+ modify the location of the object directory to a directory inside the
+ source tree by removing <quote>../</quote> from the line.</para>
- <para><parameter>--with-system-zlib --with-system-png </parameter>: Use the
- system-installed versions of these packages.</para>
+ <para><parameter>--enable-application=suite</parameter>: Identifies the
+ build as a <application>Mozilla</application> suite build.</para>
- <para><parameter>--enable-application=suite</parameter>: Identifies the
build
- as a <application>Mozilla</application> suite build.</para>
+ <para><parameter>--with-system-zlib --with-system-png
+ --with-system-jpeg</parameter>: Uses the system-installed versions of these
+ packages.</para>
- <para><parameter>--enable-default-toolkit=gtk2</parameter>: Use the
- GTK2 toolkit for graphics rendering.</para>
+ <para><parameter>--enable-official-branding</parameter>: Uses the official
+ Mozilla logos and icons in the built binaries. Due to license restrictions,
+ you may not distribute binaries created using this option.</para>
+ <para><parameter>--enable-default-toolkit=gtk2 --enable-xft
+ --disable-freetype2</parameter>: Use the GTK2 toolkit for graphics
+ rendering and XFT (automatically pulls in the
+ <application>FreeType</application> libraries) for font rendering.</para>
+
<para><parameter>--enable-extensions=all</parameter>: Enables all available
- extensions. If you want, you can disable any or all extensions other than
the
- browser by changing this switch to
+ extensions. If you want, you can disable any or all extensions other than
+ the browser by changing this switch to
<option>--enable-extensions="default,-venkman,-inspector,..."</option>.
For a short description of the various extensions available with the
- <application>Mozilla</application> source, see
- <ulink
+ <application>Mozilla</application> source, see <ulink
url="http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt"/>.
</para>
@@ -322,12 +526,8 @@
Security Manager to enable SSL connections.</para>
<para><parameter>--enable-calendar</parameter>: Builds the calendar
- application. Removed this parameter if you don't wish to build it.</para>
+ application. Remove this parameter if you don't wish to build it.</para>
- <para><parameter>--enable-xft; --disable-freetype2</parameter>: Enable Xft
- support which automatically pulls in the
<application>FreeType</application>
- libraries.</para>
-
<para><parameter>--enable-xinerama; --enable-optimize; --enable-reorder;
--enable-strip; --enable-cpp-rtti --disable-accessibility; --disable-debug;
--disable-tests; --disable-logging; --disable-pedantic;
@@ -336,19 +536,47 @@
options. More information on them, and many other available options, can be
found by running <command>./configure --help</command>.</para>
- <para><command>install -d /usr/include/mozilla-&mozilla-version;/nss;
- cp -Lf ...</command>: Copy the NSS interface headers that
- are not copied by <command>make install</command>.</para>
+ </sect2>
+ <sect2 role="commands">
+ <title>Command Explanations</title>
+
+ <para><command>export MOZILLA_OFFICIAL="1"
+ export BUILD_OFFICIAL="1"</command>: Sets some variables that affect what
+ and how the package is built. These two exports specify a distribution is
+ being built.</para>
+
+ <para><command>make -f client.mk ...</command>: Mozilla products are
+ packaged to allow the use of a configuration file which can be used to
+ pass the configuration settings to the <command>configure</command>
+ command. <command>make</command> uses the <filename>client.mk</filename>
+ file to get initial configuration and setup parameters, then depending on
+ the target parameter (<parameter>build</parameter> or
+ <parameter>install</parameter>), either runs the
+ <command>configure</command> script and compiles the package or installs
+ the package.</para>
+
+ <para><command>./makemake -r</command>: This command is used to recursively
+ create <filename>Makefile</filename>s in the current directory.</para>
+
+ <para><command>make -C ... xpi</command>: This command builds the
+ <application>Enigmail</application>
+ <filename class='extension'>.xpi</filename> file which can be used to
+ install <application>Enigmail</application>.</para>
+
+ <para><command>install .../movemail.rdf ...</command>: This
+ command is used to install a file inadvertently left out of the
+ installation script.</para>
+
<para><command>if [ -d /usr/lib/mozilla/plugins ] ... fi</command>: Some
applications may have already installed <application>Mozilla</application>
- plugins. This set of commands move any existing plugins to the newly
created
- plugin directory, then removes the existing
+ plugins. This set of commands moves any existing plugins to the newly
+ created plugin directory, then removes the existing
<filename class='directory'>/usr/lib/mozilla</filename> directory.</para>
<para><command>ln -nsf mozilla-&mozilla-version; ...</command>:
- <application>Mozilla</application> installs headers and libraries in
version
- specific directories. These commands makes symbolic links so that
+ <application>Mozilla</application> installs headers and libraries in
+ version specific directories. These commands makes symbolic links so that
applications depending on <application>Mozilla</application> (such as
<application>OpenOffice</application>, <application>Galeon</application>,
etc.) don't need to know which version of
<application>Mozilla</application>
@@ -362,8 +590,8 @@
<para>No specific configuration is required as long as the
<command>mozilla</command> script is in the user's path. If
<application>Mozilla</application> is installed in a non-standard location,
- then make a symlink to the <command>mozilla</command> script from
- <filename class="directory">/usr/bin</filename>.</para>
+ then make a symlink to the <command>mozilla</command> script in the
+ <filename class="directory">/usr/bin</filename> directory.</para>
<para>Many applications look for <command>netscape</command> when they need
to open a browser. You may make the following symlink for convenience (as
@@ -381,18 +609,42 @@
<screen role="root"><userinput>ln -v -s
$JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so \
/usr/lib/mozilla-&mozilla-version;/plugins</userinput></screen>
+ <para>Along with using the <quote>Preferences</quote> menu to configure
+ <application>Mozilla</application>'s options and preferences to suit
+ individual tastes, finer grain control of many options is only available
+ using a tool not available from the general menu system. To access this
+ tool, you'll need to open a Navigator window and enter
+ <systemitem role='url'>about:config</systemitem> in the
+ address bar. This will display a list of the configuration preferences and
+ information related to each one. You can use the <quote>Filter:</quote> bar
+ to enter search criteria and narrow down the listed items. Changing a
+ preference can be done using two methods. One, if the preference has a
+ boolean value (True/False), simply double-click on the preference to toggle
+ the value and two, for other preferences simply right-click on the desired
+ line, choose <quote>Modify</quote> from the menu and change the value.
+ Creating new preference items is accomplished in the same way, except
+ choose <quote>New</quote> from the menu and provide the desired data into
+ the fields when prompted.</para>
+
+ <tip>
+ <para>There is a multitude of configuration parameters you can tweak to
+ customize <application>Mozilla</application>. A very extensive and
+ up-to-date list of these parameters can be found at <ulink
+ url="http://preferential.mozdev.org/preferences.html"/>.</para>
+ </tip>
+
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
- <segtitle>Installed Program</segtitle>
+ <segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directories</segtitle>
<seglistitem>
- <seg>mozilla</seg>
+ <seg>mozilla and mozilla-config</seg>
<seg>Numerous libraries, browser, and email/newsgroup components,
plugins, extensions, and helper modules installed in <filename
class='directory'>/usr/lib/mozilla-&mozilla-version;</filename></seg>
--
http://linuxfromscratch.org/mailman/listinfo/blfs-book
FAQ: http://www.linuxfromscratch.org/blfs/faq.html
Unsubscribe: See the above information page