quagga/quagga.spec

431 lines
13 KiB
RPMSpec

%define with_snmp 1
%define with_tcp_zebra 1
%define with_multipath 64
Name: quagga
Version: 1.2.4
Release: 3mamba
Summary: Quagga Routing Daemon
Group: Network/Routing
Vendor: openmamba
Distribution: openmamba
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
URL: https://www.quagga.net/
Source: http://download.savannah.gnu.org/releases/quagga/quagga-%{version}.tar.gz
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
## AUTOBUILDREQ-BEGIN
BuildRequires: glibc-devel
BuildRequires: ldconfig
BuildRequires: libaudit-devel
BuildRequires: libbzip2-devel
BuildRequires: libcap-devel
BuildRequires: libcares-devel
BuildRequires: libdb53-devel
BuildRequires: libe2fs-devel
BuildRequires: libelf-devel
BuildRequires: libkrb5-devel
BuildRequires: liblmdb-devel
BuildRequires: liblua-devel
BuildRequires: liblzma-devel
BuildRequires: libnetsnmp-devel
BuildRequires: libnl-devel
BuildRequires: libnsl-devel
BuildRequires: libnss-devel
BuildRequires: libopenssl-devel
BuildRequires: libpam-devel
BuildRequires: libpci-devel
BuildRequires: libpcre-devel
BuildRequires: libperl
BuildRequires: libpopt-devel
BuildRequires: libreadline-devel
BuildRequires: librpm-devel
BuildRequires: libtermcap-devel
BuildRequires: libtirpc-devel
BuildRequires: libwrap-devel
BuildRequires: libz-devel
BuildRequires: libzstd-devel
## AUTOBUILDREQ-END
BuildRequires: librpm-devel >= 4.16.1.2-1mamba
BuildRequires: libncurses-devel
BuildRequires: tetex
BuildRequires: libnetsnmp-devel >= 5.9
Requires: net-snmp >= 5.9
Requires: pam >= 0.77
Requires(post):%{__install_info}
Obsoletes: zebra
Provides: routingdaemon
%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.
%debug_package
%prep
%setup -q
#%patch0 -p1
#%patch1 -p1
#%patch2 -p1
autoreconf -f -i
%build
%configure \
--with-cflags='%{optflags} -fcommon' \
--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}.service %{buildroot}%{_unitdir}/${f}.service
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
%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"
%systemd_post bgpd
%systemd_post ospdf
%systemd_post ripd
%systemd_post zebra
# 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
%systemd_preun bgpd
%systemd_preun ospdf
%systemd_preun ripd
%systemd_preun zebra
if [ $1 -eq 0 ]; then
/usr/sbin/userdel quagga &>/dev/null
/usr/sbin/groupdel quagga &>/dev/null
/usr/sbin/groupdel quaggavty &>/dev/null
fi
%uninstall_info %{name}.info
:
%postun
/sbin/ldconfig
%systemd_postun bgpd
%systemd_postun ospdf
%systemd_postun ripd
%systemd_postun zebra
:
%preun ipv6
if [ $1 -eq 0 ]; then
%systemd_preun ospf6d
%systemd_preun ripngd
:
%post ipv6
%systemd_post ospf6d
%systemd_post ripngd
:
%postun ipv6
%systemd_postun ospf6d
%systemd_postun ripngd
:
%clean
[ "%{buildroot}" != / ] && rm -rf %{buildroot}
%files
%defattr(-,root,root)
%dir %{_sysconfdir}/quagga
%{_sysconfdir}/quagga/pimd.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(noreplace) %{_sysconfdir}/pam.d/quagga
%config(noreplace) %attr(640,root,root) %{_sysconfdir}/logrotate.d/*
%{_bindir}/vtysh
%{_bindir}/bgp_btoa
%{_bindir}/test_igmpv3_join
%{_sbindir}/*
%{_libdir}/lib*.so.*
%config %{_unitdir}/bgpd.service
%config %{_unitdir}/ospfd.service
%config %{_unitdir}/ripd.service
%config %{_unitdir}/zebra.service
%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/nhrpd.8*
%{_mandir}/man8/ospfclient.8*
%{_mandir}/man8/ospfd.*
%{_mandir}/man8/pimd.8*
%{_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 %{_unitdir}/ospf6d.service
%config %{_unitdir}/ripngd.service
%{_mandir}/man8/ospf6d.*
%{_mandir}/man8/ripngd.*
%files devel
%defattr(-,root,root)
%{_libdir}/*.a
%{_libdir}/*.la
%{_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
* Sun Mar 07 2021 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.4-3mamba
- rebuilt by autoport with build requirements: librpm-devel>=4.16.1.2-1mamba
* Mon Dec 14 2020 Silvan Calarco <silvan.calarco@mambasoft.it> 1.2.4-2mamba
- rebuilt with net-snmp 5.9
* Mon Mar 05 2018 Automatic Build System <autodist@mambasoft.it> 1.2.4-1mamba
- automatic version update by autodist
* Sun Nov 19 2017 Automatic Build System <autodist@mambasoft.it> 1.2.2-1mamba
- automatic update by autodist
* Mon Aug 14 2017 Automatic Build System <autodist@mambasoft.it> 1.2.1-1mamba
- automatic version update by autodist
* Wed Dec 14 2016 Silvan Calarco <silvan.calarco@mambasoft.it> 1.1.0-1mamba
- update to 1.1.0
* Sat Apr 23 2016 Automatic Build System <autodist@mambasoft.it> 1.0.20160315-1mamba
- automatic version update by autodist
* Tue Mar 10 2015 Automatic Build System <autodist@mambasoft.it> 0.99.24.1-1mamba
- automatic version update by autodist
* Wed Mar 04 2015 Automatic Build System <autodist@mambasoft.it> 0.99.24-1mamba
- automatic version update by autodist
* Tue Aug 26 2014 Automatic Build System <autodist@mambasoft.it> 0.99.23.1-1mamba
- automatic version update by autodist
* 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