+SHELL. * Turn PKG_REGISTER_SHELLS into a variable that can be set in the shell environment so that admins can make a choice when installing from binary packages. * PKG_SHELL is now a list of paths, and if the path is relative, then it is taken to be relative to ${PREFIX}. Convert packages that set PKG_SHELL to take advantage of this new feature by changing the full paths to the shells into relative paths.
81 lines
2 KiB
Bash
81 lines
2 KiB
Bash
# -*- sh -*-
|
|
# start of deinstall
|
|
#
|
|
# $NetBSD: deinstall,v 1.35 2005/07/29 18:32:18 jlam Exp $
|
|
|
|
case ${STAGE} in
|
|
VIEW-DEINSTALL)
|
|
case ${_PKG_CONFIG} in
|
|
YES)
|
|
case ${PKG_SYSCONFDEPOTBASE} in
|
|
"")
|
|
${TEST} ! -x ./+FILES ||
|
|
./+FILES VIEW-REMOVE ${PREFIX} ${PKG_PREFIX}
|
|
;;
|
|
*)
|
|
${SETENV} PLIST_IGNORE_FILES="${CONF_IGNORE_FILES}" \
|
|
${LINKFARM} -D -t ${PKG_SYSCONFVIEWBASE} -d ${PKG_SYSCONFDEPOTBASE} ${PKGNAME}
|
|
${RMDIR} -p ${PKG_SYSCONFVIEWBASE} 2>/dev/null || ${TRUE}
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|
|
#
|
|
# Remove shells from /etc/shells.
|
|
#
|
|
case ${_PKG_REGISTER_SHELLS} in
|
|
YES) ${TEST} ! -x ./+SHELL ||
|
|
./+SHELL REMOVE ${PKG_METADATA_DIR} ;;
|
|
esac
|
|
${TEST} ! -x ./+SHELL ||
|
|
./+SHELL CHECK-REMOVE ${PKG_METADATA_DIR}
|
|
;;
|
|
|
|
DEINSTALL)
|
|
# Remove configuration files if they don't differ from the default
|
|
# config file.
|
|
#
|
|
case ${_PKG_CONFIG} in
|
|
YES) ${TEST} ! -x ./+FILES ||
|
|
./+FILES REMOVE ${PKG_METADATA_DIR} ;;
|
|
esac
|
|
case ${_PKG_CONFIG}${_PKG_RCD_SCRIPTS} in
|
|
YESYES) ${TEST} ! -x ./+RCD_SCRIPTS ||
|
|
./+RCD_SCRIPTS REMOVE ${PKG_METADATA_DIR} ;;
|
|
esac
|
|
;;
|
|
|
|
POST-DEINSTALL)
|
|
if [ "${PKG_INSTALLATION_TYPE}" = "pkgviews" -a \
|
|
"${_PKG_CONFIG}" = "YES" -a -n "${CONF_DEPENDS}" ]; then
|
|
if [ -h ${PKG_SYSCONFDIR} ]; then
|
|
${RM} -f ${PKG_SYSCONFDIR}
|
|
fi
|
|
${RMDIR} -p `${DIRNAME} ${PKG_SYSCONFDIR}` 2>/dev/null || ${TRUE}
|
|
fi
|
|
#
|
|
# Remove empty directories and unused users/groups.
|
|
#
|
|
case ${_PKG_CONFIG} in
|
|
YES) ${TEST} ! -x ./+DIRS ||
|
|
./+DIRS REMOVE ${PKG_METADATA_DIR} ;;
|
|
esac
|
|
case ${_PKG_CREATE_USERGROUP} in
|
|
YES) ${TEST} ! -x ./+USERGROUP ||
|
|
./+USERGROUP REMOVE ${PKG_METADATA_DIR} ;;
|
|
esac
|
|
#
|
|
# Check for any existing bits after we're finished de-installing.
|
|
#
|
|
${TEST} ! -x ./+USERGROUP ||
|
|
./+USERGROUP CHECK-REMOVE ${PKG_METADATA_DIR}
|
|
${TEST} ! -x ./+FILES ||
|
|
./+FILES CHECK-REMOVE ${PKG_METADATA_DIR}
|
|
${TEST} ! -x ./+RCD_SCRIPTS ||
|
|
./+RCD_SCRIPTS CHECK-REMOVE ${PKG_METADATA_DIR}
|
|
${TEST} ! -x ./+DIRS ||
|
|
./+DIRS CHECK-REMOVE ${PKG_METADATA_DIR}
|
|
;;
|
|
esac
|
|
|
|
# end of deinstall
|