Merge from vendor branch TNF:
[pkgsrcv2.git] / emulators / compat_netbsd / INSTALL.emulnetbsd32
1 # $NetBSD: INSTALL,v 1.7 2007/07/30 14:42:43 jlam Exp $
2
3 # Generate a +ROOT_ACTIONS script that runs certain actions that require
4 # superuser privileges.
5 #
6 case "${STAGE},$1" in
7 UNPACK,|UNPACK,+ROOT_ACTIONS)
8         ${CAT} > ./+ROOT_ACTIONS << 'EOF'
9 #!@SH@
10 #
11 # +ROOT_ACTIONS - run actions requiring superuser privileges
12 #
13 # Usage: ./+ROOT_ACTIONS ADD|REMOVE [metadatadir]
14 #
15 # This script runs certain actions that require superuser privileges.
16 # If such privileges are not available, then simply output a message
17 # asking the user to run this script with the appropriate elevated
18 # privileges.
19 #
20
21 CAT="@CAT@"
22 CHMOD="@CHMOD@"
23 CP="@CP@"
24 DIRNAME="@DIRNAME@"
25 ECHO="@ECHO@"
26 ID="@ID@"
27 LN="@LN@"
28 MKDIR="@MKDIR@"
29 PWD_CMD="@PWD_CMD@"
30 RM="@RM@"
31 SH="@SH@"
32 TEST="@TEST@"
33
34 SELF=$0
35 ACTION=$1
36
37 CURDIR=`${PWD_CMD}`
38 PKG_METADATA_DIR="${2-${CURDIR}}"
39 : ${PKGNAME=${PKG_METADATA_DIR##*/}}
40 : ${PKG_PREFIX=@PREFIX@}
41
42 EMULDIR="${PKG_PREFIX}/@EMULSUBDIR@"
43 OPSYS_EMULDIR="@OPSYS_EMULDIR@"
44
45 ROOT_ACTIONS_COOKIE="./+ROOT_ACTIONS_done"
46 EUID=`${ID} -u`
47
48 exitcode=0
49 case $ACTION,$EUID in
50 ADD,0)
51         ${ECHO} "" > ${ROOT_ACTIONS_COOKIE}
52         ${CHMOD} g+w ${ROOT_ACTIONS_COOKIE}
53
54         # Create the appropriate symlink so that the kernel will
55         # find the installed files.
56         #
57         OPSYS_EMULDIR_PWD=`cd ${OPSYS_EMULDIR} 2>/dev/null && ${PWD_CMD}`
58         EMULDIR_PWD=`cd ${EMULDIR} 2>/dev/null && ${PWD_CMD}`
59
60         if ${TEST} "${OPSYS_EMULDIR_PWD}" != "${EMULDIR_PWD}"; then
61                 if ${TEST} -e ${OPSYS_EMULDIR} -o -L ${OPSYS_EMULDIR}; then
62                         ${CAT} << EOM
63 ==============================================================================
64 The following symbolic link must be created for ${PKGNAME}
65 to work properly:
66
67         ${EMULDIR} -> ${OPSYS_EMULDIR}
68
69 ==============================================================================
70 EOM
71                 else
72                         ${ECHO} "${PKGNAME}: creating symlink ${EMULDIR} -> ${OPSYS_EMULDIR}"
73                         ( ${MKDIR} -p `${DIRNAME} ${OPSYS_EMULDIR}` && 
74                           ${LN} -fs ${EMULDIR} ${OPSYS_EMULDIR} ) || ${TRUE}
75                 fi
76         fi
77         ;;
78
79 ADD,*)
80         if ${TEST} ! -f ${ROOT_ACTIONS_COOKIE}; then
81                 ${CAT} << EOM
82 ==============================================================================
83 Please run the following command with superuser privileges to complete
84 the installation of ${PKGNAME}:
85
86     cd ${PKG_METADATA_DIR} && ${SELF} ADD
87
88 ==============================================================================
89 EOM
90         fi
91         ;;
92
93 REMOVE,*)
94         ${RM} -f ${ROOT_ACTIONS_COOKIE}
95         ;;
96 esac
97 exit $exitcode
98
99 EOF
100         ${CHMOD} +x ./+ROOT_ACTIONS
101         ;;
102 esac
103
104 case "${STAGE}" in
105 POST-INSTALL)
106         # Run any actions that require root privileges.
107         ${TEST} ! -x ./+ROOT_ACTIONS ||
108                 ./+ROOT_ACTIONS ADD ${PKG_METADATA_DIR}
109         ;;
110 esac