# start of deinstall # # $NetBSD: deinstall,v 1.8 2001/11/26 20:37:39 jlam Exp $ eval set -- ${PKG_USERS} for userset do user=` IFS=":" set -- ${userset} ${ECHO} "$1" ` ALL_USERS="${ALL_USERS} \"${user}\"" done eval set -- ${PKG_GROUPS} for groupset do group=` IFS=":" set -- ${groupset} ${ECHO} "$1" ` ALL_GROUPS="${ALL_GROUPS} \"${group}\"" done eval set -- ${CONF_FILES} ${SUPPORT_FILES} for file do ALL_FILES="${ALL_FILES} \"${file}\"" done eval set -- ${RCD_SCRIPTS} for script do samplefile="${PKG_PREFIX}/etc/rc.d/${script}" file="${RCD_SCRIPTS_DIR}/${script}" shift ALL_FILES="${ALL_FILES} \"${samplefile}\" \"${file}\"" done eval set -- ${CONF_FILES_PERMS} ${SUPPORT_FILES_PERMS} while [ $# -gt 0 ] do samplefile="$1"; file="$2"; owner="$3"; group="$4"; mode="$5" shift; shift; shift; shift; shift ALL_FILES="${ALL_FILES} \"${samplefile}\" \"${file}\"" done eval set -- ${MAKE_DIRS} for dir do ALL_MAKE_DIRS="${ALL_MAKE_DIRS} \"${dir}\"" done eval set -- ${MAKE_DIRS_PERMS} while [ $# -gt 0 ] do dir="$1"; owner="$2"; group="$3"; mode="$4" shift; shift; shift; shift ALL_MAKE_DIRS="${ALL_MAKE_DIRS} \"${dir}\"" done eval set -- ${ALL_MAKE_DIRS} ${OWN_DIRS} for dir do ALL_DIRS="${ALL_DIRS} \"${dir}\"" done eval set -- ${OWN_DIRS_PERMS} while [ $# -gt 0 ] do dir="$1"; owner="$2"; group="$3"; mode="$4" shift; shift; shift; shift ALL_DIRS="${ALL_DIRS} \"${dir}\"" done ALL_DIRS=` ( eval set -- ${ALL_DIRS} for dir do ${ECHO} "\"${dir}\"" done ) | ${SORT} -r ` case ${STAGE} in DEINSTALL) # Remove configuration files if they don't differ from the default # config file. # eval set -- ${ALL_FILES} while [ $# -gt 0 ] do samplefile="$1"; file="$2" shift; shift if [ "${file}" != "${samplefile}" -a \ -e "${file}" -a -e "${samplefile}" ] then if ${CMP} -s "${file}" "${samplefile}" then ${RM} -f "${file}" fi fi done ;; POST-DEINSTALL) modified_files='' eval set -- ${ALL_FILES} while [ $# -gt 0 ] do samplefile="$1"; file="$2" shift; shift if [ -e "${file}" ] then modified_files="${modified_files} \"${file}\"" fi done existing_dirs='' eval set -- ${ALL_DIRS} for dir do is_make_dir=` ( eval set -- ${ALL_MAKE_DIRS} is_make_dir=0 for make_dir do if [ "${dir}" = "${make_dir}" ] then is_make_dir=1 break fi done ${ECHO} ${is_make_dir} ) ` ${RMDIR} -p "${dir}" 2>/dev/null || ${TRUE} if [ ${is_make_dir} -eq 0 -a -d "${dir}" ] then existing_dirs="${existing_dirs} \"${dir}\"" fi done if [ -n "${ALL_USERS}" -o -n "${ALL_GROUPS}" -o \ -n "${modified_files}" -o -n "${existing_dirs}" ] then ${CAT} << EOF =========================================================================== If you won't be using ${PKGNAME} any longer, you may want to remove EOF if [ -n "${ALL_USERS}" ] then ${ECHO} "" ${ECHO} -n " * the following users" sep=": " eval set -- ${ALL_USERS} for user do ${ECHO} -n "${sep}${user}" sep=", " done ${ECHO} "" fi if [ -n "${ALL_GROUPS}" ] then ${ECHO} "" ${ECHO} -n " * the following groups" sep=": " eval set -- ${ALL_GROUPS} for group do ${ECHO} -n "${sep}${group}" sep=", " done ${ECHO} "" fi if [ -n "${modified_files}" ] then ${CAT} << EOF * the following files: EOF eval set -- ${modified_files} for file do ${ECHO} " ${file}" done fi if [ -n "${existing_dirs}" ] then ${CAT} << EOF * the following directories: EOF eval set -- ${existing_dirs} for dir do ${ECHO} " ${dir}" done fi if [ -n "${RCD_SCRIPTS}" ] then ${CAT} << EOF You many also want to remove any settings in rc.conf that you may have made in order to use ${PKGNAME}. EOF fi ${CAT} << EOF =========================================================================== EOF fi ;; *) ${ECHO} "Unexpected argument: ${STAGE}" exit 1 ;; esac # end of deinstall