# -*- sh -*- # start of install # # $NetBSD: install,v 1.42 2005/12/29 03:44:38 jlam Exp $ case ${STAGE} in PRE-INSTALL) # # Require that necessary users and groups exist or else fail the # installation of the package. # ${TEST} ! -x ./+USERGROUP || { ./+USERGROUP ADD ${PKG_METADATA_DIR} if ./+USERGROUP CHECK-ADD ${PKG_METADATA_DIR}; then : else exit 1 fi; } # # Create package directories at pre-install time. # if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \ "${_PKG_CONFIG}" = "yes" -a -n "${CONF_DEPENDS}" ]; then pkg=`${PKG_ADMIN} -b -d ${DEPOTBASE} -s "" lsbest "${CONF_DEPENDS}"` sysconfdir=`${PKG_INFO} -B -K ${DEPOTBASE} $pkg | \ ${AWK} '/^PKG_SYSCONFDIR=/ { \ gsub("^PKG_SYSCONFDIR=[ ]*", ""); \ print; \ }' \ ` if [ -d $sysconfdir -a ! -d ${PKG_SYSCONFDIR} ]; then ${MKDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` ${LN} -sf $sysconfdir ${PKG_SYSCONFDIR} fi fi ${TEST} ! -x ./+DIRS || ./+DIRS ADD ${PKG_METADATA_DIR} ;; POST-INSTALL) # # Copy configuration/support files into place. # ${TEST} ! -x ./+FILES || ./+FILES ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+RCD_SCRIPTS || ./+RCD_SCRIPTS ADD ${PKG_METADATA_DIR} # # Set special permissions on any files/directories that need them. # ${TEST} ! -x ./+PERMS || ./+PERMS ${PKG_METADATA_DIR} # # Update any fonts databases. # ${TEST} ! -x ./+FONTS || ./+FONTS ${PKG_METADATA_DIR} # Check for any missing bits after we're finished installing. # ${TEST} ! -x ./+DIRS || ./+DIRS CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+FILES || ./+FILES CHECK-ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+RCD_SCRIPTS || ./+RCD_SCRIPTS CHECK-ADD ${PKG_METADATA_DIR} ;; VIEW-INSTALL) # # Register shells in /etc/shells. # ${TEST} ! -x ./+SHELL || ./+SHELL ADD ${PKG_METADATA_DIR} ${TEST} ! -x ./+SHELL || ./+SHELL CHECK-ADD ${PKG_METADATA_DIR} # If ${PKG_SYSCONFBASE} points outside of ${PREFIX}, then add the # package config files to the proper view. # if [ "${_PKG_CONFIG}" = "yes" -a -n "${PKG_SYSCONFDEPOTBASE}" ]; then ${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \ ${LINKFARM} -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME} fi ;; esac # end of install