aboutsummaryrefslogtreecommitdiff
path: root/Mk/bsd.port.mk
diff options
context:
space:
mode:
authorMateusz Piotrowski <0mp@FreeBSD.org>2020-09-28 13:46:43 +0000
committerMateusz Piotrowski <0mp@FreeBSD.org>2020-09-28 13:46:43 +0000
commit2922bb2e6b8228e5b973817ef950dfb39f070566 (patch)
tree4ce1a3eec2920a72050fb7cffb72fbdf431cc462 /Mk/bsd.port.mk
parent45ce1db62d63af49f34f57b85f46116105c5bac4 (diff)
downloadports-2922bb2e6b8228e5b973817ef950dfb39f070566.tar.gz
ports-2922bb2e6b8228e5b973817ef950dfb39f070566.zip
bsd.port.mk: Handle incorrect binary aliases gracefully
Currently, if the src element of a BINARY_ALIAS pair is missing, the ports framework would just print out the help message of install(1) and exit with a failure. This might be hard to debug for novice ports users. Let's introduce a check, which would allow us to print that the src component is missing. This situation happens more often than it seems to. For example, BINARY_ALIAS tend to blow up when used for test dependencies, because binary aliases are created before test dependencies are installed. This leads to a lot of confusion for my experience. Approved by: portmgr (mat) Differential Revision: https://reviews.freebsd.org/D26551
Notes
Notes: svn path=/head/; revision=550426
Diffstat (limited to 'Mk/bsd.port.mk')
-rw-r--r--Mk/bsd.port.mk7
1 files changed, 6 insertions, 1 deletions
diff --git a/Mk/bsd.port.mk b/Mk/bsd.port.mk
index aa8c06bc2ded..9c61b8c3bc3f 100644
--- a/Mk/bsd.port.mk
+++ b/Mk/bsd.port.mk
@@ -5134,7 +5134,12 @@ install-desktop-entries:
.if !target(create-binary-alias)
create-binary-alias: ${BINARY_LINKDIR}
.for target src in ${BINARY_ALIAS:C/=/ /}
- @${RLN} `which ${src}` ${BINARY_LINKDIR}/${target}
+ @if srcpath=`which -- ${src}`; then \
+ ${RLN} $${srcpath} ${BINARY_LINKDIR}/${target}; \
+ else \
+ ${ECHO_MSG} "===> Missing \"${src}\" to create a binary alias at \"${BINARY_LINKDIR}/${target}\""; \
+ ${FALSE}; \
+ fi
.endfor
.endif
.endif