Friday 10 December 2010

Updated BLFS Packages - OpenOffice.org

mkdir /sources/ooo
cd /sources/ooo
wget http://ftp.gnu.org/gnu/gperf/gperf-3.0.4.tar.gz
wget http://ftp.osuosl.org/pub/openoffice/stable/3.2.1/OOo_3.2.1_src_core.tar.bz2
wget http://ftp.osuosl.org/pub/openoffice/stable/3.2.1/OOo_3.2.1_src_system.tar.bz2
wget http://www.linuxfromscratch.org/patches/blfs/svn/OOo_3.2.1-build_with_db5-1.patch
wget ftp://ftp.mozilla.org/pub/mozilla.org/seamonkey/releases/1.1.14/seamonkey-1.1.14.source.tar.bz2
wget ftp://ftp.osuosl.org/pub/openoffice/stable/3.2.1/OOo_3.2.1_src_l10n.tar.bz2
wget ftp://ftp.osuosl.org/pub/openoffice/stable/3.2.1/OOo_3.2.1_src_extensions.tar.bz2

We need to install one dependency 'gperf':

tar -xzvf /sources/ooo/gperf-3.0.4.tar.gz
cd gperf-3.0.4
./configure --prefix=/usr --docdir=/usr/share/doc/gperf-3.0.4 &&
make
make install &&
install -m644 -v doc/gperf.{dvi,ps,pdf,txt} /usr/share/doc/gperf-3.0.4 &&
pushd /usr/share/info &&
rm -v dir &&
for FILENAME in *; do
    install-info $FILENAME dir 2>/dev/null
done &&
popd
cd ..
rm -rvf gperf-3.0.4

And now for OpenOffice.org which you just cannot install from a ramdisk on a 32bit machine.

cd /sources/ooo
tar -xjvf OOo_3.2.1_src_system.tar.bz2
tar -xjvf OOo_3.2.1_src_core.tar.bz2
tar -xjvf OOo_3.2.1_src_extensions.tar.bz2
tar -xjvf OOo_3.2.1_src_l10n.tar.bz2
cd OOO320_m19
cp ../seamonkey-1.1.14.source.tar.bz2 moz/download/

Don't follow the instructions in BLFS, it gets the seamonkey filename wrong. Apparently OOo shits itself if you have certain environment variables set, so unset them and fire on a patch. In a rapidly developing theme the patch file name is also wrong on BLFS.

umask 0022 &&
unset LANG LC_ALL
patch -Np1 -i ../OOo_3.2.1-build_with_db5-1.patch
autoreconf

Now, set the configuration.

PKG_CONFIG=/usr/bin/pkg-config ./configure \
--enable-graphite              \
--disable-lockdown             \
--disable-binfilter            \
--disable-fontooo              \
--disable-cups                 \
--enable-fontconfig            \
--disable-symbols              \
--disable-gnome-vfs            \
--disable-systray              \
--disable-odk                  \
--disable-qadevooo             \
--enable-cairo                 \
--disable-dbus                 \
--disable-gconf                \
--enable-gio                   \
--disable-pam                  \
--without-afms                 \
--without-fonts                \
--without-ppds                 \
--without-pam                  \
--with-system-stdlibs          \
--with-system-libxml           \
--with-system-libxslt          \
--with-system-cairo            \
--with-system-expat            \
--with-system-zlib             \
--with-system-jpeg             \
--with-system-openssl          \
--with-system-python           \
--with-system-curl             \
--with-system-freetype         \
--with-jdk-home=/opt/jdk       \
--with-java                    \
--with-ant-home=/opt/ant       \
--with-perl-home=/usr          \
--with-x                       \
--with-lang="en-GB"             \
--with-dict=ENGB               \
--with-package-format=native   \
--with-vendor="Your name here"     \
--with-use-shell=bash

Now compile this all with:

source LinuxX86Env.Set.sh &&
./bootstrap &&
make $CORES_TO_USE

Then to install (several hours later):

pushd instsetoo_native/unxlng?6.pro/OpenOffice/native/install/en-US/linux-2.6-*/buildroot/opt &&
cp -r -v openoffice.org3 /opt/openoffice-3.2.1 &&
cp -r -v openoffice.org/* /opt/openoffice-3.2.1 &&
ln -sf basis3.2 /opt/openoffice-3.2.1/basis-link &&
popd

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

pushd sysui/desktop/icons &&
install -v -m755 -d /usr/share/icons/{hicolor,locolor} &&
cp -r -v hicolor/* /usr/share/icons/hicolor &&
cp -r -v locolor/* /usr/share/icons/locolor &&
popd

install -v -d -m755 /usr/share/applications &&
pushd /opt/openoffice-3.2.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 "ooo-${appl}3.2" | sed 's/\.desktop//'`" >> $appl
done &&
sed -i 's@bin/sprinteradmin@bin/spadmin@' printeradmin.desktop &&
cp -v *.desktop /usr/share/applications &&
popd

update-desktop-database

cp -v dictionaries/unxlngi6.pro/bin/dict-*.oxt sdext/unxlngi6.pro/bin/*.oxt reportbuilder/unxlngi6.pro/bin/report-builder.oxt swext/unxlngi6.pro/bin/wiki-publisher.oxt /opt/openoffice-3.2.1/share/extension/install

for ext in /opt/openoffice-3.2.1/share/extension/install/*.oxt
do
    /opt/openoffice-3.2.1/program/unopkg add --shared --verbose $ext
done

ln -sv /opt/openoffice-3.2.1/program/libnpsoplugin.so ${FFPATH}/plugins

No comments:

Post a Comment