summaryrefslogtreecommitdiff
path: root/extra/quagga/quagga.install
diff options
context:
space:
mode:
authorNicolás Reynolds <fauno@endefensadelsl.org>2014-07-25 04:03:32 +0000
committerNicolás Reynolds <fauno@endefensadelsl.org>2014-07-25 04:03:32 +0000
commit29cefdccedfcb48822a8da80b259ed0bb0f73266 (patch)
treeeabeaf9a2ee1319f8cc0f3e05018588aa5a169c9 /extra/quagga/quagga.install
parentd256eaa80219eb28cbfb4f9474acc6fb41c63d3c (diff)
Fri Jul 25 03:59:36 UTC 2014
Diffstat (limited to 'extra/quagga/quagga.install')
-rw-r--r--extra/quagga/quagga.install36
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: