%define _disable_ld_no_undefined 1 %define _legacy_common_support 1 # configure options %define with_snmp 0 %define with_vtysh 1 %define with_ospf_te 1 %define with_opaque_lsa 1 %define with_tcp_zebra 0 %define with_vtysh 1 %define with_pam 1 %define with_ipv6 1 %define with_ospfclient 0 %define with_ospfapi 0 %define with_irdp 1 %define with_isisd 1 %define with_multipath 64 %define quagga_user quagga %define vty_group quaggavt # path defines %define zeb_src %{_builddir}/%{name}-%{version} %define zeb_rh_src %{zeb_src}/redhat %define zeb_docs %{zeb_src}/doc %define major 0 %define zebra_major 1 %define libname %mklibname %{name} %{major} %define develname %mklibname %{name} -d Summary: Routing daemon Name: quagga Version: 1.2.4 Release: %mkrel 7 License: GPLv2+ Group: System/Servers URL: http://www.quagga.net Source0: https://download.savannah.gnu.org/releases/quagga/%{name}-%{version}.tar.gz Source2: %{name}-tmpfiles.conf Source10: babeld.service Source11: ripngd.service Source12: ospf6d.service Source13: isisd.service Source14: ospfd.service Source15: ripd.service Source16: bgpd.service Source17: zebra.service Source18: watchquagga.service BuildRequires: texinfo BuildRequires: texi2html BuildRequires: tetex BuildRequires: pam-devel BuildRequires: libpcap-devel BuildRequires: chrpath >= 0.12 BuildRequires: automake BuildRequires: autoconf2.5 BuildRequires: pkgconfig(libcares) %if %{with_snmp} Requires: net-snmp-mibs BuildRequires: net-snmp-devel BuildRequires: openssl-devel %endif %if %{with_vtysh} BuildRequires: readline-devel BuildRequires: pkgconfig(ncurses) %endif Requires(post): systemd >= %{systemd_required_version} Requires(pre): rpm-helper Requires(post): rpm-helper Requires(preun): rpm-helper Requires(postun): rpm-helper Requires(pre): ncurses readline pam Requires: %{libname} = %{version} %description Quagga is a free software that manages TCP/IP based routing protocol. It takes multi-server and multi-thread approach to resolve the current complexity of the Internet. Quagga supports BGP4, BGP4+, OSPFv2, OSPFv3, RIPv1, RIPv2, and RIPng. Quagga is intended to be used as a Route Server and a Route Reflector. It is not a toolkit, it provides full routing power under a new architecture. Quagga by design has a process for each protocol. Quagga is a fork of GNU Zebra. %package contrib Summary: Tools for quagga Group: System/Servers %description contrib Contributed/3rd party tools which may be of use with quagga. %package -n %{libname} Summary: Shared %{name} library Group: System/Libraries %description -n %{libname} This package provides the shared %{name} library. %package -n %{develname} Summary: Header and object files for quagga development Group: Development/C Requires: %{libname} = %{version} Provides: %{name}-devel = %{version} Provides: lib%{name}-devel = %{version} Obsoletes: %{mklibname quagga 0 -d} %description -n %{develname} The quagga-devel package contains the header and object files necessary for developing OSPF-API and quagga applications. %prep %setup -q %autopatch -p1 %build export CFLAGS="%{optflags} -fPIC" %serverbuild autoreconf -fi %configure \ --sysconfdir=%{_sysconfdir}/quagga \ --localstatedir=/run/quagga \ %if %{with_ipv6} --enable-ipv6 \ %endif %if %{with_snmp} --enable-snmp \ %endif %if %{with_multipath} --enable-multipath=%{with_multipath} \ %endif %if %{with_tcp_zebra} --enable-tcp-zebra \ %endif %if %{with_opaque_lsa} --enable-opaque-lsa \ %endif %if %{with_ospf_te} --enable-ospf-te \ %endif %if %{with_vtysh} --enable-vtysh \ %endif %if %{with_ospfclient} --enable-ospfclient=yes \ %else --enable-ospfclient=no\ %endif %if %{with_ospfapi} --enable-ospfapi=yes \ %else --enable-ospfapi=no \ %endif %if %{with_irdp} --enable-irdp=yes \ %else --enable-irdp=no \ %endif %if %{with_isisd} --enable-isisd \ %else --disable-isisd \ %endif %if %{with_pam} --with-libpam \ %endif --enable-user=%{quagga_user} \ --enable-group=%{quagga_user} \ --enable-vty-group=%{vty_group} \ --with-cflags="%{optflags}" \ --enable-netlink \ --disable-static %make_build MAKEINFO="makeinfo --no-split" pushd doc texi2html quagga.texi popd %install # don't fiddle with the initscript! export DONT_GPRINTIFY=1 install -d %{buildroot}%{_sysconfdir}/sysconfig install -d %{buildroot}%{_sysconfdir}/logrotate.d install -d %{buildroot}%{_sysconfdir}/pam.d install -d %{buildroot}/var/log/quagga install -D -p -m 0644 %{SOURCE2} %{buildroot}%{_tmpfilesdir}/%{name}.conf install -d %{buildroot}%{_infodir} %make_install # Remove this file, as it is uninstalled and causes errors when building on RH9 rm -rf %{buildroot}/usr/share/info/dir mkdir -p %{buildroot}%{_unitdir} install -m 644 %{SOURCE16} %{buildroot}%{_unitdir} install -m 644 %{SOURCE17} %{buildroot}%{_unitdir} install -m 644 %{SOURCE14} %{buildroot}%{_unitdir} install -m 644 %{SOURCE15} %{buildroot}%{_unitdir} install -m 644 %{SOURCE18} %{buildroot}%{_unitdir} %if %{with_ipv6} install -m 644 %{SOURCE11} %{buildroot}%{_unitdir} install -m 644 %{SOURCE12} %{buildroot}%{_unitdir} %endif %if %{with_isisd} install -m 644 %{SOURCE13} %{buildroot}%{_unitdir} %endif install -m644 %{zeb_rh_src}/quagga.sysconfig %{buildroot}%{_sysconfdir}/sysconfig/quagga install -m644 %{zeb_rh_src}/quagga.logrotate %{buildroot}%{_sysconfdir}/logrotate.d/quagga # fix conditional pam config file install -m644 %{zeb_rh_src}/quagga.pam %{buildroot}%{_sysconfdir}/pam.d/quagga # nuke rpath chrpath -d %{buildroot}%{_bindir}/* chrpath -d %{buildroot}%{_sbindir}/* %pre # add vty_group %_pre_groupadd %{vty_group} # add quagga user and group %_pre_useradd %{quagga_user} %{_localstatedir}/lib /sbin/nologin %post %_tmpfilescreate %{name} %_post_service zebra %_post_service ripd %if %{with_ipv6} %_post_service ospf6d %_post_service ripngd %endif %_post_service ospfd %_post_service bgpd %_post_service watchquagga # Create dummy files if they don't exist so basic functions can be used. if [ ! -e %{_sysconfdir}/quagga/zebra.conf ]; then echo "hostname `hostname`" > %{_sysconfdir}/quagga/zebra.conf chown %{quagga_user}:%{quagga_user} %{_sysconfdir}/quagga/zebra.conf chmod 640 %{_sysconfdir}/quagga/zebra.conf fi if [ ! -e %{_sysconfdir}/quagga/vtysh.conf ]; then touch %{_sysconfdir}/quagga/vtysh.conf chmod 640 %{_sysconfdir}/quagga/vtysh.conf fi %preun %_preun_service zebra %_preun_service ripd %if %{with_ipv6} %_preun_service ripngd %endif %_preun_service ospfd %if %{with_ipv6} %_preun_service ospf6d %endif %_preun_service bgpd %_preun_service watchquagga %postun %_postun_userdel %{quagga_user} %files %doc */*.sample* AUTHORS COPYING doc/quagga.html doc/mpls %doc ChangeLog INSTALL NEWS README REPORTING-BUGS SERVICES TODO %dir %attr(0751,%{quagga_user},%{quagga_user}) %{_sysconfdir}/quagga %dir %attr(0750,%{quagga_user},%{quagga_user}) /var/log/quagga %{_tmpfilesdir}/%{name}.conf %attr(0640,%{quagga_user},%{vty_group}) %config(noreplace) %{_sysconfdir}/quagga/vtysh.conf* %config(noreplace) %{_sysconfdir}/pam.d/quagga %attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/* %config(noreplace) %{_sysconfdir}/sysconfig/quagga %config(noreplace) %{_sysconfdir}/quagga/bgpd.conf* %config(noreplace) %{_sysconfdir}/quagga/ospf6d.conf* %config(noreplace) %{_sysconfdir}/quagga/ospfd.conf* %config(noreplace) %{_sysconfdir}/quagga/ripd.conf* %config(noreplace) %{_sysconfdir}/quagga/ripngd.conf* %config(noreplace) %{_sysconfdir}/quagga/zebra.conf* %config(noreplace) %{_sysconfdir}/quagga/pimd.conf* %{_unitdir}/*.service %{_bindir}/bgp_btoa %{_bindir}/test_igmpv3_join %{_sbindir}/nhrpd %{_sbindir}/pimd %{_sbindir}/bgpd %{_sbindir}/ospf6d %if %{with_ospfclient} %{_sbindir}/ospfclient %endif %{_sbindir}/ospfd %{_sbindir}/ripd %{_sbindir}/ripngd %{_sbindir}/watchquagga %{_sbindir}/zebra %if %{with_vtysh} %{_bindir}/vtysh %attr(0644,root,root) %{_mandir}/man1/vtysh.1* %endif # %if %{with_isisd} %{_sbindir}/isisd %attr(0644,root,root) %{_mandir}/man8/isisd.8* %config(noreplace) %{_sysconfdir}/quagga/isisd.conf* %endif %attr(0644,root,root) %{_mandir}/man8/bgpd.8* %attr(0644,root,root) %{_mandir}/man8/ospf6d.8* %attr(0644,root,root) %{_mandir}/man8/ospfd.8* %attr(0644,root,root) %{_mandir}/man8/ripd.8* %attr(0644,root,root) %{_mandir}/man8/ripngd.8* %attr(0644,root,root) %{_mandir}/man8/zebra.8* %if %{with_ospfclient} %attr(0644,root,root) %{_mandir}/man8/ospfclient.8* %endif %attr(0644,root,root) %{_mandir}/man8/watchquagga.8* %attr(0644,root,root) %{_mandir}/man8/nhrpd.8* %attr(0644,root,root) %{_mandir}/man8/pimd.8* %{_infodir}/*info* %files contrib %doc tools %files -n %{libname} %{_libdir}/*.so.%{major} %{_libdir}/*.so.%{major}.* %{_libdir}/*.so.%{zebra_major}{,.*} %files -n %{develname} %{_libdir}/*.so %{_includedir}/quagga/ %changelog * Sat Apr 02 2022 umeabot <umeabot> 1.2.4-7.mga9 + Revision: 1840144 - Mageia 9 Mass Rebuild * Tue Mar 08 2022 mrambo3501 <mrambo3501> 1.2.4-6.mga9 + Revision: 1789966 - fix files list * Sat Aug 22 2020 joequant <joequant> 1.2.4-5.mga8 + Revision: 1617883 - fix gcc10 build * Wed Feb 19 2020 umeabot <umeabot> 1.2.4-4.mga8 + Revision: 1542335 - Mageia 8 Mass Rebuild + wally <wally> - replace deprecated %%configure2_5x * Sat Jan 04 2020 luigiwalser <luigiwalser> 1.2.4-3.mga8 + Revision: 1476005 - rebuild for readline * Mon Sep 03 2018 tv <tv> 1.2.4-2.mga7 + Revision: 1256799 - rely on filetriggers for info system (mga#23482) * Thu Apr 19 2018 kekepower <kekepower> 1.2.4-1.mga7 + Revision: 1220087 - Update to version 1.2.4 * Sat Feb 17 2018 kekepower <kekepower> 1.2.3-1.mga7 + Revision: 1202435 - Update to version 1.2.3 * Sat Nov 04 2017 mjack <mjack> 1.2.2-1.mga7 + Revision: 1175812 - Updated to version 1.2.2 - Removed all patches, already applied by mainstream - Addresses bug (mga#21967), CVE-2017-16227 - Added --disable-static as an option to configure - New libzebra.so libs, not available in previous version - Removed babeld and babeld.conf * Sun Feb 12 2017 luigiwalser <luigiwalser> 0.99.24.1-6.mga6 + Revision: 1085854 - add patch from fedora to fix CVE-2017-5495 * Thu Oct 20 2016 wally <wally> 0.99.24.1-5.mga6 + Revision: 1062706 - backport upstream fix for stack overrun in IPv6 RA receive code (CVE-2016-1245, mga#19619) * Mon May 02 2016 philippem <philippem> 0.99.24.1-4.mga6 + Revision: 1008791 - add patch for CVE-2016-4049 mga#18280 * Thu Mar 24 2016 luigiwalser <luigiwalser> 0.99.24.1-3.mga6 + Revision: 995188 - rediff patch from opensuse to fix CVE-2016-2342 * Fri Feb 12 2016 umeabot <umeabot> 0.99.24.1-2.mga6 + Revision: 958707 - Mageia 6 Mass Rebuild * Sat Sep 05 2015 daviddavid <daviddavid> 0.99.24.1-1.mga6 + Revision: 872976 - new version: 0.99.24.1 * Wed Oct 15 2014 umeabot <umeabot> 0.99.22.4-4.mga5 + Revision: 743229 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 0.99.22.4-3.mga5 + Revision: 688573 - Mageia 5 Mass Rebuild + wally <wally> - fix license * Mon Oct 21 2013 umeabot <umeabot> 0.99.22.4-2.mga4 + Revision: 541003 - Mageia 4 Mass Rebuild * Thu Oct 10 2013 luigiwalser <luigiwalser> 0.99.22.4-1.mga4 + Revision: 494825 - 0.99.22.4 - disable ospfapi and ospfclient (CVE-2013-2236) - update source URLs * Sat May 25 2013 nanardon <nanardon> 0.99.22.1-1.mga4 + Revision: 427293 - 0.99.22.1 - switch to systemd managment * Sun Mar 24 2013 colin <colin> 0.99.20.1-9.mga3 + Revision: 404859 - Add systemd requires and general post/pre fixes (mga#9302) * Sun Jan 13 2013 umeabot <umeabot> 0.99.20.1-8.mga3 + Revision: 380083 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Wed Jan 09 2013 cjw <cjw> 0.99.20.1-7.mga3 + Revision: 343472 - patch7: fix build with automake 1.13 * Sat Dec 15 2012 colin <colin> 0.99.20.1-6.mga3 + Revision: 331295 - Switch to tmpfiles for /run dirs - Remove conditionals in spec file (conflict with shipped tmpfile conf) * Tue Dec 11 2012 nanardon <nanardon> 0.99.20.1-5.mga3 + Revision: 329766 - move /var/run to /run * Tue Jun 19 2012 luigiwalser <luigiwalser> 0.99.20.1-4.mga3 + Revision: 261982 - add patch to fix CVE-2012-1820 (from fedora) * Sat May 12 2012 colin <colin> 0.99.20.1-3.mga2 + Revision: 235398 - Add LSB headers to initscripts (mga#5262) * Mon Apr 23 2012 luigiwalser <luigiwalser> 0.99.20.1-2.mga2 + Revision: 232970 - fix edge case for virtual links (from upstream) * Thu Apr 05 2012 fwang <fwang> 0.99.20.1-1.mga2 + Revision: 228658 - new version 0.99.20.1 * Mon Mar 05 2012 misc <misc> 0.99.20-1.mga2 + Revision: 218771 - fix file list to get all files in /usr/include - fix non existant filename build - also remove switch for nssa, option no longer exist in configure - compile rtadv by default ( since that's upstream default ) - new version 0.99.20, with security fix - remove two patches applied upstream - do not ship the .asc, since upstream didn't ship it * Tue Sep 27 2011 ovitters <ovitters> 0.99.18-2.mga2 + Revision: 149661 - fix requires - clean spec * Sun Apr 17 2011 misc <misc> 0.99.18-1.mga1 + Revision: 87048 - add 2 patchs to fix build, one from upstream, another one for format string errors - clean old Obsoletes - remove requires on initscripts, and on library already required - clean buildRequires - remove patch 4, already applied upstream - update to 0.99.18 * Wed Mar 09 2011 ennael <ennael> 0.99.17-2.mga1 + Revision: 66800 - more cleaning - clean spec file - imported package quagga * Mon Jan 03 2011 Oden Eriksson <oeriksson@mandriva.com> 0.99.17-2mdv2011.0 + Revision: 627819 - don't force the usage of automake1.7 * Fri Aug 20 2010 Michael Scherer <misc@mandriva.org> 0.99.17-1mdv2011.0 + Revision: 571432 - update to new version 0.99.17 * Thu Mar 11 2010 Oden Eriksson <oeriksson@mandriva.com> 0.99.16-1mdv2010.1 + Revision: 517985 - 0.99.16 * Sun Aug 30 2009 Oden Eriksson <oeriksson@mandriva.com> 0.99.15-1mdv2010.0 + Revision: 422370 - 0.99.15 * Wed Jul 22 2009 Oden Eriksson <oeriksson@mandriva.com> 0.99.14-1mdv2010.0 + Revision: 398483 - 0.99.14 * Thu Jun 25 2009 Frederik Himpe <fhimpe@mandriva.org> 0.99.13-1mdv2010.0 + Revision: 389184 - update to new version 0.99.13 * Sun May 10 2009 Oden Eriksson <oeriksson@mandriva.com> 0.99.12-1mdv2010.0 + Revision: 373982 - 0.99.12 (fixes CVE-2009-1572) * Fri Apr 03 2009 Funda Wang <fwang@mandriva.org> 0.99.11-2mdv2009.1 + Revision: 363812 - bump rel - fix str fmt - rediff netlink patch * Sat Oct 11 2008 Oden Eriksson <oeriksson@mandriva.com> 0.99.11-1mdv2009.1 + Revision: 291860 - 0.99.11 * Fri Aug 08 2008 Thierry Vignaud <tv@mandriva.org> 0.99.10-2mdv2009.0 + Revision: 269101 - rebuild early 2009.0 package (before pixel changes) * Wed Jun 11 2008 Oden Eriksson <oeriksson@mandriva.com> 0.99.10-1mdv2009.0 + Revision: 218009 - 0.99.10 - use _disable_ld_no_undefined to fix linkage - added P3 to fix other linkage - use the %%serverbuild macro + Pixel <pixel@mandriva.com> - do not call ldconfig in %%post/%%postun, it is now handled by filetriggers - adapt to %%_localstatedir now being /var instead of /var/lib (#22312) + Olivier Blin <oblin@mandriva.com> - restore BuildRoot + Thierry Vignaud <tv@mandriva.org> - kill re-definition of %%buildroot on Pixel's request * Thu Sep 13 2007 Oden Eriksson <oeriksson@mandriva.com> 0.99.9-1mdv2008.1 + Revision: 84923 - 0.99.9 * Mon Aug 27 2007 Thierry Vignaud <tv@mandriva.org> 0.99.7-2mdv2008.0 + Revision: 72252 - fix info-install requires - convert prereq - kill file require on info-install * Mon Jul 02 2007 Andreas Hasenack <andreas@mandriva.com> 0.99.7-1mdv2008.0 + Revision: 47301 - updated to version 0.99.7 (fixes #30596) * Wed Mar 07 2007 Oden Eriksson <oeriksson@mandriva.com> 0.99.6-1mdv2007.0 + Revision: 134493 - Import quagga * Wed Mar 07 2007 Oden Eriksson <oeriksson@mandriva.com> 0.99.6-1mdv2007.1 - 0.99.6 - synced patches with fc (0.98.6-3.fc7) - enable -fstack-protector * Tue Feb 21 2006 Oden Eriksson <oeriksson@mandriva.com> 0.99.3-1mdk - 0.99.3 - use dynamic uid/gid - rediff P0 and install the pam_stack.so version if needed * Wed Aug 31 2005 Oden Eriksson <oeriksson@mandriva.com> 0.98.5-1mdk - 0.98.5 - fix deps * Wed Jun 29 2005 Oden Eriksson <oeriksson@mandriva.com> 0.98.4-1mdk - 0.98.4 * Sat Apr 09 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.98.3-1mdk - 0.98.3 - use the %%mkrel macro - misc rpmlint fixes * Fri Feb 04 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.98.0-2mdk - rebuilt against new readline * Tue Jan 18 2005 Oden Eriksson <oeriksson@mandrakesoft.com> 0.98.0-1mdk - 0.98.0 * Fri Dec 31 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 0.97.4-3mdk - revert latest "lib64 fixes" - fixed the install info error - make it require the explicit libname version * Wed Dec 29 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 0.97.4-2mdk - make it compile on 10.0 * Tue Dec 28 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 0.97.4-1mdk - 0.97.4 - rediffed P0 - added watchquagga - use the %%configure2_5x macro and libifiction - nuke rpath - misc spec file fixes * Wed Aug 18 2004 Oden Eriksson <oeriksson@mandrakesoft.com> 0.96.5-1mdk - quagga-0.96.5 (the zebra fork, fedora import) * Wed Jun 16 2004 Elliot Lee <sopwith@redhat.com> - rebuilt * Wed May 05 2004 Jay Fenlason <fenlason@redhat.com> 0.96.5-0 - New upstream version - Change includedir - Change the pre scriptlet to fail if the useradd command fails. - Remove obsolete patches from this .spec file and renumber the two remaining ones.