summaryrefslogtreecommitdiff
path: root/japanese/mailman/files/pkg-install.in
blob: 6b3b5be4e8eb8449230b4c2ffde2ef04560dffcd (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
48
49
50
51
52
53
54
55
#! /bin/sh
#
# $FreeBSD$

PATH=/bin:/usr/bin:/usr/sbin

case $2 in

POST-INSTALL)
  echo "---> Starting post-install script"

  MYTMP="$(mktemp -d "${TMPDIR-/tmp}/mminstall.XXXXXXXXXX")" || exit 1
  trap "rm -rf \"$MYTMP\"" EXIT

  /bin/chmod g+s "%%MAILMANDIR%%" || exit 1

  echo "---> Running update"

  for DIR in logs archives lists locks data spam qfiles \
             archives/private archives/public
  do
      if [ ! -e "%%MAILMANDIR%%/$DIR" ]; then
          /bin/mkdir -p "%%MAILMANDIR%%/$DIR"
      fi
  done

  LC_ALL=C "%%MAILMANDIR%%/bin/update" || exit 1

  echo "---> Checking crontab(5) file for user \"%%USER%%\""

  if [ -e /var/cron/allow ]; then
      grep -q "^%%USER%%\$" /var/cron/allow || \
      printf '%s\n' "%%USER%%" >> /var/cron/allow
  fi

  if /usr/bin/crontab -u "%%USER%%" -l >"$MYTMP/crontab" 2>&1 ; then
      if test -s "$MYTMP/crontab"; then
          echo "---> \"%%USER%%\" already has a crontab.  Not overwriting it"
          echo "---> Please merge any changes from the standard crontab file"
          echo "--->     %%MAILMANDIR%%/cron/crontab.in"
      else
          echo "---> Installing crontab(5) file for user \"%%USER%%\""
          /usr/bin/crontab -u "%%USER%%" "%%MAILMANDIR%%/cron/crontab.in" || exit 1
      fi
  else
      echo "---> Creating crontab(5) file for user \"%%USER%%\""
      /usr/bin/crontab -u "%%USER%%" "%%MAILMANDIR%%/cron/crontab.in" || exit 1
  fi
  rm -f "$MYTMP/crontab"

  echo "---> Checking (and fixing) file and directory permissions"
  "%%MAILMANDIR%%/bin/check_perms" -f >/dev/null
  ;;

esac