diff options
author | Seth Chandler <sethbc@gentoo.org> | 2003-03-27 08:27:41 +0000 |
---|---|---|
committer | Seth Chandler <sethbc@gentoo.org> | 2003-03-27 08:27:41 +0000 |
commit | f922b0d83226a0388d6c97011ffa8b733a33e8ae (patch) | |
tree | e7dfdc2780e3a04e9759e35f6b4d133ee9db1a16 /app-office | |
parent | added selinux flag (diff) | |
download | historical-f922b0d83226a0388d6c97011ffa8b733a33e8ae.tar.gz historical-f922b0d83226a0388d6c97011ffa8b733a33e8ae.tar.bz2 historical-f922b0d83226a0388d6c97011ffa8b733a33e8ae.zip |
w00t, 1.1 beta is in portage...still needs some work, i'll get to it tomorrow or so
Diffstat (limited to 'app-office')
3 files changed, 454 insertions, 0 deletions
diff --git a/app-office/openoffice-bin/files/1.1_beta/ooffice-wrapper-1.2 b/app-office/openoffice-bin/files/1.1_beta/ooffice-wrapper-1.2 new file mode 100644 index 000000000000..28f1b36a7a51 --- /dev/null +++ b/app-office/openoffice-bin/files/1.1_beta/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 1.1Beta" + +## +## 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 diff --git a/app-office/openoffice-bin/files/digest-openoffice-bin-1.1_beta b/app-office/openoffice-bin/files/digest-openoffice-bin-1.1_beta new file mode 100644 index 000000000000..3e5417ed3e2b --- /dev/null +++ b/app-office/openoffice-bin/files/digest-openoffice-bin-1.1_beta @@ -0,0 +1 @@ +MD5 4e569a2c71d2f1111ffab045633cdc2e OOo_1.1beta_LinuxIntel_install.tar.gz 74868185 diff --git a/app-office/openoffice-bin/openoffice-bin-1.1_beta.ebuild b/app-office/openoffice-bin/openoffice-bin-1.1_beta.ebuild new file mode 100644 index 000000000000..444ed97064ef --- /dev/null +++ b/app-office/openoffice-bin/openoffice-bin-1.1_beta.ebuild @@ -0,0 +1,215 @@ +# Copyright 1999-2003 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.1_beta.ebuild,v 1.1 2003/03/27 08:27:41 sethbc Exp $ + +IUSE="kde gnome" + +inherit virtualx + +# NOTE: There are two big issues that should be addressed. +# +# 1) Language support and fonts should be addressed. + +LOC="/opt" + +INSTDIR="${LOC}/OpenOffice.org${PV}" +#MY_PV="`echo ${PV} | gawk '{ print tolower($1) }'`" +MY_PV="${PV/_/}" +if [ `use ppc` ]; then + MY_P="OOo_${MY_PV}_LinuxPowerPC_installer" + S="${WORKDIR}/${MY_P}" +else + MY_P="OOo_${MY_PV}_LinuxIntel_install" + S="${WORKDIR}/install" +fi; + +DESCRIPTION="OpenOffice productivity suite" +SRC_URI="x86? ( http://ny1.mirror.openoffice.org/stable/${MY_PV}/OOo_${MY_PV}_LinuxIntel_install.tar.gz + http://sf1.mirror.openoffice.org/stable/${MY_PV}/OOo_${MY_PV}_LinuxIntel_install.tar.gz ) + ppc? ( ftp://ftp.yellowdoglinux.com/pub/yellowdog/software/openoffice/OOo_${MY_PV}_LinuxPowerPC_installer.tar.gz )" +HOMEPAGE="http://www.openoffice.org" + +DEPEND="virtual/glibc + >=dev-lang/perl-5.0 + virtual/x11 + app-arch/zip + app-arch/unzip + >=virtual/jdk-1.3.1 + !app-office/openoffice" + +LICENSE="LGPL-2 | SISSL-1.1" +SLOT="0" +KEYWORDS="~x86 -ppc -sparc " + +src_install() { + + # Sandbox issues; bug #8587 + addpredict "/user" + addpredict "/share" + + # Sandbox issues; bug 8063 + addpredict "/dev/dri" + + # Autoresponse file for main installation + cat > ${T}/rsfile-global <<-"END_RS" + [ENVIRONMENT] + INSTALLATIONMODE=INSTALL_NETWORK + INSTALLATIONTYPE=STANDARD + DESTINATIONPATH=<destdir> + OUTERPATH= + LOGFILE= + LANGUAGELIST=<LANGUAGE> + + [JAVA] + JavaSupport=preinstalled_or_none + END_RS + + # Autoresponse file for user isntallation + cat > ${T}/rsfile-local <<-"END_RS" + [ENVIRONMENT] + INSTALLATIONMODE=INSTALL_WORKSTATION + INSTALLATIONTYPE=WORKSTATION + DESTINATIONPATH=<home>/.openoffice/<pv> + + [JAVA] + JavaSupport=none + END_RS + + # Fixing install location in response file + sed -e "s|<destdir>|${D}${INSTDIR}|" \ + ${T}/rsfile-global > ${T}/autoresponse + + einfo "Installing OpenOffice.org into build root..." + dodir ${INSTDIR} + cd ${S} + # Setup virtualmake + export maketype="./setup" + # We need X to install... + virtualmake "-v -r:${T}/autoresponse" + + #fix the libstdc++.so symlink + cd ${D}/${INSTDIR}/program + ln -sf libstdc++.so.3.0.4 libstdc++.so.3 + ln -sf libstdc++.so.3.0.4 libstdc++ + + echo + einfo "Removing build root from registry..." + # Remove totally useless stuff. + rm -f ${D}${INSTDIR}/program/{setup.log,sopatchlevel.sh} + # Remove build root from registry and co + egrep -rl "${D}" ${D}${INSTDIR}/* | \ + xargs -i perl -pi -e "s|${D}||g" {} || : + + einfo "Fixing permissions..." + # Fix permissions + find ${D}${INSTDIR}/ -type f -exec chmod a+r {} \; + chmod a+x ${D}${INSTDIR}/share/config/webcast/*.pl + + # Fix symlinks + for x in "soffice program/spadmin" \ + "program/setup setup" \ + "program/spadmin spadmin" + do + dosym $(echo ${x} | awk '{print $1}') \ + ${INSTDIR}/$(echo ${x} | awk '{print $2}') + done + + # Install user autoresponse file + insinto /etc/openoffice + sed -e "s|<pv>|${PV}|g" ${T}/rsfile-local > ${T}/autoresponse.conf + doins ${T}/autoresponse.conf + + # Install wrapper script + exeinto /usr/bin + sed -e "s|<pv>|${PV}|g" \ + ${FILESDIR}/${PV}/ooffice-wrapper-1.2 > ${T}/ooffice + doexe ${T}/ooffice + # Component symlinks + dosym ooffice /usr/bin/oocalc + dosym ooffice /usr/bin/oodraw + dosym ooffice /usr/bin/ooimpress + dosym ooffice /usr/bin/oomath + dosym ooffice /usr/bin/oowriter + dosym ooffice /usr/bin/oosetup + dosym ooffice /usr/bin/oopadmin + + einfo "Installing Menu shortcuts (need \"gnome\" or \"kde\" in USE)..." + if [ -n "`use gnome`" ] + then + insinto /usr/share/gnome/apps/OpenOffice.org + # Install the files needed for the catagory + doins ${D}${INSTDIR}/share/gnome/net/.directory + doins ${D}${INSTDIR}/share/gnome/net/.order + + for x in ${D}${INSTDIR}/share/gnome/net/*.desktop + do + # We have to handle setup differently + perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x} + # Now fix the rest + perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x} + doins ${x} + done + fi + + if [ -n "`use kde`" ] + then + local kdeloc="${D}${INSTDIR}/share/kde/net/applnk/OpenOffice.org${PV}" + + # Portage do not work with the space .. + mv ${D}${INSTDIR}/share/kde/net/applnk/OpenOffice.org\ ${PV} ${kdeloc} + + insinto /usr/share/applnk/OpenOffice.org + # Install the files needed for the catagory + doins ${kdeloc}/.directory + doins ${kdeloc}/.order + dodir /usr/share + # Install the icons and mime info + cp -a ${D}${INSTDIR}/share/kde/net/mimelnk/share/* ${D}/usr/share + + for x in ${kdeloc}/*.desktop + do + # We have to handle setup differently + perl -pi -e "s:${INSTDIR}/program/setup:/usr/bin/oosetup:g" ${x} + # Now fix the rest + perl -pi -e "s:${INSTDIR}/program/s:/usr/bin/oo:g" ${x} + doins ${x} + done + fi + + # Unneeded, as they get installed into /usr/share... + rm -rf ${D}${INSTDIR}/share/{cde,gnome,kde} + + for f in ${D}/usr/share/gnome/apps/OpenOffice.org/* ; do + echo 'Categories=Application;Office;' >> ${f} + done + + + # Make sure these do not get nuked. + keepdir ${INSTDIR}/user/config/registry/instance/org/openoffice/{Office,ucb} + keepdir ${INSTDIR}/user/psprint/{driver,fontmetric} + keepdir ${INSTDIR}/user/{autocorr,backup,plugin,store,temp,template} +} + +pkg_preinst() { + + # The one with OO-1.0.0 was not valid + if [ -f ${ROOT}/etc/openoffice/autoresponse.conf ] + then + rm -f ${ROOT}/etc/openoffice/autoresponse.conf + fi +} + +pkg_postinst() { + + einfo "******************************************************************" + einfo " To start OpenOffice.org, run:" + einfo + einfo " $ ooffice" + einfo + einfo " Also, for individual components, you can use any of:" + einfo + einfo " oocalc, oodraw, ooimpress, oomath or oowriter" + einfo + einfo "******************************************************************" +} + |