diff options
Diffstat (limited to 'desktop/scripts/unopkg.sh')
-rwxr-xr-x | desktop/scripts/unopkg.sh | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh new file mode 100755 index 000000000..3adf69c2e --- /dev/null +++ b/desktop/scripts/unopkg.sh @@ -0,0 +1,99 @@ +#!/bin/sh +# +# This file is part of the LibreOffice project. +# +# This Source Code Form is subject to the terms of the Mozilla Public +# License, v. 2.0. If a copy of the MPL was not distributed with this +# file, You can obtain one at http://mozilla.org/MPL/2.0/. +# +# This file incorporates work covered by the following license notice: +# +# Licensed to the Apache Software Foundation (ASF) under one or more +# contributor license agreements. See the NOTICE file distributed +# with this work for additional information regarding copyright +# ownership. The ASF licenses this file to you under the Apache +# License, Version 2.0 (the "License"); you may not use this file +# except in compliance with the License. You may obtain a copy of +# the License at http://www.apache.org/licenses/LICENSE-2.0 . +# + +# enable file locking +SAL_ENABLE_FILE_LOCKING=1 +export SAL_ENABLE_FILE_LOCKING + +# resolve installation directory +sd_cwd=$(pwd) +sd_res="$0" +while [ -h "$sd_res" ] ; do + sd_dirname=$(dirname "$sd_res") + cd "$sd_dirname" || exit $? + sd_basename=$(basename "$sd_res") + sd_res=$(ls -l "$sd_basename" | sed "s/.*$sd_basename -> //g") +done +sd_dirname=$(dirname "$sd_res") +cd "$sd_dirname" || exit $? +sd_prog=$(pwd) +cd "$sd_cwd" || exit $? + +# this is a temporary hack until we can live with the default search paths +case "$(uname -s)" in +OpenBSD) + LD_LIBRARY_PATH="$sd_prog${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + JAVA_HOME=$(javaPathHelper -h libreoffice-java 2> /dev/null) + export LD_LIBRARY_PATH + if [ -n "${JAVA_HOME}" ]; then + export JAVA_HOME + fi + ;; +NetBSD|FreeBSD|DragonFly) + LD_LIBRARY_PATH="$sd_prog${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}" + export LD_LIBRARY_PATH + ;; +AIX) + LIBPATH="$sd_prog${LIBPATH:+:${LIBPATH}}" + export LIBPATH + ;; +esac + +for arg in "$@" +do + case "$arg" in + #collect all bootstrap variables specified on the command line + #so that they can be passed as arguments to javaldx later on + -env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";; + + # make sure shared extensions will be readable by all users + --shared) umask 0022;; + esac +done + +# extend the ld_library_path for java: javaldx checks the sofficerc for us +if [ -x "${sd_prog}/javaldx" ] ; then + my_path=$("${sd_prog}/javaldx" "$BOOTSTRAPVARS" \ + "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc") + if [ -n "$my_path" ] ; then + sd_platform=$(uname -s) + case "$sd_platform" in + AIX) + LIBPATH="$my_path${LIBPATH:+:$LIBPATH}" + export LIBPATH + ;; + *) + LD_LIBRARY_PATH="$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + export LD_LIBRARY_PATH + ;; + esac + fi +fi + +unset XENVIRONMENT + +# uncomment line below to disable anti aliasing of fonts +# SAL_ANTIALIAS_DISABLE=true; export SAL_ANTIALIAS_DISABLE + +# uncomment line below if you encounter problems starting soffice on your system +# SAL_NO_XINITTHREADS=true; export SAL_NO_XINITTHREADS + +# execute binary +exec "$sd_prog/unopkg.bin" "$@" \ + "-env:INIFILENAME=vnd.sun.star.pathname:$sd_prog/redirectrc" |