[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

oooprelink for OOo2



[..]
> > > 3) Special prelinking (oooprelink) does not seem to be needed anymore.
> > > That's probably great news.
> > 
> > Well, didn't port it yet.. The binaries are not prelinked in any way :)
> Then it's probably bad news, as I have no idea on how to help you on
> that. Should we expect noticeable performance improvement with that, as
> OOo 1.x did?
> Is there any way I can help?

I decided to give it a try.
It's not working, but it can maybe help a bit.

I decided to take old oooprelink from you (Rene) and try to adapt it for
OOo2.

First, I was surprised to notice that no /etc/openoffice
or /etc/openoffice2 exist anymore.

So, I disabled (for testing) the prelink="yes" test at the beginning and
continued.

I then changed the hardcoded list of executables to prelink in the main
part using the following one-liner to find them:
file /usr/lib/openoffice.org2/program/*|grep executable|grep -v script|cut -d: -f1|grep -v \.bin$

The part of it I do not like is the grep on "executable" which should
probably use something like "uses shared libs" instead.

Anyway, this is not supposed to be automatic, only for us to determine
the executables to prelink there once when writing the script.

Here is my patch:
=== cut here ===
--- oooprelink  2005-08-10 20:50:34.000000000 +0200
+++ oooprelink2 2005-08-10 21:12:33.000000000 +0200
@@ -2,11 +2,13 @@

 set -e

-if [ -f /etc/openoffice/settings.debconf ]; then
-       . /etc/openoffice/settings.debconf
-else
-       prelink="false"
-fi
+#if [ -f /etc/openoffice/settings.debconf ]; then
+#      . /etc/openoffice/settings.debconf
+#else
+#      prelink="false"
+#fi
+
+prelink="true"

 #DEBUG="--verbose"

@@ -35,21 +37,21 @@
 fi

 if [ "$prelink" = "true" ]; then
-       echo -n "Prelinking OpenOffice.org binaries... "
+       echo -n "Prelinking OpenOffice.org2 binaries... "
        /usr/sbin/prelink $DEBUG \
-               --ld-library-path=/usr/lib/openoffice/program \
-               --conserve-memory --libs-only /usr/lib/openoffice/
+               --ld-library-path=/usr/lib/openoffice2/program \
+               --conserve-memory --libs-only /usr/lib/openoffice2/
        /usr/sbin/prelink $DEBUG \
-               --ld-library-path=/usr/lib/openoffice/program \
-               --conserve-memory /usr/lib/openoffice/program/*.bin \
-               /usr/lib/openoffice/program/ooovirg \
-               /usr/lib/openoffice/program/regcomp \
-               /usr/lib/openoffice/program/pagein \
-               /usr/lib/openoffice/program/gnomeint
-       if [ ! -d /var/state/openoffice ]; then
-               mkdir -p /var/state/openoffice
+               --ld-library-path=/usr/lib/openoffice2/program \
+               --conserve-memory /usr/lib/openoffice2/program/*.bin \
+               /usr/lib/openoffice2/program/pagein \
+               /usr/lib/openoffice2/program/gnome-set-default-application \
+               /usr/lib/openoffice2/program/javaldx \
+               /usr/lib/openoffice2/program/nsplugin
+       if [ ! -d /var/state/openoffice2 ]; then
+               mkdir -p /var/state/openoffice2
        fi
-       touch /var/state/openoffice/ooo_is_prelinked
+       touch /var/state/openoffice2/ooo_is_prelinked
        echo "done."
        # only i386 has an additional dep on libstdc++3
        ARCH=`dpkg --print-architecture`
@@ -60,11 +62,11 @@
        echo "you need to prelink again."
        echo "Run /usr/sbin/oooprelink then."
 elif [ "$prelink" = "false" ]; then
-       if [ -f /var/state/openoffice/ooo_is_prelinked ]; then
-               echo -n "Undoing prelinking of OpenOffice.org
binaries... "
+       if [ -f /var/state/openoffice2/ooo_is_prelinked ]; then
+               echo -n "Undoing prelinking of OpenOffice.org2
binaries... "
                /usr/sbin/prelink --undo $DEBUG \
-                       --ld-library-path=/usr/lib/openoffice/program \
-                       --conserve-memory /usr/lib/openoffice \
+                       --ld-library-path=/usr/lib/openoffice2/program \
+                       --conserve-memory /usr/lib/openoffice2 \
                        2>/dev/null
                #/usr/sbin/prelink --undo $DEBUG \
                #       --ld-library-path=/usr/lib/openoffice/program \
@@ -73,7 +75,7 @@
                #       /usr/lib/openoffice/program/regcomp \
                #       /usr/lib/openoffice/program/pagein \
                #       /usr/lib/openoffice/program/gnomeint
-               rm -f /var/state/openoffice/ooo_is_prelinked
+               rm -f /var/state/openoffice2/ooo_is_prelinked
                echo "done."
        fi
 else
=== cut here ===

But well, it does not work for the moment on my PC (Sid) because OOo2
does not find "libstlport_gcc.so.4.6".
This is another story, and I hope that my patch (made in about 5
minutes) helps.

[..]

Thanks to all, and especially to Rene and Chris.
-- 
Jérôme Warnier
FLOSS Consultant
http://beeznest.net



Reply to: