diff options
-rw-r--r-- | mk/install/bsd.pkginstall.mk | 393 | ||||
-rw-r--r-- | mk/install/deinstall | 6 | ||||
-rw-r--r-- | mk/install/deinstall-pre | 5 | ||||
-rw-r--r-- | mk/install/dirs | 17 | ||||
-rw-r--r-- | mk/install/files | 17 | ||||
-rw-r--r-- | mk/install/fonts | 16 | ||||
-rw-r--r-- | mk/install/footer | 5 | ||||
-rw-r--r-- | mk/install/header | 6 | ||||
-rw-r--r-- | mk/install/info-files | 17 | ||||
-rw-r--r-- | mk/install/install | 6 | ||||
-rw-r--r-- | mk/install/install-post | 5 | ||||
-rw-r--r-- | mk/install/perms | 17 | ||||
-rw-r--r-- | mk/install/shell | 16 | ||||
-rw-r--r-- | mk/install/usergroup | 18 |
14 files changed, 283 insertions, 261 deletions
diff --git a/mk/install/bsd.pkginstall.mk b/mk/install/bsd.pkginstall.mk index 8b73c9942a9..55ce5233250 100644 --- a/mk/install/bsd.pkginstall.mk +++ b/mk/install/bsd.pkginstall.mk @@ -1,4 +1,4 @@ -# $NetBSD: bsd.pkginstall.mk,v 1.40 2006/03/14 01:14:36 jlam Exp $ +# $NetBSD: bsd.pkginstall.mk,v 1.41 2006/03/15 04:52:57 jlam Exp $ # # This Makefile fragment is included by bsd.pkg.mk and implements the # common INSTALL/DEINSTALL scripts framework. To use the pkginstall @@ -20,6 +20,13 @@ _FUNC_STRIP_PREFIX= \ }' s="$$1" prefix=${PREFIX:Q}/ /dev/null; \ } +# This is a command that exits with a zero status if the given file +# is zero-length. +# +_ZERO_FILESIZE_P= ${AWK} 'END { exit NR ? 1 : 0; }' + +_PKGINSTALL_DIR= ${WRKDIR}/.pkginstall + # These are the template scripts for the INSTALL/DEINSTALL scripts. # Packages may do additional work in the INSTALL/DEINSTALL scripts by # overriding the variables DEINSTALL_TEMPLATE and INSTALL_TEMPLATE to @@ -47,6 +54,7 @@ INSTALL_TEMPLATE?= # empty INSTALL_TEMPLATE+= ${PKGDIR}/INSTALL .endif _INSTALL_POST_TMPL?= ${.CURDIR}/../../mk/install/install-post +_INSTALL_DATA_TMPL?= # empty _FOOTER_TMPL?= ${.CURDIR}/../../mk/install/footer # _DEINSTALL_TEMPLATES and _INSTALL_TEMPLATES are the list of source @@ -66,7 +74,8 @@ _INSTALL_TEMPLATES= ${_HEADER_TMPL} ${HEADER_TEMPLATE} \ ${_INSTALL_TMPL} \ ${INSTALL_TEMPLATE} \ ${_INSTALL_POST_TMPL} \ - ${_FOOTER_TMPL} + ${_FOOTER_TMPL} \ + ${_INSTALL_DATA_TMPL} \ _DEINSTALL_TEMPLATES_DFLT= ${_HEADER_TMPL} \ ${_DEINSTALL_PRE_TMPL} \ @@ -143,54 +152,46 @@ PKG_FAIL_REASON+= "User and group '${user}' cannot have the same name on Interix DEPENDS+= ${_USER_DEPENDS} .endif -_INSTALL_USERGROUP_FILE= ${WRKDIR}/.install-usergroup +_INSTALL_USERGROUP_FILE= ${_PKGINSTALL_DIR}/usergroup .if exists(../../mk/install/usergroupfuncs.${OPSYS}) _INSTALL_USERGROUPFUNCS_FILE?= ../../mk/install/usergroupfuncs.${OPSYS} .else _INSTALL_USERGROUPFUNCS_FILE?= ../../mk/install/usergroupfuncs .endif +_INSTALL_USERGROUP_DATAFILE= ${_PKGINSTALL_DIR}/usergroup-data _INSTALL_UNPACK_TMPL+= ${_INSTALL_USERGROUP_FILE} -_INSTALL_USERGROUP_MEMBERS= ${PKG_USERS} ${PKG_GROUPS} +_INSTALL_DATA_TMPL+= ${_INSTALL_USERGROUP_DATAFILE} -${_INSTALL_USERGROUP_FILE}: \ - ../../mk/install/usergroup \ - ${INSTALL_USERGROUPFUNCS_FILE} +${_INSTALL_USERGROUP_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG} \ - ${RM} -f ${.TARGET} ${.TARGET}.tmp; \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-usergroup"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +USERGROUP script that reference counts users"; \ - ${ECHO} "# and groups that are required for the proper functioning"; \ - ${ECHO} "# of the package."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+USERGROUP << 'EOF_USERGROUP'"; \ - ${SED} -e "/^# platform-specific adduser\/addgroup functions/r${_INSTALL_USERGROUPFUNCS_FILE}" ../../mk/install/usergroup | \ - ${SED} ${FILES_SUBST_SED}; \ - ${ECHO} ""; \ set -- dummy ${PKG_GROUPS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ i="$$1"; shift; \ ${ECHO} "# GROUP: $$i"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG} \ set -- dummy ${PKG_USERS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ i="$$1"; shift; \ ${ECHO} "# USER: $$i"; \ - done; \ - ${ECHO} "EOF_USERGROUP"; \ - ${ECHO} " \$${CHMOD} +x ./+USERGROUP"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-usergroup"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_USERGROUP_FILE}: ${_INSTALL_USERGROUP_DATAFILE} +${_INSTALL_USERGROUP_FILE}: \ + ../../mk/install/usergroup \ + ${INSTALL_USERGROUPFUNCS_FILE} + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ${SED} -e "/^# platform-specific adduser\/addgroup functions/r${_INSTALL_USERGROUPFUNCS_FILE}" ${FILES_SUBST_SED} \ + ../../mk/install/usergroup > ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_USERGROUP_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_USERGROUP_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -213,44 +214,33 @@ ${_INSTALL_USERGROUP_FILE}: \ SPECIAL_PERMS?= # empty SETUID_ROOT_PERMS?= ${ROOT_USER} ${ROOT_GROUP} 4711 -_INSTALL_PERMS_FILE= ${WRKDIR}/.install-perms -_INSTALL_UNPACK_TMPL+= ${_INSTALL_PERMS_FILE} -_INSTALL_PERMS_MEMBERS= ${SPECIAL_PERMS} +_INSTALL_PERMS_FILE= ${_PKGINSTALL_DIR}/perms +_INSTALL_PERMS_DATAFILE= ${_PKGINSTALL_DIR}/perms-data +_INSTALL_UNPACK_TMPL+= ${_INSTALL_PERMS_FILE} +_INSTALL_DATA_TMPL+= ${_INSTALL_PERMS_DATAFILE} -${_INSTALL_PERMS_FILE}: ../../mk/install/perms +${_INSTALL_PERMS_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-perms"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +PERMS script that sets the special"; \ - ${ECHO} "# permissions on files and directories used by the"; \ - ${ECHO} "# package."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+PERMS << 'EOF_PERMS'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/perms; \ - ${ECHO} ""; \ + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${SPECIAL_PERMS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ file="$$1"; owner="$$2"; group="$$3"; mode="$$4"; \ shift; shift; shift; shift; \ file=`strip_prefix "$$file"`; \ ${ECHO} "# PERMS: $$file $$mode $$owner $$group"; \ - done; \ - ${ECHO} "EOF_PERMS"; \ - ${ECHO} " \$${CHMOD} +x ./+PERMS"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-perms"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_PERMS_FILE}: ${_INSTALL_PERMS_DATAFILE} +${_INSTALL_PERMS_FILE}: ../../mk/install/perms + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_PERMS_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + ${SED} ${FILES_SUBST_SED} ../../mk/install/perms > ${.TARGET} + ${_PKG_SILENT}${_PKG_DEBUG} \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_PERMS_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -295,26 +285,15 @@ FILES_SUBST+= RCD_SCRIPTS_SHELL=${RCD_SCRIPTS_SHELL:Q} MESSAGE_SUBST+= RCD_SCRIPTS_DIR=${RCD_SCRIPTS_DIR} MESSAGE_SUBST+= RCD_SCRIPTS_EXAMPLEDIR=${RCD_SCRIPTS_EXAMPLEDIR} -_INSTALL_FILES_FILE= ${WRKDIR}/.install-files -_INSTALL_UNPACK_TMPL+= ${_INSTALL_FILES_FILE} -_INSTALL_FILES_MEMBERS= ${RCD_SCRIPTS} ${CONF_FILES} ${REQD_FILES} \ - ${CONF_FILES_PERMS} ${REQD_FILES_PERMS} +_INSTALL_FILES_FILE= ${_PKGINSTALL_DIR}/files +_INSTALL_FILES_DATAFILE= ${_PKGINSTALL_DIR}/files-data +_INSTALL_UNPACK_TMPL+= ${_INSTALL_FILES_FILE} +_INSTALL_DATA_TMPL+= ${_INSTALL_FILES_DATAFILE} -${_INSTALL_FILES_FILE}: ../../mk/install/files +${_INSTALL_FILES_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp - ${_PKG_SILENT}${_PKG_DEBUG} \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-files"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +FILES script that reference counts config"; \ - ${ECHO} "# files that are required for the proper functioning"; \ - ${ECHO} "# of the package."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+FILES << 'EOF_FILES'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/files; \ - ${ECHO} "" + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${RCD_SCRIPTS}; shift; \ exec 1>>${.TARGET}.tmp; \ @@ -366,18 +345,15 @@ ${_INSTALL_FILES_FILE}: ../../mk/install/files file=`strip_prefix "$$file"`; \ ${ECHO} "# FILE: $$file cf $$egfile $$mode $$owner $$group"; \ done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_FILES_FILE}: ${_INSTALL_FILES_DATAFILE} +${_INSTALL_FILES_FILE}: ../../mk/install/files + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG} \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "EOF_FILES"; \ - ${ECHO} " \$${CHMOD} +x ./+FILES"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-files"; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + ${SED} ${FILES_SUBST_SED} ../../mk/install/files > ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_FILES_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_FILES_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -409,95 +385,87 @@ REQD_DIRS_PERMS?= # empty OWN_DIRS?= # empty OWN_DIRS_PERMS?= # empty -_INSTALL_DIRS_FILE= ${WRKDIR}/.install-dirs +_INSTALL_DIRS_FILE= ${_PKGINSTALL_DIR}/dirs +_INSTALL_DIRS_DATAFILE= ${_PKGINSTALL_DIR}/dirs-data _INSTALL_UNPACK_TMPL+= ${_INSTALL_DIRS_FILE} -_INSTALL_DIRS_MEMBERS= ${PKG_SYSCONFSUBDIR} ${RCD_SCRIPTS} \ - ${CONF_FILES} ${CONF_FILES_PERMS} \ - ${MAKE_DIRS} ${MAKE_DIRS_PERMS} \ - ${REQD_DIRS} ${REDQ_DIRS_PERMS} \ - ${OWN_DIRS} ${OWN_DIRS_PERMS} +_INSTALL_DATA_TMPL+= ${_INSTALL_DIRS_DATAFILE} -${_INSTALL_DIRS_FILE}: ../../mk/install/dirs +${_INSTALL_DIRS_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp - ${_PKG_SILENT}${_PKG_DEBUG} \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-dirs"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +DIRS script that reference counts directories"; \ - ${ECHO} "# that are required for the proper functioning of the"; \ - ${ECHO} "# package."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+DIRS << 'EOF_DIRS'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/dirs; \ - ${ECHO} "" + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG} \ exec 1>>${.TARGET}.tmp; \ case ${PKG_SYSCONFSUBDIR:M*:Q}${CONF_FILES:M*:Q}${CONF_FILES_PERMS:M*:Q}"" in \ "") ;; \ *) ${ECHO} "# DIR: ${PKG_SYSCONFDIR:S/${PREFIX}\///} m" ;; \ - esac; \ + esac + ${_PKG_SILENT}${_PKG_DEBUG} \ + exec 1>>${.TARGET}.tmp; \ case ${RCD_SCRIPTS:M*:Q}"" in \ "") ;; \ *) ${ECHO} "# DIR: ${RCD_SCRIPTS_DIR:S/${PREFIX}\///} m" ;; \ esac ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ set -- dummy ${MAKE_DIRS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir m"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${REQD_DIRS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir fm"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${OWN_DIRS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir mo"; \ done ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ set -- dummy ${MAKE_DIRS_PERMS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; owner="$$2"; group="$$3"; mode="$$4"; \ shift; shift; shift; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir m $$owner $$group $$mode"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${REQD_DIRS_PERMS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; owner="$$2"; group="$$3"; mode="$$4"; \ shift; shift; shift; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir fm $$owner $$group $$mode"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${OWN_DIRS_PERMS}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; owner="$$2"; group="$$3"; mode="$$4"; \ shift; shift; shift; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# DIR: $$dir mo $$owner $$group $$mode"; \ done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_DIRS_FILE}: ${_INSTALL_DIRS_DATAFILE} +${_INSTALL_DIRS_FILE}: ../../mk/install/dirs + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG} \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "EOF_DIRS"; \ - ${ECHO} " \$${CHMOD} +x ./+DIRS"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-dirs"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + ${SED} ${FILES_SUBST_SED} ../../mk/install/dirs > ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_DIRS_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_DIRS_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -508,46 +476,37 @@ ${_INSTALL_DIRS_FILE}: ../../mk/install/dirs # INFO_FILES?= # empty -_INSTALL_INFO_FILES_FILE= ${WRKDIR}/.install-info-files +_INSTALL_INFO_FILES_FILE= ${_PKGINSTALL_DIR}/info-files +_INSTALL_INFO_FILES_DATAFILE= ${_PKGINSTALL_DIR}/info-files-data _INSTALL_UNPACK_TMPL+= ${_INSTALL_INFO_FILES_FILE} -_INSTALL_INFO_FILES_MEMBERS= ${INFO_FILES} +_INSTALL_DATA_TMPL+= ${_INSTALL_INFO_FILES_DATAFILE} .if !empty(INFO_FILES:M*) USE_TOOLS+= install-info:run FILES_SUBST+= INSTALL_INFO=${INSTALL_INFO:Q} .endif -${_INSTALL_INFO_FILES_FILE}: ../../mk/install/info-files +${_INSTALL_INFO_FILES_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG} \ - ${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-info-files"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate an +INFO_FILES script that handles info file registration."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+INFO_FILES << 'EOF_INFO_FILES'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/info-files; \ - ${ECHO} ""; \ set -- dummy ${INFO_FILES}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ file="$$1"; shift; \ file=${INFO_DIR:Q}"/$$file"; \ ${ECHO} "# INFO: $$file"; \ - done; \ - ${ECHO} "EOF_INFO_FILES"; \ - ${ECHO} " \$${CHMOD} +x ./+INFO_FILES"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-info-files"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_INFO_FILES_FILE}: ${_INSTALL_INFO_FILES_DATAFILE} +${_INSTALL_INFO_FILES_FILE}: ../../mk/install/info-files + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_INFO_FILES_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + ${SED} ${FILES_SUBST_SED} ../../mk/install/info-files > ${.TARGET} + ${_PKG_SILENT}${_PKG_DEBUG} \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_INFO_FILES_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -558,41 +517,32 @@ ${_INSTALL_INFO_FILES_FILE}: ../../mk/install/info-files # PKG_SHELL?= # empty -_INSTALL_SHELL_FILE= ${WRKDIR}/.install-shell -_INSTALL_UNPACK_TMPL+= ${_INSTALL_SHELL_FILE} -_INSTALL_SHELL_MEMBERS= ${PKG_SHELL} +_INSTALL_SHELL_FILE= ${_PKGINSTALL_DIR}/shell +_INSTALL_SHELL_DATAFILE= ${_PKGINSTALL_DIR}/shell-data +_INSTALL_UNPACK_TMPL+= ${_INSTALL_SHELL_FILE} +_INSTALL_DATA_TMPL+= ${_INSTALL_SHELL_DATAFILE} -${_INSTALL_SHELL_FILE}: ../../mk/install/shell +${_INSTALL_SHELL_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-shell"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +SHELL script that handles shell registration."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+SHELL << 'EOF_SHELL'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/shell; \ - ${ECHO} ""; \ + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${PKG_SHELL}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ shell="$$1"; shift; \ shell=`strip_prefix "$$shell"`; \ ${ECHO} "# SHELL: $$shell"; \ - done; \ - ${ECHO} "EOF_SHELL"; \ - ${ECHO} " \$${CHMOD} +x ./+SHELL"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-shell"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_SHELL_FILE}: ${_INSTALL_SHELL_DATAFILE} +${_INSTALL_SHELL_FILE}: ../../mk/install/shell + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ${SED} ${FILES_SUBST_SED} ../../mk/install/shell > ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_SHELLS_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_SHELL_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -610,9 +560,10 @@ FONTS_DIRS.ttf?= # empty FONTS_DIRS.type1?= # empty FONTS_DIRS.x11?= # empty -_INSTALL_FONTS_FILE= ${WRKDIR}/.install-fonts -_INSTALL_UNPACK_TMPL+= ${_INSTALL_FONTS_FILE} -_INSTALL_FONTS_MEMBERS= ${FONTS_DIRS.ttf} ${FONTS_DIRS.type1} ${FONTS_DIRS.x11} +_INSTALL_FONTS_FILE= ${_PKGINSTALL_DIR}/fonts +_INSTALL_FONTS_DATAFILE= ${_PKGINSTALL_DIR}/fonts-data +_INSTALL_UNPACK_TMPL+= ${_INSTALL_FONTS_FILE} +_INSTALL_DATA_TMPL+= ${_INSTALL_FONTS_DATAFILE} # Directories with TTF and Type1 fonts also need to run mkfontdir, so # list them as "x11" font directories as well. @@ -632,49 +583,43 @@ USE_TOOLS+= mkfontdir:run FILES_SUBST+= MKFONTDIR=${TOOLS_PATH.mkfontdir:Q} .endif -${_INSTALL_FONTS_FILE}: ../../mk/install/fonts +${_INSTALL_FONTS_DATAFILE}: + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp - ${_PKG_SILENT}${_PKG_DEBUG} \ - ${_FUNC_STRIP_PREFIX}; \ - exec 1>>${.TARGET}.tmp; \ - ${ECHO} "# start of install-fonts"; \ - ${ECHO} "#"; \ - ${ECHO} "# Generate a +FONTS script that updates fonts databases."; \ - ${ECHO} "#"; \ - ${ECHO} "case \$${STAGE} in"; \ - ${ECHO} "PRE-INSTALL|UNPACK)"; \ - ${ECHO} " \$${CAT} > ./+FONTS << 'EOF_FONTS'"; \ - ${SED} ${FILES_SUBST_SED} ../../mk/install/fonts; \ - ${ECHO} ""; \ + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${FONTS_DIRS.ttf}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# FONTS: $$dir ttf"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${FONTS_DIRS.type1}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# FONTS: $$dir type1"; \ - done; \ + done + ${_PKG_SILENT}${_PKG_DEBUG}${_FUNC_STRIP_PREFIX}; \ set -- dummy ${FONTS_DIRS.x11}; shift; \ + exec 1>>${.TARGET}.tmp; \ while ${TEST} $$# -gt 0; do \ dir="$$1"; shift; \ dir=`strip_prefix "$$dir"`; \ ${ECHO} "# FONTS: $$dir x11"; \ - done; \ - ${ECHO} "EOF_FONTS"; \ - ${ECHO} " \$${CHMOD} +x ./+FONTS"; \ - ${ECHO} " ;;"; \ - ${ECHO} "esac"; \ - ${ECHO} ""; \ - ${ECHO} "# end of install-fonts"; \ - exec 1>/dev/null; \ - ${MV} -f ${.TARGET}.tmp ${.TARGET} + done + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} + +${_INSTALL_FONTS_FILE}: ${_INSTALL_FONTS_DATAFILE} +${_INSTALL_FONTS_FILE}: ../../mk/install/fonts + ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG} \ + ${SED} ${FILES_SUBST_SED} ../../mk/install/fonts > ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG} \ - set -- dummy ${_INSTALL_FONTS_MEMBERS}; shift; \ - if ${TEST} $$# -eq 0; then \ + if ${_ZERO_FILESIZE_P} ${_INSTALL_FONTS_DATAFILE}; then \ ${RM} -f ${.TARGET}; \ ${TOUCH} ${TOUCH_ARGS} ${.TARGET}; \ fi @@ -774,10 +719,10 @@ INSTALL_SCRIPTS_ENV+= PKG_REFCOUNT_DBDIR=${PKG_REFCOUNT_DBDIR} DEINSTALL_FILE= ${PKG_DB_TMPDIR}/+DEINSTALL INSTALL_FILE= ${PKG_DB_TMPDIR}/+INSTALL -_DEINSTALL_FILE= ${WRKDIR}/.DEINSTALL -_INSTALL_FILE= ${WRKDIR}/.INSTALL -_DEINSTALL_FILE_DFLT= ${WRKDIR}/.DEINSTALL_default -_INSTALL_FILE_DFLT= ${WRKDIR}/.INSTALL_default +_DEINSTALL_FILE= ${_PKGINSTALL_DIR}/DEINSTALL +_INSTALL_FILE= ${_PKGINSTALL_DIR}/INSTALL +_DEINSTALL_FILE_DFLT= ${_PKGINSTALL_DIR}/DEINSTALL.default +_INSTALL_FILE_DFLT= ${_PKGINSTALL_DIR}/INSTALL.default .PHONY: generate-install-scripts post-build: generate-install-scripts @@ -816,24 +761,30 @@ ${_INSTALL_FILE_DFLT}: ${_INSTALL_TEMPLATES_DFLT} ${_DEINSTALL_FILE}: ${DEINSTALL_SRC} ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG} \ + exec 1>>${.TARGET}.tmp; \ case ${.ALLSRC:Q}"" in \ - "") { ${ECHO} "#!${SH}"; \ - ${ECHO} "exit 0"; } > ${.TARGET} ;; \ - *) ${CAT} ${.ALLSRC} | ${SED} ${FILES_SUBST_SED} \ - > ${.TARGET} ;; \ + "") ${ECHO} "#!${SH}" ; \ + ${ECHO} "exit 0" ;; \ + *) ${CAT} ${.ALLSRC} | ${SED} ${FILES_SUBST_SED} ;; \ esac + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG}${CHMOD} +x ${.TARGET} ${_INSTALL_FILE}: ${INSTALL_SRC} ${_PKG_SILENT}${_PKG_DEBUG}${MKDIR} ${.TARGET:H} + ${_PKG_SILENT}${_PKG_DEBUG}${RM} -f ${.TARGET} ${.TARGET}.tmp + ${_PKG_SILENT}${_PKG_DEBUG}${TOUCH} ${TOUCH_ARGS} ${.TARGET}.tmp ${_PKG_SILENT}${_PKG_DEBUG} \ + exec 1>>${.TARGET}.tmp; \ case ${.ALLSRC:Q}"" in \ - "") { ${ECHO} "#!${SH}"; \ - ${ECHO} "exit 0"; } > ${.TARGET} ;; \ - *) ${CAT} ${.ALLSRC} | ${SED} ${FILES_SUBST_SED} \ - > ${.TARGET} ;; \ + "") ${ECHO} "#!${SH}" ; \ + ${ECHO} "exit 0" ;; \ + *) ${CAT} ${.ALLSRC} | ${SED} ${FILES_SUBST_SED} ;; \ esac + ${_PKG_SILENT}${_PKG_DEBUG}${MV} -f ${.TARGET}.tmp ${.TARGET} ${_PKG_SILENT}${_PKG_DEBUG}${CHMOD} +x ${.TARGET} pre-install-script: diff --git a/mk/install/deinstall b/mk/install/deinstall index 21f4b41b8a0..ab58a11c723 100644 --- a/mk/install/deinstall +++ b/mk/install/deinstall @@ -1,7 +1,4 @@ -# -*- sh -*- -# start of deinstall -# -# $NetBSD: deinstall,v 1.38 2006/03/09 00:20:27 jlam Exp $ +# $NetBSD: deinstall,v 1.39 2006/03/15 04:52:57 jlam Exp $ case ${STAGE} in VIEW-DEINSTALL) @@ -78,4 +75,3 @@ POST-DEINSTALL) ;; esac -# end of deinstall diff --git a/mk/install/deinstall-pre b/mk/install/deinstall-pre index ee0145e9c1c..3372bf6974c 100644 --- a/mk/install/deinstall-pre +++ b/mk/install/deinstall-pre @@ -1,6 +1,4 @@ -# start of deinstall-pre -# -# $NetBSD: deinstall-pre,v 1.2 2006/03/14 11:19:57 tron Exp $ +# $NetBSD: deinstall-pre,v 1.3 2006/03/15 04:52:57 jlam Exp $ # Ensure that the VIEW-DEINSTALL action is called for overwrite packages. # This is here to ensure that it's the first DEINSTALL action (before @@ -15,4 +13,3 @@ DEINSTALL) ;; esac -# end of deinstall-pre diff --git a/mk/install/dirs b/mk/install/dirs index b7b660a095c..f2760e5cae9 100644 --- a/mk/install/dirs +++ b/mk/install/dirs @@ -1,6 +1,12 @@ -#!@SH@ +# $NetBSD: dirs,v 1.9 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +DIRS script that reference counts directories that are +# required for the proper functioning of the package. # -# $NetBSD: dirs,v 1.8 2005/08/19 22:24:10 jlam Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+DIRS << 'EOF' +#!@SH@ # # +DIRS - reference-counted directory management script # @@ -234,3 +240,10 @@ CHECK-REMOVE) ;; esac exit $exitcode + +EOF + ${SED} -n "/^\# DIR: /p" ${SELF} >> ./+DIRS + ${CHMOD} +x ./+DIRS + ;; +esac + diff --git a/mk/install/files b/mk/install/files index c73c584446f..ae88d1b155d 100644 --- a/mk/install/files +++ b/mk/install/files @@ -1,6 +1,12 @@ -#!@SH@ +# $NetBSD: files,v 1.9 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +FILES script that reference counts config files that are +# required for the proper functioning of the package. # -# $NetBSD: files,v 1.8 2005/08/19 22:24:10 jlam Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+FILES << 'EOF' +#!@SH@ # # +FILES - reference-counted configuration file management script # @@ -323,3 +329,10 @@ CHECK-REMOVE) ;; esac exit $exitcode + +EOF + ${SED} -n "/^\# FILE: /p" ${SELF} >> ./+FILES + ${CHMOD} +x ./+FILES + ;; +esac + diff --git a/mk/install/fonts b/mk/install/fonts index 6c06af7a8c5..20afbe6dd3e 100644 --- a/mk/install/fonts +++ b/mk/install/fonts @@ -1,6 +1,11 @@ -#!@SH@ +# $NetBSD: fonts,v 1.10 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +FONTS script that updates font databases for the package. # -# $NetBSD: fonts,v 1.9 2006/02/17 19:32:48 wiz Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+FONTS << 'EOF' +#!@SH@ # # +FONTS - font database management script # @@ -87,3 +92,10 @@ yes) ${ECHO} "" ${ECHO} "===========================================================================" ;; esac; } + +EOF + ${SED} -n "/^\# FONTS: /p" ${SELF} >> ./+FONTS + ${CHMOD} +x ./+FONTS + ;; +esac + diff --git a/mk/install/footer b/mk/install/footer index 44719cce24c..31380d9738c 100644 --- a/mk/install/footer +++ b/mk/install/footer @@ -1,7 +1,4 @@ -# start of footer -# -# $NetBSD: footer,v 1.1 2001/11/19 16:18:44 jlam Exp $ +# $NetBSD: footer,v 1.2 2006/03/15 04:52:57 jlam Exp $ exit 0 -# end of footer diff --git a/mk/install/header b/mk/install/header index e2783116dc6..69ba520436b 100644 --- a/mk/install/header +++ b/mk/install/header @@ -1,9 +1,8 @@ #!@SH@ # -# start of header -# -# $NetBSD: header,v 1.34 2005/08/19 22:24:10 jlam Exp $ +# $NetBSD: header,v 1.35 2006/03/15 04:52:57 jlam Exp $ +SELF=$0 PKGNAME=$1 STAGE=$2 @@ -84,4 +83,3 @@ case "${PKG_CONFIG:-@PKG_CONFIG@}" in ;; esac -# end of header diff --git a/mk/install/info-files b/mk/install/info-files index def4b50ea59..299f145bb4e 100644 --- a/mk/install/info-files +++ b/mk/install/info-files @@ -1,6 +1,12 @@ -#!@SH@ +# $NetBSD: info-files,v 1.2 2006/03/15 04:52:57 jlam Exp $ +# +# Generate an +INFO_FILES script that handles info file registration for +# the package. # -# $NetBSD: info-files,v 1.1 2006/03/09 00:20:27 jlam Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+INFO_FILES << 'EOF' +#!@SH@ # # +INFO_FILES - info file registration management script # @@ -108,3 +114,10 @@ REMOVE) ;; esac exit $exitcode + +EOF + ${SED} -n "/^\# INFO: /p" ${SELF} >> ./+INFO_FILES + ${CHMOD} +x ./+INFO_FILES + ;; +esac + diff --git a/mk/install/install b/mk/install/install index 3abe5690487..027913b2de6 100644 --- a/mk/install/install +++ b/mk/install/install @@ -1,7 +1,4 @@ -# -*- sh -*- -# start of install -# -# $NetBSD: install,v 1.43 2006/03/09 00:20:27 jlam Exp $ +# $NetBSD: install,v 1.44 2006/03/15 04:52:57 jlam Exp $ case ${STAGE} in PRE-INSTALL) @@ -90,4 +87,3 @@ VIEW-INSTALL) ;; esac -# end of install diff --git a/mk/install/install-post b/mk/install/install-post index fc236632e1b..79f17b0797d 100644 --- a/mk/install/install-post +++ b/mk/install/install-post @@ -1,6 +1,4 @@ -# start of install-post -# -# $NetBSD: install-post,v 1.2 2006/03/14 11:19:57 tron Exp $ +# $NetBSD: install-post,v 1.3 2006/03/15 04:52:57 jlam Exp $ # Ensure that the VIEW-INSTALL action is called for overwrite packages. # This is here to ensure that it's the final POST-INSTALL action (after @@ -15,4 +13,3 @@ POST-INSTALL) ;; esac -# end of install-post diff --git a/mk/install/perms b/mk/install/perms index a7e632afa77..9de1e3ff1f5 100644 --- a/mk/install/perms +++ b/mk/install/perms @@ -1,6 +1,12 @@ -#!@SH@ +# $NetBSD: perms,v 1.4 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +PERMS script that sets the special permissions on files +# and directories used by the package. # -# $NetBSD: perms,v 1.3 2005/07/29 21:41:04 jlam Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+PERMS << 'EOF' +#!@SH@ # # +PERMS - special file and directory permissions management script # @@ -81,3 +87,10 @@ yes) ${ECHO} "" ${ECHO} "===========================================================================" ;; esac; } + +EOF + ${SED} -n "/^\# PERMS: /p" ${SELF} >> ./+PERMS + ${CHMOD} +x ./+PERMS + ;; +esac + diff --git a/mk/install/shell b/mk/install/shell index 3e7ec9fb54b..ee48308e27f 100644 --- a/mk/install/shell +++ b/mk/install/shell @@ -1,6 +1,11 @@ -#!@SH@ +# $NetBSD: shell,v 1.5 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +SHELL script that handles shell registration for the package. # -# $NetBSD: shell,v 1.4 2005/09/20 04:23:49 jlam Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+SHELL << 'EOF' +#!@SH@ # # +SHELL - shell registration script # @@ -219,3 +224,10 @@ CHECK-REMOVE) ;; esac exit $exitcode + +EOF + ${SED} -n "/^\# SHELL: /p" ${SELF} >> ./+SHELL + ${CHMOD} +x ./+SHELL + ;; +esac + diff --git a/mk/install/usergroup b/mk/install/usergroup index 704baaea114..9fa8d6220a4 100644 --- a/mk/install/usergroup +++ b/mk/install/usergroup @@ -1,6 +1,12 @@ -#!@SH@ +# $NetBSD: usergroup,v 1.13 2006/03/15 04:52:57 jlam Exp $ +# +# Generate a +USERGROUP script that reference-counts users and groups +# that are required for the proper functioning of the package. # -# $NetBSD: usergroup,v 1.12 2006/03/07 20:31:17 reed Exp $ +case "${STAGE}" in +PRE-INSTALL|UNPACK) + ${CAT} > ./+USERGROUP << 'EOF' +#!@SH@ # # +USERGROUP - users and groups management script # @@ -391,3 +397,11 @@ CHECK-REMOVE) ;; esac exit $exitcode + +EOF + ${SED} -n "/^\# GROUP: /p" ${SELF} >> ./+USERGROUP + ${SED} -n "/^\# USER: /p" ${SELF} >> ./+USERGROUP + ${CHMOD} +x ./+USERGROUP + ;; +esac + |