glfs/xsoft/office/libreoffice.xml
Andrew Benton 5b9edb4a32 Libreoffice 3.5.3.2
git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@10081 af4574ff-66df-0310-9fd7-8a98e5e911e0
2012-05-05 13:47:13 +00:00

612 lines
21 KiB
XML

<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../../general.ent">
%general-entities;
<!ENTITY libreoffice-core-download-http
"http://download.documentfoundation.org/libreoffice/src/&libreoffice-version;/libreoffice-core-&libreoffice-version;.2.tar.xz">
<!ENTITY libreoffice-core-download-ftp " ">
<!ENTITY libreoffice-core-md5sum "d22cd79e7463ac4caf0a4b47d78a82ac">
<!ENTITY libreoffice-core-size "99 MB">
<!ENTITY libreoffice-dictionaries-download-http
"http://download.documentfoundation.org/libreoffice/src/&libreoffice-version;/libreoffice-dictionaries-&libreoffice-version;.2.tar.xz">
<!ENTITY libreoffice-dictionaries-download-ftp " ">
<!ENTITY libreoffice-dictionaries-md5sum "f4ebfe04dc035dd075709a3f6cb76284">
<!ENTITY libreoffice-dictionaries-size "32 MB">
<!ENTITY libreoffice-help-download-http
"http://download.documentfoundation.org/libreoffice/src/&libreoffice-version;/libreoffice-help-&libreoffice-version;.2.tar.xz">
<!ENTITY libreoffice-help-download-ftp " ">
<!ENTITY libreoffice-help-md5sum "3455f3f523d739aa391b5a5bf04ff958">
<!ENTITY libreoffice-help-size "1.8 MB">
<!ENTITY libreoffice-translations-download-http
"http://download.documentfoundation.org/libreoffice/src/&libreoffice-version;/libreoffice-translations-&libreoffice-version;.2.tar.xz">
<!ENTITY libreoffice-translations-download-ftp " ">
<!ENTITY libreoffice-translations-md5sum "945fbf7888c464f4e1cf7282d370b257">
<!ENTITY libreoffice-translations-size "117 MB">
<!ENTITY libreoffice-buildsize "6 GB (379 MB installed)">
<!ENTITY libreoffice-time "61 SBU">
]>
<sect1 id="libreoffice" xreflabel="libreoffice-&libreoffice-version;">
<?dbhtml filename="libreoffice.html"?>
<sect1info>
<othername>$LastChangedBy$</othername>
<date>$Date$</date>
</sect1info>
<title>libreoffice-&libreoffice-version;.2</title>
<indexterm zone="libreoffice">
<primary sortas="a-libreoffice">libreoffice</primary>
</indexterm>
<sect2 role="package">
<title>Introduction to Libre Office</title>
<para>
<application>Libre Office</application> is a collection of programs for
creating and editing office documents. It is largely compatible with
<application>Microsoft Office</application> and
<application>Open Office</application> on which it is based.
</para>
&lfs71_checked;
<bridgehead renderas="sect3">Package Information</bridgehead>
<itemizedlist spacing="compact">
<listitem>
<para>
Core Download (HTTP): <ulink url="&libreoffice-core-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Core Download (FTP): <ulink url="&libreoffice-core-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Core Download MD5 sum: &libreoffice-core-md5sum;
</para>
</listitem>
<listitem>
<para>
Core Download size: &libreoffice-core-size;
</para>
</listitem>
<listitem>
<para>
Dictionaries Download (HTTP):
<ulink url="&libreoffice-dictionaries-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Dictionaries Download (FTP):
<ulink url="&libreoffice-dictionaries-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Dictionaries Download MD5 sum: &libreoffice-dictionaries-md5sum;
</para>
</listitem>
<listitem>
<para>
Dictionaries Download size: &libreoffice-dictionaries-size;
</para>
</listitem>
<listitem>
<para>
Help Download (HTTP): <ulink url="&libreoffice-help-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Help Download (FTP): <ulink url="&libreoffice-help-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Help Download MD5 sum: &libreoffice-help-md5sum;
</para>
</listitem>
<listitem>
<para>
Help Download size: &libreoffice-help-size;
</para>
</listitem>
<listitem>
<para>
Translations Download (HTTP):
<ulink url="&libreoffice-translations-download-http;"/>
</para>
</listitem>
<listitem>
<para>
Translations Download (FTP):
<ulink url="&libreoffice-translations-download-ftp;"/>
</para>
</listitem>
<listitem>
<para>
Translations Download MD5 sum: &libreoffice-translations-md5sum;
</para>
</listitem>
<listitem>
<para>
Translations Download size: &libreoffice-translations-size;
</para>
</listitem>
<listitem>
<para>
Estimated disk space required: &libreoffice-buildsize;
</para>
</listitem>
<listitem>
<para>
Estimated build time: &libreoffice-time;
</para>
</listitem>
</itemizedlist>
<bridgehead renderas="sect3">Libre Office Dependencies</bridgehead>
<bridgehead renderas="sect4">Required</bridgehead>
<para role="required">
<xref linkend="cups"/>,
<xref linkend="curl"/> or <xref linkend="wget"/>,
<xref linkend="gperf"/>,
<xref linkend="gtk2"/> or <xref linkend="gtk3"/>,
<application>Perl Modules</application>
<xref linkend="perl-archive-zip"/> and
<xref linkend="perl-xml-parser"/>,
<xref linkend="unzip"/>,
<xref linkend="which"/> and
<xref linkend="zip"/>.
</para>
<bridgehead renderas="sect4">Recommended</bridgehead>
<note>
<para>
Most of these packages are recommend because if they're not installed
the build process will compile and install its own (often older)
version. If you're using <application>GCC 4.7</application> some of
those older packages will fail to compile.
</para>
</note>
<para role="recommended">
<xref linkend="boost"/>,
<xref linkend="db"/>,
<xref linkend="expat"/>,
<xref linkend="gst-plugins-base"/>,
<xref linkend="libjpeg"/>,
<xref linkend="libgsf"/>,
<xref linkend="libpng"/>,
<xref linkend="librsvg"/>,
<xref linkend="libxml2"/> and <xref linkend="libxslt"/>,
<xref linkend="neon"/>,
<xref linkend="nss"/>,
<xref linkend="openssl"/>,
<xref linkend="poppler"/>,
<xref linkend="postgresql"/> and
<xref linkend="redland"/>.
</para>
<bridgehead renderas="sect4">Optional</bridgehead>
<para role="optional">
<ulink url="http://hunspell.sourceforge.net/">Hunspell</ulink>,
<ulink url="http://sourceforge.net/projects/hunspell/files/MyThes/">MyThes</ulink>,
<ulink url="http://sampleicc.sourceforge.net/">SampleICC</ulink>,
<ulink url="http://hci.iwr.uni-heidelberg.de/vigra">Vigra</ulink> and
<xref linkend="zenity"/>.
</para>
<para condition="html" role="usernotes">
User Notes: <ulink url="&blfs-wiki;/libreoffice"/>
</para>
</sect2>
<sect2 role="installation">
<title>Installation of Libre Office</title>
<warning>
<para>
Untaring the libreoffice-core-&libreoffice-version;.2 tarball as
<systemitem class="username">root</systemitem> has the curious effect of
changing the ownership of the <emphasis>parent</emphasis> directory
to a user with numerical id 11012 and with the permissions set to allow
read, write and execute for that user only! If you untared as
<systemitem class="username">root</systemitem> in your home folder you
could end up unable to log in again :/ If you untared it in
<filename class="directory">/usr</filename> you would find your user
account unable to access any file in
<filename class="directory">/usr</filename>.
</para>
<para>
You can avoid this unpleasantness by
<emphasis>not</emphasis> untaring it as
<systemitem class="username">root</systemitem>. If you must untar it as
<systemitem class="username">root</systemitem> pass the option
<option>--no-overwrite-dir</option> to tar. This is the default when you
untar as a user but has to be passed as an option when untaring as
<systemitem class="username">root</systemitem>:
</para>
</warning>
<screen role="root"><userinput>tar xf --no-overwrite-dir libreoffice-core-&libreoffice-version;.2.tar.xz &amp;&amp;
cd libreoffice-core-&libreoffice-version;.2</userinput></screen>
<para>
Install <application>Libre Office</application> by running the following
commands:
</para>
<screen><userinput>tar -xf ../libreoffice-translations-&libreoffice-version;.2.tar.xz --strip-components=1 &amp;&amp;
tar -xf ../libreoffice-help-&libreoffice-version;.2.tar.xz --strip-components=1 &amp;&amp;
tar -xf ../libreoffice-dictionaries-&libreoffice-version;.2.tar.xz --strip-components=1 &amp;&amp;
./autogen.sh --prefix=/usr \
--disable-binfilter \
--disable-gconf \
--disable-mozilla \
--disable-odk \
--with-system-boost \
--with-system-cairo \
--with-system-curl \
--with-system-db \
--with-system-expat \
--with-system-hunspell \
--with-system-icu \
--with-system-jpeg \
--with-system-libpng \
--with-system-libxml \
--with-system-neon \
--with-system-nss \
--with-system-openssl \
--with-system-poppler \
--with-system-postgresql \
--with-system-redland \
--with-system-zlib \
--with-num-cpus=$(getconf _NPROCESSORS_ONLN) \
--with-lang="pt-BR" \
--without-java &amp;&amp;
./download &amp;&amp;
mkdir -p ../libreoffice-downloads &amp;&amp;
cp -rf src/* ../libreoffice-downloads &amp;&amp;
make</userinput></screen>
<para>
This package does not come with a test suite.
</para>
<para>
Now, as the <systemitem class="username">root</systemitem> user:
</para>
<screen role="root"><userinput>make install &amp;&amp;
for program in base calc draw impress math writer
do
echo "#!/bin/bash
exec /usr/lib/libreoffice/program/soffice --nologo --${program} \"\${@}\"" \
> /usr/bin/${program}
chmod 755 /usr/bin/${program}
done &amp;&amp;
ln -s ../lib/libreoffice/program/spadmin /usr/bin/printeradmin &amp;&amp;
ln -s ../lib/libreoffice/program/unopkg /usr/bin &amp;&amp;
cp sysui/desktop/man/{libreoffice,unopkg}.1 /usr/share/man/man1 &amp;&amp;
for res in 16 32 48 128 256
do
mkdir -p /usr/share/icons/hicolor/${res}x${res}/{apps,mimetypes}
cp sysui/desktop/icons/hicolor/${res}x${res}/apps/*.png \
/usr/share/icons/hicolor/${res}x${res}/apps
cp sysui/desktop/icons/hicolor/${res}x${res}/mimetypes/*.png \
/usr/share/icons/hicolor/${res}x${res}/mimetypes
done &amp;&amp;
gtk-update-icon-cache /usr/share/icons/hicolor</userinput></screen>
</sect2>
<sect2 role="commands">
<title>Command Explanations</title>
<para>
<command>tar -xf ../libreoffice-translations-&libreoffice-version;.2.tar.xz
--strip-components=1</command>: This command untars the translations
inside the source. The <option>--strip-components=1</option> option
removes the leading directory from the path of the untared files. Without
this option we would need to move or symlink the
<filename class="directory">translations</filename> folder into the
correct position.
</para>
<para>
<command>tar -xf ../libreoffice-help-&libreoffice-version;.2.tar.xz
--strip-components=1</command>: This command untars the help files inside
the source. The <option>--strip-components=1</option> option removes the
leading directory from the path of the untared files. Without this option
we would need to move or symlink the
<filename class="directory">helpcontent2</filename> folder into the
correct position.
</para>
<para>
<command>tar -xf ../libreoffice-dictionaries-&libreoffice-version;.2.tar.xz
--strip-components=1</command>: This command untars the dictionaries inside
the source. The <option>--strip-components=1</option> option removes the
leading directory from the path of the untared files. Without this option
we would need to move or symlink the
<filename class="directory">dictionaries</filename> folder into the
correct position.
</para>
<para>
<option>--enable-gtk3</option>: Add this option if you've installed and
want to use <application>Gtk+-3</application>.
</para>
<para>
<option>--disable-gstreamer</option>: Add this option if you've not
installed <xref linkend="gst-plugins-base"/>.
</para>
<para>
<option>--disable-binfilter</option>: These "binfilters" enable
<application>Libre Office</application> to open legacy
<application>Star Office</application> format documents. Compiling
<application>binfilter</application> requires
<application>Java</application>.
</para>
<para>
<option>--disable-gconf</option>: Compiling with support for
<application>GConf</application> requires the deprecated
<application>ORBit</application>.
</para>
<para>
<option>--disable-mozilla</option>: This option stops
<application>Libre Office</application> trying to compile an old version
of <application>SeaMonkey</application>.
</para>
<para>
<option>--disable-odk</option>: This option disables installing the
office development kit. Remove this option if you want to develop a
<application>Libre Office</application> based application.
</para>
<para>
<option>--with-system- ...</option>: These options prevent
<application>Libre Office</application> trying to compile its own
versions of these dependencies. If you've not installed
some of the dependencies, remove the corresponding option.
</para>
<para>
<option>--with-num-cpus=$(getconf _NPROCESSORS_ONLN)</option>: This option
tells <application>Libre Office</application> to use all your CPUs to compile
in parallel and speed up the build.
</para>
<para>
<option>--with-lang="pt-BR"</option>: This option sets what languages to
support. en-US is always included by default. For a list of the available
options: <command>ls translations/source</command>.
</para>
<para>
<option>--without-java</option>: This option compiles
<application>Libre Office</application> without
<application>Java</application> support.
</para>
<para>
<option>--with-vendor=LFS-BLFS</option>: This option sets LFS-BLFS as the
vendor which is mentioned when you click About on the toolbar.
</para>
<para>
<command>./download</command>: The build process runs the
<command>download</command> script which downloads some 320MB of
source tarballs and another copy of the dictionaries, help files and
translations. We run the download script to get it out of the way at the
start so we can make a backup copy of the downloaded files.
</para>
<para>
<command>mkdir -p ../libreoffice-downloads;
cp -rf src/* ../libreoffice-downloads</command>: this makes a backup copy
of the downloaded files so you don't have to download them again if you
decide to recompile <application>Libre Office</application>. In that case,
just start with:
<command>mkdir src; cp ../libreoffice-downloads/* src</command>
</para>
<para>
<command>for program in base calc draw impress math writer ...</command>:
These commands create 6 simple shell scripts in
<filename class="directory">/usr/bin</filename> that can be used to launch
<application>Libre Office</application> in its various forms. If you like
seeing the <application>Libre Office</application> splash screen, remove
the "--nologo" option.
</para>
<para>
<command>for res in 16 32 48 128 256 ...</command>: These commands copy
various icons into the hicolor icon theme used by
<application>Gtk+</application>.
</para>
<para>
<command>gtk-update-icon-cache /usr/share/icons/hicolor</command>: This
command rebuilds
<filename>/usr/share/icons/hicolor/icon-theme.cache</filename> to include
the new icons.
</para>
</sect2>
<sect2 role="configuration">
<title>Configuring Libre Office</title>
<para>
If you use a desktop environment like <application>Gnome</application>
or <application>KDE</application> and want the programs to show up in the
panel's menu, as the <systemitem class="username">root</systemitem> user,
create some simple desktop files:
</para>
<screen role="root"><userinput>for program in base calc draw impress math writer
do echo "[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=${program^}
Comment=Libre Office ${program^}
Icon=${program}
Exec=${program}
Categories=Office;Application;
StartupNotify=true
Terminal=false" > /usr/share/applications/${program}.desktop
done &amp;&amp;
echo "[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=Printer Administration
Comment=Libre Office Printer Administration
Icon=printeradmin
Exec=printeradmin
Categories=Office;Printing;Application;
StartupNotify=true
Terminal=false" > /usr/share/applications/printeradmin.desktop</userinput></screen>
</sect2>
<sect2 role="content">
<title>Contents</title>
<segmentedlist>
<segtitle>Installed Programs</segtitle>
<segtitle>Installed Libraries</segtitle>
<segtitle>Installed Directory</segtitle>
<seglistitem>
<seg>base, calc, draw, impress, math, printeradmin and writer.</seg>
<seg>
Hundreds of shared libraries in
<filename class="directory">/usr/lib/libreoffice</filename>.
</seg>
<seg>/usr/lib/libreoffice.</seg>
</seglistitem>
</segmentedlist>
<variablelist>
<bridgehead renderas="sect3">Short Descriptions</bridgehead>
<?dbfo list-presentation="list"?>
<?dbhtml list-presentation="table"?>
<varlistentry id="base">
<term><command>base</command></term>
<listitem>
<para>
is a database manager.
</para>
<indexterm zone="libreoffice base">
<primary sortas="b-base">base</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="calc">
<term><command>calc</command></term>
<listitem>
<para>
is a spreadsheet program.
</para>
<indexterm zone="libreoffice calc">
<primary sortas="b-calc">calc</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="draw">
<term><command>draw</command></term>
<listitem>
<para>
is a vector graphics editor and diagramming tool.
</para>
<indexterm zone="libreoffice draw">
<primary sortas="b-draw">draw</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="impress">
<term><command>impress</command></term>
<listitem>
<para>
can edit and display powerpoint presentations.
</para>
<indexterm zone="libreoffice impress">
<primary sortas="b-impress">impress</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="math">
<term><command>math</command></term>
<listitem>
<para>
is a mathematical formula editor.
</para>
<indexterm zone="libreoffice math">
<primary sortas="b-math">math</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="printeradmin">
<term><command>printeradmin</command></term>
<listitem>
<para>
is a graphical interface to enable you to change your personal
printing preferences, which are saved in
<filename>~/.cups/lpoptions</filename>.
</para>
<indexterm zone="libreoffice printeradmin">
<primary sortas="b-printeradmin">printeradmin</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="unopkg">
<term><command>unopkg</command></term>
<listitem>
<para>
is a tool to manage <application>Libre Office</application>
extensions from the command line.
</para>
<indexterm zone="libreoffice unopkg">
<primary sortas="b-unopkg">unopkg</primary>
</indexterm>
</listitem>
</varlistentry>
<varlistentry id="writer">
<term><command>writer</command></term>
<listitem>
<para>
is a word processor.
</para>
<indexterm zone="libreoffice writer">
<primary sortas="b-writer">writer</primary>
</indexterm>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>