Changeset 7f588e9a for xsoft


Ignore:
Timestamp:
01/25/2006 10:08:21 PM (18 years ago)
Author:
Randy McMurchy <randy@…>
Branches:
10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.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
Children:
d72570b5
Parents:
e165fddb
Message:

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

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • xsoft/graphweb/mozilla.xml

    re165fddb r7f588e9a  
    55  %general-entities;
    66
    7   <!ENTITY mozilla-download-http "http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
    8   <!ENTITY mozilla-download-ftp  "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
    9   <!ENTITY mozilla-md5sum        "ed54ad54b4b5de85c7916e7d1efa0ae3">
    10   <!ENTITY mozilla-size          "29 MB">
    11   <!ENTITY mozilla-buildsize     "620 MB">
    12   <!ENTITY mozilla-time          "12.8 SBU">
    13 
    14   <!ENTITY mozilla-enigmail-version "0.92.0">
    15   <!ENTITY mozilla-enigmail-md5sum  "50c369ce6d6fcb2d275cd30319a601ff">
    16   <!ENTITY mozilla-ipc-version      "1.1.3">
    17   <!ENTITY mozilla-ipc-md5sum       "64ba4c6e3b52568468c4f6680ec7e679">
     7  <!ENTITY mozilla-download-http      "http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
     8  <!ENTITY mozilla-download-ftp       "ftp://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla&mozilla-version;/source/mozilla-&mozilla-version;-source.tar.bz2">
     9  <!ENTITY mozilla-md5sum             "f1ad6adbbc0510eb76d352c94c801fac">
     10  <!ENTITY mozilla-size               "30.4 MB">
     11  <!ENTITY mozilla-buildsize          "575 MB">
     12  <!ENTITY mozilla-time               "9.4 SBU">
     13
     14  <!--
     15
     16  BLFS Devs:
     17
     18  The information below is for the Enigmail and IPC downloads. Additionally,
     19  a makemake file is download because we cannot build Enigmail using an
     20  object directory without it. Informaiton about the Enigmail source to
     21  check for updates is located at http://enigmail.mozdev.org/source.html.
     22
     23  The link to the makemake file is near the end of the page in the section
     24  titled "Using OBJDIR when building Enigmail". Ensure you check the rev
     25  level of the link and update the "enigmail-makemake-version" entitity
     26  if necessary. In case you are wondering why the version has the question
     27  mark and "rev=" in it, it is because the complete URL is used in a command
     28  and it would extend past the 71 characters that PDF render is limited to.
     29  It should make sense after you see it rendered in the wget command.
     30
     31  -->
     32
     33  <!ENTITY mozilla-enigmail-version   "0.93.0">
     34  <!ENTITY mozilla-ipc-version        "1.1.3">
     35  <!ENTITY enigmail-makemake-version  "?rev=1.3">
     36  <!ENTITY mozilla-enigmail-download  "http://www.mozilla-enigmail.org/downloads/src/enigmail-&mozilla-enigmail-version;.tar.gz">
     37  <!ENTITY mozilla-ipc-download       "http://www.mozilla-enigmail.org/downloads/src/ipc-&mozilla-ipc-version;.tar.gz">
     38  <!ENTITY enigmail-makemake-download "http://www.mozdev.org/source/browse/~checkout~/enigmail/src/makemake">
     39  <!ENTITY mozilla-enigmail-md5sum    "cb7126705924cb7f0de205b4ff4e28b4">
     40  <!ENTITY mozilla-ipc-md5sum         "64ba4c6e3b52568468c4f6680ec7e679">
    1841]>
    1942
     
    4871    complete browser suite or prefer to have separate applications for
    4972    browsing and e-mail. These subprojects are <ulink
    50     url="http://www.mozilla.org/products/firefox/">Mozilla Firefox</ulink>,
     73    url="http://www.mozilla.com/firefox/">Mozilla Firefox</ulink>,
    5174    (a stand-alone browser based on the <application>Mozilla</application>
    5275    source code) and <ulink
    53     url="http://www.mozilla.org/products/thunderbird/">Mozilla
    54     Thunderbird</ulink>, (a stand-alone mail client based on the
     76    url="http://www.mozilla.com/thunderbird/">Mozilla Thunderbird</ulink>,
     77    (a stand-alone mail/newsgroup client based on the
    5578    <application>Mozilla</application> source code). The build instructions
    5679    for these two applications are discussed in separate sections:</para>
     
    91114      <listitem>
    92115        <para>Required patch: <ulink
    93           url="&patch-root;/mozilla-&mozilla-version;-gcc4-2.patch"/></para>
     116          url="&patch-root;/mozilla-&mozilla-version;-gcc4-1.patch"/></para>
     117      </listitem>
     118      <listitem>
     119        <para>Required patch: <ulink
     120          url="&patch-root;/mozilla-&mozilla-version;-gfx_fixes.patch"/></para>
     121      </listitem>
     122      <listitem>
     123        <para>Required patch (if using system-installed versions of
     124        <application>NSS</application> and <application>NSPR</application>):
     125        <ulink
     126        url="&patch-root;/mozilla-&mozilla-version;-system_nss-1.patch"/>
     127        </para>
    94128      </listitem>
    95129    </itemizedlist>
     
    97131    <para>To enable the <application>Enigmail</application> extension to
    98132    the <application>Mozilla</application> mail client, you'll need to
    99     download the two tarballs below. The <application>Enigmail</application>
    100     extension allows users to access the authentication and encryption
    101     features provided by the <application>GnuPG</application> package.</para>
     133    download the two tarballs and <command>makemake</command> file listed
     134    below. The <application>Enigmail</application> extension allows users to
     135    access the authentication and encryption features provided by the
     136    <application>GnuPG</application> package. The
     137    <application>Enigmail</application> extension will not operate correctly
     138    unless you have <xref linkend="gnupg"/> installed.</para>
    102139
    103140    <itemizedlist spacing='compact'>
    104141      <listitem>
     142        <para><ulink url="&mozilla-enigmail-download;"/></para>
     143      </listitem>
     144      <listitem>
     145        <para>Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum;</para>
     146      </listitem>
     147      <listitem>
     148        <para><ulink url="&mozilla-ipc-download;"/></para>
     149      </listitem>
     150      <listitem>
     151        <para>Download MD5 sum (IPC): &mozilla-ipc-md5sum;</para>
     152      </listitem>
     153      <listitem>
    105154        <para><ulink
    106         url="http://downloads.mozdev.org/enigmail/src/enigmail-&mozilla-enigmail-version;.tar.gz"/>
    107         </para>
    108       </listitem>
    109       <listitem>
    110         <para>Download MD5 sum (Enigmail): &mozilla-enigmail-md5sum;</para>
    111       </listitem>
    112       <listitem>
    113         <para><ulink
    114         url="http://downloads.mozdev.org/enigmail/src/ipc-&mozilla-ipc-version;.tar.gz"/>
    115         </para>
    116       </listitem>
    117       <listitem>
    118         <para>Download MD5 sum (IPC): &mozilla-ipc-md5sum;</para>
     155        url="&enigmail-makemake-download;&enigmail-makemake-version;"/></para>
    119156      </listitem>
    120157    </itemizedlist>
    121158
     159    <para>The <command>makemake</command> file is an enhanced version that will
     160    be copied into the source tree to replace an existing file during the
     161    installation instructions. The instructions expect the file to be named
     162    <filename>mozilla-&mozilla-version;-enigmail_makemake</filename>. If you
     163    have <xref linkend="wget"/> installed, you can download and rename the file
     164    in one step using the following command:</para>
     165
     166<screen><userinput>wget -O mozilla-&mozilla-version;-enigmail_makemake \
     167&enigmail-makemake-download;\
     168&enigmail-makemake-version;</userinput></screen>
     169
    122170    <bridgehead renderas="sect3">Mozilla Dependencies</bridgehead>
    123171
    124172    <bridgehead renderas="sect4">Required</bridgehead>
    125     <para role="required"><xref linkend="zip"/>,
    126     <xref linkend="gtk2"/>,
    127     <xref linkend="libidl"/></para>
    128 
    129     <bridgehead renderas="sect4">Recommended</bridgehead>
    130     <para role="recommended"><xref linkend="gnupg"/> (for the
    131     <application>Enigmail</application> extension)</para>
     173    <para role="required"><xref linkend="gtk2"/>,
     174    <xref linkend="libidl"/>, and
     175    <xref linkend="zip"/></para>
     176
     177    <para>Note: <application>libjpeg</application> should have been installed
     178    before <application>GTK+</application> and should exist on your system. If
     179    for some reason you haven't installed <application>libjpeg</application>,
     180    you should remove the <option>--with-system-jpeg</option> option from the
     181    <filename>.mozconfig</filename> file created below.</para>
     182
     183    <bridgehead renderas="sect4">Recommended (if you will be installing any
     184    other package that utilizes NSS/NSPR, such as
     185    <application>Firefox</application> or
     186    <application>Thunderbird</application>)</bridgehead>
     187    <para role="recommended"><xref linkend="nss"/></para>
    132188
    133189    <bridgehead renderas="sect4">Optional</bridgehead>
    134     <para role="optional"><xref linkend="libjpeg"/>,
    135     <xref linkend="unzip"/>,
     190    <para role="optional"><xref linkend="unzip"/>,
    136191    <xref linkend="gnome-vfs"/> (to build the gnomevfs extension),
    137     <xref linkend="libart_lgpl"/>,
     192    <xref linkend="libart_lgpl"/>, and
    138193    <xref linkend="heimdal"/> or <xref linkend="mitkrb"/>
    139     (for the GSSAPI libraries to build the negotiateauth extension),
    140     <xref linkend="doxygen"/>,
    141     <ulink url="http://xprint.mozdev.org/">Xprint</ulink>,
    142     <ulink url="http://perens.com/FreeSoftware/">Electric Fence</ulink></para>
     194    (for the GSSAPI libraries to build the negotiateauth extension)</para>
    143195
    144196  </sect2>
     
    147199    <title>Installation of Mozilla</title>
    148200
     201    <para>The configuration of <application>Mozilla</application> is
     202    accomplished by creating a <filename>.mozconfig</filename> file containing
     203    the desired configuration options. A default <filename>.mozconfig</filename>
     204    file is created below. To see the entire list of available configuration
     205    options (and an abbreviated description of each one), issue
     206    <command>./configure --help</command>. Additional information can also be
     207    found below in the section titled <xref linkend="add-mozconfig"/>. If you
     208    are going to use system-installed versions of the
     209    <application>NSS</application> and <application>NSPR</application>
     210    libraries, ensure you uncomment the two lines at the bottom of the file. If
     211    you would prefer to download the file instead of creating it by typing or
     212    cut-and-pasting, you can find it at <ulink
     213    url="http://anduin.linuxfromscratch.org/files/BLFS/mozilla-&mozilla-version;-mozconfig"/>
     214    (the file must be installed in the root of the source tree
     215    <filename class='directory'>mozilla</filename> directory, and named
     216    <filename>.mozconfig</filename>). Create the file by issuing the following
     217    command:</para>
     218
     219<screen><userinput>cat &gt; .mozconfig &lt;&lt; "EOF"
     220<literal># Options for client.mk
     221
     222mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build
     223
     224# Options for 'configure' (same as command-line options)
     225
     226# Mandatory options
     227ac_add_options --enable-application=suite
     228ac_add_options --prefix=/usr
     229
     230# Options for system-installed software
     231ac_add_options --with-system-zlib
     232ac_add_options --with-system-png
     233ac_add_options --with-system-jpeg
     234
     235# Options in all Mozilla-family builds
     236ac_add_options --enable-official-branding
     237ac_add_options --enable-strip
     238ac_add_options --disable-tests
     239ac_add_options --disable-installer
     240ac_add_options --disable-accessibility
     241
     242# Options used for graphics settings in Mozilla Suite (Not Seamonkey)
     243ac_add_options --enable-default-toolkit=gtk2
     244ac_add_options --enable-xft
     245ac_add_options --disable-freetype2
     246
     247# Options used just for Mozilla Suite (Not Seamonkey)
     248ac_add_options --enable-optimize
     249ac_add_options --disable-debug
     250ac_add_options --disable-logging
     251ac_add_options --enable-crypto
     252ac_add_options --enable-extensions=all
     253
     254# Options used just for Mozilla Suite
     255ac_add_options --enable-ldap
     256ac_add_options --enable-calendar
     257
     258# Options used for system-installed NSS/NSPR
     259#ac_add_options --with-system-nspr
     260#ac_add_options --with-system-nss</literal>
     261
     262EOF</userinput></screen>
     263
     264    <para>If you have system-installed Network Security Services (NSS) and
     265    Netscape Portable Runtime (NSPR) libraries and you uncommented the
     266    appropriate lines in the <filename>.mozconfig</filename> file to utilize
     267    them, apply the following patch:</para>
     268
     269<screen><userinput>patch -Np1 -i ../mozilla-&mozilla-version;-system_nss-1.patch</userinput></screen>
     270
    149271    <para>Compile <application>Mozilla</application> by running the
    150272    following commands:</para>
    151273
    152 <screen><userinput>patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-2.patch &amp;&amp;
    153 export MOZILLA_OFFICIAL="1" &amp;&amp;
     274<screen><userinput>export MOZILLA_OFFICIAL="1" &amp;&amp;
    154275export BUILD_OFFICIAL="1" &amp;&amp;
    155 export MOZ_CO_PROJECT="suite" &amp;&amp;
    156 ./configure --prefix=/usr \
    157             --with-default-mozilla-five-home=/usr/lib/mozilla \
    158             --with-system-zlib \
    159             --with-system-png \
    160             --enable-application=suite \
    161             --enable-default-toolkit=gtk2 \
    162             --enable-extensions=all \
    163             --enable-crypto \
    164             --enable-xft \
    165             --enable-xinerama \
    166             --enable-optimize \
    167             --enable-reorder \
    168             --enable-strip \
    169             --enable-cpp-rtti \
    170             --enable-calendar \
    171             --disable-freetype2 \
    172             --disable-accessibility \
    173             --disable-debug \
    174             --disable-tests \
    175             --disable-logging \
    176             --disable-pedantic \
    177             --disable-installer &amp;&amp;
    178 make</userinput></screen>
    179 
    180     <para>You should add the <option>--with-system-jpeg</option> switch
    181     to the <command>configure</command> script if you have
    182     <application>libjpeg</application> installed.</para>
    183 
    184     <para>If you're building the <application>Mozilla</application> mail
    185     and news clients and plan to install the <application>Enigmail</application>
    186     extension, execute the following steps:</para>
     276
     277patch -Np1 -i ../mozilla-&mozilla-version;-gfx_fixes-1.patch &amp;&amp;
     278patch -Np1 -i ../mozilla-&mozilla-version;-gcc4-1.patch &amp;&amp;
     279
     280make -f client.mk build</userinput></screen>
     281
     282    <para>If you're building the <application>Mozilla</application>
     283    mail/newsgroup client and plan to install the
     284    <application>Enigmail</application> extension, issue the following
     285    commands:</para>
    187286
    188287<screen><userinput>tar -xf ../enigmail-&mozilla-enigmail-version;.tar.gz -C extensions &amp;&amp;
    189288tar -xf ../ipc-&mozilla-ipc-version;.tar.gz -C extensions &amp;&amp;
    190 build/autoconf/make-makefile extensions/ipc extensions/enigmail &amp;&amp;
    191 make -C extensions/ipc &amp;&amp;
    192 make -C extensions/enigmail</userinput></screen>
    193 
    194     <para>Install <application>Mozilla</application> (as the
    195     <systemitem class="username">root user</systemitem>) as follows:</para>
    196 
    197 <screen role="root"><userinput>make install &amp;&amp;
    198 install -v -d -m755 /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
    199 cp -v -Lf dist/private/nss/*.h dist/public/nss/*.h \
    200    /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
    201 ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla &amp;&amp;
     289
     290install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
     291    extensions/ipc/makemake &amp;&amp;
     292install -v -m755 -b ../mozilla-&mozilla-version;-enigmail_makemake \
     293    extensions/enigmail/makemake &amp;&amp;
     294
     295cd extensions/ipc &amp;&amp;
     296./makemake -r &amp;&amp;
     297
     298cd ../enigmail &amp;&amp;
     299./makemake -r &amp;&amp;
     300
     301cd ../.. &amp;&amp;
     302make -C ../mozilla-build/extensions/ipc &amp;&amp;
     303make -C ../mozilla-build/extensions/enigmail &amp;&amp;
     304make -C ../mozilla-build/extensions/enigmail xpi</userinput></screen>
     305
     306    <para>Install <application>Mozilla</application> by issuing the following
     307    commands as the <systemitem class="username">root</systemitem> user:</para>
     308
     309<screen role="root"><userinput>make -f client.mk install &amp;&amp;
     310
     311install -v -m644 ../mozilla-build/dist/public/ldap-private/* \
     312    /usr/include/mozilla-&mozilla-version;/ldap &amp;&amp;
     313
     314install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/defaults/isp/US &amp;&amp;
     315install -v -m644 mailnews/base/ispdata/movemail.rdf \
     316    /usr/lib/mozilla-&mozilla-version;/defaults/isp &amp;&amp;
     317ln -v -s ../movemail.rdf /usr/lib/mozilla-&mozilla-version;/defaults/isp/US &amp;&amp;
     318
    202319if [ -d /usr/lib/mozilla/plugins ]; then
     320    if [ -f /usr/lib/mozilla/plugins/libnullplugin.so ]; then
     321        rm -vf /usr/lib/mozilla/plugins/libnullplugin.so
     322    fi
    203323    mv -v /usr/lib/mozilla/plugins/* /usr/lib/mozilla-&mozilla-version;/plugins
    204324    rm -v -rf /usr/lib/mozilla
    205325fi &amp;&amp;
    206 ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla</userinput></screen>
    207 
    208     <para>If you're installing the <application>Enigmail</application>
    209     extension, issue the following commands as the
     326
     327ln -v -nsf mozilla-&mozilla-version; /usr/lib/mozilla &amp;&amp;
     328ln -v -nsf mozilla-&mozilla-version; /usr/include/mozilla</userinput></screen>
     329
     330    <para>If you built <application>Mozilla</application> utilizing
     331    system-installed NSS and NSPR libraries, the
     332    <filename>mozilla-ns*.pc</filename> <application>pkgconfig</application>
     333    files need to be modified. Issue the following command as the
    210334    <systemitem class="username">root</systemitem> user:</para>
    211335
    212 <screen role="root"><userinput>make -C extensions/ipc install &amp;&amp;
    213 make -C extensions/enigmail install</userinput></screen>
     336<screen role="root"><userinput>sed -i 's|/mozilla-&mozilla-version;||' /usr/lib/pkgconfig/mozilla-ns*.pc</userinput></screen> 
     337
     338    <para>If you did <emphasis role="strong">NOT</emphasis> build
     339    <application>Mozilla</application> utilizing system-installed NSS and
     340    NSPR libraries, issue the following commands as the
     341    <systemitem class="username">root</systemitem> user to install the NSS
     342    interface headers:</para>
     343
     344<screen role="root"><userinput>install -v -m755 -d /usr/include/mozilla-&mozilla-version;/nss &amp;&amp;
     345cp -v -Lf ../mozilla-build/dist/{private,public}/nss/*.h \
     346   /usr/include/mozilla-&mozilla-version;/nss</userinput></screen>
     347
     348    <para>If you built the <application>Enigmail</application> extension,
     349    issue the following commands as the <systemitem
     350    class="username">root</systemitem> user to install the
     351    <filename>.xpi</filename> file into the
     352    <filename class='directory'>/usr/lib/mozilla-&mozilla-version;</filename>
     353    directory:</para>
     354
     355<screen role="root"><userinput>install -v -m755 -d /usr/lib/mozilla-&mozilla-version;/xpi_store &amp;&amp;
     356install -v -m644 ../mozilla-build/dist/bin/enigmail-&mozilla-enigmail-version;-*.xpi \
     357    /usr/lib/mozilla-&mozilla-version;/xpi_store</userinput></screen>
     358
     359      <para>There are two methods you can use to install the
     360      <application>Enigmail</application> extension. Both are shown here and
     361      provide the same functionality. The first method must be accomplished
     362      now (before the object directory is removed) and uses the conventional
     363      <command>make install</command> command to install the
     364      <application>Enigmail</application> files straight from the distribution
     365      directory of the object directory. An alternate method is shown as it
     366      installs using the <filename class='extension'>.xpi</filename> file
     367      created earlier and can be done later (at any time you desire) as the
     368      file used to install <application>Enigmail</application> was copied into
     369      <filename
     370      class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>
     371      in the previous step. This method can be used to install any
     372      downloaded <application>Mozilla</application> extension distributed in a
     373      <filename class='extension'>.xpi</filename> file. There are many
     374      extensions available for <application>Mozilla</application>. A list
     375      containing many of them can be found at
     376      <ulink url="http://extensionroom.mozdev.org/"/>.</para>
     377
     378    <para>If you want to install the <application>Enigmail</application>
     379    extension now, issue the following commands as the
     380    <systemitem class="username">root</systemitem> user:</para>
     381
     382<screen role="root"><userinput>make -C ../mozilla-build/extensions/ipc install &amp;&amp;
     383make -C ../mozilla-build/extensions/enigmail install</userinput></screen>
     384
     385    <para>To install an extension from a created or download
     386    <filename class='extension'>.xpi</filename> file, you simply need to
     387    <quote>open</quote> the <filename class='extension'>.xpi</filename> file
     388    using the <quote>Open File</quote> option of the <quote>File</quote>
     389    menu of the Navigator window. You can browse to find the file (for example,
     390    the <application>Enigmail</application>
     391    <filename class='extension'>.xpi</filename> file is located in
     392    <filename
     393    class='directory'>/usr/lib/mozilla-&mozilla-version;/xpi_store</filename>,
     394    select it, then follow the prompts to install the extension.</para>
     395
     396    <!-- Commenting this out as there really is no need to put the Mozilla
     397         Suite versions of NSS/NSPR in a system-wide location when there
     398         is now a BLFS package that does this.
    214399
    215400    <para>Some libraries, including the Netscape Portable Runtime (NSPR) and
     
    227412done</userinput></screen>
    228413
     414    -->
     415
     416    <!-- Commenting this out for now, as I believe this is only necessary
     417         for the binary versions of Mozilla. I've built this and had many
     418         system users access Mozilla simultaneously without having to do
     419         the steps shown here.
     420
    229421    <para>Create the required component registries to enable multi-user
    230422    installs. These steps should be preformed by the <systemitem
     
    241433touch `find . -name *.rdf`</userinput></screen>
    242434
     435    -->
     436
     437    <para>Unset the build variables from the unprivileged user's
     438    environment:</para>
     439
     440<screen><userinput>unset MOZILLA_OFFICIAL &amp;&amp;
     441unset BUILD_OFFICIAL</userinput></screen>
     442
    243443    <note>
    244444      <para>You should run <command>/usr/bin/mozilla</command> once as the
    245445      <systemitem class="username">root</systemitem> user (or any user with
    246446      write privileges) to create some necessary additional files in the
    247       <filename class='directory'>/usr</filename> hierarchy.</para>
     447      <filename class='directory'>/usr</filename> hierarchy. Also do this
     448      each time you install additional extensions.</para>
    248449    </note>
    249450
    250     <para>Lastly, unset the build variables from the unprivileged user's
    251     environment:</para>
    252 
    253 <screen><userinput>unset MOZILLA_OFFICIAL &amp;&amp;
    254 unset BUILD_OFFICIAL &amp;&amp;
    255 unset MOZ_CO_PROJECT</userinput></screen>
    256 
    257451  </sect2>
    258452
     453  <sect2 role="commands" id="add-mozconfig"
     454  xreflabel="Additional .mozconfig Options">
     455
     456    <title>Additional .mozconfig Options</title>
     457
     458    <para>Information about some of the additional options which can be added
     459    to the <filename>.mozconfig</filename> configuration file is shown below.
     460    Note that this is just a few of the options. You may wish to run
     461    <command>./configure --help</command> and review each of the listed options
     462    to discover what affect they have on the build. Feel free to add or remove
     463    options to tailor the build to your desires. Listed below are some common
     464    options not in the default <filename>.mozconfig</filename> file but can be
     465    added in order to have the described effect on the Mozilla compile.</para>
     466 
     467    <para><option>ac_add_options --enable-elf-dynstr-gc</option>: Removes
     468    un-referenced strings from ELF shared objects generated during the build.
     469    Note that this option breaks the build on alpha.</para>
     470
     471    <para><option>ac_add_options --disable-mailnews</option>: Disables the mail
     472    and news clients.</para>
     473
     474    <para><option>ac_add_options --disable-ldap</option>: Disables LDAP support,
     475    recommended if mail is disabled.</para>
     476
     477    <para><option>ac_add_options --enable-xterm-updates</option>: Displays the
     478    current command in the <command>xterm</command> window title during the
     479    compilation.</para>
     480
     481    <para><option>ac_add_options --enable-plaintext-editor-only</option>:
     482    Disables support for HTML editing. Do not use this switch if you are
     483    building the mail-news component.</para>
     484
     485  </sect2>
     486
    259487  <sect2 role="commands">
    260     <title>Optional Extra Switches</title>
    261 
    262     <para>You may wish to run <command>./configure --help</command> and review
    263     each of the listed options to discover what affect they have on the build.
    264     Feel free to add or remove options to tailor the build to your desires.
    265     Listed below are some common options not listed above but can be added to
    266     the <command>configure</command> command in order to have the described
    267     effect on the <application>Mozilla</application> compile.</para>
    268 
    269     <para><option>--with-system-jpeg</option>: Uses the system-installed copy
    270     of <application>libjpeg</application> instead of the bundled copy.</para>
    271 
    272     <para><option>--enable-elf-dynstr-gc</option>: Removes un-referenced
    273     strings from ELF shared objects generated during the build. Note that this
    274     option breaks the build on alpha.</para>
    275 
    276     <para><option>--disable-mailnews</option>: Disables the mail and news
    277     clients.</para>
    278 
    279     <para><option>--disable-ldap</option>: Disables LDAP support, recommended
    280     if mail is disabled.</para>
    281 
    282     <para><option>--enable-xterm-updates</option>: Displays the current command
    283     in the <command>xterm</command> window title during the compilation.</para>
    284 
    285     <para><option>--enable-plaintext-editor-only</option>: Disables support
    286     for HTML editing. Do not use this switch if you are building the mail-news
    287     component.</para>
    288 
    289   </sect2>
    290 
    291   <sect2 role="commands">
    292     <title>Command Explanations</title>
    293 
    294     <para><command>export MOZILLA_OFFICIAL="1";
    295     export BUILD_OFFICIAL="1"</command>: Set some variables that affect what and
    296     how the package is built. These two exports specify a distribution is being
    297     built.</para>
    298 
    299     <para><parameter>--with-default-mozilla-five-home=/usr/lib/mozilla</parameter>:
    300     Sets the default value for <envar>MOZILLA_FIVE_HOME</envar>.</para>
    301 
    302     <para><parameter>--with-system-zlib --with-system-png </parameter>: Use the
    303     system-installed versions of these packages.</para>
    304 
    305     <para><parameter>--enable-application=suite</parameter>: Identifies the build
    306     as a <application>Mozilla</application> suite build.</para>
    307 
    308     <para><parameter>--enable-default-toolkit=gtk2</parameter>: Use the
    309     GTK2 toolkit for graphics rendering.</para>
     488    <title>.mozconfig Option Explanations</title>
     489
     490    <para>To simplify reading the options below, they are labeled without
     491    <parameter>ac_add_options</parameter> inserted at the beginning of the
     492    option.</para>
     493
     494    <para><parameter>mk_add_options
     495    MOZ_OBJDIR=@TOPSRCDIR@/../mozilla-build</parameter>: Creates an object
     496    directory and specifies to build the package in that directory. If desired,
     497    modify the location of the object directory to a directory inside the
     498    source tree by removing <quote>../</quote> from the line.</para>
     499
     500    <para><parameter>--enable-application=suite</parameter>: Identifies the
     501    build as a <application>Mozilla</application> suite build.</para>
     502
     503    <para><parameter>--with-system-zlib --with-system-png
     504    --with-system-jpeg</parameter>: Uses the system-installed versions of these
     505    packages.</para>
     506
     507    <para><parameter>--enable-official-branding</parameter>: Uses the official
     508    Mozilla logos and icons in the built binaries. Due to license restrictions,
     509    you may not distribute binaries created using this option.</para>
     510
     511    <para><parameter>--enable-default-toolkit=gtk2 --enable-xft
     512    --disable-freetype2</parameter>: Use the GTK2 toolkit for graphics
     513    rendering and XFT (automatically pulls in the
     514    <application>FreeType</application> libraries) for font rendering.</para>
    310515
    311516    <para><parameter>--enable-extensions=all</parameter>: Enables all available
    312     extensions. If you want, you can disable any or all extensions other than the
    313     browser by changing this switch to
     517    extensions. If you want, you can disable any or all extensions other than
     518    the browser by changing this switch to
    314519    <option>--enable-extensions="default,-venkman,-inspector,..."</option>.
    315520    For a short description of the various extensions available with the
    316     <application>Mozilla</application> source, see
    317     <ulink
     521    <application>Mozilla</application> source, see <ulink
    318522    url="http://linuxfromscratch.org/~tushar/downloads/mozilla-extensions.txt"/>.
    319523    </para>
     
    323527
    324528    <para><parameter>--enable-calendar</parameter>: Builds the calendar
    325     application. Removed this parameter if you don't wish to build it.</para>
    326 
    327     <para><parameter>--enable-xft; --disable-freetype2</parameter>: Enable Xft
    328     support which automatically pulls in the <application>FreeType</application>
    329     libraries.</para>
     529    application. Remove this parameter if you don't wish to build it.</para>
    330530
    331531    <para><parameter>--enable-xinerama; --enable-optimize; --enable-reorder;
     
    337537    found by running <command>./configure --help</command>.</para>
    338538
    339     <para><command>install -d /usr/include/mozilla-&mozilla-version;/nss;
    340     cp -Lf ...</command>: Copy the NSS interface headers that
    341     are not copied by <command>make install</command>.</para>
     539  </sect2>
     540
     541  <sect2 role="commands">
     542    <title>Command Explanations</title>
     543
     544    <para><command>export MOZILLA_OFFICIAL="1"
     545    export BUILD_OFFICIAL="1"</command>: Sets some variables that affect what
     546    and how the package is built. These two exports specify a distribution is
     547    being built.</para>
     548
     549    <para><command>make -f client.mk ...</command>: Mozilla products are
     550    packaged to allow the use of a configuration file which can be used to
     551    pass the configuration settings to the <command>configure</command>
     552    command. <command>make</command> uses the <filename>client.mk</filename>
     553    file to get initial configuration and setup parameters, then depending on
     554    the target parameter (<parameter>build</parameter> or
     555    <parameter>install</parameter>), either runs the
     556    <command>configure</command> script and compiles the package or installs
     557    the package.</para>
     558
     559    <para><command>./makemake -r</command>: This command is used to recursively
     560    create <filename>Makefile</filename>s in the current directory.</para>
     561
     562    <para><command>make -C ... xpi</command>: This command builds the
     563    <application>Enigmail</application>
     564    <filename class='extension'>.xpi</filename> file which can be used to
     565    install <application>Enigmail</application>.</para>
     566
     567    <para><command>install .../movemail.rdf ...</command>: This
     568    command is used to install a file inadvertently left out of the
     569    installation script.</para>
    342570
    343571    <para><command>if [ -d /usr/lib/mozilla/plugins ] ... fi</command>: Some
    344572    applications may have already installed <application>Mozilla</application>
    345     plugins. This set of commands move any existing plugins to the newly created
    346     plugin directory, then removes the existing
     573    plugins. This set of commands moves any existing plugins to the newly
     574    created plugin directory, then removes the existing
    347575    <filename class='directory'>/usr/lib/mozilla</filename> directory.</para>
    348576
    349577    <para><command>ln -nsf mozilla-&mozilla-version; ...</command>:
    350     <application>Mozilla</application> installs headers and libraries in version
    351     specific directories. These commands makes symbolic links so that
     578    <application>Mozilla</application> installs headers and libraries in
     579    version specific directories. These commands makes symbolic links so that
    352580    applications depending on <application>Mozilla</application> (such as
    353581    <application>OpenOffice</application>, <application>Galeon</application>,
     
    363591    <command>mozilla</command> script is in the user's path. If
    364592    <application>Mozilla</application> is installed in a non-standard location,
    365     then make a symlink to the <command>mozilla</command> script from
    366     <filename class="directory">/usr/bin</filename>.</para>
     593    then make a symlink to the <command>mozilla</command> script in the
     594    <filename class="directory">/usr/bin</filename> directory.</para>
    367595
    368596    <para>Many applications look for <command>netscape</command> when they need
     
    382610    /usr/lib/mozilla-&mozilla-version;/plugins</userinput></screen>
    383611
     612    <para>Along with using the <quote>Preferences</quote> menu to configure
     613    <application>Mozilla</application>'s options and preferences to suit
     614    individual tastes, finer grain control of many options is only available
     615    using a tool not available from the general menu system. To access this
     616    tool, you'll need to open a Navigator window and enter
     617    <systemitem role='url'>about:config</systemitem> in the
     618    address bar. This will display a list of the configuration preferences and
     619    information related to each one. You can use the <quote>Filter:</quote> bar
     620    to enter search criteria and narrow down the listed items. Changing a
     621    preference can be done using two methods. One, if the preference has a
     622    boolean value (True/False), simply double-click on the preference to toggle
     623    the value and two, for other preferences simply right-click on the desired
     624    line, choose <quote>Modify</quote> from the menu and change the value.
     625    Creating new preference items is accomplished in the same way, except
     626    choose <quote>New</quote> from the menu and provide the desired data into
     627    the fields when prompted.</para>
     628
     629    <tip>
     630      <para>There is a multitude of configuration parameters you can tweak to
     631      customize <application>Mozilla</application>. A very extensive and
     632      up-to-date list of these parameters can be found at <ulink
     633      url="http://preferential.mozdev.org/preferences.html"/>.</para>
     634    </tip>
     635
    384636  </sect2>
    385637
     
    388640
    389641    <segmentedlist>
    390       <segtitle>Installed Program</segtitle>
     642      <segtitle>Installed Programs</segtitle>
    391643      <segtitle>Installed Libraries</segtitle>
    392644      <segtitle>Installed Directories</segtitle>
    393645
    394646      <seglistitem>
    395         <seg>mozilla</seg>
     647        <seg>mozilla and mozilla-config</seg>
    396648        <seg>Numerous libraries, browser, and email/newsgroup components,
    397649        plugins, extensions, and helper modules installed in <filename
Note: See TracChangeset for help on using the changeset viewer.