summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSeth Chandler <sethbc@gentoo.org>2003-01-19 23:09:39 +0000
committerSeth Chandler <sethbc@gentoo.org>2003-01-19 23:09:39 +0000
commit76f2f487c4ccc6e9f730c3c108b5f790ec93ce37 (patch)
treeed4f433b50f4767481aa0f98a33d03b8fe95629a /app-office/openoffice-bin
parentVersion bump and reincorporated tls support. (diff)
downloadhistorical-76f2f487c4ccc6e9f730c3c108b5f790ec93ce37.tar.gz
historical-76f2f487c4ccc6e9f730c3c108b5f790ec93ce37.tar.bz2
historical-76f2f487c4ccc6e9f730c3c108b5f790ec93ce37.zip
made some changes to the wrapper script
Diffstat (limited to 'app-office/openoffice-bin')
-rw-r--r--app-office/openoffice-bin/files/1.0.1/ooffice-wrapper-1.1202
-rw-r--r--app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild4
2 files changed, 204 insertions, 2 deletions
diff --git a/app-office/openoffice-bin/files/1.0.1/ooffice-wrapper-1.1 b/app-office/openoffice-bin/files/1.0.1/ooffice-wrapper-1.1
new file mode 100644
index 000000000000..44e2802206f5
--- /dev/null
+++ b/app-office/openoffice-bin/files/1.0.1/ooffice-wrapper-1.1
@@ -0,0 +1,202 @@
+#!/bin/sh
+#
+# Wrapper script for openoffice
+#
+# (C) Peter 'Nidd' Novodvorsky, 2001,2002
+# (C) Martin 'empty' Quinson, 2002.
+# Modifications by Chris Halls
+
+# 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
+
+##
+## where does OO live for this user ?
+##
+OOHOME=""
+if [ -e ~/.sversionrc ] && grep -q "$OOVERSION" ~/.sversionrc ; then
+ # already installed for this user (warning, .sversionrc is DOS encoded)
+ OOHOME=`grep "^$OOVERSION=" ~/.sversionrc| \
+ sed "s|^$OOVERSION=file://||" | \
+ xargs echo`
+ if [ ! -e $OOHOME ] ; then
+ 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
+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`"
+ if [ "$SESMGR" = "/usr/bin/gnome-session" ]; then
+ echo "Gnome session manager detected - session management disabled"
+ unset SESSION_MANAGER
+ fi
+fi
+
+##
+## 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
+ 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
+ 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;;
+ esac
+fi
+
+##
+##
+## Change the config files to conform to current locale used
+##
+
+# Fix some variable to make the paths shorter in the rest
+LINGFILE="$OOHOME/user/config/registry/instance/org/openoffice/Office/Linguistic.xml"
+SETUPFILE="$OOHOME/user/config/registry/instance/org/openoffice/Setup.xml"
+
+
+# Search the right locale
+OLDLOCALE=""
+if [ -e $LINGFILE ] ; then
+ OLDLOCALE=`grep 'DefaultLocale cfg' $LINGFILE|sed 's/<[^>]*>//g'|sed 's/[[:blank:]]//g'`
+fi
+if [ -z $OLDLOCALE ]; then OLDLOCALE="en-US"; fi
+if [ "x$OLDLOCALE" = "xC" ]; then OLDLOCALE="en-US"; fi
+
+LOCALE=$LC_ALL
+if [ -z $LOCALE ] ; then LOCALE="$LC_MESSAGES"; fi
+if [ -z $LOCALE ] ; then LOCALE="$LANG"; fi
+if [ -z $LOCALE ] ; then LOCALE="en-US"; fi
+if [ "x$LOCALE" = "xC" ] ; then LOCALE="en-US"; fi
+
+if [ $LOCALE != $OLDLOCALE ] ; then
+
+ # Change instdb.ins
+ cp $OOHOME/instdb.ins $OOHOME/instdb.ins.$OLDLOCALE
+ sed "s/>$OLDLOCALE</>$LOCALE</" $OOHOME/instdb.ins.$OLDLOCALE > $OOHOME/instdb.ins
+
+ # Create Linguistic.xml if don't exists
+ if [ ! -e $LINGFILE.$OLDLOCALE ] ; then
+ # get a default one, and change en-US to OLDLOCALE inside. I guess this is a noop, but I'm not sure
+ sed "s/>en-US</>$OLDLOCALE</" \
+ < /opt/OpenOffice.org<pv>/share/config/registry/instance/org/openoffice/Office/Linguistic.xml \
+ > $LINGFILE.$OLDLOCALE
+ fi
+
+ # change Linguistic.xml
+ sed "s/>$OLDLOCALE</>$LOCALE</" $LINGFILE.$OLDLOCALE > $LINGFILE
+
+ # Change Setup.xml
+ if grep -q '<ooLocale cfg:type' $SETUPFILE ; then
+ cp $SETUPFILE $SETUPFILE.$OLDLOCALE
+ sed "s/>$OLDLOCALE</>$LOCALE</" $SETUPFILE.$OLDLOCALE > $SETUPFILE
+ else # ooLocale entry does not exists in Setup.xml
+ cp $SETUPFILE $SETUPFILE.tmp
+
+ cat $SETUPFILE.tmp | \
+ perl -e "while (<>) { /<Office>/ && print \"<L10N>\n<ooLocale cfg:type=\\\"string\\\">$LOCALE</ooLocale>\n</L10N>\n\";print \$_;}" > \
+ $SETUPFILE
+ # this perl command is to add a <L10N> section if it does not exists.
+ # On my machine, it produce the following patch:
+
+ # <Setup state="modified" cfg:package="org.openoffice" xmlns="http://openoffice.org/2000/registry/components/Setup" xmlns:cfg="http://openoffice.org/2000/registry/instance" xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance">
+ #+ <L10N>
+ #+ <ooLocale cfg:type="string">fr_FR@euro</ooLocale>
+ #+ </L10N>
+ # <Office>
+
+ rm $SETUPFILE.tmp
+ fi # change Setup.xml
+
+fi # LOCALE != OLDLOCALE
+
+## 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"
+
+##
+## That's it. Launch the beast (with the given args)
+##
+
+case `basename $0` in
+ oosetup) LD_PRELOAD=/usr/lib/libfreetype.so.6 exec "$OOHOME/setup" ;;
+ oopadmin) LD_PRELOAD=/usr/lib/libfreetype.so.6 exec "$OOHOME/spadmin" ;;
+ *) LD_PRELOAD=/usr/lib/libfreetype.so.6 exec "$OOHOME/soffice" "$@" ;;
+esac
+
+## Changelog
+# 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
diff --git a/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild b/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild
index dcd18131f183..3f672a64c9d1 100644
--- a/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild
+++ b/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild
@@ -1,6 +1,6 @@
# Copyright 1999-2002 Gentoo Technologies, Inc.
# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild,v 1.10 2002/12/09 04:17:42 manson Exp $
+# $Header: /var/cvsroot/gentoo-x86/app-office/openoffice-bin/openoffice-bin-1.0.1.ebuild,v 1.11 2003/01/19 23:09:39 sethbc Exp $
IUSE="kde gnome"
@@ -116,7 +116,7 @@ src_install() {
# Install wrapper script
exeinto /usr/bin
sed -e "s|<pv>|${PV}|g" \
- ${FILESDIR}/${PV}/ooffice-wrapper > ${T}/ooffice
+ ${FILESDIR}/${PV}/ooffice-wrapper-1.1 > ${T}/ooffice
doexe ${T}/ooffice
# Component symlinks
dosym ooffice /usr/bin/oocalc