X-Git-Url: http://git.pld-linux.org/?a=blobdiff_plain;f=bird.spec;h=569725a27589e55835632117c229f9b5886754e3;hb=89c606db1c98f776f24c192b8963fb32ddc5a436;hp=6bb65903770d945be903d5f5b34bf807a8251891;hpb=bd9359d2f9b1cb15ccbbc4c477195c0f8297a138;p=packages%2Fbird.git diff --git a/bird.spec b/bird.spec index 6bb6590..569725a 100644 --- a/bird.spec +++ b/bird.spec @@ -1,23 +1,34 @@ + +%bcond_without ipv6 # disable IPv6 support (and building bird-ipv6 package) +%bcond_without ipv4 # disable IPv4 support (and building bird-ipv4 package) + +# TODO: +# - trigger to clean up after old bird package (stop, chkconfig --del) + Summary: Routing daemon Summary(pl): Demon dynamicznego routingu Name: bird -Version: 1.0.7 -Release: 1 +Version: 1.0.11 +Release: 0.1 License: GPL Group: Networking/Daemons Source0: ftp://bird.network.cz/pub/bird/%{name}-%{version}.tar.gz -# Source0-md5: 3fee589ee94e1529fd123e545495926f -Source1: ftp://bird.network.cz/pub/bird/%{name}-doc-%{version}.tar.gz -# Source1-md5: 0a8ace7c81218e6c1bfc2a794ccff3f4 -Source2: %{name}.init -Patch0: %{name}-posix.patch -Patch1: %{name}-flex.patch +# Source0-md5: 9f9dfe2af0bde45a0adbbd0ebc36f249 +Source1: %{name}-ipv4.init +Source2: %{name}-ipv4.sysconfig +Source3: %{name}-ipv6.init +Source4: %{name}-ipv6.sysconfig +Patch0: %{name}-flex.patch +Patch1: %{name}-64bit.patch URL: http://bird.network.cz/ +BuildRequires: autoconf BuildRequires: automake +BuildRequires: bison +BuildRequires: flex BuildRequires: readline-devel >= 4.2 PreReq: rc-scripts Requires(post,preun): /sbin/chkconfig -Provides: routingdaemon +Requires: bird-daemon BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) Obsoletes: gated Obsoletes: mrt @@ -36,53 +47,167 @@ pracuj protoko³ów routingu, ³atwym interfejsem konfiguracji i jêzykiem filtrów o du¿ych mo¿liwo¶ciach. +%package ipv4 +Summary: Routing daemon for IPv4 +Summary(pl): Demon dynamicznego routingu IPv4 +Group: Networking/Daemons +PreReq: rc-scripts +Requires(post,preun): /sbin/chkconfig +Provides: routingdaemon +Provides: bird-daemon +Obsoletes: gated +Obsoletes: mrt +Obsoletes: zebra +Obsoletes: zebra-guile +Requires: %{name} = %{version}-%{release} + +%description ipv4 +The BIRD project is an attempt to create a routing daemon running on +UNIX-like systems (but not necessarily limited to them) with full +support of all modern routing protocols, easy to use configuration +interface and powerful route filtering language. + +%description ipv4 -l pl +Projekt BIRD ma na celu utworzenie daemona dynamicznego routingu +pracuj±cego na systemach UNIX z pe³nym wsparciem dla nowoczesnych +protoko³ów routingu, ³atwym interfejsem konfiguracji i jêzykiem +filtrów o du¿ych mo¿liwo¶ciach. + +%package ipv6 +Summary: Routing daemon for IPv6 +Summary(pl): Demon dynamicznego routingu IPv6 +Group: Networking/Daemons +PreReq: rc-scripts +Requires(post,preun): /sbin/chkconfig +Provides: routingdaemon +Provides: bird-daemon +Obsoletes: gated +Obsoletes: mrt +Obsoletes: zebra +Obsoletes: zebra-guile +Requires: %{name} = %{version}-%{release} + +%description ipv6 +The BIRD project is an attempt to create a routing daemon running on +UNIX-like systems (but not necessarily limited to them) with full +support of all modern routing protocols, easy to use configuration +interface and powerful route filtering language. + +%description ipv6 -l pl +Projekt BIRD ma na celu utworzenie daemona dynamicznego routingu +pracuj±cego na systemach UNIX z pe³nym wsparciem dla nowoczesnych +protoko³ów routingu, ³atwym interfejsem konfiguracji i jêzykiem +filtrów o du¿ych mo¿liwo¶ciach. + %prep -%setup -q -a1 +%setup -q %patch0 -p1 %patch1 -p1 %build cp -f /usr/share/automake/config.* tools -%configure2_13 \ + +%if %{with ipv6} +%{__autoconf} +%configure \ --disable-memcheck \ --enable-client \ --enable-ipv6 %{__make} +mv bird bird-6 + +%{__make} clean +%endif + +%if %{with ipv4} +%configure \ + --disable-memcheck \ + --enable-client \ + --disable-ipv6 +%{__make} +%endif + %install rm -rf $RPM_BUILD_ROOT -install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,%{_sbindir}} +install -d $RPM_BUILD_ROOT{/etc/rc.d/init.d,/etc/sysconfig,%{_sbindir}} -install bird $RPM_BUILD_ROOT%{_sbindir} install birdc $RPM_BUILD_ROOT%{_sbindir} +%if %{with ipv6} +install bird $RPM_BUILD_ROOT%{_sbindir} install doc/bird.conf.example $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf -install %{SOURCE2} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} +install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ipv4 +install %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ipv4 +%endif + +%if %{with ipv6} +install bird-6 $RPM_BUILD_ROOT%{_sbindir} +cat < $RPM_BUILD_ROOT%{_sbindir}/birdc-6 +#!/bin/sh +exec %{_sbindir}/birdc -s /var/run/bird-6.ctl +EOF +install %{SOURCE3} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name}-ipv6 +install %{SOURCE4} $RPM_BUILD_ROOT/etc/sysconfig/%{name}-ipv6 +%endif %clean rm -rf $RPM_BUILD_ROOT -%post -/sbin/chkconfig --add %{name} >&2 +%post ipv4 +/sbin/chkconfig --add %{name}-ipv4 >&2 -if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} restart >&2 +if [ -f /var/lock/subsys/%{name}-ipv4 ]; then + /etc/rc.d/init.d/%{name}-ipv4 restart >&2 else - echo "Run '/etc/rc.d/init.d/%{name} start' to start routing deamon." >&2 + echo "Run '/etc/rc.d/init.d/%{name}-ipv4 start' to start routing deamon." >&2 fi -%preun +%preun ipv4 if [ "$1" = "0" ]; then - if [ -f /var/lock/subsys/%{name} ]; then - /etc/rc.d/init.d/%{name} stop >&2 + if [ -f /var/lock/subsys/%{name}-ipv4 ]; then + /etc/rc.d/init.d/%{name}-ipv4 stop >&2 fi - /sbin/chkconfig --del %{name} >&2 + /sbin/chkconfig --del %{name}-ipv4 >&2 +fi + +%post ipv6 +/sbin/chkconfig --add %{name}-ipv6 >&2 + +if [ -f /var/lock/subsys/%{name}-ipv6 ]; then + /etc/rc.d/init.d/%{name}-ipv6 restart >&2 +else + echo "Run '/etc/rc.d/init.d/%{name}-ipv6 start' to start routing deamon." >&2 +fi + +%preun ipv6 +if [ "$1" = "0" ]; then + if [ -f /var/lock/subsys/%{name}-ipv6 ]; then + /etc/rc.d/init.d/%{name}-ipv6 stop >&2 + fi + /sbin/chkconfig --del %{name}-ipv6 >&2 fi %files %defattr(644,root,root,755) -%doc doc/*.html %{name}-doc-*/doc/*.ps TODO README +%doc doc/*.html TODO README +%attr(755,root,root) %{_sbindir}/birdc -%attr(755,root,root) %{_sbindir}/* -%attr(754,root,root) /etc/rc.d/init.d/* -%attr(640,root,root) %config(noreplace) %verify(not size mtime md5) %{_sysconfdir}/*.conf +%if %{with ipv4} +%files ipv4 +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/bird +%attr(754,root,root) /etc/rc.d/init.d/bird-ipv4 +%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bird-ipv4 +%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bird.conf +%endif + +%if %{with ipv6} +%files ipv6 +%defattr(644,root,root,755) +%attr(755,root,root) %{_sbindir}/bird-6 +%attr(755,root,root) %{_sbindir}/birdc-6 +%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/bird-ipv6 +%attr(754,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/rc.d/init.d/bird-ipv6 +#%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/bird-6.conf +%endif