mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
d2a824c29d
MacOS has case insensitive filesystems by default. So trying to link between foo.X and FOO.X causes an error of some sort since we unlink the old foo file destroying the newly installed foo due to the insensitive nature of the FS. Assume that this is true on darwin/macos, though it is only try by default there. Perhaps install should grow smarts to know when this is the case, though that looked much trickier. There didn't seem to be a flag to check. This would be better, imho, since we could still write the METALOG data correctly (images created from these metalogs are imperfect due to this relatively issue...). Sponsored by: Netflix Differential Revision: https://reviews.freebsd.org/D44347
36 lines
996 B
Makefile
36 lines
996 B
Makefile
|
|
.if !target(__<bsd.init.mk>__)
|
|
.error bsd.links.mk cannot be included directly.
|
|
.endif
|
|
|
|
.if defined(NO_ROOT)
|
|
.if !defined(TAGS) || ! ${TAGS:Mpackage=*}
|
|
TAGS+= package=${PACKAGE}
|
|
.endif
|
|
TAG_ARGS= -T ${TAGS:[*]:S/ /,/g}
|
|
.endif
|
|
|
|
afterinstall: _installlinks
|
|
.ORDER: realinstall _installlinks
|
|
_installlinks:
|
|
.for s t in ${LINKS}
|
|
# On MacOS, assume case folding FS, and don't install links from foo.x to FOO.x.
|
|
.if ${.MAKE.OS} != "Darwin" || ${s:tu} != ${t:tu}
|
|
.if defined(LINKTAGS)
|
|
${INSTALL_LINK} ${TAG_ARGS:D${TAG_ARGS},${LINKTAGS}} ${DESTDIR}${s} ${DESTDIR}${t}
|
|
.else
|
|
${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${s} ${DESTDIR}${t}
|
|
.endif
|
|
.endif
|
|
.endfor
|
|
.for s t in ${SYMLINKS}
|
|
# On MacOS, assume case folding FS, and don't install links from foo.x to FOO.x.
|
|
.if ${.MAKE.OS} != "Darwin" || ${s:tu} != ${t:tu}
|
|
.if defined(LINKTAGS)
|
|
${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},${LINKTAGS}} ${s} ${DESTDIR}${t}
|
|
.else
|
|
${INSTALL_SYMLINK} ${TAG_ARGS} ${s} ${DESTDIR}${t}
|
|
.endif
|
|
.endif
|
|
.endfor
|