Author: markj
Date: Fri Sep 25 13:53:32 2020
New Revision: 366157
URL: https://svnweb.freebsd.org/changeset/base/366157

Log:
  MFC r365889:
  Install library symlinks atomically.
  
  PR:   233769

Modified:
  stable/12/share/mk/bsd.lib.mk
Directory Properties:
  stable/12/   (props changed)

Modified: stable/12/share/mk/bsd.lib.mk
==============================================================================
--- stable/12/share/mk/bsd.lib.mk       Fri Sep 25 13:52:31 2020        
(r366156)
+++ stable/12/share/mk/bsd.lib.mk       Fri Sep 25 13:53:32 2020        
(r366157)
@@ -405,6 +405,7 @@ SHLINSTALLFLAGS+= -fschg
 # that are only creating an image.
 .if !defined(NO_SAFE_LIBINSTALL) && !defined(NO_ROOT)
 SHLINSTALLFLAGS+= -S
+SHLINSTALLSYMLINKFLAGS+= -S
 .endif
 
 _INSTALLFLAGS:=        ${INSTALLFLAGS}
@@ -412,6 +413,7 @@ _INSTALLFLAGS:=     ${INSTALLFLAGS}
 _INSTALLFLAGS:=        ${_INSTALLFLAGS${ie}}
 .endfor
 _SHLINSTALLFLAGS:=     ${SHLINSTALLFLAGS}
+_SHLINSTALLSYMLINKFLAGS:= ${SHLINSTALLSYMLINKFLAGS}
 .for ie in ${INSTALLFLAGS_EDIT}
 _SHLINSTALLFLAGS:=     ${_SHLINSTALLFLAGS${ie}}
 .endfor
@@ -446,29 +448,31 @@ _libinstall:
            ${_INSTALLFLAGS} ${SHLIB_LINK:R}.ld \
            ${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
 .for _SHLIB_LINK_LINK in ${SHLIB_LDSCRIPT_LINKS}
-       ${INSTALL_LIBSYMLINK} ${SHLIB_LINK} 
${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK}
+       ${INSTALL_LIBSYMLINK} ${_SHLINSTALLSYMLINKFLAGS} ${SHLIB_LINK} \
+           ${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK}
 .endfor
 .else
 .if ${_SHLIBDIR} == ${_LIBDIR}
 .if ${SHLIB_LINK:Mlib*}
-       ${INSTALL_RSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} 
${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
+       ${INSTALL_RSYMLINK} ${_SHLINSTALLSYMLINKFLAGS} 
${TAG_ARGS:D${TAG_ARGS},development} \
+           ${SHLIB_NAME} ${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
 .else
-       ${INSTALL_RSYMLINK} ${TAG_ARGS} ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \
+       ${INSTALL_RSYMLINK} ${_SHLINSTALLSYMLINKFLAGS} ${TAG_ARGS} 
${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \
            ${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
 .endif
 .else
 .if ${SHLIB_LINK:Mlib*}
-       ${INSTALL_RSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} 
${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \
-           ${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
+       ${INSTALL_RSYMLINK} ${_SHLINSTALLSYMLINKFLAGS} 
${TAG_ARGS:D${TAG_ARGS},development} \
+           ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} 
${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
 .else
-       ${INSTALL_RSYMLINK} ${TAG_ARGS} ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} \
-           ${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
+       ${INSTALL_RSYMLINK} ${_SHLINSTALLSYMLINKFLAGS} ${TAG_ARGS} \
+           ${DESTDIR}${_SHLIBDIR}/${SHLIB_NAME} 
${DESTDIR}${_LIBDIR}/${SHLIB_LINK}
 .endif
 .if exists(${DESTDIR}${_LIBDIR}/${SHLIB_NAME})
        -chflags noschg ${DESTDIR}${_LIBDIR}/${SHLIB_NAME}
        rm -f ${DESTDIR}${_LIBDIR}/${SHLIB_NAME}
 .endif
-.endif
+.endif # _SHLIBDIR == _LIBDIR
 .endif # SHLIB_LDSCRIPT
 .endif # SHLIB_LINK
 .endif # SHIB_NAME
_______________________________________________
[email protected] mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "[email protected]"

Reply via email to