summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetwroks.com>2016-06-13 19:00:24 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-06-15 07:36:41 -0400
commit48eefa681673d6f3ccd7dc247fdae3487b2f5bd4 (patch)
treec52ea94674731ca0eddf31306411dc1dcf22ed95
parentfb8211bbae660361bd57bdf97e9f4deb0af5ceb9 (diff)
redhat: Changes to allow Cumulus start/stop methodology
Change the redhat .spec and control files to allow redhat systemd interaction to be the same as the debian style. This will allow users to use Quagga consistently across platforms. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Conflicts: redhat/Makefile.am
-rw-r--r--redhat/Makefile.am8
-rw-r--r--redhat/bgpd.service14
-rw-r--r--redhat/isisd.service14
-rw-r--r--redhat/ospf6d.service14
-rw-r--r--redhat/ospfd.service14
-rw-r--r--redhat/quagga.spec.in49
-rw-r--r--redhat/ripd.service14
-rw-r--r--redhat/ripngd.service14
-rw-r--r--redhat/zebra.service14
9 files changed, 30 insertions, 125 deletions
diff --git a/redhat/Makefile.am b/redhat/Makefile.am
index 695d7eae84..b52cc3150a 100644
--- a/redhat/Makefile.am
+++ b/redhat/Makefile.am
@@ -1,7 +1,7 @@
-EXTRA_DIST = bgpd.init bgpd.service isisd.init \
- isisd.service ospf6d.init ospf6d.service ospfd.init ospfd.service \
+EXTRA_DIST = bgpd.init isisd.init \
+ ospf6d.init ospfd.init \
quagga.logrotate quagga.pam quagga.spec \
- quagga.sysconfig ripd.init ripd.service ripngd.init ripngd.service \
- watchquagga.init zebra.init zebra.service \
+ quagga.sysconfig ripd.init ripngd.init \
+ watchquagga.init zebra.init \
README.rpm_build.md
diff --git a/redhat/bgpd.service b/redhat/bgpd.service
deleted file mode 100644
index 5040284dbb..0000000000
--- a/redhat/bgpd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=BGP routing daemon
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/bgpd.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/bgpd -d $BGPD_OPTS -f /etc/quagga/bgpd.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/isisd.service b/redhat/isisd.service
deleted file mode 100644
index 4cdf67d67e..0000000000
--- a/redhat/isisd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=IS-IS routing daemon
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/isisd.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/isisd -d $ISISD_OPTS -f /etc/quagga/isisd.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/ospf6d.service b/redhat/ospf6d.service
deleted file mode 100644
index 3c9c466899..0000000000
--- a/redhat/ospf6d.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=OSPF routing daemon for IPv6
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/ospf6d.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/ospf6d -d $OSPF6D_OPTS -f /etc/quagga/ospf6d.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/ospfd.service b/redhat/ospfd.service
deleted file mode 100644
index 5e3de23935..0000000000
--- a/redhat/ospfd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=OSPF routing daemon
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/ospfd.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/ospfd -d $OSPFD_OPTS -f /etc/quagga/ospfd.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/quagga.spec.in b/redhat/quagga.spec.in
index 0e689b420a..253fd7c0a0 100644
--- a/redhat/quagga.spec.in
+++ b/redhat/quagga.spec.in
@@ -11,13 +11,13 @@
####################### Quagga configure options #########################
# with-feature options
%{!?with_tcp_zebra: %global with_tcp_zebra 0 }
-%{!?with_pam: %global with_pam 1 }
+%{!?with_pam: %global with_pam 0 }
%{!?with_ospfclient: %global with_ospfclient 1 }
%{!?with_ospfapi: %global with_ospfapi 1 }
%{!?with_irdp: %global with_irdp 1 }
%{!?with_rtadv: %global with_rtadv 1 }
%{!?with_shared: %global with_shared 1 }
-%{!?with_multipath: %global with_multipath 64 }
+%{!?with_multipath: %global with_multipath 256 }
%{!?quagga_user: %global quagga_user quagga }
%{!?vty_group: %global vty_group quaggavty }
%{!?with_fpm: %global with_fpm 0 }
@@ -25,9 +25,12 @@
# path defines
%define _sysconfdir /etc/quagga
+%define _sbindir /usr/lib/quagga
%define zeb_src %{_builddir}/%{name}-%{quaggaversion}
%define zeb_rh_src %{zeb_src}/redhat
%define zeb_docs %{zeb_src}/doc
+%define quagga_tools %{zeb_src}/tools
+%define cumulus_dir %{zeb_src}/cumulus/etc
# defines for configure
%define _localstatedir /var/run/quagga
@@ -52,7 +55,7 @@
# Note: For systems with systemd, watchquagga will NOT be built. Systemd
# takes over the role of restarting crashed processes. Value will
# be overwritten with 0 below for systemd independent on the setting here
- %global with_watchquagga 0
+ %global with_watchquagga 1
%endif
# if FPM is enabled, then enable tcp_zebra as well
@@ -62,9 +65,9 @@
%endif
# misc internal defines
-%{!?quagga_uid: %define quagga_uid 92 }
-%{!?quagga_gid: %define quagga_gid 92 }
-%{!?vty_gid: %define vty_gid 85 }
+%{!?quagga_uid: %global quagga_uid 92 }
+%{!?quagga_gid: %global quagga_gid 92 }
+%{!?vty_gid: %global vty_gid 85 }
%define daemon_list zebra ripd ospfd bgpd isisd ripngd ospfd6d
@@ -80,7 +83,7 @@
%{!?keep_build: %global keep_build 0 }
#release sub-revision (the two digits after the CONFDATE)
-%{!?release_rev: %define release_rev 01 }
+%{!?release_rev: %global release_rev 01 }
Summary: Routing daemon
Name: quagga
@@ -159,6 +162,7 @@ developing OSPF-API and quagga applications.
#CFLAGS="${CFLAGS} -Wpacked -Wpadded"
%configure \
+ --sbindir=%{_sbindir} \
--sysconfdir=%{_sysconfdir} \
--libdir=%{_libdir} \
--libexecdir=%{_libexecdir} \
@@ -214,14 +218,10 @@ developing OSPF-API and quagga applications.
%else
--disable-watchquagga \
%endif
-<<<<<<< HEAD
- --enable-gcc-rdynamic
-=======
--enable-gcc-rdynamic \
--enable-isisd=yes \
--enable-systemd=yes \
--enable-poll=yes
->>>>>>> 5713748... rebase me
make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
@@ -234,22 +234,19 @@ texi2html --number-footnotes --number-sections quagga.texi
popd
%install
-mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d} \
+mkdir -p %{buildroot}/etc/{quagga,sysconfig,logrotate.d,pam.d,default} \
%{buildroot}/var/log/quagga %{buildroot}%{_infodir}
make DESTDIR=%{buildroot} INSTALL="install -p" CP="cp -p" install
# Remove this file, as it is uninstalled and causes errors when building on RH9
rm -rf %{buildroot}/usr/share/info/dir
+
# install /etc sources
%if "%{initsystem}" == "systemd"
mkdir -p %{buildroot}%{_unitdir}
-for daemon in %{all_daemons} ; do
- if [ x"${daemon}" != x"" ] ; then
- install %{zeb_rh_src}/${daemon}.service \
- %{buildroot}%{_unitdir}/${daemon}.service
- fi
-done
+install %{quagga_tools}/quagga.service \
+ %{buildroot}%{_unitdir}/quagga.service
%else
mkdir -p %{buildroot}/etc/rc.d/init.d
for daemon in %{all_daemons} ; do
@@ -260,12 +257,13 @@ for daemon in %{all_daemons} ; do
done
%endif
+install %{cumulus_dir}/quagga/debian.conf %{buildroot}/etc/quagga
+install %{cumulus_dir}/quagga/daemons %{buildroot}/etc/quagga
+install -m644 %{cumulus_dir}/default/quagga %{buildroot}/etc/default
install -m644 %{zeb_rh_src}/quagga.pam \
%{buildroot}/etc/pam.d/quagga
install -m644 %{zeb_rh_src}/quagga.logrotate \
%{buildroot}/etc/logrotate.d/quagga
-install -m644 %{zeb_rh_src}/quagga.sysconfig \
- %{buildroot}/etc/sysconfig/quagga
install -d -m750 %{buildroot}/var/run/quagga
%pre
@@ -315,7 +313,7 @@ zebra_spec_add_service isisd 2608/tcp "ISISd vty"
%if "%{initsystem}" == "systemd"
for daemon in %all_daemons ; do
- %systemd_post ${daemon}.service
+ %systemd_post quagga.service
done
%else
for daemon in %all_daemons ; do
@@ -478,6 +476,11 @@ rm -rf %{buildroot}
%{_sbindir}/ospfd
%{_sbindir}/ripd
%{_sbindir}/bgpd
+%{_sbindir}/ssd
+%{_sbindir}/quagga
+%{_sbindir}/quagga-reload.py
+%{_sbindir}/quagga-reload.pyc
+%{_sbindir}/quagga-reload.pyo
%if %{with_watchquagga}
%{_sbindir}/watchquagga
%endif
@@ -491,7 +494,7 @@ rm -rf %{buildroot}
%{_bindir}/*
%config /etc/quagga/[!v]*
%if "%{initsystem}" == "systemd"
- %config %{_unitdir}/*.service
+ %config %{_unitdir}/quagga.service
%else
%config /etc/rc.d/init.d/zebra
%if %{with_watchquagga}
@@ -505,7 +508,7 @@ rm -rf %{buildroot}
%config /etc/rc.d/init.d/isisd
%config /etc/rc.d/init.d/pimd
%endif
-%config(noreplace) /etc/sysconfig/quagga
+%config(noreplace) /etc/default/quagga
%config(noreplace) /etc/pam.d/quagga
%config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
diff --git a/redhat/ripd.service b/redhat/ripd.service
deleted file mode 100644
index d35dc47a12..0000000000
--- a/redhat/ripd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=RIP routing daemon
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/ripd.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/ripd -d $RIPD_OPTS -f /etc/quagga/ripd.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/ripngd.service b/redhat/ripngd.service
deleted file mode 100644
index 567e88806c..0000000000
--- a/redhat/ripngd.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=RIP routing daemon for IPv6
-BindTo=zebra.service
-After=syslog.target network.target zebra.service
-ConditionPathExists=/etc/quagga/ripngd.conf
-
-[Service]
-Type=forking
-EnvironmentFile=/etc/sysconfig/quagga
-ExecStart=/usr/sbin/ripngd -d $RIPNGD_OPTS -f /etc/quagga/ripngd.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target
diff --git a/redhat/zebra.service b/redhat/zebra.service
deleted file mode 100644
index 27c3a5229f..0000000000
--- a/redhat/zebra.service
+++ /dev/null
@@ -1,14 +0,0 @@
-[Unit]
-Description=GNU Zebra routing manager
-After=syslog.target network.target
-ConditionPathExists=/etc/quagga/zebra.conf
-
-[Service]
-Type=forking
-EnvironmentFile=-/etc/sysconfig/quagga
-ExecStartPre=/sbin/ip route flush proto zebra
-ExecStart=/usr/sbin/zebra -d $ZEBRA_OPTS -f /etc/quagga/zebra.conf
-Restart=on-abort
-
-[Install]
-WantedBy=network.target