aboutsummaryrefslogtreecommitdiffstats
path: root/databases/gnats4/pkg-install
blob: 35c079e5f148d2403fcc5bdb4f33aa76a15f9da5 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
#
# $FreeBSD$
#

ECHO_CMD=echo
GREP=/usr/bin/grep
PW=/usr/sbin/pw

FTPUSERS=/etc/ftpusers
GNATSDBDIR=%%GNATSDBDIR%%

case $2 in
PRE-INSTALL)
  if [ ! -x ${PW} ]; then
    ${ECHO_CMD} "Your system is missing the \`pw' command."
    exit 1
  fi
  if ${PW} usershow -n gnats >/dev/null 2>&1; then
    if [ "`pw usershow -n gnats | awk -F: '{print $9}'`" != "${GNATSDBDIR}" ]; then
      ${PW} usermod -n gnats -d "${GNATSDBDIR}" 2>/dev/null
      ${ECHO_CMD} "===>  Account \`gnats' updated."
    fi
  else
    if ${PW} useradd -n gnats -u 61 -g 1 -d "${GNATSDBDIR}" \
        -c "GNATS database owner" -h -; then
      ${GREP} -qs '^gnats$' ${FTPUSERS} || ${ECHO_CMD} gnats >> ${FTPUSERS}
      ${ECHO_CMD} "===>  Account \`gnats' created."
    else
      ${ECHO_CMD}
      ${ECHO_CMD} "The FreeBSD standard userid for gnats is 61, but this system"
      ${ECHO_CMD} "has already a different account with this userid:"
      ${ECHO_CMD}
      ${PW} usershow -u 61 -P
      ${ECHO_CMD}
      ${ECHO_CMD} "You can either delete this account (which may be dangerous) with"
      ${ECHO_CMD} "  ${PW} userdel -u 61"
      ${ECHO_CMD} "or add the gnats user with an other userid with"
      ${ECHO_CMD} "  ${PW} useradd -n gnats -g daemon \\"
      ${ECHO_CMD} "  -d ${GNATSDBDIR} -c 'GNATS database owner' -h -"        
      ${ECHO_CMD} "and retry installing this package"
      ${ECHO_CMD}
      exit 1
    fi
  fi
  ;;
esac