File quagga.spec of Package quagga
#
# spec file for package quagga (Version 0.99.10)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: quagga
BuildRequires: net-snmp-devel pam-devel readline-devel
Version: 0.99.10
Release: 17
PreReq: %insserv_prereq %fillup_prereq
PreReq: %install_info_prereq
# pwdutils for useradd and groupadd
PreReq: pwdutils
Provides: zebra
Obsoletes: zebra
AutoReqProv: on
License: LGPL v2.1 or later
Group: Productivity/Networking/Routing
Url: http://www.quagga.net
Summary: Free Routing Software (for BGP, OSPF and RIP, for example)
Source: %{name}-%{version}.tar.bz2
Source1: %{name}-SUSE.tar.bz2
Source2: quagga.pam
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Quagga is a routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms,
particularly FreeBSD and Linux and also NetBSD, to mention a few.
Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
The Quagga tree aims to build a more involved community around Quagga
than the current centralised model of GNU Zebra.
Authors:
--------
Kunihiro Ishiguro <kunihiro@zebra.org>
Toshiaki Takada <takada@zebra.org>
Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
Alex D. Zinin <azinin@hotmail.com>
Gleb Natapov <gleb@nbase.co.il>
Akihiro Mizutani <mizutani@dml.com>
%package devel
License: LGPL v2.1 or later
Summary: Free Routing Software (for BGP, OSPF and RIP, for example)
Requires: %{name} = %{version}
Group: Productivity/Networking/Routing
%description devel
Quagga is a routing software suite, providing implementations of
OSPFv2, OSPFv3, RIP v1 and v2, RIPv3 and BGPv4 for Unix platforms,
particularly FreeBSD and Linux and also NetBSD, to mention a few.
Quagga is a fork of GNU Zebra which was developed by Kunihiro Ishiguro.
The Quagga tree aims to build a more involved community around Quagga
than the current centralised model of GNU Zebra.
Authors:
--------
Kunihiro Ishiguro <kunihiro@zebra.org>
Toshiaki Takada <takada@zebra.org>
Yasuhiro Ohara <yasu@sfc.wide.ad.jp>
Alex D. Zinin <azinin@hotmail.com>
Gleb Natapov <gleb@nbase.co.il>
Akihiro Mizutani <mizutani@dml.com>
%prep
%setup -q -a 1
%build
if ! ls /proc/net/{dev,route,snmp} >/dev/null; then
echo "ERROR: /proc is not mounted" >&2;
exit 1;
fi
rm -f m4/libtool.m4 m4/lt*.m4
autoreconf --force --install
export CFLAGS="$RPM_OPT_FLAGS -fno-strict-aliasing"
%configure --disable-static --with-pic \
--enable-vtysh \
--enable-rtadv \
--enable-snmp \
--enable-ipv6 \
--with-libpam \
--enable-netlink \
--sysconfdir=%{_sysconfdir}/quagga \
--localstatedir=/var/run/quagga \
--enable-multipath=0
make %{?jobs:-j%jobs}
%install
rm -r doc/quagga.info
make DESTDIR=$RPM_BUILD_ROOT install
rm -rf $RPM_BUILD_ROOT%{_libdir}/lib{ospf,zebra}.la
install -d $RPM_BUILD_ROOT/etc/{init.d,quagga,pam.d,logrotate.d}
install -m 755 SUSE/* $RPM_BUILD_ROOT%{_sysconfdir}/init.d/
install -m 644 %{S:2} $RPM_BUILD_ROOT%{_sysconfdir}/pam.d/quagga
install -d -m 750 $RPM_BUILD_ROOT/var/log/quagga
install -d -m 751 $RPM_BUILD_ROOT/var/run/quagga
install -m 644 redhat/quagga.logrotate $RPM_BUILD_ROOT%{_sysconfdir}/logrotate.d/quagga
ln -sf %{_sysconfdir}/init.d/zebra $RPM_BUILD_ROOT%{_sbindir}/rczebra
ln -sf %{_sysconfdir}/init.d/bgpd $RPM_BUILD_ROOT%{_sbindir}/rcbgpd
ln -sf %{_sysconfdir}/init.d/ospf6d $RPM_BUILD_ROOT%{_sbindir}/rcospf6d
ln -sf %{_sysconfdir}/init.d/ospfd $RPM_BUILD_ROOT%{_sbindir}/rcospfd
ln -sf %{_sysconfdir}/init.d/ripngd $RPM_BUILD_ROOT%{_sbindir}/rcripngd
ln -sf %{_sysconfdir}/init.d/ripd $RPM_BUILD_ROOT%{_sbindir}/rcripd
rm -f $RPM_BUILD_ROOT%{_sysconfdir}/quagga/*.sample*
cat > $RPM_BUILD_ROOT%{_sysconfdir}/quagga/zebra.conf << __EOF__
hostname quagga
password quagga
enable password quagga
log file /var/log/quagga/quagga.log
__EOF__
touch $RPM_BUILD_ROOT%{_sysconfdir}/quagga/vtysh.conf
%pre
%{_sbindir}/groupadd -r quagga 2> /dev/null || :
%{_sbindir}/useradd -r -g quagga -s %{_bindir}/false \
-c "Quagga routing daemon" \
-d /var/run/quagga quagga 2> /dev/null || :
%post
/sbin/ldconfig
%fillup_and_insserv
%install_info --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%preun
%stop_on_removal zebra bgpd ospf6d ospfd ripd ripngd
%postun
%install_info_delete --info-dir=%{_infodir} %{_infodir}/%{name}.info.gz
%restart_on_update zebra bgpd ospf6d ospfd ripd ripngd
%insserv_cleanup
/sbin/ldconfig
%clean
rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root)
%doc */*.sample* AUTHORS COPYING* ChangeLog NEWS README REPORTING-BUGS SERVICES TODO
%{_sbindir}/*
%config %{_sysconfdir}/quagga/
%config(noreplace) %{_sysconfdir}/logrotate.d/*
%config %{_sysconfdir}/init.d/*
%config (noreplace)%{_sysconfdir}/pam.d/*
%{_bindir}/*
%dir %attr(-,quagga,quagga) /var/log/quagga
%dir %attr(-,quagga,quagga) /var/run/quagga
%{_infodir}/quagga.info*
%{_mandir}/man?/*
%attr(755,root,root) %{_libdir}/lib*.so.*
%files devel
%defattr(644,root,root,755)
%{_libdir}/*.so
%dir %{_includedir}/%{name}
%{_includedir}/%{name}/*.h
%dir %{_includedir}/%{name}/ospfd
%{_includedir}/%{name}/ospfd/*.h
%changelog
* Fri Sep 12 2008 crrodriguez@suse.de
- disable static libraries
* Fri Aug 29 2008 cthiel@suse.de
- fix init scripts
* Mon Jul 28 2008 prusnak@suse.cz
- updated to 0.99.10
* [bgpd] 4-byte AS support added
* [bgpd] MRT format changes to version 2.
Those relying on bgpd MRT table dumps may need to update their tools.
* [bgpd] Added new route-map set statement: "as-path exclude"
* Zebra RIB updates queue has evolved into a multi-level structure
to address RIB consistency issues.
- removed obsoleted patch:
* badshift.patch (included in update)
* Tue Jan 08 2008 prusnak@suse.cz
- fixed bad left shift (badshift.patch) [#351517]
* Tue Sep 25 2007 prusnak@suse.cz
- updated to 0.99.9
* added support for separate link-layer access mechanisms in isisd
* add back check for inet_aton, which got dropped somehow
in previous jumbo patch
* use AC_GNU_SOURCE to define _GNU_SOURCE, rather than having
lib/zebra.h do it
* AC_FUNC_STRNLEN has side-effects with latest autoconf,
use AC_CHECK_FUNC on strnlen instead
* general cleanup of header and type checks, introducing an internal
define, QUAGGA_INCLUDES, to build up a list of stuff to include so
as to avoid 'present but cant be compiled' warnings
* misc additional checks of things missing according to autoscan
* add LIBM, for bgpd's use of libm, so as to avoid burdening LIBS,
and all the binaries, with libm linkage
* remove the bad practice of using m4 changequote(),
just quote the []'s in the case statements properly
* update all HAVE_* to the standard autoconf namespaced HAVE_* defines
(i.e. HAVE_SA_LEN->HAVE_STRUCT_SOCKADDR_SA_LEN)
* add LIBM to bgpd's LDADD, for pow()
* change gcc CFLAGS from '-std=c99' to '-std=gnu99' to improve
portability
- dropped obsolete patches:
* strcmp.patch (included in update)
* Thu Sep 13 2007 prusnak@suse.cz
- backported security fixes for bgpd from 0.99.9 [#310166]
* Thu Jun 07 2007 prusnak@suse.cz
- removed broken strict-aliasing.patch
- added -fno-strict-aliasing to CFLAGS
* Wed Jun 06 2007 prusnak@suse.cz
- updated to 0.99.7
- added mandatory LSB tags Short-Description to init files
- added %%run_ldconfig to %%post and %%postun sections
- cleaned spec file
- dropped obsolete patches:
* CVE-2007-1995.patch (included in update)
* Tue Apr 24 2007 anosek@suse.cz
- updated to version 0.99.6
* bgpd
o Bug #302, bgpd can get stuck in state Clearing
o Implement 'debug bgp zebra' to log all messages to and from zebra.
o Fix bug where a deleted route that was quickly re-added was being lost
o trivial: non C99 u_int.._t should be uint.._t
o struct peer must have bgp field valid (redistribute crash)
o Coverity CID #64: Needless NULL check, CID #64: Deref of potentially NULL pointer.
o CID#73, potential crash in bgp statistics if called for AFI/SAFI with emtpy table
o Bug #302 fixes. ClearingCompleted event gets flushed, leaving peers stuck in Clearing.
o Trivial fix of printf format/arg mismatch
o reduce the process queue hold time to something more sensible
o RIB statistics address space size shouldnt double count space
o simplify peer refcounts, squash slow peer leak
o Fix 0.99 shutdown regression, introduce Clearing and Deleted states
o Add RIB reporting commands, show bgp ... statistics
o Handle pcount as flags are changed, fixing pcount issues
o Add 'show ... neighbor .... prefix-counts' command
* ospfd
o Consider all connected addresses when creating ospf interfaces
o Add debug messages for a few zebra messages that had been overlooked
o Fix bug in passive-interface default commands.
o Stop losing subsequent default-information originate 'always' info
o Add passive-interface default support
o Improve some warning messages.
o Fix assertion in DB-exchange fix, hit by ogier-db-ex-opt commit
* isisd: Fix compiler warnings and allow v4-only compilation
* zebra
o Changes of nexthops of static routes didnt take effect
o Compile fix for PF_ROUTE
* ripd
o bug #293: routemap set metric doesn't check for underflow correctly
o bug #278: remove gratuitous use of mid-function declaration
* general
o [daemon startup] Add --dry-run/-C argument to daemons, to check config file syntax
o Handle upgrade from SUNWzebra to Quagga for 'interface fooX:Y' commands
o [snmp] Fix asn_build calls to pass correct variable sizes (fixes 64-bit issues)
o [doc] Add recent NetBSD/FreeBSD versions to list of what ought to work.
- dropped obsolete patches snmp.diff, nextnode.diff
- fixed VUL-0: quagga DoS [#266100] (CVE-2007-1995.patch)
* Tue Jan 23 2007 prusnak@suse.cz
- fixed insufficient strcmp.diff
* Wed Dec 20 2006 prusnak@suse.cz
- fixed "nextnode" misuse
* Tue Dec 19 2006 prusnak@suse.cz
- fixed "comparison with string literal" [#228420]
* Mon Aug 21 2006 kukuk@suse.de
- Fix PAM config to work on lib64 archs.
* Thu Aug 03 2006 mmarek@suse.cz
- updated to version 0.98.6
* comtains latest security fixes, obsoleting CVE-2006-2223-4.patch
* some ospfd bugfixes
- dropped netlink-fix.diff, which has been obsolete for some time
* Sat Jun 17 2006 schwab@suse.de
- Remove old and broken libtool macros.
* Fri May 12 2006 mmarek@suse.cz
- fixed ripd not configurable to protect routing table from
malicious updates (CVE-2006-2223, CVE-2006-2224)
[#173828] (CVE-2006-2223-4.patch)
* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
* Tue Jan 24 2006 mmarek@suse.cz
- use $RPM_OPT_FLAGS (missing backslash)
- check for /proc/net/{dev,route,snmp} before build
* Tue Nov 22 2005 mmarek@suse.cz
- don't try to create fake directories under /proc (we don't build
as root since Fri Jan 16 13:23:46 CET 2004), but print an error
instead.
* Tue Oct 11 2005 mmarek@suse.cz
- better strict aliasing fix
* Mon Oct 10 2005 mmarek@suse.cz
- update to 0.98.5
* Tue Sep 20 2005 mmarek@suse.cz
- fixx gcc warnings
* Mon Aug 01 2005 anicka@suse.cz
- update to 0.98.4
* Tue Apr 19 2005 postadal@suse.de
- updated to version 0.98.3
- removed obsoleted patch config.diff
- use parallel make
* Thu Jan 13 2005 postadal@suse.cz
- updated to version 0.98.0
* some commands may have been removed or have had their syntax changed
- removed obsoleted patch gcc-warnings-fix.diff
* Fri Nov 26 2004 postadal@suse.cz
- fixed lib64 path
* Thu Nov 25 2004 postadal@suse.cz
- updated to version 0.97.3
- fixed gcc warnings
- created subpackage "quagga-devel"
* Wed Aug 11 2004 postadal@suse.cz
- updated to version 0.96.5
* Thu Jun 17 2004 postadal@suse.cz
- enabled multipath for High Availability scenario [#41789]
* Wed Feb 11 2004 postadal@suse.cz
- updated to version 0.96.4
- fixed instalation problems [#33015]
- added quagga user/group
- removed obsoleted patch vty_telnet_option-fix
* Mon Jan 19 2004 postadal@suse.cz
- fixed security bug [#33993] (CAN-2003-0858): local users could send malicious
netlink messages that cause DoS condition
- fixed DoS condition, which exists in zebra when layer 3 access is possible
to the telnet management port 2601/tcp. (CAN-2003-0795) [#32656]
* Fri Jan 16 2004 kukuk@suse.de
- Add pam-devel to neededforbuild
- Build as user
* Mon Nov 10 2003 ro@suse.de
- use net-snmp instead of ucdsnmp
* Fri Nov 07 2003 postadal@suse.cz
- fixed DoS condition, which exists in zebra when layer 3 access is possible
to the telnet management port 2601/tcp. (CAN-2003-0795) [#32656]
* Tue Aug 26 2003 postadal@suse.cz
- updated to bugfix version 0.96.2
* fixed a small but very annoying ospfd bug
* command.c newline fix
* Mon Aug 25 2003 postadal@suse.cz
- Zebra-pj has now forked from GNU Zebra. The new name is Quagga.
- update to version 0.96.1
- use new stop_on_removal/restart_on_upate macros
* Mon Jul 28 2003 postadal@suse.cz
- fixed ripngd init script [#27097]
* Fri Jul 25 2003 mludvig@suse.cz
- Update to Paul Jakma's Zebra fork. This is the only
Zebra version currently maintained.
* Thu Apr 24 2003 ro@suse.de
- fix install_info --delete call and move from preun to postun
* Thu Feb 13 2003 mmj@suse.de
- Use %%install_info macro [#23478]
* Wed Nov 27 2002 postadal@suse.cz
- added kame-fix patch of mludvig@suse.cz
- bzipped source and rc.* moved to rc.tar.bz2 (init/SuSE/*)
* Thu Sep 26 2002 mludvig@suse.cz
- Upgrade to zebra-0.93b
- Added pam script
* Fri Aug 16 2002 postadal@suse.cz
- added %%insserv_prereq and %%fillup_prereq to PreReq [#18024]
* Sat Jul 27 2002 adrian@suse.de
- do not source rc.config
* Wed May 15 2002 schwab@suse.de
- Use autoreconf.
* Mon Feb 25 2002 postadal@suse.cz
- modified copyright of files in /etc/init.d
* Thu Jan 10 2002 egmont@suselinux.hu
- changed /sbin/init.d to /etc/init.d in init script comments
* Tue Dec 11 2001 cihlar@suse.cz
- removed START_* variables
- fixed init scripts to fit skeleton
- fixed file list
* Tue Nov 06 2001 cihlar@suse.cz
- fixed to compile with automake 1.5
* Mon Aug 27 2001 dan@suse.cz
- update to 0.92a release
* Fix community-list "^$" matching bug
* -lsnmp check problem fixed
- build root added, spec file clean-up
- installing info pages fixed
* Tue Aug 14 2001 ro@suse.de
- up to 0.91a and fixed for current autoconf
* Mon May 14 2001 lmuelle@suse.de
- fix typo in ripd startscript
- bzip2 sources
* Tue May 08 2001 strbac@suse.de
- remove init scripts and symlinks for vtysh (it's not a daemon)
* Fri Feb 23 2001 ro@suse.de
- added readline/readline-devel to neededforbuild (split from bash)
* Wed Jan 17 2001 bk@suse.de
- updated to 0.90a, fixes serious bug of bgpd when receiving routes
- fixed a bug in configure(.in) to detect *-suse-linux as linux
- replaced ipv6 configure diff with the configure option --enable-ipv6
- call autoconf to generate the fixed confgure (never patch configure)
- set CFLAGS to RPM_OPT_FLAGS for configure
- folded up configure argument list to make it more readable
* Thu Jan 11 2001 smueller@suse.de
- make it compile with IPv6 even if there is no IPv6 in the
running kernel
* Thu Jan 11 2001 smueller@suse.de
- update to zebra 0.90
- enabled snmp support
* Thu Dec 21 2000 smueller@suse.de
- rc.config injection corrected
* Wed Dec 20 2000 smueller@suse.de
- changed absolut path names to relative in %%post
* Tue Dec 05 2000 bjacke@suse.de
- bzipped sources
- cleaned up spec file
- enabled IPv6 support
* Mon Dec 04 2000 smueller@suse.de
- initial version for 7.1