2007-08-01 18:28:08 +02:00
|
|
|
# $NetBSD: INSTALL,v 1.2 2007/08/01 16:28:08 jlam Exp $
|
2006-06-23 17:52:34 +02:00
|
|
|
|
2007-08-01 18:28:08 +02:00
|
|
|
# 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`
|
2006-06-23 17:52:34 +02:00
|
|
|
|
2007-08-01 18:28:08 +02:00
|
|
|
exitcode=0
|
|
|
|
case $ACTION,$EUID in
|
|
|
|
ADD,0)
|
|
|
|
${ECHO} "" > ${ROOT_ACTIONS_COOKIE}
|
|
|
|
${CHMOD} g+w ${ROOT_ACTIONS_COOKIE}
|
2006-06-23 17:52:34 +02:00
|
|
|
|
2007-08-01 18:28:08 +02:00
|
|
|
# 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}`
|
2006-06-23 17:52:34 +02:00
|
|
|
|
2007-08-01 18:28:08 +02:00
|
|
|
if ${TEST} "${OPSYS_EMULDIR_PWD}" != "${EMULDIR_PWD}"; then
|
|
|
|
if ${TEST} -e ${OPSYS_EMULDIR} -o -L ${OPSYS_EMULDIR}; then
|
|
|
|
${CAT} << EOM
|
2006-06-23 17:52:34 +02:00
|
|
|
==============================================================================
|
2007-08-01 18:28:08 +02:00
|
|
|
The following symbolic link must be created for ${PKGNAME}
|
|
|
|
to work properly:
|
2006-06-23 17:52:34 +02:00
|
|
|
|
2007-08-01 18:28:08 +02:00
|
|
|
${EMULDIR} -> ${OPSYS_EMULDIR}
|
2006-06-23 17:52:34 +02:00
|
|
|
|
|
|
|
==============================================================================
|
2007-08-01 18:28:08 +02:00
|
|
|
EOM
|
2006-06-23 17:52:34 +02:00
|
|
|
else
|
2007-08-01 18:28:08 +02:00
|
|
|
${ECHO} "${PKGNAME}: creating symlink ${EMULDIR} -> ${OPSYS_EMULDIR}"
|
|
|
|
( ${MKDIR} -p `${DIRNAME} ${OPSYS_EMULDIR}` &&
|
|
|
|
${LN} -fs ${EMULDIR} ${OPSYS_EMULDIR} ) || ${TRUE}
|
2006-06-23 17:52:34 +02:00
|
|
|
fi
|
|
|
|
fi
|
|
|
|
;;
|
2007-08-01 18:28:08 +02:00
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
EMULDIR="${PKG_PREFIX}/@EMULSUBDIR@"
|
|
|
|
OPSYS_EMULDIR="@OPSYS_EMULDIR@"
|
|
|
|
|
|
|
|
case "${STAGE}" in
|
|
|
|
POST-INSTALL)
|
|
|
|
# Run any actions that require root privileges.
|
|
|
|
${TEST} ! -x ./+ROOT_ACTIONS ||
|
|
|
|
./+ROOT_ACTIONS ADD ${PKG_METADATA_DIR}
|
|
|
|
;;
|
2006-06-23 17:52:34 +02:00
|
|
|
esac
|