quagga/quagga.spec

396 lines
12 KiB
RPMSpec

%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 <silvan.calarco@mambasoft.it>
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 <sercice name> <port> <comment>
# 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 <autodist@mambasoft.it> 0.99.23-1mamba
- automatic version update by autodist
* Sun Oct 20 2013 Automatic Build System <autodist@mambasoft.it> 0.99.22.4-1mamba
- automatic version update by autodist
* Wed Jul 31 2013 Automatic Build System <autodist@mambasoft.it> 0.99.22.3-1mamba
- automatic version update by autodist
* Mon Jun 03 2013 Automatic Build System <autodist@mambasoft.it> 0.99.22.1-1mamba
- automatic version update by autodist
* Thu May 12 2011 Automatic Build System <autodist@mambasoft.it> 0.99.18-1mamba
- automatic update by autodist
* Thu Oct 21 2010 Davide Madrisan <davide.madrisan@gmail.com> 0.99.17-2mamba
- rebuilt againt the latest net-snmp library
* Fri Oct 01 2010 Automatic Build System <autodist@mambasoft.it> 0.99.17-1mamba
- automatic update by autodist
* Mon Aug 09 2010 Automatic Build System <autodist@mambasoft.it> 0.99.16-2mamba
- automatic rebuild by autodist
* Fri Mar 12 2010 Automatic Build System <autodist@mambasoft.it> 0.99.16-1mamba
- automatic update by autodist
* Tue Sep 01 2009 Automatic Build System <autodist@mambasoft.it> 0.99.15-1mamba
- automatic update by autodist
* Sun Jul 26 2009 Automatic Build System <autodist@mambasoft.it> 0.99.14-1mamba
- automatic update by autodist
* Fri Jun 26 2009 Automatic Build System <autodist@mambasoft.it> 0.99.13-1mamba
- automatic update by autodist
* Sun May 24 2009 Automatic Build System <autodist@mambasoft.it> 0.99.12-1mamba
- automatic update by autodist
* Wed Dec 10 2008 Silvan Calarco <silvan.calarco@mambasoft.it> 0.99.11-1mamba
- automatic update by autodist
* Thu Apr 05 2007 Davide Madrisan <davide.madrisan@gmail.com> 0.98.6-2mamba
- rebuilt against new libnetsnmp libraries
- contrib subpackage: requires perl-Net-Telnet
* Tue May 09 2006 Davide Madrisan <davide.madrisan@qilinux.it> 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 <davide.madrisan@qilinux.it> 0.98.5-1qilnx
- update to version 0.98.5 by autospec
* Thu Jun 30 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.4-2qilnx
- fixed quagga-ipv6 %%postun script
* Tue Jun 28 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.4-1qilnx
- update to version 0.98.4 by autospec
* Fri May 20 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.3-2qilnx
- updated quagga module for pam
* Fri Apr 08 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.3-1qilnx
- update to version 0.98.3 by autospec
* Wed Mar 16 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.1-4qilnx
- fixed bug from quagga bugzilla #160
* Mon Feb 28 2005 Davide Madrisan <davide.madrisan@qilinux.it> 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 <davide.madrisan@qilinux.it> 0.98.1-2qilnx
- fixed the OSPF bug: quagga-dev 2612
* Wed Feb 02 2005 Davide Madrisan <davide.madrisan@qilinux.it> 0.98.1-1qilnx
- update to version 0.98.1 by autospec
* Fri May 07 2004 Davide Madrisan <davide.madrisan@qilinux.it> 0.96.5-1qilnx
- new version rebuild
* Sat Nov 08 2003 Davide Madrisan <davide.madrisan@qilinux.it> 0.96.4-2qilnx
- added userdel/groupdel commands in %%preun
* Tue Nov 04 2003 Davide Madrisan <davide.madrisan@qilinux.it> 0.96.4-1qilnx
- first build