%define with_snmp 1 %define with_tcp_zebra 1 %define with_multipath 64 Name: quagga Version: 0.99.23 Release: 1mamba Summary: Quagga Routing Daemon Group: Network/Routing Vendor: openmamba Distribution: openmamba Packager: Silvan Calarco URL: http://www.quagga.net/ Source: http://download.savannah.gnu.org/releases/quagga/quagga-%{version}.tar.xz Patch0: %{name}-0.99.11-conf.patch Patch1: %{name}-0.98.1-snmp_headers.patch Patch2: %{name}-0.99.18-opaque-refresh-fixes.patch License: GPL %if %with_snmp Requires: net-snmp >= 5.2 %endif # libreadline, libncurses needed by vtysh BuildRequires: libncurses-devel BuildRequires: tetex ## AUTOBUILDREQ-BEGIN BuildRequires: glibc-devel BuildRequires: libcap-devel BuildRequires: libnetsnmp-devel BuildRequires: libopenssl-devel BuildRequires: libreadline-devel BuildRequires: libtermcap-devel BuildRequires: net-snmp BuildRequires: pam-devel BuildRequires: perl-devel ## AUTOBUILDREQ-END Requires: pam >= 0.77 Requires(post):%{__install_info} Obsoletes: zebra Provides: routingdaemon BuildRoot: %{_tmppath}/%{name}-%{version}-root %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 ipv6 Summary: Quagga Routing Daemon - IPv6 extensions Group: Network/Routing Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description ipv6 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 devel Summary: Header and object files for quagga development Group: Network/Routing Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} %description devel 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. The quagga-devel package contains the header and object files neccessary for developing OSPF-API and quagga applications. %package contrib Summary: Contrib tools for quagga Group: Network/Routing Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release} Requires: perl-Net-Telnet %description contrib 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. Contributed/3rd party tools which may be of use with quagga. %prep %setup -q #%patch0 -p1 #%patch1 -p1 #%patch2 -p1 %build autoreconf -f -i %configure \ --with-cflags='%{optflags}' \ --sysconfdir=%{_sysconfdir}/quagga \ --with-libpam \ --enable-ipv6 \ --enable-isisd \ --enable-irdp=yes \ --enable-rtadv \ --enable-opaque-lsa --enable-ospf-te \ --enable-ospfclient=yes --enable-ospfapi=yes \ --enable-vtysh \ --enable-user=quagga --enable-group=quagga \ --enable-vty-group=quaggavty \ --enable-gcc-rdynamic \ %if %with_snmp --enable-snmp \ %endif %if %with_tcp_zebra --enable-tcp-zebra \ %endif %if %with_multipath --enable-multipath=%with_multipath %endif # --enable-nssa --enable-tcp-signature \ # --disable-bgp-announce # --enable-rtadv %make #cd doc && texi2html quagga.texi %install [ "%{buildroot}" != / ] && rm -rf %{buildroot} %makeinstall \ exampledir=%{_sysconfdir}/quagga \ sysconfdir=%{_sysconfdir}/quagga for f in bgpd ospf6d ospfd ripd ripngd zebra; do install -D -m755 redhat/$f.init %{buildroot}%{_initrddir}/$f done install -d -m750 %{buildroot}/var/{log/quagga,run/quagga} install -D -m644 redhat/quagga.pam \ %{buildroot}%{_sysconfdir}/pam.d/quagga install -D -m644 redhat/quagga.logrotate \ %{buildroot}%{_sysconfdir}/logrotate.d/quagga #%post ipv6 #if [ -x /sbin/chkconfig ]; then # /sbin/chkconfig --add ospf6d # /sbin/chkconfig --add ripngd #fi %pre /usr/sbin/groupadd quaggavty -g 65003 &>/dev/null /usr/sbin/groupadd quagga -g 65004 &>/dev/null /usr/sbin/useradd -c "Quagga routing suite" -d /var/quagga -s /bin/false \ -u 65004 -g quagga quagga &> /dev/null || : %post # zebra_spec_add_service # e.g. z_add_service hpstgmgr zebrasrv 2600 "HPSTGMGR" function z_add_service() { # add port /etc/services entry if it isn't already there [ -f /etc/services ] || exit 1 grep -q "^$1[^a-zA-Z0-9]" /etc/services && cat >> /etc/services << _EOF $1 $3/tcp $2 # $4 $1 $3/udp $2 # $4 _EOF } eval z_add_service hpstgmgr zebrasrv 2600 "HPSTGMGR" eval z_add_service discp-client zebra 2601 "discp client" eval z_add_service discp-server ripd 2602 "discp server" eval z_add_service servicemeter ripngd 2603 "Service Meter" eval z_add_service nsc-ccs ospfd 2604 "NSC CCS" eval z_add_service nsc-posa bgpd 2605 "NSC POSA" eval z_add_service netmon ospf6d 2606 "Dell Netmon" #if [ -x /sbin/chkconfig ]; then # chkconfig --add bgpd # chkconfig --add ospfd # chkconfig --add ripd # chkconfig --add zebra #fi # create dummy files so basic functions can be used if [ ! -e %{_sysconfdir}/quagga/zebra.conf ]; then echo "hostname `hostname`" > %{_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 /sbin/ldconfig %install_info %{name}.info exit 0 %preun if [ $1 -eq 0 ]; then for daemon in bgpd ospfd ripd zebra; do /sbin/service $daemon stop &>/dev/null /sbin/chkconfig --del $daemon done /usr/sbin/userdel quagga &>/dev/null /usr/sbin/groupdel quagga &>/dev/null /usr/sbin/groupdel quaggavty &>/dev/null fi %uninstall_info %{name}.info exit 0 %preun ipv6 if [ $1 -eq 0 ]; then for daemon in ospf6d ripngd; do /sbin/service $daemon stop &>/dev/null /sbin/chkconfig --del $daemon done fi exit 0 %postun /sbin/ldconfig if [ $1 -eq 1 ]; then for daemon in bgpd ospfd ripd zebra; do [ -e /var/lock/subsys/$daemon ] && service $daemon restart done fi exit 0 %postun ipv6 if [ $1 -eq 1 ]; then for daemon in ospf6d ripngd; do [ -e /var/lock/subsys/$daemon ] && service $daemon restart done fi exit 0 %clean [ "%{buildroot}" != / ] && rm -rf %{buildroot} %files %defattr(-,root,root) %dir %{_sysconfdir}/quagga %{_sysconfdir}/quagga/babeld.conf.sample %{_sysconfdir}/quagga/bgpd.conf.sample %{_sysconfdir}/quagga/bgpd.conf.sample2 %{_sysconfdir}/quagga/isisd.conf.sample %{_sysconfdir}/quagga/ospfd.conf.sample %{_sysconfdir}/quagga/ripd.conf.sample %attr(640,quagga,quaggavty) %{_sysconfdir}/quagga/vtysh.conf.sample %{_sysconfdir}/quagga/zebra.conf.sample %config %{_initrddir}/bgpd %config %{_initrddir}/ospfd %config %{_initrddir}/ripd %config %{_initrddir}/zebra %config(noreplace) %{_sysconfdir}/pam.d/quagga %config(noreplace) %attr(640,root,root) %{_sysconfdir}/logrotate.d/* %{_bindir}/vtysh %{_sbindir}/* %{_libdir}/*.so.* %dir %attr(750,quagga,quagga) /var/log/quagga %dir %attr(751,quagga,quagga) /var/run/quagga %{_infodir}/* %{_mandir}/man1/vtysh.* %{_mandir}/man8/bgpd.* %{_mandir}/man8/isisd.* %{_mandir}/man8/ospfclient.8* %{_mandir}/man8/ospfd.* %{_mandir}/man8/ripd.* %{_mandir}/man8/watchquagga.8* %{_mandir}/man8/zebra.* %doc AUTHORS COPYING* %files ipv6 %defattr(-,root,root) %{_sysconfdir}/quagga/ospf6d.conf.sample %{_sysconfdir}/quagga/ripngd.conf.sample %config %{_initrddir}/ospf6d %config %{_initrddir}/ripngd %{_mandir}/man8/ospf6d.* %{_mandir}/man8/ripngd.* %files devel %defattr(-,root,root) %dir %{_libdir}/*.a %dir %{_libdir}/*.la %dir %{_libdir}/*.so %dir %{_includedir}/quagga %{_includedir}/quagga/*.h %dir %{_includedir}/quagga/ospfapi %{_includedir}/quagga/ospfapi/* %dir %{_includedir}/quagga/ospfd %{_includedir}/quagga/ospfd/* #%doc ChangeLog NEWS README REPORTING-BUGS SERVICES TODO %files contrib %defattr(-,root,root) %doc ospf6d/ospf6d.conf.sample ripngd/ripngd.conf.sample %doc tools %changelog * Thu Jun 26 2014 Automatic Build System 0.99.23-1mamba - automatic version update by autodist * Sun Oct 20 2013 Automatic Build System 0.99.22.4-1mamba - automatic version update by autodist * Wed Jul 31 2013 Automatic Build System 0.99.22.3-1mamba - automatic version update by autodist * Mon Jun 03 2013 Automatic Build System 0.99.22.1-1mamba - automatic version update by autodist * Thu May 12 2011 Automatic Build System 0.99.18-1mamba - automatic update by autodist * Thu Oct 21 2010 Davide Madrisan 0.99.17-2mamba - rebuilt againt the latest net-snmp library * Fri Oct 01 2010 Automatic Build System 0.99.17-1mamba - automatic update by autodist * Mon Aug 09 2010 Automatic Build System 0.99.16-2mamba - automatic rebuild by autodist * Fri Mar 12 2010 Automatic Build System 0.99.16-1mamba - automatic update by autodist * Tue Sep 01 2009 Automatic Build System 0.99.15-1mamba - automatic update by autodist * Sun Jul 26 2009 Automatic Build System 0.99.14-1mamba - automatic update by autodist * Fri Jun 26 2009 Automatic Build System 0.99.13-1mamba - automatic update by autodist * Sun May 24 2009 Automatic Build System 0.99.12-1mamba - automatic update by autodist * Wed Dec 10 2008 Silvan Calarco 0.99.11-1mamba - automatic update by autodist * Thu Apr 05 2007 Davide Madrisan 0.98.6-2mamba - rebuilt against new libnetsnmp libraries - contrib subpackage: requires perl-Net-Telnet * Tue May 09 2006 Davide Madrisan 0.98.6-1qilnx - update to version 0.98.6 by autospec - this release fix 3 security issues (see qibug#164) * Thu Sep 01 2005 Davide Madrisan 0.98.5-1qilnx - update to version 0.98.5 by autospec * Thu Jun 30 2005 Davide Madrisan 0.98.4-2qilnx - fixed quagga-ipv6 %%postun script * Tue Jun 28 2005 Davide Madrisan 0.98.4-1qilnx - update to version 0.98.4 by autospec * Fri May 20 2005 Davide Madrisan 0.98.3-2qilnx - updated quagga module for pam * Fri Apr 08 2005 Davide Madrisan 0.98.3-1qilnx - update to version 0.98.3 by autospec * Wed Mar 16 2005 Davide Madrisan 0.98.1-4qilnx - fixed bug from quagga bugzilla #160 * Mon Feb 28 2005 Davide Madrisan 0.98.1-3qilnx - fixed a bgpd regression bug: see bugzilla.quagga.net/show_bug.cgi?id=157 - enabled tcp signatures (BGP authentication) - enabled support for the snmp protocol * Thu Feb 10 2005 Davide Madrisan 0.98.1-2qilnx - fixed the OSPF bug: quagga-dev 2612 * Wed Feb 02 2005 Davide Madrisan 0.98.1-1qilnx - update to version 0.98.1 by autospec * Fri May 07 2004 Davide Madrisan 0.96.5-1qilnx - new version rebuild * Sat Nov 08 2003 Davide Madrisan 0.96.4-2qilnx - added userdel/groupdel commands in %%preun * Tue Nov 04 2003 Davide Madrisan 0.96.4-1qilnx - first build