diff options
Diffstat (limited to 'java/jdk13')
-rw-r--r-- | java/jdk13/Makefile | 6 | ||||
-rw-r--r-- | java/jdk13/scripts/check_wrkdir_links.sh | 29 |
2 files changed, 31 insertions, 4 deletions
diff --git a/java/jdk13/Makefile b/java/jdk13/Makefile index 9770300..f55b125 100644 --- a/java/jdk13/Makefile +++ b/java/jdk13/Makefile @@ -196,12 +196,10 @@ post-patch: .if defined(WITH_LINUX_BOOTSTRAP) || !exists(${PREFIX}/jdk${JDK_VERSION}/bin/javac) # Some checks for bootstrapping with a Linux JDK pre-build: - @if [ "$${WRKDIRPREFIX}" -a \ - -L "/compat/linux/$${WRKDIRPREFIX}" -a \ - x`ls -ld "/compat/linux/$${WRKDIRPREFIX}" 2>/dev/null | awk '/->/{print $$NF;exit 0}END{exit 1}'` = x"$${WRKDIRPREFIX}" ]; \ + @if [ `${SETENV} ${SCRIPTS_ENV} ${SH} ${SCRIPTDIR}/check_wrkdir_links.sh "${WRKDIRPREFIX}" "${LINUXBASE}" 2>/dev/null` ]; \ then \ ${ECHO_MSG} "Please set WRKDIRPREFIX to something which doesn't"; \ - ${ECHO_MSG} "have a matching symbolic link in /compat/linux."; \ + ${ECHO_MSG} "have a matching symbolic link in ${LINUXBASE}."; \ ${ECHO_MSG} "This is known to cause problems during bootstrapping."; \ exit 1; \ fi diff --git a/java/jdk13/scripts/check_wrkdir_links.sh b/java/jdk13/scripts/check_wrkdir_links.sh new file mode 100644 index 0000000..bc09f19 --- /dev/null +++ b/java/jdk13/scripts/check_wrkdir_links.sh @@ -0,0 +1,29 @@ +#!/bin/sh +# $FreeBSD$ + +WRKDIRPREFIX=$1 +LINUXBASE=$2 + +if [ "x${WRKDIRPREFIX}" = "x" -o "x${LINUXBASE}" = "x" ]; then + exit 0 +fi + +LINUXWRKDIRPREFIX="${LINUXBASE}/${WRKDIRPREFIX}" + +while [ "x${LINUXWRKDIRPREFIX}" != "x" ]; do + if [ -L "${LINUXWRKDIRPREFIX}" -a \ + x`ls -ld "${LINUXWRKDIRPREFIX}" 2>/dev/null | \ + awk '/->/{print $NF;exit 0}END{exit 1}'` = \ + x"${WRKDIRPREFIX}" ]; then + echo "link" + exit 1 + fi + if [ -L "${LINUXWRKDIRPREFIX}" ]; then + LINUXWRKDIRPREFIX=`ls -ld "${LINUXWRKDIRPREFIX}" 2>/dev/null | \ + awk '/->/{print $NF;exit 0}END{exit 1}'` + else + break + fi +done + +exit 0 |