Open Office

From CBLFS
Revision as of 13:02, 16 December 2009 by Boloco (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
Download Source:
ftp://ftp.ussg.iu.edu/pub/openoffice/stable/3.1.1/OOo_3.1.1_src_core.tar.bz2
ftp://ftp.ussg.iu.edu/pub/openoffice/stable/3.1.1/OOo_3.1.1_src_binfilter.tar.bz2
ftp://ftp.ussg.iu.edu/pub/openoffice/stable/3.1.1/OOo_3.1.1_src_l10n.tar.bz2
ftp://ftp.ussg.iu.edu/pub/openoffice/stable/3.1.1/OOo_3.1.1_src_system.tar.bz2
Download Patch:
http://svn.cross-lfs.org/svn/repos/patches/OOo/OOo-3.1.1-HEADERFIX-1.patch

Introduction to Open Office

OpenOffice.org is a multiplatform and multilingual office suite that is compatible with all other major office suites.

Project Homepage: http://www.openoffice.org

Dependencies

Required

Recommended

Optional

Configuration Information

NOTE: If building a 64-bit version of Open Office using Sun's Java, you will need version 1.6 to complete the build successfully. It has been reported that Blackdown's current stable version of Java will successfully build Open Office.

The following are some configuration options that can be passed to Open Office. Each can be passed as an enable/disable or as a with/without option.

--disable-ldap: disables the use of LDAP backend via Netscape/Mozilla or OpenLDAP.
--enable-lockdown: enables the gconf integration work in OOo.
--enable-libsn: enables the use of libstartup-notification.
--disable-mozilla: build without the mozilla provided by OO.
--disable-odk: disable building the office development kit.
--disable-qadevooo: disable building the OO.o qa testsuites.
--disable-fontooo: disable FontOOo; useful if using FontConfig.
--disable-mathmldtd: disable mathmldtd.
--enable-evolution2: Enable the built-in evolution 2 addressbook connectivity.
--disable-cups: disable cups support.
--disable-fontconfig: disable support for the fontconfig library.
--disable-gtk: disable use of the Gtk+ vclplug.
--disable-systray: do not build the system tray quickstarter.
--enable-cairo: use the Cairo canvas backend.
--disable-gnome-vfs: disable the use of the Gnome VFS.
--enable-kde: use Qt/KDE vclplug.
--disable-kdeab: disable the KDE address book support.
--disable-binfilter: do not build the legacy binary file formats filters. These filters allow use of older Start Office formats.
--disable-pasf: disable support for sound using portaudio/sndfile.
--disable-pam: disable pam support.
--disable-neon: disable neon and the compilation of webdav binding.
--with-openldap: enables the use of the OpenLDAP.
--with-firefox: use Firefox instead of Mozilla Suite for building. Use in conjunction with --with-system-mozilla.
--with-xulrunner: use XULRunner instead of Mozilla Suite for building. Use in conjunction with --with-system-mozilla.
--without-fonts do not build Bitstream Vera fonts.
--with-package-format: specify package format(s) for OOo installsets.
--with-system-stdlibs: use libstdc++/libgcc_s already on system.
--with-mozilla-version: choose which version of mozilla to use while building mozilla. Default: 1.7.5.
--with-mozilla-toolkit: choose which GUI toolkit to use while building mozilla components. Default: gtk2
--without-myspell-dicts: do not build the myspell dictionaries.
--without-nas: removes nas support.
--with-system-libs: use libs already on system.
--with-system-zlib: use zlib already on system.
--with-system-jpeg: use jpeg already on system.
--with-system-expat: use expat already on system.
--with-system-freetype: use freetype already on system.
--with-system-libwpd: use libwpd already on system.
--with-system-libxml: use libxml already on system.
--with-system-python: use python already on system.
--with-system-db: use berkeley db already on system.
--with-system-odbc-headers: use the odbc headers already on system.
--with-system-curl: use curl already on system.
--with-system-boost: use boost already on system.
--with-system-nas: use nas already on system.
--with-system-sndfile: use sndfile already on system.
--with-system-portaudio: use portaudio already on system.
--with-system-neon: use neon already on system.
--with-system-myspell: use myspell already on system.
--with-system-mozilla: use mozilla already on system.
--with-java: build with[out] Java support.
--with-lang: build OpenOffice.org with additional language support. English (US) is always included by default. Separate multiple languages with a space.
--with-dict: build OpenOffice.org with dictionary support.
--with-build-version: add a custom version tag that will appear in the Help/About box for QA purposes.

Non-Multilib

Add a few things needed by OpenOffice

If you wish to use --with-firefox --with-system-mozilla=firefox you will need to add the following pkgconfig files. They are assuming firefox-3.5.2 and a install directory of /opt. Also firefox will need to be compiled and installed with LDAP support

cat > /usr/lib/pkgconfig/firefox-plugin.pc  << "EOF"
prefix=/opt/firefox-3.5.2
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
datarootdir=${prefix}/share

Name: Mozilla Plug-In API
Description: Mozilla Plug-In API
Version: 3.5
Requires: firefox-xpcom = 3.5
Cflags: -DXP_UNIX -I${includedir}/java -I${includedir}/plugin
EOF
cat >  /usr/lib/pkgconfig/firefox-xpcom.pc << "EOF"
prefix=/opt/firefox-3.5.2
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include
datarootdir=${prefix}/share

idldir=IDLDIR
Name: XPCOM
Description: The Mozilla Cross Platform Component Library
Version: 3.5
REQUIRES_NSPR
Libs: -L${libdir} -R${libdir} NSPR_RUNPATH -lxpcom -lxul NSPR_LIB
Cflags:-I${includedir} -I${includedir}/xpcom -I${includedir}/pref -I${includedir}/string -I${includedir}/expat -I${includedir}/ gtkembedmoz NSPR_INCLUDE
EOF

On Pure64 builds

ln -s /usr/lib/libjpeg.so /usr/lib64/libjpeg.so 

Configure the package, adding any configuration options you desire: It will take some checking and testing depending on your system and package versions. This script was tested with a successful build. Build time on a 3Ghz Intel runs about 2 hours, So Enjoy!

touch external/unowinreg/unowinreg.dll
patch -Np1 -i ../OOo-3.1.1-HEADERFIX-1.patch
./configure --prefix=/opt/openoffice-3.1.1 \
                --enable-libart \
                --disable-fontooo \
                --without-fonts \
                --with-system-stdlibs \
                --with-system-freetype \
                --with-system-expat \
                --with-system-libxml \
                --with-system-zlib \
                --with-build-version=CBLFS \
                --with-package-format=native \
                --disable-binfilter \
                --with-system-cairo \
                --enable-cairo \
                --enable-opengl \
                --enable-dbus \
                --with-system-openssl \
                --with-system-jpeg \
                --with-system-python \ 
                --with-system-poppler \
                --with-system-curl \
                --with-ant-home=/opt/ApacheAnt \
                --with-system-neon \
                --disable-mozilla &&
cd .. &&
umask 0022 &&
unset LANG LC_ALL

Create the Open Office make utility and set the environment variables for the build:

./bootstrap &&
source Linux*.Set.sh

Compile the package:

dmake

To build a single "project" as it is referred to by Open Office, enter the project's directory and execute:

build &&
deliver

Install the package:

cd instsetoo_native/unxlngx6.pro/OpenOffice/native/install/en-US/linux-2.6*/buildroot/opt &&
cp -r -v openoffice.org3 /opt/openoffice-3.1.1 &&
cp -r -v openoffice.org /opt/openoffice
ln -v -sf /opt/openoffice/basis3.1 /opt/openoffice-3.1.1/basis-link

Add OpenOffice to ldoconfig

cat >> /etc/ld.so.conf << "EOF"
# Begin OpenOffice addition to /etc/ld.so.conf
/opt/openoffice/ure/lib
/opt/openoffice/basis3.1/program
# End OpenOffice addition
EOF
ldconfig

Create links in your $PATH to each program in the Open Office suite:

for appl in sbase scalc sdraw simpress smath soffice spadmin swriter
do
    ln -v -sf /opt/openoffice-3.1.1/program/$appl /usr/bin/$appl
done

Install the Open Office icons:

cd ../../../../../../../../../sysui/desktop/icons &&
install -v -d /usr/share/icons/{HighContrast,hicolor,locolor} -m755 &&
cp -r -v hicolor/*x* /usr/share/icons/hicolor &&
cp -r -v locolor/*x* /usr/share/icons/locolor

If you have desktop-file-utils installed, create desktop files for each application in the Open Office suite:

install -v -d /usr/share/applications -m 755 &&
cd /opt/openoffice-3.1.1/share/xdg/ &&
for appl in *.desktop
do
    sed -i '/Exec/d' $appl
    echo "Exec=/usr/bin/s`echo $appl | sed 's/.desktop//'`" >> $appl
    sed -i '/Icon/d' $appl
    echo "Icon=`echo $appl | sed 's/.desktop//'`" >> $appl
done &&
sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop &&
cp -v *.desktop /usr/share/applications

Multilib

32Bit

To do ...

N32

To do ...

64Bit

This process is not updated to build with 3.1.1

Several Makefiles have -mcpu hard coded as PentiumPro, remove this with the following sed:

sed -i '/^ARCH_FLAGS\*=/d' solenv/inc/unx{lngi{4,5,6},fbsdi}.mk

Configure the package, adding any configuration options you desire:

touch external/unowinreg/unowinreg.dll &&
cd config_office/ &&
autoreconf &&
USE_ARCH=64 CC="gcc ${BUILD64}" CXX="g++ ${BUILD64}" PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \
./configure --prefix=/opt/openoffice-3.1.1 \
--libdir=/opt/openoffice-3.1.1/lib64 --enable-libart \
--disable-fontooo --without-fonts --with-system-stdlibs --with-system-freetype \
--with-system-expat --with-system-libxml --with-system-zlib \
--with-build-version=CBLFS --with-package-format=native --disable-binfilter &&
cd .. &&
umask 0022 &&
unset LANG LC_ALL

Create the Open Office make utility and set the environment variables for the build:

./bootstrap &&
source LinuxX86-64Env.Set.sh

Compile the package:

dmake

To build a single "project" as it is referred to by Open Office, enter the project's directory and execute:

build &&
deliver

Install the package:

cd instsetoo_native/unxlngx6.pro/OpenOffice/native/install/en-US/linux-2.6-x86_64/buildroot/opt &&
cp -r -v openoffice.org3 /opt/openoffice-3.1.1

Create links in your $PATH to each program in the Open Office suite:

for appl in sbase scalc sdraw simpress smath soffice spadmin swriter
do
    ln -v -sf /opt/openoffice-3.1.1/program/$appl /usr/bin/$appl
done

Install the Open Office icons:

cd ../../../../../../../../../sysui/desktop/icons &&
install -v -d /usr/share/icons/{HighContrast,hicolor,locolor} -m755 &&
cp -r -v HighContrast/*x* /usr/share/icons/HighContrast &&
cp -r -v hicolor/*x* /usr/share/icons/hicolor &&
cp -r -v locolor/*x* /usr/share/icons/locolor

If you have desktop-file-utils installed, create desktop files for each application in the Open Office suite:

install -v -d /usr/share/applications -m 755 &&
cd /opt/openoffice-3.1.1/share/xdg/ &&
for appl in *.desktop
do
    sed -i '/Exec/d' $appl
    echo "Exec=/usr/bin/s`echo $appl | sed 's/.desktop//'`" >> $appl
    sed -i '/Icon/d' $appl
    echo "Icon=`echo $appl | sed 's/.desktop//'`" >> $appl
done &&
sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop &&
cp -v *.desktop /usr/share/applications

Contents

Installed Directories: /opt/openoffice-3.1.1
Installed Programs: sbase, scalc, sdraw, simpress, smath, soffice, spadmin, and swriter
Installed Libraries: Various Open Office libraries.

Short Descriptions

sbase is a desktop database program.
scalc is a spreadsheet program.
sdraw is a drawing program.
simpress is a program for creating presentations.
smath is a program for editing mathematical functions.
soffice is a "wrapper" program from which all of the Open Office programs can be accessed.
spadmin is the Open Office printer administration program.
swriter is a word processor.