aboutsummaryrefslogtreecommitdiff
path: root/java
diff options
context:
space:
mode:
authorGreg Lewis <glewis@FreeBSD.org>2003-08-22 17:07:08 +0000
committerGreg Lewis <glewis@FreeBSD.org>2003-08-22 17:07:08 +0000
commit506e274eaad3a4f55bbbd00a1baea4fc379fc05f (patch)
tree9d939d4bcda463ffc5fa79b0fee0a0775313a22a /java
parenta21e7a241741db29ac3685f44a4ae80d6a89c94b (diff)
downloadports-506e274eaad3a4f55bbbd00a1baea4fc379fc05f.tar.gz
ports-506e274eaad3a4f55bbbd00a1baea4fc379fc05f.zip
. Add a script which checks if ${LINUX_BASE}/${WRKDIRPREFIX} is
(possibly indirectly) a symbolic link to ${WRKDIRPREFIX}. . Use this script in preference to the direct symbolic link check previously used, as it handles indirections which cause the same problem. . /compat/linux -> ${LINUXBASE} in the message output if the check detects a link. PR: 43602
Notes
Notes: svn path=/head/; revision=87507
Diffstat (limited to 'java')
-rw-r--r--java/jdk13/Makefile6
-rw-r--r--java/jdk13/scripts/check_wrkdir_links.sh29
2 files changed, 31 insertions, 4 deletions
diff --git a/java/jdk13/Makefile b/java/jdk13/Makefile
index 9770300aac0f..f55b1255723f 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 000000000000..bc09f1939219
--- /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