%global _hardened_build 1 Name: bird Version: 1.6.8 Release: 1%{?dist} Summary: BIRD Internet Routing Daemon Group: System Environment/Daemons License: GPLv2+ URL: https://bird.network.cz Source0: ftp://bird.network.cz/pub/bird/bird-%{version}.tar.gz Source1: bird.init BuildRequires: flex bison ncurses-devel readline-devel sed gcc Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service Requires(pre): shadow-utils %description BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel), Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static routes, inter-table protocol, command-line interface allowing on-line control and inspection of the status of the daemon, soft reconfiguration as well as a powerful language for route filtering. This package contains IPv4 version. %package -n bird6 Summary: BIRD Internet Routing Daemon Group: System Environment/Daemons Requires(post): /sbin/chkconfig Requires(preun): /sbin/service, /sbin/chkconfig Requires(postun): /sbin/service Requires(pre): shadow-utils %description -n bird6 BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel), Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static routes, inter-table protocol, command-line interface allowing on-line control and inspection of the status of the daemon, soft reconfiguration as well as a powerful language for route filtering. This package contains IPv6 version. %package doc Summary: Documentation for BIRD Internet Routing Daemon Group: Documentation BuildRequires: linuxdoc-tools sgml-common BuildArch: noarch %description doc Documentation for users and programmers of the BIRD Internet Routing Daemon. BIRD is a dynamic IP routing daemon supporting both, IPv4 and IPv6, Border Gateway Protocol (BGPv4), Routing Information Protocol (RIPv2, RIPng), Open Shortest Path First protocol (OSPFv2, OSPFv3), Babel Routing Protocol (Babel), Bidirectional Forwarding Detection (BFD), IPv6 router advertisements, static routes, inter-table protocol, command-line interface allowing on-line control and inspection of the status of the daemon, soft reconfiguration as well as a powerful language for route filtering. %prep %setup -q %build mkdir ipv6 tar c --exclude ipv6 . | tar x -C ipv6 cd ipv6 %configure --runstatedir=%{_localstatedir}/run/bird6 --enable-ipv6 %make_build all cd .. %configure --runstatedir=%{_localstatedir}/run/bird %make_build all docs %install %make_install cd ipv6 %make_install cd .. install -d %{buildroot}{%{_initddir},%{_localstatedir}/{lib,run}/bird{,6}} sed 's/BIRD_PROGNAME/bird/' %{SOURCE1} > $RPM_BUILD_ROOT%{_initddir}/bird sed 's/BIRD_PROGNAME/bird6/' %{SOURCE1} > $RPM_BUILD_ROOT%{_initddir}/bird6 %pre getent group bird >/dev/null || groupadd -r bird getent passwd bird >/dev/null || \ useradd -r -g bird -d %{_localstatedir}/lib/bird -s /sbin/nologin \ -c "BIRD daemon user" bird exit 0 %post /sbin/chkconfig --add bird %preun if [ $1 -eq 0 ]; then /sbin/service bird stop > /dev/null 2>&1 || : /sbin/chkconfig --del bird fi %postun if [ $1 -ne 0 ]; then /sbin/service bird condrestart > /dev/null 2>&1 || : fi %pre -n bird6 getent group bird6 >/dev/null || groupadd -r bird6 getent passwd bird6 >/dev/null || \ useradd -r -g bird6 -d %{_localstatedir}/lib/bird6 -s /sbin/nologin \ -c "BIRD6 daemon user" bird6 exit 0 %post -n bird6 /sbin/chkconfig --add bird6 %preun -n bird6 if [ $1 -eq 0 ]; then /sbin/service bird6 stop > /dev/null 2>&1 || : /sbin/chkconfig --del bird6 fi %postun -n bird6 if [ $1 -ne 0 ]; then /sbin/service bird6 condrestart > /dev/null 2>&1 || : fi %files %doc NEWS README %attr(0640,root,bird) %config(noreplace) %{_sysconfdir}/bird.conf %attr(0755,root,root) %{_initddir}/bird %{_sbindir}/bird %{_sbindir}/birdc %{_sbindir}/birdcl %dir %attr(0750,bird,bird) %{_localstatedir}/lib/bird %dir %attr(0750,bird,bird) %{_localstatedir}/run/bird %files -n bird6 %doc NEWS README %attr(0640,root,bird6) %config(noreplace) %{_sysconfdir}/bird6.conf %attr(0755,root,root) %{_initddir}/bird6 %{_sbindir}/bird6 %{_sbindir}/birdc6 %{_sbindir}/birdcl6 %dir %attr(0750,bird6,bird6) %{_localstatedir}/lib/bird6 %dir %attr(0750,bird6,bird6) %{_localstatedir}/run/bird6 %files doc %doc NEWS README %doc doc/bird.conf.* %doc doc/bird*.html %doc doc/bird.pdf %doc doc/prog*.html %doc doc/prog.pdf %changelog * Wed Sep 11 2019 Robert Scheck - 1.6.8-1 - Upgrade to 1.6.8 (#1751031, #1751349) * Mon Aug 05 2019 Robert Scheck - 1.6.7-1 - Upgrade to 1.6.7 * Sat Apr 06 2019 Robert Scheck - 1.6.6-1 - Upgrade to 1.6.6 (CVE-2018-12066) - Modernization and cleanup of spec file - Ensure /etc/bird.conf can be only read by BIRD user * Mon Jun 29 2015 Michal Sekletar - 1.4.5-2 - fix bug in the locking code (#1235219) * Wed Dec 03 2014 Michal Sekletar - 1.4.5-1 - update to 1.4.5