# $NetBSD: INSTALL.emulnetbsd32,v 1.1 2007/08/21 22:49:25 jlam Exp $ # Generate a +ROOT_ACTIONS script that runs certain actions that require # superuser privileges. # case "${STAGE},$1" in UNPACK,|UNPACK,+ROOT_ACTIONS) ${CAT} > ./+ROOT_ACTIONS << 'EOF' #!@SH@ # # +ROOT_ACTIONS - run actions requiring superuser privileges # # Usage: ./+ROOT_ACTIONS ADD|REMOVE [metadatadir] # # This script runs certain actions that require superuser privileges. # If such privileges are not available, then simply output a message # asking the user to run this script with the appropriate elevated # privileges. # CAT="@CAT@" CHMOD="@CHMOD@" CP="@CP@" DIRNAME="@DIRNAME@" ECHO="@ECHO@" ID="@ID@" LN="@LN@" MKDIR="@MKDIR@" PWD_CMD="@PWD_CMD@" RM="@RM@" SH="@SH@" TEST="@TEST@" SELF=$0 ACTION=$1 CURDIR=`${PWD_CMD}` PKG_METADATA_DIR="${2-${CURDIR}}" : ${PKGNAME=${PKG_METADATA_DIR##*/}} : ${PKG_PREFIX=@PREFIX@} EMULDIR="${PKG_PREFIX}/@EMULSUBDIR@" OPSYS_EMULDIR="@OPSYS_EMULDIR@" ROOT_ACTIONS_COOKIE="./+ROOT_ACTIONS_done" EUID=`${ID} -u` exitcode=0 case $ACTION,$EUID in ADD,0) ${ECHO} "" > ${ROOT_ACTIONS_COOKIE} ${CHMOD} g+w ${ROOT_ACTIONS_COOKIE} # Create the appropriate symlink so that the kernel will # find the installed files. # OPSYS_EMULDIR_PWD=`cd ${OPSYS_EMULDIR} 2>/dev/null && ${PWD_CMD}` EMULDIR_PWD=`cd ${EMULDIR} 2>/dev/null && ${PWD_CMD}` if ${TEST} "${OPSYS_EMULDIR_PWD}" != "${EMULDIR_PWD}"; then if ${TEST} -e ${OPSYS_EMULDIR} -o -L ${OPSYS_EMULDIR}; then ${CAT} << EOM ============================================================================== The following symbolic link must be created for ${PKGNAME} to work properly: ${EMULDIR} -> ${OPSYS_EMULDIR} ============================================================================== EOM else ${ECHO} "${PKGNAME}: creating symlink ${EMULDIR} -> ${OPSYS_EMULDIR}" ( ${MKDIR} -p `${DIRNAME} ${OPSYS_EMULDIR}` && ${LN} -fs ${EMULDIR} ${OPSYS_EMULDIR} ) || ${TRUE} fi fi ;; ADD,*) if ${TEST} ! -f ${ROOT_ACTIONS_COOKIE}; then ${CAT} << EOM ============================================================================== Please run the following command with superuser privileges to complete the installation of ${PKGNAME}: cd ${PKG_METADATA_DIR} && ${SELF} ADD ============================================================================== EOM fi ;; REMOVE,*) ${RM} -f ${ROOT_ACTIONS_COOKIE} ;; esac exit $exitcode EOF ${CHMOD} +x ./+ROOT_ACTIONS ;; esac case "${STAGE}" in POST-INSTALL) # Run any actions that require root privileges. ${TEST} ! -x ./+ROOT_ACTIONS || ./+ROOT_ACTIONS ADD ${PKG_METADATA_DIR} ;; esac