From: Scott Leggett <scott@sl.id.au>
Date: Sun, 5 Nov 2017 15:11:51 +1100
Subject: Patch .service files for Debian.

---
 redhat/bgpd.service   |  5 ++---
 redhat/isisd.service  |  5 ++---
 redhat/nhrpd.service  |  5 ++---
 redhat/ospf6d.service |  5 ++---
 redhat/ospfd.service  |  5 ++---
 redhat/pimd.service   | 13 +++++++------
 redhat/ripd.service   |  5 ++---
 redhat/ripngd.service |  5 ++---
 redhat/zebra.service  | 10 ++++++----
 9 files changed, 27 insertions(+), 31 deletions(-)

diff --git a/redhat/bgpd.service b/redhat/bgpd.service
index a50bfff..f1ddfd9 100644
--- a/redhat/bgpd.service
+++ b/redhat/bgpd.service
@@ -9,10 +9,9 @@ Documentation=man:bgpd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/bgpd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/bgpd.conf
-ExecStart=/usr/sbin/bgpd -d $BGPD_OPTS -f /etc/quagga/bgpd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/bgpd.conf
+ExecStart=/usr/sbin/bgpd -d -A 127.0.0.1 -f /etc/quagga/bgpd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/isisd.service b/redhat/isisd.service
index 93663aa..a16b2f8 100644
--- a/redhat/isisd.service
+++ b/redhat/isisd.service
@@ -9,10 +9,9 @@ Documentation=man:isisd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/isisd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/isisd.conf
-ExecStart=/usr/sbin/isisd -d $ISISD_OPTS -f /etc/quagga/isisd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/isisd.conf
+ExecStart=/usr/sbin/isisd -d -A 127.0.0.1 -f /etc/quagga/isisd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/nhrpd.service b/redhat/nhrpd.service
index 5b4120d..15680e8 100644
--- a/redhat/nhrpd.service
+++ b/redhat/nhrpd.service
@@ -9,10 +9,9 @@ Documentation=man:nhrpd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/nhrpd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/nhrpd.conf
-ExecStart=/usr/sbin/nhrpd -d $NHRPD_OPTS -f /etc/quagga/nhrpdd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/nhrpd.conf
+ExecStart=/usr/sbin/nhrpd -d -A 127.0.0.1 -f /etc/quagga/nhrpd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/ospf6d.service b/redhat/ospf6d.service
index 3c1c978..c883e5c 100644
--- a/redhat/ospf6d.service
+++ b/redhat/ospf6d.service
@@ -9,10 +9,9 @@ Documentation=man:ospf6d
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ospf6d.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ospf6d.conf
-ExecStart=/usr/sbin/ospf6d -d $OSPF6D_OPTS -f /etc/quagga/ospf6d.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/ospf6d.conf
+ExecStart=/usr/sbin/ospf6d -d -A ::1 -f /etc/quagga/ospf6d.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/ospfd.service b/redhat/ospfd.service
index 0084b6c..57b3bee 100644
--- a/redhat/ospfd.service
+++ b/redhat/ospfd.service
@@ -9,10 +9,9 @@ Documentation=man:ospfd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ospfd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ospfd.conf
-ExecStart=/usr/sbin/ospfd -d $OSPFD_OPTS -f /etc/quagga/ospfd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/ospfd.conf
+ExecStart=/usr/sbin/ospfd -d -A 127.0.0.1 -f /etc/quagga/ospfd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/pimd.service b/redhat/pimd.service
index 1916846..b2d33f3 100644
--- a/redhat/pimd.service
+++ b/redhat/pimd.service
@@ -1,17 +1,18 @@
 [Unit]
 Description=PIM multicast routing engine
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
+BindsTo=zebra.service
+Wants=network.target
+After=zebra.service network-pre.target
+Before=network.target
 ConditionPathExists=/etc/quagga/pimd.conf
 Documentation=man:pimd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/pimd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/pimd.conf
-ExecStart=/usr/sbin/pimd -d $PIMD_OPTS -f /etc/quagga/pimd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/pimd.conf
+ExecStart=/usr/sbin/pimd -d -A 127.0.0.1 -f /etc/quagga/pimd.conf
 Restart=on-abort
 
 [Install]
-WantedBy=network.target
+WantedBy=multi-user.target
diff --git a/redhat/ripd.service b/redhat/ripd.service
index 103b5a9..d6290e0 100644
--- a/redhat/ripd.service
+++ b/redhat/ripd.service
@@ -9,10 +9,9 @@ Documentation=man:ripd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ripd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ripd.conf
-ExecStart=/usr/sbin/ripd -d $RIPD_OPTS -f /etc/quagga/ripd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/ripd.conf
+ExecStart=/usr/sbin/ripd -d -A 127.0.0.1 -f /etc/quagga/ripd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/ripngd.service b/redhat/ripngd.service
index 6fe6ba8..2e4ccb8 100644
--- a/redhat/ripngd.service
+++ b/redhat/ripngd.service
@@ -9,10 +9,9 @@ Documentation=man:ripngd
 
 [Service]
 Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/ripngd.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /etc/quagga/ripngd.conf
-ExecStart=/usr/sbin/ripngd -d $RIPNGD_OPTS -f /etc/quagga/ripngd.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/ripngd.conf
+ExecStart=/usr/sbin/ripngd -d -A ::1 -f /etc/quagga/ripngd.conf
 Restart=on-abort
 
 [Install]
diff --git a/redhat/zebra.service b/redhat/zebra.service
index fa5a004..5111677 100644
--- a/redhat/zebra.service
+++ b/redhat/zebra.service
@@ -8,13 +8,15 @@ Documentation=man:zebra
 
 [Service]
 Type=forking
-EnvironmentFile=-/etc/sysconfig/quagga
 ExecStartPre=/sbin/ip route flush proto zebra
 ExecStartPre=-/bin/chmod -f 640 /etc/quagga/vtysh.conf /etc/quagga/zebra.conf
-ExecStartPre=-/bin/chown -f $QUAGGA_USER:$QUAGGA_GROUP /run/quagga /etc/quagga/zebra.conf
-ExecStartPre=-/bin/chown -f ${QUAGGA_USER}${VTY_GROUP:+":$VTY_GROUP"} quaggavty /etc/quagga/vtysh.conf
-ExecStart=/usr/sbin/zebra -d $ZEBRA_OPTS -f /etc/quagga/zebra.conf
+ExecStartPre=-/bin/chown -f quagga:quagga /etc/quagga/zebra.conf
+ExecStartPre=-/bin/chown -f quagga:quaggavty /etc/quagga/vtysh.conf
+ExecStart=/usr/sbin/zebra -d -A 127.0.0.1 -f /etc/quagga/zebra.conf
 Restart=on-abort
+RuntimeDirectory=quagga
+RuntimeDirectoryMode=775
+Group=quagga
 
 [Install]
 WantedBy=multi-user.target
