%{!?with_multipath: %global with_multipath 256 }
%{!?frr_user: %global frr_user frr }
%{!?vty_group: %global vty_group frrvty }
-%{!?with_fpm: %global with_fpm 0 }
+%{!?with_fpm: %global with_fpm 1 }
%{!?with_watchfrr: %global with_watchfrr 1 }
%{!?with_bgp_vnc: %global with_bgp_vnc 0 }
%{!?with_pimd: %global with_pimd 1 }
+%{!?with_rpki: %global with_rpki 0 }
# path defines
%define _sysconfdir /etc/frr
BuildRequires: pam-devel
Requires: pam
%endif
+%if %{with_rpki}
+BuildRequires: librtr-devel >= 0.5
+Requires: librtr >= 0.5
+%endif
%if "%{initsystem}" == "systemd"
BuildRequires: systemd systemd-devel
Requires(post): systemd
--enable-systemd=yes \
%endif
--enable-poll=yes
+%if %{with_rpki}
+ --enable-rpki
+%endif
make %{?_smp_mflags} MAKEINFO="makeinfo --no-split"
%else
mkdir -p %{buildroot}/etc/rc.d/init.d
install %{zeb_rh_src}/frr.init \
+ %{buildroot}%{_sbindir}/frr
+ln -s %{_sbindir}/frr \
%{buildroot}/etc/rc.d/init.d/frr
%endif
/sbin/chkconfig --add frr
%endif
+# Fix bad path in previous config files
+# Config files won't get replaced by default, so we do this ugly hack to fix it
+%__sed -i 's|/etc/init.d/|%{_sbindir}/|g' %{_sysconfdir}/daemons 2> /dev/null || true
+
/sbin/install-info %{_infodir}/frr.info.gz %{_infodir}/dir
# Create dummy files if they don't exist so basic functions can be used.
##
## Systemd Version
##
- %systemd_postun frr.service
+ %systemd_postun_with_restart frr.service
%else
##
## init.d Version
##
## Systemd Version
##
- if [ "$1" = "0" ]; then
- for daemon in %all_daemons ; do
- if [ x"${daemon}" != x"" ] ; then
- %systemd_preun frr.service
- fi
- done
+ if [ $1 -eq 0 ] ; then
+ %systemd_preun frr.service
fi
%else
##
## init.d Version
##
- if [ "$1" = "0" ]; then
+ if [ $1 -eq 0 ] ; then
/etc/rc.d/init.d/frr stop >/dev/null 2>&1
/sbin/chkconfig --del frr
fi
%{_libdir}/lib*.so.0
%attr(755,root,root) %{_libdir}/lib*.so.0.*
%endif
+%if %{with_fpm}
+%attr(755,root,root) %{_libdir}/frr/modules/zebra_fpm.so
+%endif
%attr(755,root,root) %{_libdir}/frr/modules/zebra_irdp.so
%{_bindir}/*
%config(noreplace) /etc/frr/[!v]*.conf*
%config(noreplace) %attr(750,%frr_user,%frr_user) /etc/frr/daemons
%if "%{initsystem}" == "systemd"
- %config %{_unitdir}/frr.service
+ %attr(644,root,root) %{_unitdir}/frr.service
%{_sbindir}/frr
%else
- %config /etc/rc.d/init.d/frr
+ /etc/rc.d/init.d/frr
+ %{_sbindir}/frr
%endif
%config(noreplace) /etc/pam.d/frr
%config(noreplace) %attr(640,root,root) /etc/logrotate.d/*
+%{_sbindir}/frr-reload
%files contrib
%defattr(-,root,root)
%endif
%changelog
-* Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org> - %{version}
+* Sun Mar 11 2018 Martin Winter <mwinter@opensourcerouting.org> - %{version}
+- ISIS-MT - https://tools.ietf.org/html/rfc5120
+- BGP - RPKI (RFC 6810)
+- BGP - v4 labeled unicast as per RFC 3107
+- BGP/Zebra - Type 2 and 3 EVPN with symmetric and asymmetric routing
+- EIGRP - https://tools.ietf.org/html/rfc7868
+- FRR - Tab completion for iface names, prefix-lists, route-maps, BGP peers
+- BABEL - https://tools.ietf.org/html/rfc6126
+- PIM VRF - Added the ability to work with VRF’s to PIM
+- OSPFv2 VRF - Added the ability to work with VRF’s to OSPFv2
+- OSPFv2 Experimental SR - draft-ietf-ospf-segment-routing-extensions-24
+- ZEBRA - Add ability to create a static route that leaks across VRF’s.
+
+* Sun Mar 4 2018 Martin Winter <mwinter@opensourcerouting.org>
+- Add option to build with RPKI (default: disabled)
+
+* Fri Oct 20 2017 Martin Winter <mwinter@opensourcerouting.org> - 3.0.2
+- Fix script location for watchfrr restart functions in daemon config
+- Fix postun script to restart frr during upgrade
+
+* Mon Jun 5 2017 Martin Winter <mwinter@opensourcerouting.org>
- added NHRP and EIGRP daemon
* Mon Apr 17 2017 Martin Winter <mwinter@opensourcerouting.org>