svn commit: r290803 - head/share/mk

Bryan Drewery bdrewery at FreeBSD.org
Fri Nov 13 22:27:26 UTC 2015


Author: bdrewery
Date: Fri Nov 13 22:27:24 2015
New Revision: 290803
URL: https://svnweb.freebsd.org/changeset/base/290803

Log:
  META MODE: Don't double stage SYMLINKS for shared libraries.
  
  This also fixes truncating the path that the links were installed to, which
  was most likely going to be the same directory the library was in anyhow.
  
  Let bsd.sys.mk handle SYMLINKS via stage_symlinks.  stage_libs continues to
  handle the SHLIB_LINK though since it is not a SYMLINKS.
  
  This fixes a race, seen easily in lib/libthr, where libpthread_p.a is created
  by both stage_libs and stage_symlinks resulting in 'ln: File exists'.
  
  Sponsored by:	EMC / Isilon Storage Division
  Discussed with:	sjg

Modified:
  head/share/mk/meta.stage.mk

Modified: head/share/mk/meta.stage.mk
==============================================================================
--- head/share/mk/meta.stage.mk	Fri Nov 13 21:49:48 2015	(r290802)
+++ head/share/mk/meta.stage.mk	Fri Nov 13 22:27:24 2015	(r290803)
@@ -156,7 +156,7 @@ stage_libs:	.dirdep
 	@${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} \
 	${SHLIB_LINKS:@t@${STAGE_LIBS:T:M$t.*} $t@}
 .elif !empty(SHLIB_LINK) && !empty(SHLIB_NAME)
-	@${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK} ${SYMLINKS:T}
+	@${STAGE_LINKS_SCRIPT}; StageLinks -s ${STAGE_LIBDIR:${STAGE_DIR_FILTER}} ${SHLIB_NAME} ${SHLIB_LINK}
 .endif
 .endif
 	@touch $@


More information about the svn-src-head mailing list