diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-27 16:51:28 +0000 |
commit | 940b4d1848e8c70ab7642901a68594e8016caffc (patch) | |
tree | eb72f344ee6c3d9b80a7ecc079ea79e9fba8676d /bin/java-set-classpath.in | |
parent | Initial commit. (diff) | |
download | libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.tar.xz libreoffice-940b4d1848e8c70ab7642901a68594e8016caffc.zip |
Adding upstream version 1:7.0.4.upstream/1%7.0.4upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'bin/java-set-classpath.in')
-rw-r--r-- | bin/java-set-classpath.in | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/bin/java-set-classpath.in b/bin/java-set-classpath.in new file mode 100644 index 000000000..507264a3d --- /dev/null +++ b/bin/java-set-classpath.in @@ -0,0 +1,53 @@ +#!/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/. +# + +# java-set-classpath - Utility to update the default +# CLASSPATH for LibreOffice + +if test "z$1" = "z" ; then + echo "Update the default CLASSPATH for LibreOffice" + echo "" + echo "Usage: $0 [dir|jar]..." + echo "" + echo "The utility updates the LibreOffice system setting. It adds or removes" + echo "the given directories and jar-files to or from the default CLASSPATH" + echo "depending on if they are available on the system or not." + echo "" + echo "Parameters:" + echo " dir - absolute path to a directory" + echo " jar - absolute path to a jar-file" + exit 0; +fi + +JVM_CONFIG_FILE=@INSTALLDIR@/program/fundamentalrc + +for path in $@ ; do + if test "z${path%%/*}" != "z" ; then + echo "Warning: the path "$path" is not absolute and will be ignored" + continue + fi + if test -e $path ; then + # the file exist + grep "URE_MORE_JAVA_CLASSPATH_URLS.*file:/*$path\([[:space:]].*\)\?$" $JVM_CONFIG_FILE >/dev/null && continue + # it is not registered + TMP_FILE=`mktemp /tmp/ooset-java-class.XXXXXXXXXX` || exit 1 + sed -e "s|^\(.*URE_MORE_JAVA_CLASSPATH_URLS.*\)$|\1 file://$path|" $JVM_CONFIG_FILE >$TMP_FILE + mv -f $TMP_FILE $JVM_CONFIG_FILE + chmod 644 $JVM_CONFIG_FILE + else + # the file does not exist, remove it from the configuration + TMP_FILE=`mktemp /tmp/ooset-java-class.XXXXXXXXXX` || exit 1; + sed -e "s|^\(.*URE_MORE_JAVA_CLASSPATH_URLS.*\)file:/*$path\([[:space:]].*\)\?$|\1\2|" \ + -e "s/\(URE_MORE_JAVA_CLASSPATH_URLS=\)[[:space:]]\+/\1/" \ + -e "/^.*URE_MORE_JAVA_CLASSPATH_URLS/s/[[:space:]]\+/ /g" \ + -e "/^.*URE_MORE_JAVA_CLASSPATH_URLS/s/[[:space:]]*$//" $JVM_CONFIG_FILE >$TMP_FILE + mv -f $TMP_FILE $JVM_CONFIG_FILE + chmod 644 $JVM_CONFIG_FILE + fi +done |