diff options
Diffstat (limited to 'extra/quagga/quagga.install')
-rw-r--r-- | extra/quagga/quagga.install | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/extra/quagga/quagga.install b/extra/quagga/quagga.install new file mode 100644 index 000000000..c5d88b976 --- /dev/null +++ b/extra/quagga/quagga.install @@ -0,0 +1,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: |