Date: Fri, 29 Jun 2018 16:07:56 +0000 (UTC) From: Brooks Davis <brooks@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r335797 - head/share/mk Message-ID: <201806291607.w5TG7u1t061881@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: brooks Date: Fri Jun 29 16:07:56 2018 New Revision: 335797 URL: https://svnweb.freebsd.org/changeset/base/335797 Log: Correct link metadata created when installing with -DNO_ROOT. Explicitly specify owner/group/mode metadata when creating links. More consistently use INSTALL_SYMLINK to install symlinks. Reviewed by: bdrewery Sponsored by: DARPA, AFRL Differential Revision: https://reviews.freebsd.org/D11231 Modified: head/share/mk/bsd.README head/share/mk/bsd.lib.mk head/share/mk/bsd.man.mk head/share/mk/bsd.own.mk head/share/mk/bsd.prog.mk Modified: head/share/mk/bsd.README ============================================================================== --- head/share/mk/bsd.README Fri Jun 29 14:51:36 2018 (r335796) +++ head/share/mk/bsd.README Fri Jun 29 16:07:56 2018 (r335797) @@ -225,6 +225,24 @@ MANMODE Manual mode. MANOWN Manual owner. +INSTALL_LINK Command to install a hard link. + +INSTALL_SYMLINK Command to install a symbolic link. + +INSTALL_RSYMLINK Command to install a relative symbolic link. + +LINKOWN Owner of hard links created by INSTALL_LINK. + +LINKGRP Group of hard links created by INSTALL_LINK. + +LINKMODE Mode of hard links created by INSTALL_LINK. + +SYMLINKOWN Owner of hard links created by INSTALL_[R]SYMLINK. + +SYMLINKGRP Group of hard links created by INSTALL_[R]SYMLINK. + +SYMLINKMODE Mode of hard links created by INSTALL_[R]SYMLINK. + This file is generally useful when building your own Makefiles so that they use the same default owners etc. as the rest of the tree. @@ -320,6 +338,13 @@ LINKS The list of binary links; should be full pathna LINKS= /bin/test /bin/[ +LINKOWN Owner of links created with LINKS [${BINOWN}]. + +LINKGRP Group of links created with LINKS [${BINGRP}]. + +LINKMODE Mode of links created with LINKS [${BINMODE}]. + + MAN Manual pages. If no MAN variable is defined, "MAN=${PROG}.1" is assumed. See bsd.man.mk for more details. @@ -528,6 +553,21 @@ LIB_CXX The name of the library to build. It also cau of LIB if LIB is also set. Both a shared and static library will be built. NO_PIC can be set to only build a static library. + +LINKS The list of binary links; should be full pathnames, the + linked-to file coming first, followed by the linked + file. The files are hard-linked. For example, to link + /bin/test and /bin/[, use: + + LINKS= /bin/test /bin/[ + +LINKOWN Owner of links created with LINKS [${LIBOWN}]. + +LINKGRP Group of links created with LINKS [${LIBGRP}]. + +LINKMODE Mode of links created with LINKS [${LIBMODE}]. + +LINTLIBDIR Target directory for lint libraries. MAN The manual pages to be installed. See bsd.man.mk for more details. Modified: head/share/mk/bsd.lib.mk ============================================================================== --- head/share/mk/bsd.lib.mk Fri Jun 29 14:51:36 2018 (r335796) +++ head/share/mk/bsd.lib.mk Fri Jun 29 16:07:56 2018 (r335797) @@ -275,7 +275,7 @@ ${SHLIB_NAME_FULL}: ${SOBJS} @${ECHO} building shared library ${SHLIB_NAME} @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) && ${MK_DEBUG_FILES} == "no" - @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_LIBSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} .endif ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ -o ${.TARGET} -Wl,-soname,${SONAME} \ @@ -291,7 +291,7 @@ ${SHLIB_NAME}: ${SHLIB_NAME_FULL} ${SHLIB_NAME}.debug ${OBJCOPY} --strip-debug --add-gnu-debuglink=${SHLIB_NAME}.debug \ ${SHLIB_NAME_FULL} ${.TARGET} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) - @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_LIBSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} .endif ${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} @@ -398,7 +398,7 @@ _libinstall: ${_INSTALLFLAGS} ${SHLIB_LINK:R}.ld \ ${DESTDIR}${_LIBDIR}/${SHLIB_LINK} .for _SHLIB_LINK_LINK in ${SHLIB_LDSCRIPT_LINKS} - ${INSTALL_SYMLINK} ${SHLIB_LINK} ${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK} + ${INSTALL_LIBSYMLINK} ${SHLIB_LINK} ${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK} .endfor .else .if ${_SHLIBDIR} == ${_LIBDIR} @@ -437,6 +437,11 @@ _libinstall: .include <bsd.confs.mk> .endif +LINKOWN?= ${LIBOWN} +LINKGRP?= ${LIBGRP} +LINKMODE?= ${LIBMODE} +SYMLINKOWN?= ${LIBOWN} +SYMLINKGRP?= ${LIBGRP} .include <bsd.links.mk> .if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY) Modified: head/share/mk/bsd.man.mk ============================================================================== --- head/share/mk/bsd.man.mk Fri Jun 29 14:51:36 2018 (r335796) +++ head/share/mk/bsd.man.mk Fri Jun 29 16:07:56 2018 (r335797) @@ -227,7 +227,7 @@ maninstall: ${MAN} .endif .for l t in ${_MANLINKS} rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \ - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} + ${INSTALL_MANLINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} .endfor manlint: Modified: head/share/mk/bsd.own.mk ============================================================================== --- head/share/mk/bsd.own.mk Fri Jun 29 14:51:36 2018 (r335796) +++ head/share/mk/bsd.own.mk Fri Jun 29 16:07:56 2018 (r335797) @@ -124,6 +124,18 @@ # # PKG_CMD Program for creating and manipulating packages. # [pkg] +# +# LINKOWN Hard link owner [${BINOWN}] +# +# LINKGRP Hard link group [${BINGRP}] +# +# LINKMODE Hard link mode [${NOBINMODE}] +# +# SYMLINKOWN Symbolic link owner [${BINOWN} or ${LIBOWN}] +# +# SYMLINKGRP Symbolic link group [${BINGRP} or ${LIBGRP}] +# +# SYMLINKMODE Symbolic link mode [755] .if !target(__<bsd.own.mk>__) __<bsd.own.mk>__: @@ -217,12 +229,22 @@ INCLUDEDIR?= /usr/include # # install(1) parameters. # -HRDLINK?= -l h -SYMLINK?= -l s -RSYMLINK?= -l rs +_LINKOWN?= ${LINKOWN:U${BINOWN}} +_LINKGRP?= ${LINKGRP:U${BINGRP}} +_LINKMODE?= ${LINKMODE:U${NOBINMODE}} +_SYMLINKOWN?= ${SYMLINKOWN:U${BINOWN}} +_SYMLINKGRP?= ${SYMLINKGRP:U${BINGRP}} +_SYMLINKMODE?= ${SYMLINKMODE:U755} +HRDLINK?= -l h -o ${_LINKOWN} -g ${_LINKGRP} -m ${_LINKMODE} +MANHRDLINK?= -l h -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} +SYMLINK?= -l s -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE} +LSYMLINK?= -l s -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} +RSYMLINK?= -l rs -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE} INSTALL_LINK?= ${INSTALL} ${HRDLINK} +INSTALL_MANLINK?= ${INSTALL} ${MANHRDLINK} INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} +INSTALL_LIBSYMLINK?= ${INSTALL} ${LSYMLINK} INSTALL_RSYMLINK?= ${INSTALL} ${RSYMLINK} # Common variables Modified: head/share/mk/bsd.prog.mk ============================================================================== --- head/share/mk/bsd.prog.mk Fri Jun 29 14:51:36 2018 (r335796) +++ head/share/mk/bsd.prog.mk Fri Jun 29 16:07:56 2018 (r335797) @@ -285,6 +285,10 @@ NLSNAME?= ${PROG} .include <bsd.confs.mk> .include <bsd.files.mk> .include <bsd.incs.mk> + +LINKOWN?= ${BINOWN} +LINKGRP?= ${BINGRP} +LINKMODE?= ${BINMODE} .include <bsd.links.mk> .if ${MK_MAN} != "no"
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806291607.w5TG7u1t061881>