summaryrefslogtreecommitdiff
path: root/mk/pkginstall/install
diff options
context:
space:
mode:
Diffstat (limited to 'mk/pkginstall/install')
-rw-r--r--mk/pkginstall/install97
1 files changed, 97 insertions, 0 deletions
diff --git a/mk/pkginstall/install b/mk/pkginstall/install
new file mode 100644
index 00000000000..a060d9f7b07
--- /dev/null
+++ b/mk/pkginstall/install
@@ -0,0 +1,97 @@
+# $NetBSD: install,v 1.1 2006/05/21 23:50:15 jlam Exp $
+
+case ${STAGE} in
+PRE-INSTALL)
+ #
+ # Unpack the helper scriptlets.
+ #
+ ${SH} ${SELF} ${PKGNAME} UNPACK
+ #
+ # 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}
+ ${TEST} ! -x ./+DIRS ||
+ ./+DIRS PERMS ${PKG_METADATA_DIR}
+ ;;
+
+POST-INSTALL)
+ #
+ # Copy configuration/support files into place.
+ #
+ ${TEST} ! -x ./+FILES ||
+ ./+FILES ADD ${PKG_METADATA_DIR}
+ ${TEST} ! -x ./+FILES ||
+ ./+FILES PERMS ${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 ./+DIRS ||
+ ./+DIRS CHECK-PERMS ${PKG_METADATA_DIR}
+ ${TEST} ! -x ./+FILES ||
+ ./+FILES CHECK-ADD ${PKG_METADATA_DIR}
+ ${TEST} ! -x ./+FILES ||
+ ./+FILES CHECK-PERMS ${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}
+ #
+ # Register info files.
+ #
+ ${TEST} ! -x ./+INFO_FILES ||
+ ./+INFO_FILES 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
+