diff options
Diffstat (limited to 'recipes-core/cacao/cacao/0001-java.in-Do-not-use-hardcode-paths.patch')
-rw-r--r-- | recipes-core/cacao/cacao/0001-java.in-Do-not-use-hardcode-paths.patch | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/recipes-core/cacao/cacao/0001-java.in-Do-not-use-hardcode-paths.patch b/recipes-core/cacao/cacao/0001-java.in-Do-not-use-hardcode-paths.patch new file mode 100644 index 0000000..521814e --- /dev/null +++ b/recipes-core/cacao/cacao/0001-java.in-Do-not-use-hardcode-paths.patch @@ -0,0 +1,46 @@ +From 51a63cdac93caf69d1b6ace40f73f6147ba37de5 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Erkka=20K=C3=A4=C3=A4ri=C3=A4?= <erkka.kaaria@intel.com> +Date: Thu, 20 Aug 2020 13:48:38 +0200 +Subject: [PATCH 1/2] java.in: Do not use hardcode paths +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Cacao uses hardcoded paths to various files, if these paths are not +provided. This causes issues when sharing sstate with otherwise +identical workers, if build time paths are not identical. + +Upstream-Status: Inappropriate [Yocto-specific fixes] + +Signed-off-by: Erkka Kääriä <erkka.kaaria@intel.com> +Signed-off-by: Richard Leitner <richard.leitner@skidata.com> +--- + src/scripts/java.in | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/src/scripts/java.in b/src/scripts/java.in +index 0790f0255..a4f16ecdc 100644 +--- a/src/scripts/java.in ++++ b/src/scripts/java.in +@@ -22,5 +22,16 @@ + ## Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA + ## 02110-1301, USA. + +-IFS="" +-exec $(dirname ${0})/cacao ${1+"$@"} ++SH_DIR=`dirname "$0"` ++CURRENT_DIR=`cd "${SH_DIR}" && pwd` ++ ++# if this shell script is invoked through symlink, we get invalid paths. As getting the real path to this file is ++# very painful using only /bin/sh, python is used instead. ++PYTHON_STR="import os; print(os.path.dirname(os.path.realpath(os.readlink(\"${CURRENT_DIR}/java\"))) if os.path.islink(\"${CURRENT_DIR}/java\") else \"${CURRENT_DIR}\")" ++REAL_DIR=`python3 -c "${PYTHON_STR}"` ++ ++PARENT_DIR=`dirname ${REAL_DIR}` ++ ++export BOOTCLASSPATH="${PARENT_DIR}/share/cacao/vm.zip:${PARENT_DIR}/share/classpath/glibj.zip" ++LIBRARY_PATH="-Djava.library.path=${PARENT_DIR}/lib/classpath" ++exec ${REAL_DIR}/cacao ${LIBRARY_PATH} ${1+"$@"} +-- +2.28.0 + |