summaryrefslogtreecommitdiff
path: root/net-misc/quagga/files/quagga-services.init.3
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
committerV3n3RiX <venerix@redcorelinux.org>2017-10-09 18:53:29 +0100
commit4f2d7949f03e1c198bc888f2d05f421d35c57e21 (patch)
treeba5f07bf3f9d22d82e54a462313f5d244036c768 /net-misc/quagga/files/quagga-services.init.3
reinit the tree, so we can have metadata
Diffstat (limited to 'net-misc/quagga/files/quagga-services.init.3')
-rw-r--r--net-misc/quagga/files/quagga-services.init.343
1 files changed, 43 insertions, 0 deletions
diff --git a/net-misc/quagga/files/quagga-services.init.3 b/net-misc/quagga/files/quagga-services.init.3
new file mode 100644
index 000000000000..e613b26abb03
--- /dev/null
+++ b/net-misc/quagga/files/quagga-services.init.3
@@ -0,0 +1,43 @@
+#!/sbin/openrc-run
+# Copyright 1999-2013 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+: ${CFGFILE:=/etc/quagga/${SVCNAME}.conf}
+
+pidfile=/run/quagga/${SVCNAME}.pid
+
+command=/usr/sbin/${SVCNAME}
+command_args="-d -f ${CFGFILE} ${EXTRA_OPTS} --pid_file ${pidfile}"
+
+get_service_config() {
+ [ -e "$CFGFILE" ] || return
+
+ awk '$1 == "'$1'" { s=$2 } END { print s }' "$CFGFILE"
+}
+
+depend() {
+ config "$CFGFILE"
+
+ [ ${SVCNAME} = "zebra" ] && need net || need zebra
+
+ [ "$(get_service_config log)" = "syslog" ] && \
+ use logger
+}
+
+start_pre() {
+ if [ ! -e "${CFGFILE}" ] ; then
+ eerror "Before starting ${SVCNAME} you have to configure it, by creating"
+ eerror "a ${CFGFILE} file."
+ eerror ""
+ eerror "A sample file has been installed in `echo /usr/share/doc/quagga-*/samples/${SVCNAME}.conf.sample*`"
+ return 1
+ fi
+
+ checkpath -d -m 0750 -o quagga:quagga /run/quagga
+
+ if [ ${SVCNAME} = "zebra" ]; then
+ ebegin "Cleaning up stale zebra routes..."
+ ip route flush proto zebra
+ eend $?
+ fi
+}