summaryrefslogtreecommitdiff
path: root/extra/quagga/quagga.install
blob: c5d88b976edc2e1f031788ddaeab84145ce76a43 (plain)
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
infodir=/usr/share/info
filelist=(quagga.info quagga.info-1 quagga.info-2)

post_install() {
  groupadd -r quagga
  useradd -MNr -s /bin/false -d /run/quagga -g quagga quagga && passwd -l quagga &>/dev/null
  install -d -m 750 -o quagga -g quagga /{run,etc,var/log}/quagga
  post_upgrade
}

post_upgrade() {
  if [[ -x /usr/bin/install-info ]]; then
    for file in ${filelist[@]}; do
      install-info $infodir/$file.gz $infodir/dir 2> /dev/null
    done
  fi
}

pre_remove() {
  for d in zebra ripd ripngd bgpd ospfd ospf6d isisd; do
    /etc/rc.d/$d stop &>/dev/null
  done
  if [[ -x /usr/bin/install-info ]]; then
    for file in ${filelist[@]}; do
      install-info --delete $infodir/$file.gz $infodir/dir 2> /dev/null
    done
  fi
}

post_remove() {
  userdel quagga &>/dev/null
  groupdel quagga &>/dev/null
  rmdir /{etc,var/log}/quagga
}

# vim: ft=sh ts=2 sw=2 et: