summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2')
-rw-r--r--app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2238
1 files changed, 238 insertions, 0 deletions
diff --git a/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2 b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2
new file mode 100644
index 000000000000..5f92769b809c
--- /dev/null
+++ b/app-office/openoffice/files/1.0.3/ooffice-wrapper-1.2
@@ -0,0 +1,238 @@
+#!/bin/sh
+#
+# Wrapper script for openoffice
+#
+# (C) Peter 'Nidd' Novodvorsky, 2001,2002
+# (C) Martin 'empty' Quinson, 2002.
+# Modifications by Chris Halls
+# Modifications by Lucien Saviot
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+# this string should be exactly as in ~/.sversionrc
+OOVERSION="OpenOffice.org <pv>"
+
+##
+## Source system configuration file
+##
+[ -r /etc/openoffice/openoffice.conf ] && . /etc/openoffice/openoffice.conf
+
+###
+### Get user settings directory from ~/.sversionrc and echo directory name to stdout
+### get_settings_dir <Version>
+### return: 0 - directory found,
+### 1 - ~/.sversionrc non existent
+### 2 - entry exists in ~/.sversionrc but directory not found
+### 3 - ~/.sversionrc exists but no entry found
+get_settings_dir()
+{
+ [ -r ~/.sversionrc ] || exit 1
+ # warning, .sversionrc is DOS encoded so strip ^M
+ settings_dir="`tr -d '\r' < ~/.sversionrc | sed -n "/^$1=/s%^$1=file://\(.*\)$%\1%p"`"
+ echo "$settings_dir"
+ [ -n "$settings_dir" ] || exit 3
+ [ -d "$settings_dir" ] || exit 2
+}
+
+##
+## where does OO live for this user ?
+##
+OOHOME="`get_settings_dir "$OOVERSION"`"
+if [ $? -eq 2 ] ; then
+ # .sversionrc contains a version yet the directory does not exist
+ echo "I'm confused because I can't find OpenOffice's user files."
+ echo "Your ~/.sversionrc file tells they should be under $OOHOME,"
+ echo "but they are not. Please fix the situation manually."
+ echo "You may want to edit ~/.sversionrc to indicate where is OO"
+ echo "installed, or remove it if you did remove your installation"
+ echo "directory manually (you bad one)."
+ exit 1
+fi
+
+##
+## Unset SESSION_MANAGER if gnome-session is the session manager
+## See http://www.openoffice.org/issues/show_bug.cgi?id=4494
+##
+SMPID=`echo $SESSION_MANAGER | sed --quiet "s,local.*/,,p"`
+if [ -n "$SMPID" ] && [ -L /proc/"$SMPID"/exe ]; then
+
+ SESMGR="`readlink -f /proc/$SMPID/exe`"
+ case "$SESMGR" in
+ /usr/bin/gnome-session*)
+ echo "Gnome session manager detected - session management disabled"
+ unset SESSION_MANAGER
+ ;;
+ esac
+fi
+
+##
+## Add known Debian fonts locations to search path
+##
+## Please report if you have problems with fonts, or know of non-defoma integrated packages that place fonts in other
+## paths.
+##
+
+# Default font path. This is used if SAL_FONTPATH_USER is not defined.
+DEBOO_FONTPATH="/usr/lib/X11/fonts/misc/;/usr/lib/X11/fonts/cyrillic/;\
+/usr/lib/X11/fonts/100dpi/:unscaled;/usr/lib/X11/fonts/75dpi/:unscaled;\
+/usr/lib/X11/fonts/Type1/;/usr/lib/X11/fonts/CID;/usr/lib/X11/fonts/Speedo/;\
+/usr/lib/X11/fonts/100dpi/;/usr/lib/X11/fonts/75dpi/;\
+/var/lib/defoma/x-ttcidfont-conf.d/dirs/TrueType;\
+/usr/lib/X11/fonts/TrueType;\
+/usr/share/fonts/truetype/kochi;\
+/usr/lib/X11/fonts/TrueType/larabie-straight;\
+/usr/lib/X11/fonts/TrueType/larabie-uncommon"
+
+SAL_FONTPATH_USER=${SAL_FONTPATH_USER:-"$DEBOO_FONTPATH"}
+export SAL_FONTPATH_USER
+
+## search LOCALE
+if [ -n "$LC_ALL" ]; then
+ LOCALE="$LC_ALL"
+ # OOo doesn't understand LC_ALL, so set LANG
+ LANG="$LC_ALL"
+elif [ -n "$LANG" ]; then
+ LOCALE="$LANG"
+elif [ -n "$LC_MESSAGES" ]; then
+ LOCALE="$LC_MESSAGES"
+ LANG="$LC_MESSAGES"
+else
+ LOCALE="en_US"
+fi
+
+# Set locale to en_US if locale is C
+if [ "x$LOCALE" = "xC" ] ; then LOCALE="en_US"; fi
+
+LOCALEOO=`echo $LOCALE | sed 's/_/-/'`
+
+##
+## install OO for this user if needed
+##
+if [ -z "$OOHOME" ] ; then
+ if [ -e /etc/openoffice/autoresponse.conf ] && \
+ grep -q DESTINATIONPATH /etc/openoffice/autoresponse.conf ; then
+ # first install
+ OOHOME=`grep DESTINATIONPATH /etc/openoffice/autoresponse.conf | \
+ sed -e 's/DESTINATIONPATH=//' -e "s|<home>|$HOME|"`
+
+ if [ -d "$OOHOME" ]; then
+ echo "openoffice.org: You have no entry for $OOVERSION in ~/.sversionrc, "
+ echo "yet the directory $OOHOME exists."
+ echo "Please remove $OOHOME and try again."
+ exit 1
+ fi
+
+ if oldhome="`get_settings_dir "OpenOffice.org 1.0.1"`" ; then
+ OOHOME="$oldhome"
+ echo "Using settings from 1.0.1"
+ /bin/echo -e "OpenOffice.org <pv>=file://$oldhome\r" >> ~/.sversionrc
+ else
+ echo "running openoffice.org setup..."
+ if ! /opt/OpenOffice.org<pv>/program/setup -R:/etc/openoffice/autoresponse.conf >& /dev/null; then
+ echo "setup failed.. abort"
+ exit 1
+ fi
+
+
+ fi
+
+ echo "Setup complete. Running openoffice.org..."
+
+else
+ echo "openoffice.org: Damnit! I can't find OpenOffice's user files. Did you break"
+ echo "the /etc/openoffice/autoresponse.conf file manually ?"
+ echo "This file should contain DESTINATIONPATH"
+ exit 1
+ fi
+fi
+
+##
+## If no file is specified on the command line, which application to start?
+## The wrapper can be called from several links in /usr/bin
+##
+if [ $# = 0 ]; then
+ case `basename $0` in
+ oocalc) set -- private:factory/scalc;;
+ oodraw) set -- private:factory/sdraw;;
+ ooimpress) set -- private:factory/simpress;;
+ oomath) set -- private:factory/smath;;
+ oowriter) set -- private:factory/swriter;;
+ oohtml) set -- private:factory/swriter/web;;
+ oomaster) set -- private:factory/swriter/Global;;
+ esac
+fi
+
+## Previous dead installation?
+[ -d $HOME/.openoffice/user ] && echo "Warning: you have a user settings directory from 1.0.0 in ~/.openoffice/user - this is no longer used"
+
+SETUPFILE="$OOHOME/user/config/registry/instance/org/openoffice/Setup.xml"
+mv $SETUPFILE $SETUPFILE.tmp
+
+if ! grep -q "\<ooLocale" $SETUPFILE.tmp ; then
+ # Set ooLocale to nothing in $SETUPFILE. The UI language is handled by LANG.
+ # A good value for ooLocale will be set before starting.
+ cat $SETUPFILE.tmp | \
+ perl -e "while (<>) { /<Office>/ && print \" <L10N>\n <ooLocale cfg:type=\\\"string\\\"/>\n </L10N>\n\";print \$_;}" > \
+ $SETUPFILE
+ rm -f $SETUPFILE.tmp
+ mv $SETUPFILE $SETUPFILE.tmp
+fi
+
+## Change the ooLocale key in SETUPFILE acording to LOCALE
+cat $SETUPFILE.tmp | \
+ sed 's#<ooLocale\>[^/]*/[^>]*>#<ooLocale cfg:type="string">'$LOCALEOO'</ooLocale>#'\
+ > $SETUPFILE
+rm -f $SETUPFILE.tmp
+
+##
+## That's it. Launch the beast (with the given args)
+##
+LANG=$LOCALE
+export LANG
+export LD_PRELOAD=/usr/lib/libfreetype.so
+exec "$OOHOME/soffice" "$@"
+
+## Changelog
+# 2003/02/03 halls
+# * Check for nonexistent ooLocale every run
+# 2003/01/09 halls
+# * Version 1.0.2
+# 12/15 saviot
+# * Change ooLocale at startup in Setup.xml
+# <ooLocale cfg:type="string"/> doesn't work for help.
+# 12/03 challs
+# * Add Debian font paths to user font path
+# 11/14 saviot
+# * correct handling of UI language
+# * don't change Linguistic.xml after first startup(#168780)
+# * TODO: provide better defaults on first startup
+# 10/03 challs
+# * Fix use with LC_ALL
+# 07/10 challs
+# * use 1.0.1 directory and improve error checking
+# 07/02 challs
+# * use readlink in /proc/PID/exe to get
+# real session manager name
+# 06/12 challs
+# * merge into main package
+# * change $@ to "$@"
+# * source configuration file:
+# /etc/openoffice/openoffice.conf
+# 06/12 mquinson
+# * strace only when DEBUG is set to yes
+# * readd the $@ to pass the args to soffice
+# 06/06 mquinson
+# * Make sure the OLDLOCALE is never empty
+# * handle the case where the locale is C