diff options
Diffstat (limited to 'desktop/scripts')
-rw-r--r-- | desktop/scripts/gdbtrace | 13 | ||||
-rwxr-xr-x | desktop/scripts/sbase.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/scalc.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/sdraw.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/simpress.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/smath.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/soffice.sh | 187 | ||||
-rwxr-xr-x | desktop/scripts/swriter.sh | 4 | ||||
-rwxr-xr-x | desktop/scripts/unoinfo-mac.sh | 46 | ||||
-rwxr-xr-x | desktop/scripts/unoinfo.sh | 46 | ||||
-rwxr-xr-x | desktop/scripts/unopkg.sh | 86 |
11 files changed, 402 insertions, 0 deletions
diff --git a/desktop/scripts/gdbtrace b/desktop/scripts/gdbtrace new file mode 100644 index 0000000000..d4eae973c5 --- /dev/null +++ b/desktop/scripts/gdbtrace @@ -0,0 +1,13 @@ +set pagination off +echo log will be saved as gdbtrace.log, this will take some time, patience...\n +handle SIGPIPE SIGXCPU SIG33 SIG35 SIGPWR nostop noprint +set logging redirect on +set logging file gdbtrace.log +set logging enabled on +set logging overwrite on +run +bt +thread apply all bt +quit +set logging enabled off +echo log is saved as gdbtrace.log\n diff --git a/desktop/scripts/sbase.sh b/desktop/scripts/sbase.sh new file mode 100755 index 0000000000..82e5e4ba2b --- /dev/null +++ b/desktop/scripts/sbase.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --base "$@" diff --git a/desktop/scripts/scalc.sh b/desktop/scripts/scalc.sh new file mode 100755 index 0000000000..ff3d597951 --- /dev/null +++ b/desktop/scripts/scalc.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --calc "$@" diff --git a/desktop/scripts/sdraw.sh b/desktop/scripts/sdraw.sh new file mode 100755 index 0000000000..9f7c1e4eda --- /dev/null +++ b/desktop/scripts/sdraw.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --draw "$@" diff --git a/desktop/scripts/simpress.sh b/desktop/scripts/simpress.sh new file mode 100755 index 0000000000..a1808c3cb1 --- /dev/null +++ b/desktop/scripts/simpress.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --impress "$@" diff --git a/desktop/scripts/smath.sh b/desktop/scripts/smath.sh new file mode 100755 index 0000000000..9c05223b45 --- /dev/null +++ b/desktop/scripts/smath.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --math "$@" diff --git a/desktop/scripts/soffice.sh b/desktop/scripts/soffice.sh new file mode 100755 index 0000000000..8866a2cc8c --- /dev/null +++ b/desktop/scripts/soffice.sh @@ -0,0 +1,187 @@ +#!/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 . +# + +# use POSIX locale for well-defined tool output +LO_SAVE_LC_ALL="$LC_ALL" +LC_ALL=C +export LC_ALL + +# +# STAR_PROFILE_LOCKING_DISABLED=1 +# export STAR_PROFILE_LOCKING_DISABLED +# + +# file locking now enabled by default +SAL_ENABLE_FILE_LOCKING=1 +export SAL_ENABLE_FILE_LOCKING + +# 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 + +#@JITC_PROCESSOR_TYPE_EXPORT@ + +# 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 $? + +# linked build needs additional settings +if [ -e "${sd_prog}/ooenv" ] ; then + # shellcheck source=../../instsetoo_native/ooenv + . "${sd_prog}/ooenv" +fi + +# try to get some debug output? +GDBTRACECHECK= +STRACECHECK= +VALGRINDCHECK= +RRCHECK= + +# count number of selected checks; only one is allowed +checks= +EXTRAOPT= +# force the --valgrind option if the VALGRIND variable is set +test -n "$VALGRIND" && EXTRAOPT="--valgrind" + +# force the --record option if the RR variable is set +test -n "$RR" && EXTRAOPT="--record" + +for arg in "$@" $EXTRAOPT ; do + case "$arg" in + --record) + if which rr >/dev/null 2>&1 ; then + # smoketest may already be recorded => ignore nested + RRCHECK="rr record --nested=ignore" + checks="c$checks" + else + echo "Error: Can't find the tool \"rr\", --record option will be ignored." + exit 1 + fi + ;; + --backtrace) + if which gdb >/dev/null 2>&1 ; then + GDBTRACECHECK="gdb -nx --command=$sd_prog/gdbtrace --args" + checks="c$checks" + else + echo "Error: Can't find the tool \"gdb\", --backtrace option will be ignored." + exit 1 + fi + ;; + --strace) + if which strace >/dev/null 2>&1 ; then + STRACECHECK="strace -o strace.log -f -tt -s 256" + checks="c$checks" + else + echo "Error: Can't find the tool \"strace\", --strace option will be ignored." + exit 1; + fi + ;; + --valgrind) + test -n "$VALGRINDCHECK" && continue; + if which valgrind >/dev/null 2>&1 ; then + # another valgrind tool might be forced via the environment variable + test -z "$VALGRIND" && VALGRIND="memcheck" + # --trace-children-skip is pretty useful but supported only with valgrind >= 3.6.0 + valgrind_ver=$(valgrind --version | sed -e "s/valgrind-//") + valgrind_ver_maj=$(echo "$valgrind_ver" | awk -F. '{ print $1 }') + valgrind_ver_min=$(echo "$valgrind_ver" | awk -F. '{ print $2 }') + valgrind_skip= + if [ "$valgrind_ver_maj" -gt 3 ] || ( [ "$valgrind_ver_maj" -eq 3 ] && [ "$valgrind_ver_min" -ge 6 ] ) ; then + valgrind_skip='--trace-children-skip=*/java,*/gij' + fi + # finally set the valgrind check + VALGRINDCHECK="valgrind --tool=$VALGRIND --trace-children=yes $valgrind_skip --num-callers=50 --error-limit=no" + echo "use kill -SIGUSR2 pid to dump traces of active allocations" + checks="c$checks" + case "$VALGRIND" in + helgrind|memcheck|massif|exp-dhat) + export G_SLICE=always-malloc + export GLIBCXX_FORCE_NEW=1 + ;; + callgrind) + unset MALLOC_CHECK_ MALLOC_PERTURB_ G_SLICE + export SAL_DISABLE_FLOATGRAB=1 + export OOO_DISABLE_RECOVERY=1 + export SAL_DISABLE_WATCHDOG=1 + export LD_BIND_NOW=1 + ;; + esac + else + echo "Error: Can't find the tool \"valgrind\", --valgrind option will be ignored" + exit 1 + fi + ;; + esac +done + +if echo "$checks" | grep -q "cc" ; then + echo "Error: The debug options --record, --backtrace, --strace, and --valgrind cannot be used together." + echo " Please, use them one by one." + exit 1; +fi + +case "$(uname -s)" in +OpenBSD) +# this is a temporary hack until we can live with the default search paths + 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|DragonFly) +# this is a temporary hack until we can live with the default search paths + LD_LIBRARY_PATH="$sd_prog${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + export LD_LIBRARY_PATH + ;; +esac + +# restore locale setting, avoiding to export empty LC_ALL, s. tdf#130080 +if [ -n "$LO_SAVE_LC_ALL" ]; then + LC_ALL="$LO_SAVE_LC_ALL" +else + unset LC_ALL +fi + +# run soffice.bin directly when you want to get the backtrace +if [ -n "$GDBTRACECHECK" ] ; then + exec $GDBTRACECHECK "$sd_prog/soffice.bin" "$@" +fi + +# valgrind --log-file=valgrind.log does not work well with --trace-children=yes +if [ -n "$VALGRINDCHECK" ] && [ -z "$VALGRIND" ] ; then + echo "redirecting the standard and the error output to valgrind.log" + exec > valgrind.log 2>&1 +fi + +# oosplash does the rest: forcing pages in, javaldx etc. are +exec $RRCHECK $VALGRINDCHECK $STRACECHECK "$sd_prog/oosplash" "$@" diff --git a/desktop/scripts/swriter.sh b/desktop/scripts/swriter.sh new file mode 100755 index 0000000000..19a7c9ed41 --- /dev/null +++ b/desktop/scripts/swriter.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +cmd=$(dirname "$0")/soffice +exec "$cmd" --writer "$@" diff --git a/desktop/scripts/unoinfo-mac.sh b/desktop/scripts/unoinfo-mac.sh new file mode 100755 index 0000000000..9b37d1b7d8 --- /dev/null +++ b/desktop/scripts/unoinfo-mac.sh @@ -0,0 +1,46 @@ +#!/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 . +# + +set -e + +# resolve installation directory +sd_res="$0" +while [ -h "$sd_res" ] ; do + sd_dirname=$(dirname "$sd_res") + cd "$sd_dirname" + 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" +sd_prog=$(pwd) + +case "$1" in +c++) + printf '%s' "$sd_prog/../Frameworks" + ;; +java) + printf '0%s\0%s' \ + "$sd_prog/../Resources/java/libreoffice.jar" \ + "$sd_prog/../MacOS" + ;; +*) + exit 1 + ;; +esac diff --git a/desktop/scripts/unoinfo.sh b/desktop/scripts/unoinfo.sh new file mode 100755 index 0000000000..14cba80644 --- /dev/null +++ b/desktop/scripts/unoinfo.sh @@ -0,0 +1,46 @@ +#!/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 . +# + +set -e + +# resolve installation directory +sd_res="$0" +while [ -h "$sd_res" ] ; do + sd_dirname=$(dirname "$sd_res") + cd "$sd_dirname" + 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" +sd_prog=$(pwd) + +case "$1" in +c++) + printf '%s' "$sd_prog" + ;; +java) + printf '0%s\0%s' \ + "$sd_prog/classes/libreoffice.jar" \ + "$sd_prog" + ;; +*) + exit 1 + ;; +esac diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh new file mode 100755 index 0000000000..de3823857f --- /dev/null +++ b/desktop/scripts/unopkg.sh @@ -0,0 +1,86 @@ +#!/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 + ;; +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 + LD_LIBRARY_PATH="$my_path${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}" + export LD_LIBRARY_PATH + 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" |