diff options
author | jlam <jlam@pkgsrc.org> | 2007-07-23 15:23:46 +0000 |
---|---|---|
committer | jlam <jlam@pkgsrc.org> | 2007-07-23 15:23:46 +0000 |
commit | 60ee342aac97d18de92947847f468280dc215261 (patch) | |
tree | c34cd2489f7e43887b1320196af63f73935f78d2 /mk/plist | |
parent | 7fb336f0af0a13de28892e77ea505d8b67e68998 (diff) | |
download | pkgsrc-60ee342aac97d18de92947847f468280dc215261.tar.gz |
Putting bsd.pkginstall.mk under bsd.tools.mk was a bad idea -- the
former set several USE_TOOLS lines that were being missed by bsd.tools.mk.
Rearrange the +SHLIBS code so that bsd.tools.mk can now be included
after bsd.pkginstall.mk again. The +SHLIBS code has now been moved
over to the plist module, which is so far the repository for all of
the shlib-type handling.
This should fix the problem with fonts handling being broken.
Diffstat (limited to 'mk/plist')
-rw-r--r-- | mk/plist/plist.mk | 39 | ||||
-rw-r--r-- | mk/plist/shlibs | 51 |
2 files changed, 89 insertions, 1 deletions
diff --git a/mk/plist/plist.mk b/mk/plist/plist.mk index 88cef677edc..25b652ef34f 100644 --- a/mk/plist/plist.mk +++ b/mk/plist/plist.mk @@ -1,4 +1,4 @@ -# $NetBSD: plist.mk,v 1.27 2007/07/18 18:01:03 jlam Exp $ +# $NetBSD: plist.mk,v 1.28 2007/07/23 15:23:48 jlam Exp $ # # This Makefile fragment handles the creation of PLISTs for use by # pkg_create(8). @@ -157,6 +157,13 @@ _SHLIB_AWKFILE.a.out= ${.CURDIR}/../../mk/plist/shlib-aout.awk _SHLIB_AWKFILE.dylib= ${.CURDIR}/../../mk/plist/shlib-dylib.awk _SHLIB_AWKFILE.none= ${.CURDIR}/../../mk/plist/shlib-none.awk +# SHLIB_TYPE is the type of shared library supported by the platform. +SHLIB_TYPE= ${_SHLIB_TYPE_cmd:sh} +_SHLIB_TYPE_cmd= \ + ${SETENV} ECHO=${TOOLS_ECHO:Q} FILE_CMD=${TOOLS_FILE_CMD:Q} \ + TEST=${TOOLS_TEST:Q} PKG_INFO_CMD=${PKG_INFO_CMD:Q} \ + ${SH} ${.CURDIR}/../../mk/scripts/shlib-type ${_OPSYS_SHLIB_TYPE:Q} + ###################################################################### # GENERATE_PLIST is a sequence of commands, terminating in a semicolon, @@ -251,3 +258,33 @@ INFO_FILES_cmd= \ ${SETENV} ${_PLIST_AWK_ENV} ${AWK} ${_PLIST_INFO_AWK} | \ ${AWK} '($$0 !~ "-[0-9]*(\\.gz)?$$") { print }' .endif + +# LDCONFIG_ADD_CMD +# LDCONFIG_REMOVE_CMD +# Command-line to be invoked to update the system run-time library +# search paths database when adding and removing a package. +# +# Default value: ${LDCONFIG} +# +LDCONFIG_ADD_CMD?= ${_LDCONFIG_ADD_CMD.${OPSYS}} +LDCONFIG_REMOVE_CMD?= ${_LDCONFIG_REMOVE_CMD.${OPSYS}} +_LDCONFIG_ADD_CMD.${OPSYS}?= ${LDCONFIG} +_LDCONFIG_REMOVE_CMD.${OPSYS}?= ${LDCONFIG} +FILES_SUBST+= LDCONFIG_ADD_CMD=${LDCONFIG_ADD_CMD:Q} +FILES_SUBST+= LDCONFIG_REMOVE_CMD=${LDCONFIG_REMOVE_CMD:Q} + +.if ${SHLIB_TYPE} == "a.out" +RUN_LDCONFIG?= yes +.else +RUN_LDCONFIG?= no +.endif + +_INSTALL_SHLIBS_FILE= ${_PKGINSTALL_DIR}/shlibs +.if !empty(RUN_LDCONFIG:M[Yy][Ee][Ss]) +_INSTALL_UNPACK_TMPL+= ${_INSTALL_SHLIBS_FILE} +.endif + +${_INSTALL_SHLIBS_FILE}: ../../mk/plist/shlibs + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ${SED} ${FILES_SUBST_SED} ../../mk/pkginstall/shlibs > ${.TARGET} diff --git a/mk/plist/shlibs b/mk/plist/shlibs new file mode 100644 index 00000000000..d9a90f95525 --- /dev/null +++ b/mk/plist/shlibs @@ -0,0 +1,51 @@ +# $NetBSD: shlibs,v 1.1 2007/07/23 15:23:48 jlam Exp $ +# +# Generate a +SHLIBS script that updates the system run-time library +# search paths database for the package. +# +case "${STAGE},$1" in +UNPACK,|UNPACK,+SHLIBS) + ${CAT} > ./+SHLIBS << 'EOF' +#!@SH@ +# +# +SHLIBS - system run-time library search paths database management script +# +# Usage: ./+SHLIBS ADD|REMOVE [metadatadir] +# +# This scripts rebuilds the system database of run-time library search +# paths so that the system can find the shared libraries of the package +# associated with <metadatadir>. +# + +ECHO="@ECHO@" +PWD_CMD="@PWD_CMD@" +TRUE="@TRUE@" + +SELF=$0 +ACTION=$1 + +CURDIR=`${PWD_CMD}` +PKG_METADATA_DIR="${2-${CURDIR}}" +: ${PKGNAME=${PKG_METADATA_DIR##*/}} +: ${PKG_PREFIX=@PREFIX@} + +exitcode=0 +case $ACTION in +ADD) + ${ECHO} "${PKGNAME}: rebuilding run-time library search paths database" + ( @LDCONFIG_ADD_CMD@ ) >/dev/null 2>&1 || ${TRUE} + ;; + +REMOVE) + ${ECHO} "${PKGNAME}: rebuilding run-time library search paths database" + ( @LDCONFIG_REMOVE_CMD@ ) >/dev/null 2>&1 || ${TRUE} + ;; +esac +exit $exitcode + +EOF + ${SED} -n "/^\# SHLIBS: /p" ${SELF} >> ./+SHLIBS + ${CHMOD} +x ./+SHLIBS + ;; +esac + |