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
openSUSE Build Service is sponsored by